@vex-chat/spire 2.4.0 → 2.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/BillingVerification.d.ts +40 -0
- package/dist/BillingVerification.js +535 -0
- package/dist/BillingVerification.js.map +1 -0
- package/dist/Database.d.ts +39 -1
- package/dist/Database.js +285 -2
- package/dist/Database.js.map +1 -1
- package/dist/db/schema.d.ts +50 -0
- package/dist/migrations/2026-06-24_account-entitlements.d.ts +8 -0
- package/dist/migrations/2026-06-24_account-entitlements.js +20 -0
- package/dist/migrations/2026-06-24_account-entitlements.js.map +1 -0
- package/dist/migrations/2026-07-02_store-subscriptions.d.ts +8 -0
- package/dist/migrations/2026-07-02_store-subscriptions.js +83 -0
- package/dist/migrations/2026-07-02_store-subscriptions.js.map +1 -0
- package/dist/server/billing.d.ts +14 -0
- package/dist/server/billing.js +234 -0
- package/dist/server/billing.js.map +1 -0
- package/dist/server/entitlements.d.ts +8 -0
- package/dist/server/entitlements.js +71 -0
- package/dist/server/entitlements.js.map +1 -0
- package/dist/server/index.js +6 -0
- package/dist/server/index.js.map +1 -1
- package/package.json +4 -4
- package/src/BillingVerification.ts +800 -0
- package/src/Database.ts +422 -2
- package/src/__tests__/Database.spec.ts +6 -3
- package/src/__tests__/billing.spec.ts +282 -0
- package/src/__tests__/entitlements.spec.ts +241 -0
- package/src/db/schema.ts +66 -1
- package/src/migrations/2026-06-24_account-entitlements.ts +23 -0
- package/src/migrations/2026-07-02_store-subscriptions.ts +92 -0
- package/src/server/billing.ts +361 -0
- package/src/server/entitlements.ts +104 -0
- package/src/server/index.ts +6 -0
package/dist/Database.d.ts
CHANGED
|
@@ -5,8 +5,29 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import type { PasskeyRow } from "./db/schema.ts";
|
|
7
7
|
import type { SpireOptions } from "./Spire.ts";
|
|
8
|
-
import type { Channel, Device, DevicePayload, Emoji, FileSQL, Invite, KeyBundle, MailWS, Passkey, Permission, PreKeysWS, RegistrationPayload, Server, UserRecord } from "@vex-chat/types";
|
|
8
|
+
import type { AccountEntitlements, AccountEntitlementSource, AccountTier, BillingAccountState, BillingEnvironment, BillingPlatform, BillingSubscription, BillingSubscriptionStatus, Channel, Device, DevicePayload, Emoji, FileSQL, Invite, KeyBundle, MailWS, Passkey, Permission, PreKeysWS, RegistrationPayload, Server, UserRecord } from "@vex-chat/types";
|
|
9
9
|
import { EventEmitter } from "events";
|
|
10
|
+
export interface StoreSubscriptionUpsertInput {
|
|
11
|
+
environment: BillingEnvironment;
|
|
12
|
+
expiresAt: null | string;
|
|
13
|
+
externalOriginalID?: null | string | undefined;
|
|
14
|
+
externalTransactionID?: null | string | undefined;
|
|
15
|
+
platform: BillingPlatform;
|
|
16
|
+
productID: string;
|
|
17
|
+
purchaseToken?: null | string | undefined;
|
|
18
|
+
rawPayload: unknown;
|
|
19
|
+
status: BillingSubscriptionStatus;
|
|
20
|
+
storeProductID: string;
|
|
21
|
+
tier: AccountTier;
|
|
22
|
+
userID: string;
|
|
23
|
+
}
|
|
24
|
+
export interface StoreTransactionRecordInput {
|
|
25
|
+
eventType: string;
|
|
26
|
+
externalTransactionID?: null | string | undefined;
|
|
27
|
+
rawPayload: unknown;
|
|
28
|
+
subscriptionID: string;
|
|
29
|
+
userID: string;
|
|
30
|
+
}
|
|
10
31
|
/** Internal record that includes the hash algorithm discriminator. */
|
|
11
32
|
export interface InternalUserRecord extends UserRecord {
|
|
12
33
|
hashAlgo: string;
|
|
@@ -100,6 +121,8 @@ export declare class Database extends EventEmitter {
|
|
|
100
121
|
markUserSeen(user: UserRecord): Promise<void>;
|
|
101
122
|
/** Deletes server-side mail older than the configured retention window. */
|
|
102
123
|
pruneExpiredMail(): Promise<void>;
|
|
124
|
+
recalculateStoreEntitlements(userID: string): Promise<AccountEntitlements>;
|
|
125
|
+
recordStoreTransaction(input: StoreTransactionRecordInput): Promise<void>;
|
|
103
126
|
recoverDevice(owner: string, payload: DevicePayload, passkeyApproval?: DevicePasskeyApprovalInput): Promise<{
|
|
104
127
|
device: Device;
|
|
105
128
|
revokedDeviceIDs: string[];
|
|
@@ -111,6 +134,7 @@ export declare class Database extends EventEmitter {
|
|
|
111
134
|
userID: string;
|
|
112
135
|
}): Promise<boolean>;
|
|
113
136
|
replacePreKey(userID: string, deviceID: string, preKey: PreKeysWS): Promise<void>;
|
|
137
|
+
retrieveAccountEntitlements(userID: string): Promise<AccountEntitlements>;
|
|
114
138
|
/**
|
|
115
139
|
* Retrives a list of users that should be notified when a specific resourceID
|
|
116
140
|
* experiences changes.
|
|
@@ -118,6 +142,8 @@ export declare class Database extends EventEmitter {
|
|
|
118
142
|
* @param resourceID
|
|
119
143
|
*/
|
|
120
144
|
retrieveAffectedUsers(resourceID: string): Promise<UserRecord[]>;
|
|
145
|
+
retrieveBillingAccountState(userID: string): Promise<BillingAccountState>;
|
|
146
|
+
retrieveBillingSubscriptions(userID: string): Promise<BillingSubscription[]>;
|
|
121
147
|
retrieveChannel(channelID: string): Promise<Channel | null>;
|
|
122
148
|
retrieveChannels(serverID: string): Promise<Channel[]>;
|
|
123
149
|
retrieveDevice(deviceID: string): Promise<Device | null>;
|
|
@@ -159,6 +185,12 @@ export declare class Database extends EventEmitter {
|
|
|
159
185
|
}>;
|
|
160
186
|
retrieveServerInvites(serverID: string): Promise<Invite[]>;
|
|
161
187
|
retrieveServers(userID: string): Promise<Server[]>;
|
|
188
|
+
retrieveStoreSubscriptionOwner(args: {
|
|
189
|
+
environment: BillingEnvironment;
|
|
190
|
+
externalOriginalID?: null | string | undefined;
|
|
191
|
+
platform: BillingPlatform;
|
|
192
|
+
purchaseToken?: null | string | undefined;
|
|
193
|
+
}): Promise<null | string>;
|
|
162
194
|
retrieveUser(userIdentifier: string): Promise<InternalUserRecord | null>;
|
|
163
195
|
/**
|
|
164
196
|
* All devices for the given user ID(s), **no in-process cache** — a prior
|
|
@@ -177,6 +209,12 @@ export declare class Database extends EventEmitter {
|
|
|
177
209
|
}[]): Promise<void>;
|
|
178
210
|
saveNotificationSubscription(input: SaveNotificationSubscriptionInput): Promise<NotificationSubscription>;
|
|
179
211
|
saveOTK(userID: string, deviceID: string, otks: PreKeysWS[]): Promise<void>;
|
|
212
|
+
setAccountEntitlementTier(userID: string, tier: AccountTier, options?: {
|
|
213
|
+
expiresAt?: null | string | undefined;
|
|
214
|
+
source?: AccountEntitlementSource | undefined;
|
|
215
|
+
}): Promise<AccountEntitlements>;
|
|
216
|
+
upsertStoreSubscription(input: StoreSubscriptionUpsertInput): Promise<BillingSubscription>;
|
|
217
|
+
private findExistingStoreSubscription;
|
|
180
218
|
private init;
|
|
181
219
|
private mailSqlEntry;
|
|
182
220
|
}
|
package/dist/Database.js
CHANGED
|
@@ -12,13 +12,13 @@ var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExte
|
|
|
12
12
|
return path;
|
|
13
13
|
};
|
|
14
14
|
import { EventEmitter } from "events";
|
|
15
|
-
import { pbkdf2Sync } from "node:crypto";
|
|
15
|
+
import { createHash, pbkdf2Sync } from "node:crypto";
|
|
16
16
|
import { statSync } from "node:fs";
|
|
17
17
|
import * as fs from "node:fs/promises";
|
|
18
18
|
import path from "node:path";
|
|
19
19
|
import { fileURLToPath, pathToFileURL } from "node:url";
|
|
20
20
|
import { fipsEcdhRawPublicKeyFromEcdsaSpkiAsync, getCryptoProfile, XUtils, } from "@vex-chat/crypto";
|
|
21
|
-
import { MailType } from "@vex-chat/types";
|
|
21
|
+
import { AccountEntitlementSourceSchema, AccountTierSchema, BillingEnvironmentSchema, BillingPlatformSchema, BillingSubscriptionStatusSchema, buildAccountEntitlements, MailType, } from "@vex-chat/types";
|
|
22
22
|
import argon2 from "argon2";
|
|
23
23
|
import { serverMailRetentionCutoffIso } from "./mailRetention.js";
|
|
24
24
|
/**
|
|
@@ -623,6 +623,65 @@ export class Database extends EventEmitter {
|
|
|
623
623
|
.where("time", "<", cutoff)
|
|
624
624
|
.executeTakeFirst();
|
|
625
625
|
}
|
|
626
|
+
async recalculateStoreEntitlements(userID) {
|
|
627
|
+
const subscriptions = await this.retrieveBillingSubscriptions(userID);
|
|
628
|
+
const nowMs = Date.now();
|
|
629
|
+
const active = subscriptions
|
|
630
|
+
.filter((subscription) => billingStatusCarriesEntitlement(subscription.status))
|
|
631
|
+
.filter((subscription) => {
|
|
632
|
+
if (!subscription.expiresAt) {
|
|
633
|
+
return true;
|
|
634
|
+
}
|
|
635
|
+
const expiresAtMs = Date.parse(subscription.expiresAt);
|
|
636
|
+
return Number.isFinite(expiresAtMs) && expiresAtMs > nowMs;
|
|
637
|
+
})
|
|
638
|
+
.sort((a, b) => {
|
|
639
|
+
const tierDelta = accountTierRank(b.tier) - accountTierRank(a.tier);
|
|
640
|
+
if (tierDelta !== 0) {
|
|
641
|
+
return tierDelta;
|
|
642
|
+
}
|
|
643
|
+
return expiryRank(b.expiresAt) - expiryRank(a.expiresAt);
|
|
644
|
+
});
|
|
645
|
+
const best = active[0];
|
|
646
|
+
if (best) {
|
|
647
|
+
return this.setAccountEntitlementTier(userID, best.tier, {
|
|
648
|
+
expiresAt: best.expiresAt,
|
|
649
|
+
source: "store",
|
|
650
|
+
});
|
|
651
|
+
}
|
|
652
|
+
const current = await this.retrieveAccountEntitlements(userID);
|
|
653
|
+
if (current.source !== "store") {
|
|
654
|
+
return current;
|
|
655
|
+
}
|
|
656
|
+
return this.setAccountEntitlementTier(userID, "free", {
|
|
657
|
+
expiresAt: null,
|
|
658
|
+
source: "store",
|
|
659
|
+
});
|
|
660
|
+
}
|
|
661
|
+
async recordStoreTransaction(input) {
|
|
662
|
+
const subscription = await this.db
|
|
663
|
+
.selectFrom("billing_store_subscriptions")
|
|
664
|
+
.selectAll()
|
|
665
|
+
.where("subscriptionID", "=", input.subscriptionID)
|
|
666
|
+
.limit(1)
|
|
667
|
+
.executeTakeFirstOrThrow();
|
|
668
|
+
await this.db
|
|
669
|
+
.insertInto("billing_store_transactions")
|
|
670
|
+
.values({
|
|
671
|
+
environment: subscription.environment,
|
|
672
|
+
eventType: input.eventType,
|
|
673
|
+
externalTransactionID: input.externalTransactionID ?? null,
|
|
674
|
+
platform: subscription.platform,
|
|
675
|
+
processedAt: new Date().toISOString(),
|
|
676
|
+
purchaseTokenHash: subscription.purchaseTokenHash,
|
|
677
|
+
rawPayload: JSON.stringify(input.rawPayload),
|
|
678
|
+
storeProductID: subscription.storeProductID,
|
|
679
|
+
subscriptionID: input.subscriptionID,
|
|
680
|
+
transactionID: crypto.randomUUID(),
|
|
681
|
+
userID: input.userID,
|
|
682
|
+
})
|
|
683
|
+
.execute();
|
|
684
|
+
}
|
|
626
685
|
async recoverDevice(owner, payload, passkeyApproval) {
|
|
627
686
|
const now = new Date().toISOString();
|
|
628
687
|
const device = {
|
|
@@ -735,6 +794,24 @@ export class Database extends EventEmitter {
|
|
|
735
794
|
await trx.insertInto("preKeys").values(newPreKey).execute();
|
|
736
795
|
});
|
|
737
796
|
}
|
|
797
|
+
async retrieveAccountEntitlements(userID) {
|
|
798
|
+
const row = await this.db
|
|
799
|
+
.selectFrom("account_entitlements")
|
|
800
|
+
.selectAll()
|
|
801
|
+
.where("userID", "=", userID)
|
|
802
|
+
.limit(1)
|
|
803
|
+
.executeTakeFirst();
|
|
804
|
+
if (!row) {
|
|
805
|
+
return buildAccountEntitlements({ userID });
|
|
806
|
+
}
|
|
807
|
+
return buildAccountEntitlements({
|
|
808
|
+
expiresAt: row.expiresAt,
|
|
809
|
+
refreshedAt: row.updatedAt,
|
|
810
|
+
source: parseAccountEntitlementSource(row.source),
|
|
811
|
+
tier: parseAccountTier(row.tier),
|
|
812
|
+
userID,
|
|
813
|
+
});
|
|
814
|
+
}
|
|
738
815
|
/**
|
|
739
816
|
* Retrives a list of users that should be notified when a specific resourceID
|
|
740
817
|
* experiences changes.
|
|
@@ -752,6 +829,21 @@ export class Database extends EventEmitter {
|
|
|
752
829
|
}
|
|
753
830
|
return users;
|
|
754
831
|
}
|
|
832
|
+
async retrieveBillingAccountState(userID) {
|
|
833
|
+
return {
|
|
834
|
+
entitlements: await this.retrieveAccountEntitlements(userID),
|
|
835
|
+
subscriptions: await this.retrieveBillingSubscriptions(userID),
|
|
836
|
+
};
|
|
837
|
+
}
|
|
838
|
+
async retrieveBillingSubscriptions(userID) {
|
|
839
|
+
const rows = await this.db
|
|
840
|
+
.selectFrom("billing_store_subscriptions")
|
|
841
|
+
.selectAll()
|
|
842
|
+
.where("userID", "=", userID)
|
|
843
|
+
.orderBy("updatedAt", "desc")
|
|
844
|
+
.execute();
|
|
845
|
+
return rows.map(toBillingSubscription);
|
|
846
|
+
}
|
|
755
847
|
async retrieveChannel(channelID) {
|
|
756
848
|
const channels = await this.db
|
|
757
849
|
.selectFrom("channels")
|
|
@@ -1057,6 +1149,27 @@ export class Database extends EventEmitter {
|
|
|
1057
1149
|
.execute();
|
|
1058
1150
|
return rows.map(toServer);
|
|
1059
1151
|
}
|
|
1152
|
+
async retrieveStoreSubscriptionOwner(args) {
|
|
1153
|
+
const purchaseTokenHash = args.purchaseToken
|
|
1154
|
+
? billingPurchaseTokenHash(args.platform, args.environment, args.purchaseToken)
|
|
1155
|
+
: null;
|
|
1156
|
+
const existing = await this.findExistingStoreSubscription({
|
|
1157
|
+
environment: args.environment,
|
|
1158
|
+
externalOriginalID: args.externalOriginalID ?? null,
|
|
1159
|
+
platform: args.platform,
|
|
1160
|
+
purchaseTokenHash,
|
|
1161
|
+
});
|
|
1162
|
+
if (!existing) {
|
|
1163
|
+
return null;
|
|
1164
|
+
}
|
|
1165
|
+
const row = await this.db
|
|
1166
|
+
.selectFrom("billing_store_subscriptions")
|
|
1167
|
+
.select(["userID"])
|
|
1168
|
+
.where("subscriptionID", "=", existing.subscriptionID)
|
|
1169
|
+
.limit(1)
|
|
1170
|
+
.executeTakeFirst();
|
|
1171
|
+
return row?.userID ?? null;
|
|
1172
|
+
}
|
|
1060
1173
|
// The identifier is matched as either a userID (UUID branch) or a
|
|
1061
1174
|
// username (string branch). Username comparison is case-folded so
|
|
1062
1175
|
// `User` and `user` resolve to the same row regardless of how the
|
|
@@ -1179,6 +1292,116 @@ export class Database extends EventEmitter {
|
|
|
1179
1292
|
await this.db.insertInto("oneTimeKeys").values(newOTK).execute();
|
|
1180
1293
|
}
|
|
1181
1294
|
}
|
|
1295
|
+
async setAccountEntitlementTier(userID, tier, options) {
|
|
1296
|
+
const parsedTier = AccountTierSchema.parse(tier);
|
|
1297
|
+
const source = AccountEntitlementSourceSchema.parse(options?.source ?? "dev_override");
|
|
1298
|
+
const expiresAt = options?.expiresAt ?? null;
|
|
1299
|
+
const updatedAt = new Date().toISOString();
|
|
1300
|
+
await this.db
|
|
1301
|
+
.insertInto("account_entitlements")
|
|
1302
|
+
.values({
|
|
1303
|
+
expiresAt,
|
|
1304
|
+
source,
|
|
1305
|
+
tier: parsedTier,
|
|
1306
|
+
updatedAt,
|
|
1307
|
+
userID,
|
|
1308
|
+
})
|
|
1309
|
+
.onConflict((oc) => oc.column("userID").doUpdateSet({
|
|
1310
|
+
expiresAt,
|
|
1311
|
+
source,
|
|
1312
|
+
tier: parsedTier,
|
|
1313
|
+
updatedAt,
|
|
1314
|
+
}))
|
|
1315
|
+
.execute();
|
|
1316
|
+
return buildAccountEntitlements({
|
|
1317
|
+
expiresAt,
|
|
1318
|
+
refreshedAt: updatedAt,
|
|
1319
|
+
source,
|
|
1320
|
+
tier: parsedTier,
|
|
1321
|
+
userID,
|
|
1322
|
+
});
|
|
1323
|
+
}
|
|
1324
|
+
async upsertStoreSubscription(input) {
|
|
1325
|
+
const now = new Date().toISOString();
|
|
1326
|
+
const purchaseTokenHash = input.purchaseToken
|
|
1327
|
+
? billingPurchaseTokenHash(input.platform, input.environment, input.purchaseToken)
|
|
1328
|
+
: null;
|
|
1329
|
+
const existing = await this.findExistingStoreSubscription({
|
|
1330
|
+
environment: input.environment,
|
|
1331
|
+
externalOriginalID: input.externalOriginalID ?? null,
|
|
1332
|
+
platform: input.platform,
|
|
1333
|
+
purchaseTokenHash,
|
|
1334
|
+
});
|
|
1335
|
+
const subscriptionID = existing?.subscriptionID ?? crypto.randomUUID();
|
|
1336
|
+
const row = {
|
|
1337
|
+
environment: input.environment,
|
|
1338
|
+
expiresAt: input.expiresAt,
|
|
1339
|
+
externalOriginalID: input.externalOriginalID ?? null,
|
|
1340
|
+
externalTransactionID: input.externalTransactionID ?? null,
|
|
1341
|
+
platform: input.platform,
|
|
1342
|
+
productID: input.productID,
|
|
1343
|
+
purchaseToken: input.purchaseToken ?? null,
|
|
1344
|
+
purchaseTokenHash,
|
|
1345
|
+
rawPayload: JSON.stringify(input.rawPayload),
|
|
1346
|
+
status: input.status,
|
|
1347
|
+
storeProductID: input.storeProductID,
|
|
1348
|
+
tier: input.tier,
|
|
1349
|
+
updatedAt: now,
|
|
1350
|
+
userID: input.userID,
|
|
1351
|
+
};
|
|
1352
|
+
if (existing) {
|
|
1353
|
+
await this.db
|
|
1354
|
+
.updateTable("billing_store_subscriptions")
|
|
1355
|
+
.set(row)
|
|
1356
|
+
.where("subscriptionID", "=", subscriptionID)
|
|
1357
|
+
.execute();
|
|
1358
|
+
}
|
|
1359
|
+
else {
|
|
1360
|
+
await this.db
|
|
1361
|
+
.insertInto("billing_store_subscriptions")
|
|
1362
|
+
.values({
|
|
1363
|
+
...row,
|
|
1364
|
+
createdAt: now,
|
|
1365
|
+
subscriptionID,
|
|
1366
|
+
})
|
|
1367
|
+
.execute();
|
|
1368
|
+
}
|
|
1369
|
+
const saved = await this.db
|
|
1370
|
+
.selectFrom("billing_store_subscriptions")
|
|
1371
|
+
.selectAll()
|
|
1372
|
+
.where("subscriptionID", "=", subscriptionID)
|
|
1373
|
+
.executeTakeFirstOrThrow();
|
|
1374
|
+
return toBillingSubscription(saved);
|
|
1375
|
+
}
|
|
1376
|
+
async findExistingStoreSubscription(args) {
|
|
1377
|
+
if (args.externalOriginalID) {
|
|
1378
|
+
const byOriginal = await this.db
|
|
1379
|
+
.selectFrom("billing_store_subscriptions")
|
|
1380
|
+
.select(["subscriptionID"])
|
|
1381
|
+
.where("platform", "=", args.platform)
|
|
1382
|
+
.where("environment", "=", args.environment)
|
|
1383
|
+
.where("externalOriginalID", "=", args.externalOriginalID)
|
|
1384
|
+
.limit(1)
|
|
1385
|
+
.executeTakeFirst();
|
|
1386
|
+
if (byOriginal) {
|
|
1387
|
+
return byOriginal;
|
|
1388
|
+
}
|
|
1389
|
+
}
|
|
1390
|
+
if (args.purchaseTokenHash) {
|
|
1391
|
+
const byToken = await this.db
|
|
1392
|
+
.selectFrom("billing_store_subscriptions")
|
|
1393
|
+
.select(["subscriptionID"])
|
|
1394
|
+
.where("platform", "=", args.platform)
|
|
1395
|
+
.where("environment", "=", args.environment)
|
|
1396
|
+
.where("purchaseTokenHash", "=", args.purchaseTokenHash)
|
|
1397
|
+
.limit(1)
|
|
1398
|
+
.executeTakeFirst();
|
|
1399
|
+
if (byToken) {
|
|
1400
|
+
return byToken;
|
|
1401
|
+
}
|
|
1402
|
+
}
|
|
1403
|
+
return null;
|
|
1404
|
+
}
|
|
1182
1405
|
async init() {
|
|
1183
1406
|
const migrator = new Migrator({
|
|
1184
1407
|
db: this.db,
|
|
@@ -1246,6 +1469,38 @@ export async function verifyPassword(password, stored) {
|
|
|
1246
1469
|
const valid = timingSafeEqual(computed, storedBuf);
|
|
1247
1470
|
return { needsRehash: valid, valid };
|
|
1248
1471
|
}
|
|
1472
|
+
function accountTierRank(tier) {
|
|
1473
|
+
switch (tier) {
|
|
1474
|
+
case "free":
|
|
1475
|
+
return 0;
|
|
1476
|
+
case "plus":
|
|
1477
|
+
return 1;
|
|
1478
|
+
case "pro":
|
|
1479
|
+
return 2;
|
|
1480
|
+
}
|
|
1481
|
+
}
|
|
1482
|
+
function billingEnvironmentFromRow(environment) {
|
|
1483
|
+
const parsed = BillingEnvironmentSchema.safeParse(environment);
|
|
1484
|
+
return parsed.success ? parsed.data : "production";
|
|
1485
|
+
}
|
|
1486
|
+
function billingPlatformFromRow(platform) {
|
|
1487
|
+
const parsed = BillingPlatformSchema.safeParse(platform);
|
|
1488
|
+
return parsed.success ? parsed.data : "apple_app_store";
|
|
1489
|
+
}
|
|
1490
|
+
function billingPurchaseTokenHash(platform, environment, token) {
|
|
1491
|
+
return createHash("sha256")
|
|
1492
|
+
.update(`${platform}:${environment}:${token}`)
|
|
1493
|
+
.digest("hex");
|
|
1494
|
+
}
|
|
1495
|
+
function billingStatusCarriesEntitlement(status) {
|
|
1496
|
+
return (status === "active" ||
|
|
1497
|
+
status === "billing_retry" ||
|
|
1498
|
+
status === "grace_period");
|
|
1499
|
+
}
|
|
1500
|
+
function billingSubscriptionStatusFromRow(status) {
|
|
1501
|
+
const parsed = BillingSubscriptionStatusSchema.safeParse(status);
|
|
1502
|
+
return parsed.success ? parsed.data : "pending";
|
|
1503
|
+
}
|
|
1249
1504
|
function decodeNotificationEvents(events) {
|
|
1250
1505
|
try {
|
|
1251
1506
|
const parsed = JSON.parse(events);
|
|
@@ -1263,6 +1518,13 @@ function encodeNotificationEvents(events) {
|
|
|
1263
1518
|
const unique = [...new Set(events.map((event) => event.trim()))].filter((event) => event.length > 0);
|
|
1264
1519
|
return JSON.stringify(unique.length > 0 ? unique : ["mail"]);
|
|
1265
1520
|
}
|
|
1521
|
+
function expiryRank(expiresAt) {
|
|
1522
|
+
if (!expiresAt) {
|
|
1523
|
+
return Number.MAX_SAFE_INTEGER;
|
|
1524
|
+
}
|
|
1525
|
+
const value = Date.parse(expiresAt);
|
|
1526
|
+
return Number.isFinite(value) ? value : 0;
|
|
1527
|
+
}
|
|
1266
1528
|
// Mirrors `Spire.normalizeRegistrationUsername` — kept in sync so a
|
|
1267
1529
|
// caller invoking `createUser` directly (e.g. tests, future internal
|
|
1268
1530
|
// flows) gets the same lowercase canonicalization the public
|
|
@@ -1276,6 +1538,27 @@ function normalizeRegistrationUsername(providedUsername, userID) {
|
|
|
1276
1538
|
const seed = userID.replaceAll("-", "").slice(0, 12);
|
|
1277
1539
|
return `key_${seed}`;
|
|
1278
1540
|
}
|
|
1541
|
+
function parseAccountEntitlementSource(source) {
|
|
1542
|
+
const parsed = AccountEntitlementSourceSchema.safeParse(source);
|
|
1543
|
+
return parsed.success ? parsed.data : "default";
|
|
1544
|
+
}
|
|
1545
|
+
function parseAccountTier(tier) {
|
|
1546
|
+
const parsed = AccountTierSchema.safeParse(tier);
|
|
1547
|
+
return parsed.success ? parsed.data : "free";
|
|
1548
|
+
}
|
|
1549
|
+
function toBillingSubscription(row) {
|
|
1550
|
+
return {
|
|
1551
|
+
environment: billingEnvironmentFromRow(row.environment),
|
|
1552
|
+
expiresAt: row.expiresAt,
|
|
1553
|
+
platform: billingPlatformFromRow(row.platform),
|
|
1554
|
+
productID: row.productID,
|
|
1555
|
+
status: billingSubscriptionStatusFromRow(row.status),
|
|
1556
|
+
storeProductID: row.storeProductID,
|
|
1557
|
+
subscriptionID: row.subscriptionID,
|
|
1558
|
+
tier: parseAccountTier(row.tier),
|
|
1559
|
+
updatedAt: row.updatedAt,
|
|
1560
|
+
};
|
|
1561
|
+
}
|
|
1279
1562
|
function toDevice(row) {
|
|
1280
1563
|
return { ...row, deleted: Boolean(row.deleted) };
|
|
1281
1564
|
}
|
package/dist/Database.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Database.js","sourceRoot":"","sources":["../src/Database.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Database.js","sourceRoot":"","sources":["../src/Database.ts"],"names":[],"mappings":"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"}
|