feat(premium): add App Store and Google Play purchases (#3052)

This commit is contained in:
Hampus authored and GitHub committed 2026-09-30 01:55:19 +02:00
1 parent 0b3418dcbe
commit e8cb167dbf
202 files changed
+17095 -49

No files matched your search

+31 -1
View File
@@ -1,7 +1,7 @@
// SPDX-License-Identifier: AGPL-3.0-or-later
import type {WorkerTaskName} from '@app/api/worker/WorkerLaneConfig';
import type {CachePurgeAdapterName} from '@fluxer/config/src/MasterConfig';
import type {CachePurgeAdapterName, StoreProductSlotName} from '@fluxer/config/src/MasterConfig';
export type APIWorkerMode = 'all_lanes' | 'single_lane' | 'single_task';
export type APIWorkerLaneName = 'realtime' | 'unfurl' | 'lifecycle' | 'batch';
@@ -13,6 +13,11 @@ export interface PushProviderAppConfig {
environment?: PushProviderEnvironment;
}
export interface AppStoreAppConfig {
bundleId: string;
appAppleId: number;
}
export interface APICachePurgeConfig {
adapter: CachePurgeAdapterName;
http: {
@@ -305,6 +310,31 @@ export interface APIConfig {
apps: Array<PushProviderAppConfig>;
};
};
appStore: {
enabled: boolean;
issuerId?: string;
keyId?: string;
privateKey?: string;
privateKeyPath?: string;
apps: Array<AppStoreAppConfig>;
products: Record<string, StoreProductSlotName>;
};
googlePlay: {
enabled: boolean;
packages: Array<string>;
clientEmail?: string;
privateKey?: string;
privateKeyPath?: string;
serviceAccountJsonPath?: string;
tokenUri: string;
products: Record<string, StoreProductSlotName>;
pushAudience?: string;
pushServiceAccountEmail?: string;
};
storeBilling: {
sandboxUserIds: Array<string>;
sandboxEntitlesAll: boolean;
};
worker: {
mode: APIWorkerMode;
laneName?: APIWorkerLaneName;