forked from alemi/upub
feat: storage for application keys
This commit is contained in:
parent
6ea4f06d54
commit
88808f020c
4 changed files with 63 additions and 0 deletions
44
src/migrations/m20240325_000002_add_system_key.rs
Normal file
44
src/migrations/m20240325_000002_add_system_key.rs
Normal file
|
@ -0,0 +1,44 @@
|
|||
use sea_orm_migration::prelude::*;
|
||||
|
||||
#[derive(DeriveMigrationName)]
|
||||
pub struct Migration;
|
||||
|
||||
#[async_trait::async_trait]
|
||||
impl MigrationTrait for Migration {
|
||||
async fn up(&self, manager: &SchemaManager) -> Result<(), DbErr> {
|
||||
manager
|
||||
.create_table(
|
||||
Table::create()
|
||||
.table(Application::Table)
|
||||
.col(
|
||||
ColumnDef::new(Application::Id)
|
||||
.integer()
|
||||
.not_null()
|
||||
.auto_increment()
|
||||
.primary_key()
|
||||
)
|
||||
.col(ColumnDef::new(Application::PrivateKey).string().not_null())
|
||||
.col(ColumnDef::new(Application::PublicKey).string().not_null())
|
||||
.to_owned()
|
||||
)
|
||||
.await?;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
async fn down(&self, manager: &SchemaManager) -> Result<(), DbErr> {
|
||||
manager
|
||||
.drop_table(Table::drop().table(Application::Table).to_owned())
|
||||
.await?;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(DeriveIden)]
|
||||
enum Application {
|
||||
Table,
|
||||
Id,
|
||||
PrivateKey,
|
||||
PublicKey,
|
||||
}
|
|
@ -8,6 +8,7 @@ mod m20240323_000001_add_user_configs;
|
|||
mod m20240323_000002_add_simple_credentials;
|
||||
mod m20240324_000001_add_addressing;
|
||||
mod m20240325_000001_add_deliveries;
|
||||
mod m20240325_000002_add_system_key;
|
||||
|
||||
pub struct Migrator;
|
||||
|
||||
|
@ -23,6 +24,7 @@ impl MigratorTrait for Migrator {
|
|||
Box::new(m20240323_000002_add_simple_credentials::Migration),
|
||||
Box::new(m20240324_000001_add_addressing::Migration),
|
||||
Box::new(m20240325_000001_add_deliveries::Migration),
|
||||
Box::new(m20240325_000002_add_system_key::Migration),
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
16
src/model/application.rs
Normal file
16
src/model/application.rs
Normal file
|
@ -0,0 +1,16 @@
|
|||
use sea_orm::entity::prelude::*;
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveEntityModel, Eq)]
|
||||
#[sea_orm(table_name = "application")]
|
||||
pub struct Model {
|
||||
#[sea_orm(primary_key)]
|
||||
pub id: i64,
|
||||
|
||||
pub private_key: String,
|
||||
pub public_key: String,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)]
|
||||
pub enum Relation {}
|
||||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
|
@ -10,6 +10,7 @@ pub mod like;
|
|||
pub mod credential;
|
||||
pub mod session;
|
||||
pub mod delivery;
|
||||
pub mod application;
|
||||
|
||||
pub mod faker;
|
||||
|
||||
|
|
Loading…
Reference in a new issue