@shdan/submesh 0.1.0 → 1.0.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/README.md +2 -2
- package/dist/contracts.d.ts +39 -2
- package/dist/contracts.d.ts.map +1 -1
- package/dist/drizzle/ensure-schema.d.ts.map +1 -1
- package/dist/drizzle/ensure-schema.js +12 -0
- package/dist/drizzle/ensure-schema.js.map +1 -1
- package/dist/drizzle/schema.d.ts.map +1 -1
- package/dist/drizzle/schema.js +4 -1
- package/dist/drizzle/schema.js.map +1 -1
- package/dist/drizzle/subject-repository.d.ts.map +1 -1
- package/dist/drizzle/subject-repository.js +7 -3
- package/dist/drizzle/subject-repository.js.map +1 -1
- package/dist/drizzle/summary-repository.d.ts.map +1 -1
- package/dist/drizzle/summary-repository.js +16 -7
- package/dist/drizzle/summary-repository.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/logger.d.ts +27 -0
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +61 -0
- package/dist/logger.js.map +1 -1
- package/dist/plugins/builtin-plugins.d.ts.map +1 -1
- package/dist/plugins/builtin-plugins.js +2 -1
- package/dist/plugins/builtin-plugins.js.map +1 -1
- package/dist/providers/stripe/plugin/stripe-plan-sync.d.ts +4 -0
- package/dist/providers/stripe/plugin/stripe-plan-sync.d.ts.map +1 -0
- package/dist/providers/stripe/plugin/stripe-plan-sync.js +83 -0
- package/dist/providers/stripe/plugin/stripe-plan-sync.js.map +1 -0
- package/dist/providers/stripe/plugin/stripe.d.ts +20 -0
- package/dist/providers/stripe/plugin/stripe.d.ts.map +1 -0
- package/dist/providers/stripe/plugin/stripe.js +238 -0
- package/dist/providers/stripe/plugin/stripe.js.map +1 -0
- package/dist/providers/stripe/security/stripe-signature-verification.d.ts +3 -0
- package/dist/providers/stripe/security/stripe-signature-verification.d.ts.map +1 -0
- package/dist/providers/stripe/security/stripe-signature-verification.js +162 -0
- package/dist/providers/stripe/security/stripe-signature-verification.js.map +1 -0
- package/dist/providers/stripe/services/stripe-subscription-verification-service.d.ts +3 -0
- package/dist/providers/stripe/services/stripe-subscription-verification-service.d.ts.map +1 -0
- package/dist/providers/stripe/services/stripe-subscription-verification-service.js +65 -0
- package/dist/providers/stripe/services/stripe-subscription-verification-service.js.map +1 -0
- package/dist/services/managed-subscription-service.d.ts +2 -1
- package/dist/services/managed-subscription-service.d.ts.map +1 -1
- package/dist/services/managed-subscription-service.js +7 -1
- package/dist/services/managed-subscription-service.js.map +1 -1
- package/dist/services/plan-provisioning-service.d.ts +2 -1
- package/dist/services/plan-provisioning-service.d.ts.map +1 -1
- package/dist/services/plan-provisioning-service.js +16 -1
- package/dist/services/plan-provisioning-service.js.map +1 -1
- package/dist/services/provider-subscription-sync-service.d.ts +2 -1
- package/dist/services/provider-subscription-sync-service.d.ts.map +1 -1
- package/dist/services/provider-subscription-sync-service.js +7 -1
- package/dist/services/provider-subscription-sync-service.js.map +1 -1
- package/dist/services/retry-event-replay.d.ts +4 -0
- package/dist/services/retry-event-replay.d.ts.map +1 -0
- package/dist/services/retry-event-replay.js +53 -0
- package/dist/services/retry-event-replay.js.map +1 -0
- package/dist/services/webhook-ingestion-service.d.ts.map +1 -1
- package/dist/services/webhook-ingestion-service.js +23 -7
- package/dist/services/webhook-ingestion-service.js.map +1 -1
- package/dist/submesh.d.ts +15 -1
- package/dist/submesh.d.ts.map +1 -1
- package/dist/submesh.js +117 -27
- package/dist/submesh.js.map +1 -1
- package/dist/utils/validation.d.ts +6 -0
- package/dist/utils/validation.d.ts.map +1 -1
- package/dist/utils/validation.js +7 -1
- package/dist/utils/validation.js.map +1 -1
- package/drizzle/0001_steady_perf_indexes.sql +8 -0
- package/drizzle/meta/_journal.json +7 -0
- package/package.json +10 -10
- package/LICENSE +0 -21
package/README.md
CHANGED
|
@@ -5,8 +5,8 @@ Submesh SDK for embedding subscription infrastructure into backend services.
|
|
|
5
5
|
Use this package to:
|
|
6
6
|
|
|
7
7
|
- model plans and entitlements
|
|
8
|
-
- ingest webhooks from provider plugins
|
|
9
|
-
- verify and sync store subscriptions
|
|
8
|
+
- ingest webhooks from provider plugins (Manual, Google Play, Apple App Store, Stripe)
|
|
9
|
+
- verify and sync store subscriptions (Google Play, Apple App Store, Stripe)
|
|
10
10
|
- evaluate feature access decisions
|
|
11
11
|
|
|
12
12
|
## Install
|
package/dist/contracts.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { CanonicalSubscriptionInput, Plan, PlanProvisioningInput, PluginInstallation, Subscription, SubscriptionPlugin, SubscriptionStatus } from "@shdan/submesh-core";
|
|
1
|
+
import type { CanonicalSubscriptionInput, ParsedWebhookEvent, Plan, PlanProvisioningInput, PluginInstallation, Subscription, SubscriptionPlugin, SubscriptionStatus } from "@shdan/submesh-core";
|
|
2
2
|
import { SubmeshRepositories } from "./repositories/index.js";
|
|
3
3
|
import { DrizzleRepositoriesOptions, SubmeshDrizzleMigrationConfig } from "./drizzle/index.js";
|
|
4
4
|
import { SubmeshLogger } from "./logger.js";
|
|
@@ -115,11 +115,27 @@ export interface AppleAppStorePluginConfig extends WebhookSecurityConfig {
|
|
|
115
115
|
appleSignedPayloadPublicKeys?: string[];
|
|
116
116
|
planSync?: ApplePlanSyncConfig;
|
|
117
117
|
}
|
|
118
|
+
export interface StripePlanSyncConfig {
|
|
119
|
+
enabled?: boolean;
|
|
120
|
+
endpointUrl?: string;
|
|
121
|
+
deprovisionEndpointUrl?: string;
|
|
122
|
+
deprovisionHttpMethod?: string;
|
|
123
|
+
authToken?: string;
|
|
124
|
+
authHeaderName?: string;
|
|
125
|
+
autoProvisionAllPlans?: boolean;
|
|
126
|
+
}
|
|
127
|
+
export interface StripePluginConfig extends WebhookSecurityConfig {
|
|
128
|
+
stripeWebhookSigningSecret?: string;
|
|
129
|
+
stripeWebhookToleranceSeconds?: number;
|
|
130
|
+
stripeApiKey?: string;
|
|
131
|
+
planSync?: StripePlanSyncConfig;
|
|
132
|
+
}
|
|
118
133
|
export type ManualPluginConfig = WebhookSecurityConfig;
|
|
119
134
|
export interface BuiltinPluginConfigMap {
|
|
120
135
|
manual: ManualPluginConfig;
|
|
121
136
|
"google-play": GooglePlayPluginConfig;
|
|
122
137
|
"apple-app-store": AppleAppStorePluginConfig;
|
|
138
|
+
stripe: StripePluginConfig;
|
|
123
139
|
}
|
|
124
140
|
export type InstallPluginInput<K extends string = string> = {
|
|
125
141
|
pluginKey: K;
|
|
@@ -137,6 +153,18 @@ export interface IngestWebhookResult {
|
|
|
137
153
|
}
|
|
138
154
|
export interface IngestWebhookOptions {
|
|
139
155
|
rawBody?: string | Uint8Array;
|
|
156
|
+
/**
|
|
157
|
+
* Internal replay option used by retry flows.
|
|
158
|
+
*
|
|
159
|
+
* When true, plugin webhook verification is skipped for this ingestion call.
|
|
160
|
+
*/
|
|
161
|
+
skipVerification?: boolean;
|
|
162
|
+
/**
|
|
163
|
+
* Internal replay option used by retry flows.
|
|
164
|
+
*
|
|
165
|
+
* When provided, parser execution is skipped and these events are processed directly.
|
|
166
|
+
*/
|
|
167
|
+
parsedEventsOverride?: ParsedWebhookEvent[];
|
|
140
168
|
}
|
|
141
169
|
export interface GoogleServiceAccountInput {
|
|
142
170
|
clientEmail: string;
|
|
@@ -166,8 +194,17 @@ export interface VerifyAppleAppStoreSubscriptionInput {
|
|
|
166
194
|
export interface SyncAppleAppStoreSubscriptionInput extends VerifyAppleAppStoreSubscriptionInput {
|
|
167
195
|
subjectId: string;
|
|
168
196
|
}
|
|
197
|
+
export interface VerifyStripeSubscriptionInput {
|
|
198
|
+
subscriptionId: string;
|
|
199
|
+
apiKey?: string;
|
|
200
|
+
subjectId?: string;
|
|
201
|
+
planCode?: string;
|
|
202
|
+
}
|
|
203
|
+
export interface SyncStripeSubscriptionInput extends VerifyStripeSubscriptionInput {
|
|
204
|
+
subjectId: string;
|
|
205
|
+
}
|
|
169
206
|
export interface VerifiedProviderSubscription {
|
|
170
|
-
provider: "google-play" | "apple-app-store";
|
|
207
|
+
provider: "google-play" | "apple-app-store" | "stripe";
|
|
171
208
|
sourceRef: string;
|
|
172
209
|
status: SubscriptionStatus;
|
|
173
210
|
canonical: CanonicalSubscriptionInput;
|
package/dist/contracts.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,0BAA0B,EAC1B,IAAI,EACJ,qBAAqB,EACrB,kBAAkB,EAClB,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,EAC9B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,eAAgB,SAAQ,qBAAqB;IAC5D,QAAQ,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,8BAA8B;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,qBAAqB;IACpC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,MAAM,WAAW,+BAAgC,SAAQ,yBAAyB;IAChF,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,+BAA+B,CAAC;IACjD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,sBAAuB,SAAQ,qBAAqB;IACnE,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,+BAA+B,CAAC,EAAE,MAAM,CAAC;IACzC,sBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,4BAA4B,CAAC,EAAE,MAAM,EAAE,CAAC;IACxC,mCAAmC,CAAC,EAAE,OAAO,CAAC;IAC9C,UAAU,CAAC,EAAE;QACX,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,cAAc,CAAC,EAAE,+BAA+B,CAAC;KAClD,CAAC;IACF,QAAQ,CAAC,EAAE,wBAAwB,CAAC;CACrC;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,MAAM,WAAW,yBAA0B,SAAQ,qBAAqB;IACtE,4BAA4B,CAAC,EAAE,MAAM,EAAE,CAAC;IACxC,4BAA4B,CAAC,EAAE,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,EAAE,mBAAmB,CAAC;CAChC;AAED,MAAM,MAAM,kBAAkB,GAAG,qBAAqB,CAAC;AAEvD,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,aAAa,EAAE,sBAAsB,CAAC;IACtC,iBAAiB,EAAE,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ensure-schema.d.ts","sourceRoot":"","sources":["../../src/drizzle/ensure-schema.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEzD,wBAAsB,mBAAmB,CAAC,EAAE,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"ensure-schema.d.ts","sourceRoot":"","sources":["../../src/drizzle/ensure-schema.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEzD,wBAAsB,mBAAmB,CAAC,EAAE,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsHnF"}
|
|
@@ -96,5 +96,17 @@ export async function ensureDrizzleSchema(db) {
|
|
|
96
96
|
UNIQUE (plugin_key, event_key)
|
|
97
97
|
);
|
|
98
98
|
`);
|
|
99
|
+
await db.execute(sql `
|
|
100
|
+
CREATE INDEX IF NOT EXISTS subscriptions_subject_created_idx
|
|
101
|
+
ON subscriptions (subject_id, created_at DESC);
|
|
102
|
+
`);
|
|
103
|
+
await db.execute(sql `
|
|
104
|
+
CREATE INDEX IF NOT EXISTS inbound_events_status_created_idx
|
|
105
|
+
ON inbound_events (status, created_at DESC);
|
|
106
|
+
`);
|
|
107
|
+
await db.execute(sql `
|
|
108
|
+
CREATE INDEX IF NOT EXISTS inbound_events_plugin_created_idx
|
|
109
|
+
ON inbound_events (plugin_key, created_at DESC);
|
|
110
|
+
`);
|
|
99
111
|
}
|
|
100
112
|
//# sourceMappingURL=ensure-schema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ensure-schema.js","sourceRoot":"","sources":["../../src/drizzle/ensure-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAIlC,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,EAA0B;IAClE,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA;;;;;;;;;;GAUnB,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA;;;;;;;;;;GAUnB,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA;;;;;;;;;;;;;;GAcnB,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA;;;;;;;;;;;GAWnB,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;GAkBnB,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA;;;;;;;;;;GAUnB,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;GAgBnB,CAAC,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"ensure-schema.js","sourceRoot":"","sources":["../../src/drizzle/ensure-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAIlC,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,EAA0B;IAClE,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA;;;;;;;;;;GAUnB,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA;;;;;;;;;;GAUnB,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA;;;;;;;;;;;;;;GAcnB,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA;;;;;;;;;;;GAWnB,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;GAkBnB,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA;;;;;;;;;;GAUnB,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;GAgBnB,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA;;;GAGnB,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA;;;GAGnB,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA;;;GAGnB,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/drizzle/schema.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,kBAAkB,EAClB,YAAY,EACZ,kBAAkB,EACnB,MAAM,qBAAqB,CAAC;AAE7B,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQnB,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAe7B,CAAC;AAEF,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYhB,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAc3B,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/drizzle/schema.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,kBAAkB,EAClB,YAAY,EACZ,kBAAkB,EACnB,MAAM,qBAAqB,CAAC;AAE7B,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQnB,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAe7B,CAAC;AAEF,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYhB,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAc3B,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6BzB,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQ9B,CAAC;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2BzB,CAAC;AAEF,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQlB,CAAC"}
|
package/dist/drizzle/schema.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { integer, jsonb, pgTable, text, unique } from "drizzle-orm/pg-core";
|
|
1
|
+
import { index, integer, jsonb, pgTable, text, unique } from "drizzle-orm/pg-core";
|
|
2
2
|
export const subjects = pgTable("subjects", {
|
|
3
3
|
id: text("id").primaryKey(),
|
|
4
4
|
email: text("email"),
|
|
@@ -65,6 +65,7 @@ export const subscriptions = pgTable("subscriptions", {
|
|
|
65
65
|
updatedAt: text("updated_at").notNull(),
|
|
66
66
|
}, (table) => ({
|
|
67
67
|
pluginSourceUnique: unique().on(table.pluginKey, table.sourceRef),
|
|
68
|
+
subjectCreatedIndex: index("subscriptions_subject_created_idx").on(table.subjectId, table.createdAt),
|
|
68
69
|
}));
|
|
69
70
|
export const pluginInstallations = pgTable("plugin_installations", {
|
|
70
71
|
id: text("id").primaryKey(),
|
|
@@ -90,6 +91,8 @@ export const inboundEvents = pgTable("inbound_events", {
|
|
|
90
91
|
updatedAt: text("updated_at").notNull(),
|
|
91
92
|
}, (table) => ({
|
|
92
93
|
pluginEventUnique: unique().on(table.pluginKey, table.eventKey),
|
|
94
|
+
statusCreatedIndex: index("inbound_events_status_created_idx").on(table.status, table.createdAt),
|
|
95
|
+
pluginCreatedIndex: index("inbound_events_plugin_created_idx").on(table.pluginKey, table.createdAt),
|
|
93
96
|
}));
|
|
94
97
|
export const schema = {
|
|
95
98
|
subjects,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/drizzle/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/drizzle/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subject-repository.d.ts","sourceRoot":"","sources":["../../src/drizzle/subject-repository.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"subject-repository.d.ts","sourceRoot":"","sources":["../../src/drizzle/subject-repository.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAI7E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEzD,qBAAa,wBAAyB,YAAW,iBAAiB;IACpD,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,sBAAsB;IAEvD,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAIE,OAAO,CAAC,EAAE,EAAE,MAAM;;;;;;;;;IAMlB,MAAM,CAAC,KAAK,EAAE,kBAAkB;;;;;;;;;IAuChC,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;;;;;;;;IASjD,cAAc,CAAC,KAAK,EAAE,iBAAiB;;;;;;;;CAyB9C"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { randomUUID } from "node:crypto";
|
|
2
2
|
import { and, desc, eq } from "drizzle-orm";
|
|
3
|
+
import { ConflictError } from "../errors.js";
|
|
3
4
|
import { now } from "../utils/time.js";
|
|
4
5
|
import { subjectIdentities, subjects } from "./schema.js";
|
|
5
6
|
export class DrizzleSubjectRepository {
|
|
@@ -36,9 +37,9 @@ export class DrizzleSubjectRepository {
|
|
|
36
37
|
const [updated] = await this.db
|
|
37
38
|
.update(subjects)
|
|
38
39
|
.set({
|
|
39
|
-
email: input.email
|
|
40
|
-
name: input.name
|
|
41
|
-
externalRef: input.externalRef
|
|
40
|
+
email: input.email !== undefined ? input.email : existing.email,
|
|
41
|
+
name: input.name !== undefined ? input.name : existing.name,
|
|
42
|
+
externalRef: input.externalRef !== undefined ? input.externalRef : existing.externalRef,
|
|
42
43
|
metadata: {
|
|
43
44
|
...existing.metadata,
|
|
44
45
|
...(input.metadata ?? {}),
|
|
@@ -57,6 +58,9 @@ export class DrizzleSubjectRepository {
|
|
|
57
58
|
async upsertIdentity(input) {
|
|
58
59
|
const existing = await this.findIdentity(input.provider, input.externalId);
|
|
59
60
|
if (existing) {
|
|
61
|
+
if (existing.subjectId !== input.subjectId) {
|
|
62
|
+
throw new ConflictError(`Provider identity ${input.provider}:${input.externalId} is already linked to subject ${existing.subjectId}.`);
|
|
63
|
+
}
|
|
60
64
|
return existing;
|
|
61
65
|
}
|
|
62
66
|
const [created] = await this.db
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subject-repository.js","sourceRoot":"","sources":["../../src/drizzle/subject-repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAI5C,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG1D,MAAM,OAAO,wBAAwB;IACN;IAA7B,YAA6B,EAA0B;QAA1B,OAAE,GAAF,EAAE,CAAwB;IAAG,CAAC;IAE3D,IAAI;QACF,OAAO,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU;QACtB,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;YACtC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC;SAC3B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAyB;QACpC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC;QAExB,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,IAAI,CAAC,EAAE;iBAC5B,MAAM,CAAC,QAAQ,CAAC;iBAChB,MAAM,CAAC;gBACN,EAAE,EAAE,KAAK,CAAC,EAAE;gBACZ,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,IAAI;gBAC1B,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,IAAI;gBACxB,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,IAAI;gBACtC,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,EAAE;gBAC9B,SAAS,EAAE,SAAS;gBACpB,SAAS,EAAE,SAAS;aACrB,CAAC;iBACD,SAAS,EAAE,CAAC;YACf,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,IAAI,CAAC,EAAE;aAC5B,MAAM,CAAC,QAAQ,CAAC;aAChB,GAAG,CAAC;YACH,KAAK,EAAE,KAAK,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"subject-repository.js","sourceRoot":"","sources":["../../src/drizzle/subject-repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"summary-repository.d.ts","sourceRoot":"","sources":["../../src/drizzle/summary-repository.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AASlE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAazD,qBAAa,wBAAyB,YAAW,iBAAiB;IACpD,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,sBAAsB;IAEjD,UAAU,IAAI,OAAO,CAAC,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"summary-repository.d.ts","sourceRoot":"","sources":["../../src/drizzle/summary-repository.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AASlE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAazD,qBAAa,wBAAyB,YAAW,iBAAiB;IACpD,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,sBAAsB;IAEjD,UAAU,IAAI,OAAO,CAAC,gBAAgB,CAAC;CAiC9C"}
|
|
@@ -11,14 +11,23 @@ export class DrizzleSummaryRepository {
|
|
|
11
11
|
this.db = db;
|
|
12
12
|
}
|
|
13
13
|
async getSummary() {
|
|
14
|
+
const [subjectsCount, plansCount, subscriptionsCount, activeSubscriptionsCount, pluginsInstalledCount, catalogMappingsCount, processedEventsCount,] = await Promise.all([
|
|
15
|
+
countRows(this.db, subjects),
|
|
16
|
+
countRows(this.db, plans),
|
|
17
|
+
countRows(this.db, subscriptions),
|
|
18
|
+
countRows(this.db, subscriptions, inArray(subscriptions.status, ["trialing", "active", "grace_period"])),
|
|
19
|
+
countRows(this.db, pluginInstallations, sql `${pluginInstallations.enabled} = 1`),
|
|
20
|
+
countRows(this.db, catalogMappings),
|
|
21
|
+
countRows(this.db, inboundEvents, sql `${inboundEvents.status} = 'processed'`),
|
|
22
|
+
]);
|
|
14
23
|
return {
|
|
15
|
-
subjects:
|
|
16
|
-
plans:
|
|
17
|
-
subscriptions:
|
|
18
|
-
activeSubscriptions:
|
|
19
|
-
pluginsInstalled:
|
|
20
|
-
catalogMappings:
|
|
21
|
-
processedEvents:
|
|
24
|
+
subjects: subjectsCount,
|
|
25
|
+
plans: plansCount,
|
|
26
|
+
subscriptions: subscriptionsCount,
|
|
27
|
+
activeSubscriptions: activeSubscriptionsCount,
|
|
28
|
+
pluginsInstalled: pluginsInstalledCount,
|
|
29
|
+
catalogMappings: catalogMappingsCount,
|
|
30
|
+
processedEvents: processedEventsCount,
|
|
22
31
|
};
|
|
23
32
|
}
|
|
24
33
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"summary-repository.js","sourceRoot":"","sources":["../../src/drizzle/summary-repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,GAAG,EAAY,MAAM,aAAa,CAAC;AAMrD,OAAO,EACL,eAAe,EACf,aAAa,EACb,KAAK,EACL,mBAAmB,EACnB,QAAQ,EACR,aAAa,GACd,MAAM,aAAa,CAAC;AAGrB,KAAK,UAAU,SAAS,CACtB,EAA0B,EAC1B,KAAiB,EACjB,WAAiB;IAEjB,MAAM,KAAK,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,CAAQ,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEtE,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC;IACxE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,OAAO,wBAAwB;IACN;IAA7B,YAA6B,EAA0B;QAA1B,OAAE,GAAF,EAAE,CAAwB;IAAG,CAAC;IAE3D,KAAK,CAAC,UAAU;QACd,
|
|
1
|
+
{"version":3,"file":"summary-repository.js","sourceRoot":"","sources":["../../src/drizzle/summary-repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,GAAG,EAAY,MAAM,aAAa,CAAC;AAMrD,OAAO,EACL,eAAe,EACf,aAAa,EACb,KAAK,EACL,mBAAmB,EACnB,QAAQ,EACR,aAAa,GACd,MAAM,aAAa,CAAC;AAGrB,KAAK,UAAU,SAAS,CACtB,EAA0B,EAC1B,KAAiB,EACjB,WAAiB;IAEjB,MAAM,KAAK,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,CAAQ,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEtE,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC;IACxE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,OAAO,wBAAwB;IACN;IAA7B,YAA6B,EAA0B;QAA1B,OAAE,GAAF,EAAE,CAAwB;IAAG,CAAC;IAE3D,KAAK,CAAC,UAAU;QACd,MAAM,CACJ,aAAa,EACb,UAAU,EACV,kBAAkB,EAClB,wBAAwB,EACxB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACrB,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACpB,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC;YAC5B,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC;YACzB,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,aAAa,CAAC;YACjC,SAAS,CACP,IAAI,CAAC,EAAE,EACP,aAAa,EACb,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC,CACtE;YACD,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,mBAAmB,EAAE,GAAG,CAAA,GAAG,mBAAmB,CAAC,OAAO,MAAM,CAAC;YAChF,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,eAAe,CAAC;YACnC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,aAAa,EAAE,GAAG,CAAA,GAAG,aAAa,CAAC,MAAM,gBAAgB,CAAC;SAC9E,CAAC,CAAC;QAEH,OAAO;YACL,QAAQ,EAAE,aAAa;YACvB,KAAK,EAAE,UAAU;YACjB,aAAa,EAAE,kBAAkB;YACjC,mBAAmB,EAAE,wBAAwB;YAC7C,gBAAgB,EAAE,qBAAqB;YACvC,eAAe,EAAE,oBAAoB;YACrC,eAAe,EAAE,oBAAoB;SACtC,CAAC;IACJ,CAAC;CACF"}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,10 +2,11 @@ export * from "@shdan/submesh-core";
|
|
|
2
2
|
export { Submesh } from "./submesh.js";
|
|
3
3
|
export { ConflictError, NotFoundError, SubmeshError, ValidationError } from "./errors.js";
|
|
4
4
|
export { createSubmeshDrizzleDb, DrizzleSubmeshRepositories, ensureDrizzleSchema, migrateSubmeshDrizzle, submeshDrizzleSchema, type DrizzleConnectionOptions, type DrizzleRepositoriesOptions, type ExternalDrizzleOptions, type SubmeshDrizzleDatabase, } from "./drizzle/index.js";
|
|
5
|
-
export type { AppleAppStorePluginConfig, ApplePlanSyncConfig, BuiltinPluginConfigMap, CreateManagedSubscriptionInput, CreatePlanInput, GoogleOauthServiceAccountConfig, GooglePlayPlanSyncConfig, GooglePlayPluginConfig, GoogleServiceAccountInput, IngestWebhookOptions, IngestWebhookResult, InstallPluginInput, LinkIdentityInput, LinkProviderIdentityInput, ManualPluginConfig, PluginListItem, SyncAppleAppStoreSubscriptionInput, SyncGooglePlaySubscriptionInput, SubmeshOptions, SyncedProviderSubscription, UpdatePlanInput, UpdateSubscriptionInput, CancelSubscriptionOptions, UpsertCatalogMappingInput, UpsertSubjectInput, VerifiedProviderSubscription, VerifyAppleAppStoreSubscriptionInput, VerifyGooglePlaySubscriptionInput, WebhookSecurityConfig, } from "./contracts.js";
|
|
5
|
+
export type { AppleAppStorePluginConfig, ApplePlanSyncConfig, BuiltinPluginConfigMap, CreateManagedSubscriptionInput, CreatePlanInput, GoogleOauthServiceAccountConfig, GooglePlayPlanSyncConfig, GooglePlayPluginConfig, GoogleServiceAccountInput, IngestWebhookOptions, IngestWebhookResult, InstallPluginInput, LinkIdentityInput, LinkProviderIdentityInput, ManualPluginConfig, PluginListItem, SyncAppleAppStoreSubscriptionInput, SyncGooglePlaySubscriptionInput, SyncStripeSubscriptionInput, SubmeshOptions, SyncedProviderSubscription, StripePlanSyncConfig, StripePluginConfig, UpdatePlanInput, UpdateSubscriptionInput, CancelSubscriptionOptions, UpsertCatalogMappingInput, UpsertSubjectInput, VerifiedProviderSubscription, VerifyAppleAppStoreSubscriptionInput, VerifyGooglePlaySubscriptionInput, VerifyStripeSubscriptionInput, WebhookSecurityConfig, } from "./contracts.js";
|
|
6
6
|
export type { CatalogMappingRepository, InboundEventRepository, PlanRepository, PluginInstallationRepository, RepositorySet, SubjectRepository, SubmeshRepositories, SubscriptionRepository, UpsertPluginInstallationInput, UpsertSubscriptionInput, } from "./repositories/index.js";
|
|
7
7
|
export { manualPlugin } from "./plugins/manual.js";
|
|
8
8
|
export { googlePlayPlugin } from "./providers/google/plugin/play.js";
|
|
9
9
|
export { appleAppStorePlugin } from "./providers/apple/plugin/app-store.js";
|
|
10
|
+
export { stripePlugin } from "./providers/stripe/plugin/stripe.js";
|
|
10
11
|
export { createRelaySignature, verifyRelaySignature, } from "./security/relay-signature.js";
|
|
11
12
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC1F,OAAO,EACL,sBAAsB,EACtB,0BAA0B,EAC1B,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,KAAK,wBAAwB,EAC7B,KAAK,0BAA0B,EAC/B,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,GAC5B,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,yBAAyB,EACzB,mBAAmB,EACnB,sBAAsB,EACtB,8BAA8B,EAC9B,eAAe,EACf,+BAA+B,EAC/B,wBAAwB,EACxB,sBAAsB,EACtB,yBAAyB,EACzB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,yBAAyB,EACzB,kBAAkB,EAClB,cAAc,EACd,kCAAkC,EAClC,+BAA+B,EAC/B,cAAc,EACd,0BAA0B,EAC1B,eAAe,EACf,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,EACzB,kBAAkB,EAClB,4BAA4B,EAC5B,oCAAoC,EACpC,iCAAiC,EACjC,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,wBAAwB,EACxB,sBAAsB,EACtB,cAAc,EACd,4BAA4B,EAC5B,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,6BAA6B,EAC7B,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EACL,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,+BAA+B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC1F,OAAO,EACL,sBAAsB,EACtB,0BAA0B,EAC1B,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,KAAK,wBAAwB,EAC7B,KAAK,0BAA0B,EAC/B,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,GAC5B,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,yBAAyB,EACzB,mBAAmB,EACnB,sBAAsB,EACtB,8BAA8B,EAC9B,eAAe,EACf,+BAA+B,EAC/B,wBAAwB,EACxB,sBAAsB,EACtB,yBAAyB,EACzB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,yBAAyB,EACzB,kBAAkB,EAClB,cAAc,EACd,kCAAkC,EAClC,+BAA+B,EAC/B,2BAA2B,EAC3B,cAAc,EACd,0BAA0B,EAC1B,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,EACzB,kBAAkB,EAClB,4BAA4B,EAC5B,oCAAoC,EACpC,iCAAiC,EACjC,6BAA6B,EAC7B,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,wBAAwB,EACxB,sBAAsB,EACtB,cAAc,EACd,4BAA4B,EAC5B,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,6BAA6B,EAC7B,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,EACL,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,+BAA+B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -5,5 +5,6 @@ export { createSubmeshDrizzleDb, DrizzleSubmeshRepositories, ensureDrizzleSchema
|
|
|
5
5
|
export { manualPlugin } from "./plugins/manual.js";
|
|
6
6
|
export { googlePlayPlugin } from "./providers/google/plugin/play.js";
|
|
7
7
|
export { appleAppStorePlugin } from "./providers/apple/plugin/app-store.js";
|
|
8
|
+
export { stripePlugin } from "./providers/stripe/plugin/stripe.js";
|
|
8
9
|
export { createRelaySignature, verifyRelaySignature, } from "./security/relay-signature.js";
|
|
9
10
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC1F,OAAO,EACL,sBAAsB,EACtB,0BAA0B,EAC1B,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,GAKrB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC1F,OAAO,EACL,sBAAsB,EACtB,0BAA0B,EAC1B,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,GAKrB,MAAM,oBAAoB,CAAC;AAgD5B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,EACL,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,+BAA+B,CAAC"}
|
package/dist/logger.d.ts
CHANGED
|
@@ -13,4 +13,31 @@ export interface SubmeshLogger {
|
|
|
13
13
|
}
|
|
14
14
|
/** A logger that discards all messages. Used as the default. */
|
|
15
15
|
export declare const noopLogger: SubmeshLogger;
|
|
16
|
+
declare const LOG_LEVELS: {
|
|
17
|
+
readonly debug: 10;
|
|
18
|
+
readonly info: 20;
|
|
19
|
+
readonly warn: 30;
|
|
20
|
+
readonly error: 40;
|
|
21
|
+
};
|
|
22
|
+
export type LogLevel = keyof typeof LOG_LEVELS;
|
|
23
|
+
export interface ConsoleLoggerOptions {
|
|
24
|
+
/** The minimum log level to emit. Defaults to "info". */
|
|
25
|
+
level?: LogLevel;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Standard console-based logger for Submesh.
|
|
29
|
+
*
|
|
30
|
+
* Provides a simple starting point for developers who want to see SDK
|
|
31
|
+
* output in the terminal without integrating a full logging library.
|
|
32
|
+
*/
|
|
33
|
+
export declare class ConsoleLogger implements SubmeshLogger {
|
|
34
|
+
private levelValue;
|
|
35
|
+
constructor(options?: ConsoleLoggerOptions);
|
|
36
|
+
private shouldLog;
|
|
37
|
+
debug(message: string, context?: Record<string, unknown>): void;
|
|
38
|
+
info(message: string, context?: Record<string, unknown>): void;
|
|
39
|
+
warn(message: string, context?: Record<string, unknown>): void;
|
|
40
|
+
error(message: string, context?: Record<string, unknown>): void;
|
|
41
|
+
}
|
|
42
|
+
export {};
|
|
16
43
|
//# sourceMappingURL=logger.d.ts.map
|
package/dist/logger.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAChE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC/D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC/D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CACjE;AAED,gEAAgE;AAChE,eAAO,MAAM,UAAU,EAAE,aAKxB,CAAC"}
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAChE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC/D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC/D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CACjE;AAED,gEAAgE;AAChE,eAAO,MAAM,UAAU,EAAE,aAKxB,CAAC;AAEF,QAAA,MAAM,UAAU;;;;;CAKN,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,MAAM,OAAO,UAAU,CAAC;AAE/C,MAAM,WAAW,oBAAoB;IACnC,yDAAyD;IACzD,KAAK,CAAC,EAAE,QAAQ,CAAC;CAClB;AAED;;;;;GAKG;AACH,qBAAa,aAAc,YAAW,aAAa;IACjD,OAAO,CAAC,UAAU,CAAS;gBAEf,OAAO,GAAE,oBAAyB;IAI9C,OAAO,CAAC,SAAS;IAIjB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAS/D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAS9D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAS9D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;CAQhE"}
|
package/dist/logger.js
CHANGED
|
@@ -5,4 +5,65 @@ export const noopLogger = {
|
|
|
5
5
|
warn() { },
|
|
6
6
|
error() { },
|
|
7
7
|
};
|
|
8
|
+
const LOG_LEVELS = {
|
|
9
|
+
debug: 10,
|
|
10
|
+
info: 20,
|
|
11
|
+
warn: 30,
|
|
12
|
+
error: 40,
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Standard console-based logger for Submesh.
|
|
16
|
+
*
|
|
17
|
+
* Provides a simple starting point for developers who want to see SDK
|
|
18
|
+
* output in the terminal without integrating a full logging library.
|
|
19
|
+
*/
|
|
20
|
+
export class ConsoleLogger {
|
|
21
|
+
levelValue;
|
|
22
|
+
constructor(options = {}) {
|
|
23
|
+
this.levelValue = LOG_LEVELS[options.level ?? "info"];
|
|
24
|
+
}
|
|
25
|
+
shouldLog(level) {
|
|
26
|
+
return LOG_LEVELS[level] >= this.levelValue;
|
|
27
|
+
}
|
|
28
|
+
debug(message, context) {
|
|
29
|
+
if (!this.shouldLog("debug"))
|
|
30
|
+
return;
|
|
31
|
+
if (context && Object.keys(context).length > 0) {
|
|
32
|
+
console.debug(`[submesh:debug] ${message}`, context);
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
console.debug(`[submesh:debug] ${message}`);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
info(message, context) {
|
|
39
|
+
if (!this.shouldLog("info"))
|
|
40
|
+
return;
|
|
41
|
+
if (context && Object.keys(context).length > 0) {
|
|
42
|
+
console.info(`[submesh:info] ${message}`, context);
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
console.info(`[submesh:info] ${message}`);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
warn(message, context) {
|
|
49
|
+
if (!this.shouldLog("warn"))
|
|
50
|
+
return;
|
|
51
|
+
if (context && Object.keys(context).length > 0) {
|
|
52
|
+
console.warn(`[submesh:warn] ${message}`, context);
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
console.warn(`[submesh:warn] ${message}`);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
error(message, context) {
|
|
59
|
+
if (!this.shouldLog("error"))
|
|
60
|
+
return;
|
|
61
|
+
if (context && Object.keys(context).length > 0) {
|
|
62
|
+
console.error(`[submesh:error] ${message}`, context);
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
console.error(`[submesh:error] ${message}`);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
8
69
|
//# sourceMappingURL=logger.js.map
|
package/dist/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAcA,gEAAgE;AAChE,MAAM,CAAC,MAAM,UAAU,GAAkB;IACvC,KAAK,KAAI,CAAC;IACV,IAAI,KAAI,CAAC;IACT,IAAI,KAAI,CAAC;IACT,KAAK,KAAI,CAAC;CACX,CAAC"}
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAcA,gEAAgE;AAChE,MAAM,CAAC,MAAM,UAAU,GAAkB;IACvC,KAAK,KAAI,CAAC;IACV,IAAI,KAAI,CAAC;IACT,IAAI,KAAI,CAAC;IACT,KAAK,KAAI,CAAC;CACX,CAAC;AAEF,MAAM,UAAU,GAAG;IACjB,KAAK,EAAE,EAAE;IACT,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,KAAK,EAAE,EAAE;CACD,CAAC;AASX;;;;;GAKG;AACH,MAAM,OAAO,aAAa;IAChB,UAAU,CAAS;IAE3B,YAAY,UAAgC,EAAE;QAC5C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC;IACxD,CAAC;IAEO,SAAS,CAAC,KAAe;QAC/B,OAAO,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,OAAiC;QACtD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YAAE,OAAO;QACrC,IAAI,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/C,OAAO,CAAC,KAAK,CAAC,mBAAmB,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,mBAAmB,OAAO,EAAE,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,OAAiC;QACrD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;YAAE,OAAO;QACpC,IAAI,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/C,OAAO,CAAC,IAAI,CAAC,kBAAkB,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,kBAAkB,OAAO,EAAE,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,OAAiC;QACrD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;YAAE,OAAO;QACpC,IAAI,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/C,OAAO,CAAC,IAAI,CAAC,kBAAkB,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,kBAAkB,OAAO,EAAE,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,OAAiC;QACtD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YAAE,OAAO;QACrC,IAAI,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/C,OAAO,CAAC,KAAK,CAAC,mBAAmB,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,mBAAmB,OAAO,EAAE,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtin-plugins.d.ts","sourceRoot":"","sources":["../../src/plugins/builtin-plugins.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"builtin-plugins.d.ts","sourceRoot":"","sources":["../../src/plugins/builtin-plugins.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAO9D,wBAAgB,iBAAiB,IAAI,kBAAkB,EAAE,CAExD"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { appleAppStorePlugin } from "../providers/apple/plugin/app-store.js";
|
|
2
2
|
import { googlePlayPlugin } from "../providers/google/plugin/play.js";
|
|
3
|
+
import { stripePlugin } from "../providers/stripe/plugin/stripe.js";
|
|
3
4
|
import { manualPlugin } from "./manual.js";
|
|
4
5
|
export function getBuiltinPlugins() {
|
|
5
|
-
return [manualPlugin, googlePlayPlugin, appleAppStorePlugin];
|
|
6
|
+
return [manualPlugin, googlePlayPlugin, appleAppStorePlugin, stripePlugin];
|
|
6
7
|
}
|
|
7
8
|
//# sourceMappingURL=builtin-plugins.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtin-plugins.js","sourceRoot":"","sources":["../../src/plugins/builtin-plugins.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,UAAU,iBAAiB;IAC/B,OAAO,CAAC,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"builtin-plugins.js","sourceRoot":"","sources":["../../src/plugins/builtin-plugins.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,UAAU,iBAAiB;IAC/B,OAAO,CAAC,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,YAAY,CAAC,CAAC;AAC7E,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { PlanProvisioningInput, PluginPlanProvisionResult } from "@shdan/submesh-core";
|
|
2
|
+
export declare function provisionStripePlan(plan: PlanProvisioningInput, config: Record<string, unknown>): Promise<PluginPlanProvisionResult>;
|
|
3
|
+
export declare function deprovisionStripePlan(plan: PlanProvisioningInput, config: Record<string, unknown>, result: PluginPlanProvisionResult): Promise<void>;
|
|
4
|
+
//# sourceMappingURL=stripe-plan-sync.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stripe-plan-sync.d.ts","sourceRoot":"","sources":["../../../../src/providers/stripe/plugin/stripe-plan-sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,yBAAyB,EAC1B,MAAM,qBAAqB,CAAC;AA6C7B,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,qBAAqB,EAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,yBAAyB,CAAC,CA8CpC;AAED,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,qBAAqB,EAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAAC,IAAI,CAAC,CAYf"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { getPluginPlanMetadata, relayDeprovisionPlan, relayProvisionPlan, shouldProvisionPlan, } from "../../../plugins/plan-provisioning.js";
|
|
2
|
+
function asObject(value) {
|
|
3
|
+
return value && typeof value === "object" && !Array.isArray(value)
|
|
4
|
+
? value
|
|
5
|
+
: {};
|
|
6
|
+
}
|
|
7
|
+
function getString(value) {
|
|
8
|
+
return typeof value === "string" && value.length > 0 ? value : undefined;
|
|
9
|
+
}
|
|
10
|
+
function withRelayStrategy(result) {
|
|
11
|
+
return {
|
|
12
|
+
mappings: result.mappings.map((mapping) => {
|
|
13
|
+
const metadata = asObject(mapping.metadata);
|
|
14
|
+
return {
|
|
15
|
+
...mapping,
|
|
16
|
+
metadata: {
|
|
17
|
+
...metadata,
|
|
18
|
+
strategy: getString(metadata.strategy) ?? "relay-http",
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
}),
|
|
22
|
+
metadata: {
|
|
23
|
+
...asObject(result.metadata),
|
|
24
|
+
strategy: getString(asObject(result.metadata).strategy) ?? "relay-http",
|
|
25
|
+
},
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
function shouldRelayDeprovision(result) {
|
|
29
|
+
return result.mappings.some((mapping) => {
|
|
30
|
+
const strategy = getString(asObject(mapping.metadata).strategy);
|
|
31
|
+
return strategy === "relay-http";
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
export async function provisionStripePlan(plan, config) {
|
|
35
|
+
const providerMetadata = getPluginPlanMetadata(plan.metadata, "stripe", [
|
|
36
|
+
"stripeBilling",
|
|
37
|
+
]);
|
|
38
|
+
if (!shouldProvisionPlan(config, providerMetadata)) {
|
|
39
|
+
return { mappings: [] };
|
|
40
|
+
}
|
|
41
|
+
const endpointUrl = getString(providerMetadata.endpointUrl) ??
|
|
42
|
+
getString(config.planSync?.endpointUrl);
|
|
43
|
+
if (endpointUrl) {
|
|
44
|
+
return withRelayStrategy(await relayProvisionPlan({
|
|
45
|
+
pluginKey: "stripe",
|
|
46
|
+
plan,
|
|
47
|
+
installationConfig: config,
|
|
48
|
+
providerMetadata,
|
|
49
|
+
}));
|
|
50
|
+
}
|
|
51
|
+
const externalProductId = getString(providerMetadata.externalProductId) ??
|
|
52
|
+
getString(providerMetadata.priceId) ??
|
|
53
|
+
getString(providerMetadata.productId);
|
|
54
|
+
if (externalProductId) {
|
|
55
|
+
return {
|
|
56
|
+
mappings: [
|
|
57
|
+
{
|
|
58
|
+
externalProductId,
|
|
59
|
+
metadata: {
|
|
60
|
+
strategy: "mapping-only",
|
|
61
|
+
},
|
|
62
|
+
},
|
|
63
|
+
],
|
|
64
|
+
metadata: {
|
|
65
|
+
strategy: "mapping-only",
|
|
66
|
+
},
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
throw new Error("Stripe plan provisioning requires either metadata.providers['stripe'].externalProductId (or priceId/productId) or planSync.endpointUrl.");
|
|
70
|
+
}
|
|
71
|
+
export async function deprovisionStripePlan(plan, config, result) {
|
|
72
|
+
if (!shouldRelayDeprovision(result)) {
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
await relayDeprovisionPlan({
|
|
76
|
+
pluginKey: "stripe",
|
|
77
|
+
plan,
|
|
78
|
+
installationConfig: config,
|
|
79
|
+
providerMetadata: getPluginPlanMetadata(plan.metadata, "stripe", ["stripeBilling"]),
|
|
80
|
+
result,
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=stripe-plan-sync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stripe-plan-sync.js","sourceRoot":"","sources":["../../../../src/providers/stripe/plugin/stripe-plan-sync.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { ParsedWebhookEvent } from "@shdan/submesh-core";
|
|
2
|
+
import type { StripePluginConfig } from "../../../contracts.js";
|
|
3
|
+
export declare const stripePlugin: {
|
|
4
|
+
key: string;
|
|
5
|
+
displayName: string;
|
|
6
|
+
description: string;
|
|
7
|
+
capabilities: string[];
|
|
8
|
+
provisionPlan(input: import("@shdan/submesh-core").PlanProvisioningInput, context: {
|
|
9
|
+
config: StripePluginConfig;
|
|
10
|
+
}): Promise<import("@shdan/submesh-core").PluginPlanProvisionResult>;
|
|
11
|
+
deprovisionPlan(input: import("@shdan/submesh-core").PlanProvisioningInput, context: {
|
|
12
|
+
config: StripePluginConfig;
|
|
13
|
+
result: import("@shdan/submesh-core").PluginPlanProvisionResult;
|
|
14
|
+
}): Promise<void>;
|
|
15
|
+
verifyWebhook(envelope: import("@shdan/submesh-core").PluginWebhookEnvelope, context: {
|
|
16
|
+
config: StripePluginConfig;
|
|
17
|
+
}): Promise<import("@shdan/submesh-core").PluginWebhookVerification>;
|
|
18
|
+
parseWebhook(envelope: import("@shdan/submesh-core").PluginWebhookEnvelope): Promise<ParsedWebhookEvent>;
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=stripe.d.ts.map
|