refactor: complete v0.8 core architecture

This commit is contained in:
thakares committed 2026-08-21 13:56:36 +05:30
1 parent f138a645f8
commit d7e0ac7679
98 files changed
+8413 -3044

No files matched your search

+51 -27
View File
@@ -19,29 +19,41 @@ async fn test_soft_delete_reserves_slug() {
let config = create_temp_config(temp_dir.clone());
let db = Db::init(&config).expect("Failed to init Db");
let system_conn = db.system.lock().unwrap();
let urls_conn = db.global_urls.lock().unwrap();
let reserved_conn = db.reserved.lock().unwrap();
let pages_conn = db.global_landing_pages.lock().unwrap();
// Register slug
bzod::db::users::register_global_slug(
&system_conn,
"!slug-to-delete",
10,
"url",
"url_123",
"active",
)
.unwrap();
let now = chrono::Utc::now().to_rfc3339();
urls_conn
.execute(
"INSERT INTO global_urls (slug, owner_tenant_id, target_id, created_at, updated_at, status, retired_at)
VALUES ('!slug-to-delete', 't-tenant10', 'url_123', ?1, ?2, 'active', NULL);",
rusqlite::params![now, now],
)
.unwrap();
// Soft delete slug
bzod::db::users::soft_delete_global_slug(&system_conn, "!slug-to-delete", 10).unwrap();
// Soft delete slug (disable it)
urls_conn
.execute(
"UPDATE global_urls SET status = 'disabled', retired_at = ?1 WHERE slug = ?2;",
rusqlite::params![now, "!slug-to-delete"],
)
.unwrap();
// Verify it is not available (keeps the slug reserved)
let avail = bzod::db::users::is_slug_available(&system_conn, "!slug-to-delete").unwrap();
let avail = bzod::db::slugs::is_slug_available(
&reserved_conn,
&urls_conn,
&pages_conn,
"!slug-to-delete",
)
.unwrap();
assert!(!avail);
let status: String = system_conn
let status: String = urls_conn
.query_row(
"SELECT status FROM global_slugs WHERE slug = ?1;",
"SELECT status FROM global_urls WHERE slug = ?1;",
["!slug-to-delete"],
|row| row.get(0),
)
@@ -59,24 +71,36 @@ async fn test_permanent_delete_releases_slug() {
let config = create_temp_config(temp_dir.clone());
let db = Db::init(&config).expect("Failed to init Db");
let system_conn = db.system.lock().unwrap();
let urls_conn = db.global_urls.lock().unwrap();
let reserved_conn = db.reserved.lock().unwrap();
let pages_conn = db.global_landing_pages.lock().unwrap();
// Register slug
bzod::db::users::register_global_slug(
&system_conn,
"!slug-to-purge",
10,
"url",
"url_456",
"active",
)
.unwrap();
let now = chrono::Utc::now().to_rfc3339();
urls_conn
.execute(
"INSERT INTO global_urls (slug, owner_tenant_id, target_id, created_at, updated_at, status, retired_at)
VALUES ('!slug-to-purge', 't-tenant10', 'url_456', ?1, ?2, 'active', NULL);",
rusqlite::params![now, now],
)
.unwrap();
// Release global slug (permanent deletion)
bzod::db::users::release_global_slug(&system_conn, "!slug-to-purge", 10).unwrap();
urls_conn
.execute(
"DELETE FROM global_urls WHERE slug = ?1;",
["!slug-to-purge"],
)
.unwrap();
// Verify slug is released (available for reuse)
let avail = bzod::db::users::is_slug_available(&system_conn, "!slug-to-purge").unwrap();
let avail = bzod::db::slugs::is_slug_available(
&reserved_conn,
&urls_conn,
&pages_conn,
"!slug-to-purge",
)
.unwrap();
assert!(avail);
let _ = fs::remove_dir_all(&temp_dir);