feat: default locale Russian, geo determines language for other countries
- localization-svc: defaultLocale ru, resolveLocale only by geo - web-svc: DEFAULT_LOCALE ru, layout lang=ru, embeddedTranslations fallback ru - countryToLocale: default ru when no country or unknown country Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
36
services/billing-svc/drizzle/0000_init.sql
Normal file
36
services/billing-svc/drizzle/0000_init.sql
Normal file
@@ -0,0 +1,36 @@
|
||||
CREATE TABLE IF NOT EXISTS billing_plans (
|
||||
id VARCHAR(32) PRIMARY KEY,
|
||||
name VARCHAR(64) NOT NULL,
|
||||
price_monthly INTEGER NOT NULL DEFAULT 0,
|
||||
price_yearly INTEGER NOT NULL DEFAULT 0,
|
||||
currency VARCHAR(3) NOT NULL DEFAULT 'RUB',
|
||||
features JSONB DEFAULT '[]'::jsonb,
|
||||
limits JSONB DEFAULT '{}'::jsonb
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS billing_subscriptions (
|
||||
id TEXT PRIMARY KEY,
|
||||
user_id TEXT NOT NULL,
|
||||
plan_id VARCHAR(32) NOT NULL,
|
||||
status VARCHAR(24) NOT NULL DEFAULT 'active',
|
||||
period VARCHAR(8) NOT NULL DEFAULT 'monthly',
|
||||
started_at TIMESTAMP DEFAULT NOW() NOT NULL,
|
||||
expires_at TIMESTAMP,
|
||||
created_at TIMESTAMP DEFAULT NOW() NOT NULL,
|
||||
updated_at TIMESTAMP DEFAULT NOW() NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS billing_payments (
|
||||
id TEXT PRIMARY KEY,
|
||||
user_id TEXT NOT NULL,
|
||||
plan_id VARCHAR(32) NOT NULL,
|
||||
amount INTEGER NOT NULL,
|
||||
currency VARCHAR(3) NOT NULL DEFAULT 'RUB',
|
||||
status VARCHAR(24) NOT NULL DEFAULT 'pending',
|
||||
yookassa_id TEXT,
|
||||
period VARCHAR(8) NOT NULL DEFAULT 'monthly',
|
||||
created_at TIMESTAMP DEFAULT NOW() NOT NULL
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_billing_subscriptions_user_id ON billing_subscriptions(user_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_billing_payments_user_id ON billing_payments(user_id);
|
||||
Reference in New Issue
Block a user