@raideno/convex-stripe 0.1.1 → 0.1.2
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/index.d.ts +0 -2
- package/dist/index.js +1 -0
- package/dist/server/actions/index.d.ts +4 -0
- package/dist/server/actions/pay.d.ts +579 -0
- package/dist/server/actions/portal.d.ts +26 -0
- package/dist/server/actions/setup.d.ts +19 -0
- package/dist/server/actions/subscribe.d.ts +44 -0
- package/dist/server/helpers.d.ts +28 -0
- package/dist/server/index.d.ts +589 -0
- package/dist/server/logger.d.ts +8 -0
- package/dist/server/redirects/index.d.ts +47 -0
- package/dist/server/redirects/pay.d.ts +5 -0
- package/dist/server/redirects/portal.d.ts +3 -0
- package/dist/server/redirects/subscribe.d.ts +3 -0
- package/dist/server/redirects/types.d.ts +9 -0
- package/dist/server/schema/checkout-session.d.ts +256 -0
- package/dist/server/schema/coupon.d.ts +112 -0
- package/dist/server/schema/customer.d.ts +366 -0
- package/dist/server/schema/index.d.ts +3511 -0
- package/dist/server/schema/invoice.d.ts +314 -0
- package/dist/server/schema/payment-intent.d.ts +311 -0
- package/dist/server/schema/payout.d.ts +140 -0
- package/dist/server/schema/price.d.ts +148 -0
- package/dist/server/schema/product.d.ts +132 -0
- package/dist/server/schema/promotion-code.d.ts +266 -0
- package/dist/server/schema/refund.d.ts +92 -0
- package/dist/server/schema/review.d.ts +152 -0
- package/dist/server/schema/subscription.d.ts +4 -0
- package/dist/server/store/index.d.ts +582 -0
- package/dist/server/store/operations/delete-by-id.d.ts +3 -0
- package/dist/server/store/operations/index.d.ts +5 -0
- package/dist/server/store/operations/select-all.d.ts +3 -0
- package/dist/server/store/operations/select-by-id.d.ts +4 -0
- package/dist/server/store/operations/select-one.d.ts +3 -0
- package/dist/server/store/operations/upsert.d.ts +4 -0
- package/dist/server/store/types.d.ts +70 -0
- package/dist/server/sync/all.d.ts +5 -0
- package/dist/server/sync/checkouts-session.handler.d.ts +5 -0
- package/dist/server/sync/coupons.handler.d.ts +5 -0
- package/dist/server/sync/customers.handler.d.ts +5 -0
- package/dist/server/sync/invoices.handler.d.ts +5 -0
- package/dist/server/sync/payment-intent.handler.d.ts +5 -0
- package/dist/server/sync/payouts.handler.d.ts +5 -0
- package/dist/server/sync/prices.handler.d.ts +5 -0
- package/dist/server/sync/products.handler.d.ts +5 -0
- package/dist/server/sync/promotion-codes.handler.d.ts +5 -0
- package/dist/server/sync/refunds.handler.d.ts +5 -0
- package/dist/server/sync/reviews.handler.d.ts +5 -0
- package/dist/server/sync/subscription.d.ts +12 -0
- package/dist/server/sync/subscriptions.handler.d.ts +5 -0
- package/dist/server/types.d.ts +29 -0
- package/dist/server/webhooks/checkouts-session.handler.d.ts +2 -0
- package/dist/server/webhooks/coupons.handler.d.ts +2 -0
- package/dist/server/webhooks/customers.handler.d.ts +2 -0
- package/dist/server/webhooks/index.d.ts +2 -0
- package/dist/server/webhooks/invoices.handler.d.ts +2 -0
- package/dist/server/webhooks/payment-intents.handler.d.ts +2 -0
- package/dist/server/webhooks/payouts.handler.d.ts +2 -0
- package/dist/server/webhooks/prices.handler.d.ts +2 -0
- package/dist/server/webhooks/products.handler.d.ts +2 -0
- package/dist/server/webhooks/promotion-codes.handler.d.ts +2 -0
- package/dist/server/webhooks/refunds.handler.d.ts +2 -0
- package/dist/server/webhooks/reviews.handler.d.ts +2 -0
- package/dist/server/webhooks/subscription.handler.d.ts +2 -0
- package/dist/server/webhooks/types.d.ts +11 -0
- package/dist/server.d.ts +2 -3790
- package/dist/server.js +3811 -1236
- package/package.json +9 -8
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { WithoutSystemFields } from 'convex/server';
|
|
2
|
+
import { GenericId } from 'convex/values';
|
|
3
|
+
type DocOf<M, T extends keyof M> = M[T] extends {
|
|
4
|
+
document: infer D;
|
|
5
|
+
} ? D : never;
|
|
6
|
+
type Keys<D> = Extract<keyof D, string>;
|
|
7
|
+
type Operation = "upsert" | "deleteById" | "selectOne" | "selectById" | "selectAll";
|
|
8
|
+
type UpsertArgsFor<M, T extends keyof M> = {
|
|
9
|
+
[K in Keys<DocOf<M, T>>]: {
|
|
10
|
+
operation: "upsert";
|
|
11
|
+
table: T;
|
|
12
|
+
idField: K;
|
|
13
|
+
data: WithoutSystemFields<DocOf<M, T>> & Record<K, DocOf<M, T>[K]>;
|
|
14
|
+
};
|
|
15
|
+
}[Keys<DocOf<M, T>>];
|
|
16
|
+
type DeleteByIdArgsFor<M, T extends keyof M> = {
|
|
17
|
+
[K in Keys<DocOf<M, T>>]: {
|
|
18
|
+
operation: "deleteById";
|
|
19
|
+
table: T;
|
|
20
|
+
idField: K;
|
|
21
|
+
idValue: DocOf<M, T>[K];
|
|
22
|
+
};
|
|
23
|
+
}[Keys<DocOf<M, T>>];
|
|
24
|
+
type SelectOneArgsFor<M, T extends keyof M> = {
|
|
25
|
+
[K in Keys<DocOf<M, T>>]: {
|
|
26
|
+
operation: "selectOne";
|
|
27
|
+
table: T;
|
|
28
|
+
field: K;
|
|
29
|
+
value: DocOf<M, T>[K];
|
|
30
|
+
};
|
|
31
|
+
}[Keys<DocOf<M, T>>];
|
|
32
|
+
type SelectByIdArgsFor<M, T extends keyof M & string> = {
|
|
33
|
+
operation: "selectById";
|
|
34
|
+
table: T;
|
|
35
|
+
id: GenericId<T>;
|
|
36
|
+
};
|
|
37
|
+
type SelectAllArgsFor<M, T extends keyof M> = {
|
|
38
|
+
operation: "selectAll";
|
|
39
|
+
table: T;
|
|
40
|
+
};
|
|
41
|
+
export type StoreArgsFor<M, T extends keyof M & string, O extends Operation = Operation> = O extends "upsert" ? UpsertArgsFor<M, T> : O extends "deleteById" ? DeleteByIdArgsFor<M, T> : O extends "selectOne" ? SelectOneArgsFor<M, T> : O extends "selectById" ? SelectByIdArgsFor<M, T> : O extends "selectAll" ? SelectAllArgsFor<M, T> : never;
|
|
42
|
+
export type StoreDispatchArgs<M> = {
|
|
43
|
+
[T in Extract<keyof M, string>]: UpsertArgsFor<M, T> | DeleteByIdArgsFor<M, T> | SelectOneArgsFor<M, T> | SelectByIdArgsFor<M, T> | SelectAllArgsFor<M, T>;
|
|
44
|
+
}[Extract<keyof M, string>];
|
|
45
|
+
export type StoreResultFor<M, A extends StoreDispatchArgs<M>> = A extends {
|
|
46
|
+
operation: "upsert";
|
|
47
|
+
table: infer T extends keyof M & string;
|
|
48
|
+
} ? {
|
|
49
|
+
id: GenericId<T>;
|
|
50
|
+
} : A extends {
|
|
51
|
+
operation: "deleteById";
|
|
52
|
+
} ? {
|
|
53
|
+
deleted: boolean;
|
|
54
|
+
} : A extends {
|
|
55
|
+
operation: "selectOne";
|
|
56
|
+
table: infer T extends keyof M;
|
|
57
|
+
} ? {
|
|
58
|
+
doc: DocOf<M, T> | null;
|
|
59
|
+
} : A extends {
|
|
60
|
+
operation: "selectById";
|
|
61
|
+
table: infer T extends keyof M;
|
|
62
|
+
} ? {
|
|
63
|
+
doc: DocOf<M, T> | null;
|
|
64
|
+
} : A extends {
|
|
65
|
+
operation: "selectAll";
|
|
66
|
+
table: infer T extends keyof M;
|
|
67
|
+
} ? {
|
|
68
|
+
docs: DocOf<M, T>[];
|
|
69
|
+
} : never;
|
|
70
|
+
export {};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const SyncAllImplementation: {
|
|
2
|
+
args: import('convex/values').VObject<{}, {}, "required", never>;
|
|
3
|
+
name: string;
|
|
4
|
+
handler: (context: import('convex/server').GenericActionCtx<import('../schema').StripeDataModel>, args: {}, configuration: import('../types').InternalConfiguration) => Promise<void>;
|
|
5
|
+
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const CheckoutSessionsSyncImplementation: {
|
|
2
|
+
args: import('convex/values').VObject<{}, {}, "required", never>;
|
|
3
|
+
name: string;
|
|
4
|
+
handler: (context: import('convex/server').GenericActionCtx<import('../schema').StripeDataModel>, args: {}, configuration: import('../types').InternalConfiguration) => Promise<void>;
|
|
5
|
+
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const CouponsSyncImplementation: {
|
|
2
|
+
args: import('convex/values').VObject<{}, {}, "required", never>;
|
|
3
|
+
name: string;
|
|
4
|
+
handler: (context: import('convex/server').GenericActionCtx<import('../schema').StripeDataModel>, args: {}, configuration: import('../types').InternalConfiguration) => Promise<void>;
|
|
5
|
+
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const CustomersSyncImplementation: {
|
|
2
|
+
args: import('convex/values').VObject<{}, {}, "required", never>;
|
|
3
|
+
name: string;
|
|
4
|
+
handler: (context: import('convex/server').GenericActionCtx<import('../schema').StripeDataModel>, args: {}, configuration: import('../types').InternalConfiguration) => Promise<void>;
|
|
5
|
+
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const InvoicesSyncImplementation: {
|
|
2
|
+
args: import('convex/values').VObject<{}, {}, "required", never>;
|
|
3
|
+
name: string;
|
|
4
|
+
handler: (context: import('convex/server').GenericActionCtx<import('../schema').StripeDataModel>, args: {}, configuration: import('../types').InternalConfiguration) => Promise<void>;
|
|
5
|
+
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const PaymentIntentsSyncImplementation: {
|
|
2
|
+
args: import('convex/values').VObject<{}, {}, "required", never>;
|
|
3
|
+
name: string;
|
|
4
|
+
handler: (context: import('convex/server').GenericActionCtx<import('../schema').StripeDataModel>, args: {}, configuration: import('../types').InternalConfiguration) => Promise<void>;
|
|
5
|
+
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const PayoutsSyncImplementation: {
|
|
2
|
+
args: import('convex/values').VObject<{}, {}, "required", never>;
|
|
3
|
+
name: string;
|
|
4
|
+
handler: (context: import('convex/server').GenericActionCtx<import('../schema').StripeDataModel>, args: {}, configuration: import('../types').InternalConfiguration) => Promise<void>;
|
|
5
|
+
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const PricesSyncImplementation: {
|
|
2
|
+
args: import('convex/values').VObject<{}, {}, "required", never>;
|
|
3
|
+
name: string;
|
|
4
|
+
handler: (context: import('convex/server').GenericActionCtx<import('../schema').StripeDataModel>, args: {}, configuration: import('../types').InternalConfiguration) => Promise<void>;
|
|
5
|
+
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const ProductsSyncImplementation: {
|
|
2
|
+
args: import('convex/values').VObject<{}, {}, "required", never>;
|
|
3
|
+
name: string;
|
|
4
|
+
handler: (context: import('convex/server').GenericActionCtx<import('../schema').StripeDataModel>, args: {}, configuration: import('../types').InternalConfiguration) => Promise<void>;
|
|
5
|
+
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const PromotionCodesSyncImplementation: {
|
|
2
|
+
args: import('convex/values').VObject<{}, {}, "required", never>;
|
|
3
|
+
name: string;
|
|
4
|
+
handler: (context: import('convex/server').GenericActionCtx<import('../schema').StripeDataModel>, args: {}, configuration: import('../types').InternalConfiguration) => Promise<void>;
|
|
5
|
+
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const RefundsSyncImplementation: {
|
|
2
|
+
args: import('convex/values').VObject<{}, {}, "required", never>;
|
|
3
|
+
name: string;
|
|
4
|
+
handler: (context: import('convex/server').GenericActionCtx<import('../schema').StripeDataModel>, args: {}, configuration: import('../types').InternalConfiguration) => Promise<void>;
|
|
5
|
+
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const ReviewsSyncImplementation: {
|
|
2
|
+
args: import('convex/values').VObject<{}, {}, "required", never>;
|
|
3
|
+
name: string;
|
|
4
|
+
handler: (context: import('convex/server').GenericActionCtx<import('../schema').StripeDataModel>, args: {}, configuration: import('../types').InternalConfiguration) => Promise<void>;
|
|
5
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { default as Stripe } from 'stripe';
|
|
2
|
+
export declare const SubscriptionSyncImplementation: {
|
|
3
|
+
args: import('convex/values').VObject<{
|
|
4
|
+
customerId: string;
|
|
5
|
+
}, {
|
|
6
|
+
customerId: import('convex/values').VString<string, "required">;
|
|
7
|
+
}, "required", "customerId">;
|
|
8
|
+
name: string;
|
|
9
|
+
handler: (context: import('convex/server').GenericActionCtx<import('../schema').StripeDataModel>, args: {
|
|
10
|
+
customerId: string;
|
|
11
|
+
}, configuration: import('../types').InternalConfiguration) => Promise<Stripe.Subscription | null>;
|
|
12
|
+
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const SubscriptionsSyncImplementation: {
|
|
2
|
+
args: import('convex/values').VObject<{}, {}, "required", never>;
|
|
3
|
+
name: string;
|
|
4
|
+
handler: (context: import('convex/server').GenericActionCtx<import('../schema').StripeDataModel>, args: {}, configuration: import('../types').InternalConfiguration) => Promise<void>;
|
|
5
|
+
};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { DocumentByName, GenericDataModel, TableNamesInDataModel } from 'convex/server';
|
|
2
|
+
import { GenericId, Infer, Validator } from 'convex/values';
|
|
3
|
+
import { Logger } from './logger';
|
|
4
|
+
import { stripeTables } from './schema';
|
|
5
|
+
export interface InternalConfiguration {
|
|
6
|
+
stripe: {
|
|
7
|
+
secret_key: string;
|
|
8
|
+
webhook_secret: string;
|
|
9
|
+
};
|
|
10
|
+
sync: Partial<Record<keyof typeof stripeTables, boolean>>;
|
|
11
|
+
debug: boolean;
|
|
12
|
+
logger: Logger;
|
|
13
|
+
base: string;
|
|
14
|
+
}
|
|
15
|
+
export type WithOptional<T, K extends keyof T = never> = Omit<T, K> & Partial<Pick<T, K>>;
|
|
16
|
+
export type InputConfiguration = WithOptional<InternalConfiguration, "base" | "debug" | "logger" | "sync">;
|
|
17
|
+
export type ArgSchema = Record<string, Validator<any, "optional" | "required", any>>;
|
|
18
|
+
export type InferArgs<S extends ArgSchema> = {
|
|
19
|
+
[K in keyof S as S[K] extends Validator<any, "required", any> ? K : never]: Infer<S[K]>;
|
|
20
|
+
} & {
|
|
21
|
+
[K in keyof S as S[K] extends Validator<any, "optional", any> ? K : never]?: Infer<S[K]>;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Convex document from a given table.
|
|
25
|
+
*/
|
|
26
|
+
export type GenericDoc<DataModel extends GenericDataModel, TableName extends TableNamesInDataModel<DataModel>> = DocumentByName<DataModel, TableName> & {
|
|
27
|
+
_id: GenericId<TableName>;
|
|
28
|
+
_creationTime: number;
|
|
29
|
+
};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
declare const _default: import('./types').WebhookHandler<"invoice.created" | "invoice.deleted" | "invoice.finalization_failed" | "invoice.finalized" | "invoice.marked_uncollectible" | "invoice.overdue" | "invoice.overpaid" | "invoice.paid" | "invoice.payment_action_required" | "invoice.payment_failed" | "invoice.payment_succeeded" | "invoice.sent" | "invoice.upcoming" | "invoice.updated" | "invoice.voided" | "invoice.will_be_due">;
|
|
2
|
+
export default _default;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
declare const _default: import('./types').WebhookHandler<"payment_intent.amount_capturable_updated" | "payment_intent.canceled" | "payment_intent.created" | "payment_intent.partially_funded" | "payment_intent.payment_failed" | "payment_intent.processing" | "payment_intent.requires_action" | "payment_intent.succeeded">;
|
|
2
|
+
export default _default;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
declare const _default: import('./types').WebhookHandler<"checkout.session.completed" | "customer.subscription.created" | "customer.subscription.deleted" | "customer.subscription.paused" | "customer.subscription.pending_update_applied" | "customer.subscription.pending_update_expired" | "customer.subscription.resumed" | "customer.subscription.trial_will_end" | "customer.subscription.updated" | "invoice.marked_uncollectible" | "invoice.paid" | "invoice.payment_action_required" | "invoice.payment_failed" | "invoice.payment_succeeded" | "invoice.upcoming" | "payment_intent.canceled" | "payment_intent.payment_failed" | "payment_intent.succeeded">;
|
|
2
|
+
export default _default;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { GenericActionCtx } from 'convex/server';
|
|
2
|
+
import { default as Stripe } from 'stripe';
|
|
3
|
+
import { StripeDataModel } from '../schema';
|
|
4
|
+
import { InternalConfiguration } from '../types';
|
|
5
|
+
export type WebhookHandler<TEvents extends Stripe.Event.Type> = {
|
|
6
|
+
events: readonly TEvents[];
|
|
7
|
+
handle: (event_: Extract<Stripe.Event, {
|
|
8
|
+
type: TEvents;
|
|
9
|
+
}>, context: GenericActionCtx<StripeDataModel>, configuration: InternalConfiguration) => Promise<void>;
|
|
10
|
+
};
|
|
11
|
+
export declare function defineWebhookHandler<const T extends Stripe.Event.Type>(handler: WebhookHandler<T>): WebhookHandler<T>;
|