2025-04-06 13:25:44 +07:00
|
|
|
use imphnen_utils::{get_iso_date, Env};
|
2025-03-26 13:06:34 +07:00
|
|
|
use serde_json::json;
|
|
|
|
|
use std::error::Error;
|
2025-06-28 20:21:20 +07:00
|
|
|
use surrealdb::opt::auth::Root;
|
|
|
|
|
use imphnen_libs::enviroment::load_env;
|
|
|
|
|
use surrealdb::engine::any;
|
2025-03-26 13:06:34 +07:00
|
|
|
#[tokio::main]
|
|
|
|
|
async fn main() -> Result<(), Box<dyn Error>> {
|
2025-06-28 20:21:20 +07:00
|
|
|
load_env();
|
2025-03-26 13:06:34 +07:00
|
|
|
let env = Env::new();
|
2025-06-28 20:21:20 +07:00
|
|
|
let db = any::connect(&env.surrealdb_url).await?;
|
2025-03-26 13:06:34 +07:00
|
|
|
db.signin(Root {
|
|
|
|
|
username: &env.surrealdb_username,
|
|
|
|
|
password: &env.surrealdb_password,
|
|
|
|
|
})
|
|
|
|
|
.await?;
|
|
|
|
|
db.use_ns(env.surrealdb_namespace)
|
|
|
|
|
.use_db(env.surrealdb_dbname)
|
|
|
|
|
.await?;
|
|
|
|
|
|
|
|
|
|
let roles = vec![
|
|
|
|
|
(
|
|
|
|
|
"50133429-f4b1-4249-9f97-7b86e6ee9d86",
|
|
|
|
|
"Staf",
|
|
|
|
|
Some("2025-02-24T16:52:27.630453+00"),
|
|
|
|
|
Some("2025-02-24T16:52:27.630461+00"),
|
|
|
|
|
),
|
|
|
|
|
(
|
|
|
|
|
"5713cb37-dc02-4e87-8048-d7a41d352059",
|
2025-04-01 20:00:00 +07:00
|
|
|
"User",
|
2025-03-26 13:06:34 +07:00
|
|
|
None,
|
|
|
|
|
Some("2025-02-28T14:53:58.576688+00"),
|
|
|
|
|
),
|
|
|
|
|
(
|
|
|
|
|
"60f1aeb7-dad2-4e06-bcb5-be1ba510c906",
|
|
|
|
|
"Staff Aktivasi User",
|
|
|
|
|
Some("2025-02-20T02:47:09.660640+00"),
|
|
|
|
|
Some("2025-02-20T02:48:30.083283+00"),
|
|
|
|
|
),
|
|
|
|
|
(
|
|
|
|
|
"6d4fea5d-4a08-4b8a-9782-f2ab2183dcf0",
|
|
|
|
|
"Admin Pembayaran",
|
|
|
|
|
Some("2025-01-29T05:39:28.562667+00"),
|
|
|
|
|
Some("2025-03-12T22:56:29.597416+00"),
|
|
|
|
|
),
|
|
|
|
|
(
|
|
|
|
|
"f6b03f25-e416-4893-ac88-caaa690afb07",
|
|
|
|
|
"Admin",
|
|
|
|
|
None,
|
|
|
|
|
Some("2025-02-22T15:38:39.868306+00"),
|
|
|
|
|
),
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
for (id, name, _created_at, _updated_at) in roles {
|
|
|
|
|
db.query("CREATE type::thing('app_roles', $id) CONTENT $data")
|
|
|
|
|
.bind(("id", id))
|
|
|
|
|
.bind((
|
|
|
|
|
"data",
|
|
|
|
|
json!({
|
|
|
|
|
"name": name,
|
|
|
|
|
"permissions": [],
|
|
|
|
|
"is_deleted": false,
|
|
|
|
|
"created_at": get_iso_date(),
|
|
|
|
|
"updated_at": get_iso_date(),
|
|
|
|
|
}),
|
|
|
|
|
))
|
|
|
|
|
.await?;
|
|
|
|
|
println!("✅ Inserted role: {}", name);
|
|
|
|
|
}
|
2025-05-17 02:08:59 +07:00
|
|
|
println!("✅ All Roles seeded");
|
2025-03-26 13:06:34 +07:00
|
|
|
Ok(())
|
|
|
|
|
}
|