feat: add payment gateway and billing plans

This commit is contained in:
Entropy.Xu
2026-05-13 01:18:38 +08:00
parent 0fa97595bf
commit 10285c5eb9
97 changed files with 14797 additions and 404 deletions

View File

@@ -7,7 +7,7 @@ use tracing::info;
// Generated by build.rs from schema/bootstrap/postgres.
pub(crate) static EMPTY_DATABASE_SNAPSHOT_SQL: &str =
include_str!(concat!(env!("OUT_DIR"), "/empty_database_snapshot.sql"));
pub(crate) const EMPTY_DATABASE_SNAPSHOT_CUTOFF_VERSION: i64 = 20260511120000;
pub(crate) const EMPTY_DATABASE_SNAPSHOT_CUTOFF_VERSION: i64 = 20260512110000;
const PUBLIC_BASE_TABLE_COUNT_SQL: &str = r#"
SELECT COUNT(*)::BIGINT

View File

@@ -300,6 +300,8 @@ fn empty_database_snapshot_covers_current_cutoff_versions() {
20260510120000,
20260511000000,
20260511120000,
20260512090000,
20260512110000,
]
);
}
@@ -372,6 +374,18 @@ fn empty_database_snapshot_sql_includes_usage_body_blobs() {
));
}
#[test]
fn empty_database_snapshot_sql_includes_payment_gateway_and_plans() {
assert!(EMPTY_DATABASE_SNAPSHOT_SQL.contains("payment_provider character varying(64)"));
assert!(EMPTY_DATABASE_SNAPSHOT_SQL
.contains("CREATE TABLE IF NOT EXISTS public.payment_gateway_configs"));
assert!(EMPTY_DATABASE_SNAPSHOT_SQL.contains("CREATE TABLE IF NOT EXISTS public.billing_plans"));
assert!(EMPTY_DATABASE_SNAPSHOT_SQL
.contains("purchase_limit_scope character varying(32) DEFAULT 'active_period'"));
assert!(EMPTY_DATABASE_SNAPSHOT_SQL
.contains("CREATE TABLE IF NOT EXISTS public.user_plan_entitlements"));
}
#[test]
fn provider_api_keys_api_formats_remains_nullable_in_baselines() {
let baseline_migration = POSTGRES_MIGRATOR
@@ -564,7 +578,9 @@ fn mysql_and_sqlite_migrations_include_enabled_incrementals() {
20260509000000,
20260509120000,
20260510120000,
20260511120000
20260511120000,
20260512090000,
20260512110000
]
);
assert_eq!(
@@ -576,7 +592,9 @@ fn mysql_and_sqlite_migrations_include_enabled_incrementals() {
20260509000000,
20260509120000,
20260510120000,
20260511120000
20260511120000,
20260512090000,
20260512110000
]
);
}
@@ -1088,6 +1106,8 @@ fn pending_migrations_from_applied_skips_versions_already_applied() {
20260510120000,
20260511000000,
20260511120000,
20260512090000,
20260512110000,
]
);
}