@fantastic.dev/better-stripe 0.15.0 → 0.17.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/CHANGELOG.md +16 -0
- package/MIGRATION.md +6 -0
- package/README.md +15 -1
- package/dist/client/connect/payoutSnapshot.d.ts +2 -0
- package/dist/client/connect/payoutSnapshot.d.ts.map +1 -1
- package/dist/client/connect/payoutSnapshot.js +2 -0
- package/dist/client/connect/payoutSnapshot.js.map +1 -1
- package/dist/client/connect/refunds.d.ts +12 -0
- package/dist/client/connect/refunds.d.ts.map +1 -1
- package/dist/client/connect/refunds.js +8 -0
- package/dist/client/connect/refunds.js.map +1 -1
- package/dist/client/index.d.ts +8 -10
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +6 -3
- package/dist/client/index.js.map +1 -1
- package/dist/client/readContracts.d.ts +50 -0
- package/dist/client/readContracts.d.ts.map +1 -0
- package/dist/client/readContracts.js +24 -0
- package/dist/client/readContracts.js.map +1 -0
- package/dist/client/types/documents.d.ts +2 -0
- package/dist/client/types/documents.d.ts.map +1 -1
- package/dist/client/webhooks/processors.js +2 -0
- package/dist/client/webhooks/processors.js.map +1 -1
- package/dist/component/_generated/component.d.ts +213 -0
- package/dist/component/_generated/component.d.ts.map +1 -1
- package/dist/component/connect/mutations.d.ts +2 -0
- package/dist/component/connect/mutations.d.ts.map +1 -1
- package/dist/component/connect/mutations.js +8 -8
- package/dist/component/connect/mutations.js.map +1 -1
- package/dist/component/connect/queries.d.ts +102 -2
- package/dist/component/connect/queries.d.ts.map +1 -1
- package/dist/component/connect/queries.js +88 -45
- package/dist/component/connect/queries.js.map +1 -1
- package/dist/component/connect/schema.d.ts +14 -2
- package/dist/component/connect/schema.d.ts.map +1 -1
- package/dist/component/connect/schema.js +19 -1
- package/dist/component/connect/schema.js.map +1 -1
- package/dist/component/connect/validators.d.ts +13 -2
- package/dist/component/connect/validators.d.ts.map +1 -1
- package/dist/component/connect/validators.js +4 -0
- package/dist/component/connect/validators.js.map +1 -1
- package/dist/component/earnings/legacyReads.d.ts +51 -0
- package/dist/component/earnings/legacyReads.d.ts.map +1 -0
- package/dist/component/earnings/legacyReads.js +43 -0
- package/dist/component/earnings/legacyReads.js.map +1 -0
- package/dist/component/earnings/mutations.d.ts +9 -0
- package/dist/component/earnings/mutations.d.ts.map +1 -0
- package/dist/component/earnings/mutations.js +23 -0
- package/dist/component/earnings/mutations.js.map +1 -0
- package/dist/component/earnings/reads.d.ts +14 -0
- package/dist/component/earnings/reads.d.ts.map +1 -0
- package/dist/component/earnings/reads.js +28 -0
- package/dist/component/earnings/reads.js.map +1 -0
- package/dist/component/earnings/schema.d.ts +20 -0
- package/dist/component/earnings/schema.d.ts.map +1 -0
- package/dist/component/earnings/schema.js +12 -0
- package/dist/component/earnings/schema.js.map +1 -0
- package/dist/component/earnings/triggers.d.ts +1294 -0
- package/dist/component/earnings/triggers.d.ts.map +1 -0
- package/dist/component/earnings/triggers.js +68 -0
- package/dist/component/earnings/triggers.js.map +1 -0
- package/dist/component/products/queries.d.ts +47 -0
- package/dist/component/products/queries.d.ts.map +1 -1
- package/dist/component/products/queries.js +59 -0
- package/dist/component/products/queries.js.map +1 -1
- package/dist/component/refundHistory/queries.d.ts +28 -0
- package/dist/component/refundHistory/queries.d.ts.map +1 -0
- package/dist/component/refundHistory/queries.js +59 -0
- package/dist/component/refundHistory/queries.js.map +1 -0
- package/dist/component/schema.d.ts +33 -2
- package/dist/component/schema.js +2 -0
- package/dist/component/schema.js.map +1 -1
- package/dist/react/components/EarningsSummary.d.ts +3 -1
- package/dist/react/components/EarningsSummary.d.ts.map +1 -1
- package/dist/react/components/EarningsSummary.js +3 -3
- package/dist/react/components/EarningsSummary.js.map +1 -1
- package/dist/react/hooks/useCurrencyEarnings.d.ts +31 -0
- package/dist/react/hooks/useCurrencyEarnings.d.ts.map +1 -0
- package/dist/react/hooks/useCurrencyEarnings.js +30 -0
- package/dist/react/hooks/useCurrencyEarnings.js.map +1 -0
- package/dist/react/index.d.ts +3 -0
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +3 -0
- package/dist/react/index.js.map +1 -1
- package/dist/react/workflows/Costs.d.ts +1 -0
- package/dist/react/workflows/Costs.d.ts.map +1 -1
- package/dist/react/workflows/Costs.js +7 -3
- package/dist/react/workflows/Costs.js.map +1 -1
- package/docs/react-workflows.md +40 -0
- package/docs/read-contracts.md +136 -0
- package/package.json +3 -2
- package/src/client/connect/payoutSnapshot.test.ts +27 -0
- package/src/client/connect/payoutSnapshot.ts +4 -0
- package/src/client/connect/refunds.ts +28 -0
- package/src/client/index.ts +10 -11
- package/src/client/readContracts.ts +90 -0
- package/src/client/readPagination.test.ts +62 -0
- package/src/client/refund-history.test.ts +67 -0
- package/src/client/types/documents.ts +2 -0
- package/src/client/webhooks/payout-canceled.integration.test.ts +25 -0
- package/src/client/webhooks/processors.ts +2 -0
- package/src/component/_generated/api.ts +10 -0
- package/src/component/_generated/component.ts +257 -0
- package/src/component/connect/mutations.ts +8 -8
- package/src/component/connect/queries.ts +110 -48
- package/src/component/connect/schema.ts +19 -1
- package/src/component/connect/validators.ts +4 -0
- package/src/component/currency-migration.test.ts +119 -0
- package/src/component/currency-totals.test.ts +95 -0
- package/src/component/earnings/legacyReads.ts +59 -0
- package/src/component/earnings/mutations.ts +21 -0
- package/src/component/earnings/reads.ts +41 -0
- package/src/component/earnings/schema.ts +11 -0
- package/src/component/earnings/triggers.ts +91 -0
- package/src/component/products/queries.ts +74 -0
- package/src/component/public.test.ts +1 -1
- package/src/component/read-pagination.test.ts +193 -0
- package/src/component/refund-history.test.ts +198 -0
- package/src/component/refundHistory/queries.ts +99 -0
- package/src/component/schema.ts +2 -0
- package/src/react/components/EarningsSummary.tsx +5 -2
- package/src/react/hooks/useCurrencyEarnings.test.ts +59 -0
- package/src/react/hooks/useCurrencyEarnings.ts +73 -0
- package/src/react/index.ts +12 -0
- package/src/react/read-contracts.render.test.tsx +20 -0
- package/src/react/workflows/Costs.test.tsx +21 -0
- package/src/react/workflows/Costs.tsx +9 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"legacyReads.d.ts","sourceRoot":"","sources":["../../../src/component/earnings/legacyReads.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE;IAAE,oBAAoB,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;GA2B9D;AAED,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;;;;;;;GAsBnD"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export async function getAccountEarnings(ctx, args) {
|
|
2
|
+
const previewLimit = args.previewLimit ?? 50;
|
|
3
|
+
let currency;
|
|
4
|
+
let gross = 0;
|
|
5
|
+
let reversed = 0;
|
|
6
|
+
let transferCount = 0;
|
|
7
|
+
const transfers = [];
|
|
8
|
+
for await (const tr of ctx.db
|
|
9
|
+
.query("transfers")
|
|
10
|
+
.withIndex("by_destination_account_id", (q) => q.eq("destinationAccountId", args.destinationAccountId))
|
|
11
|
+
.order("desc")) {
|
|
12
|
+
if (currency !== undefined && currency !== tr.currency)
|
|
13
|
+
throw new Error("Mixed currency account: use getAccountEarningsByCurrency");
|
|
14
|
+
currency = tr.currency;
|
|
15
|
+
gross += tr.amount;
|
|
16
|
+
reversed += tr.reversedAmount ?? 0;
|
|
17
|
+
transferCount += 1;
|
|
18
|
+
if (transfers.length < previewLimit)
|
|
19
|
+
transfers.push(tr);
|
|
20
|
+
}
|
|
21
|
+
return { gross, reversed, transferCount, transfers };
|
|
22
|
+
}
|
|
23
|
+
export async function getAccountPayouts(ctx, args) {
|
|
24
|
+
const previewLimit = args.previewLimit ?? 50;
|
|
25
|
+
let currency;
|
|
26
|
+
let paidOut = 0;
|
|
27
|
+
let payoutCount = 0;
|
|
28
|
+
const payouts = [];
|
|
29
|
+
for await (const p of ctx.db
|
|
30
|
+
.query("payouts")
|
|
31
|
+
.withIndex("by_account_id", (q) => q.eq("accountId", args.accountId))) {
|
|
32
|
+
if (currency !== undefined && currency !== p.currency)
|
|
33
|
+
throw new Error("Mixed currency account: use getAccountPayoutsByCurrency");
|
|
34
|
+
currency = p.currency;
|
|
35
|
+
payoutCount += 1;
|
|
36
|
+
if (p.status === "paid")
|
|
37
|
+
paidOut += p.amount;
|
|
38
|
+
if (payouts.length < previewLimit)
|
|
39
|
+
payouts.push(p);
|
|
40
|
+
}
|
|
41
|
+
return { paidOut, payoutCount, payouts };
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=legacyReads.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"legacyReads.js","sourceRoot":"","sources":["../../../src/component/earnings/legacyReads.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,GAAa,EACb,IAA6D;IAE7D,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;IAC7C,IAAI,QAA4B,CAAC;IACjC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,MAAM,SAAS,GAAuB,EAAE,CAAC;IAEzC,IAAI,KAAK,EAAE,MAAM,EAAE,IAAI,GAAG,CAAC,EAAE;SAC1B,KAAK,CAAC,WAAW,CAAC;SAClB,SAAS,CAAC,2BAA2B,EAAE,CAAC,CAAC,EAAE,EAAE,CAC5C,CAAC,CAAC,EAAE,CAAC,sBAAsB,EAAE,IAAI,CAAC,oBAAoB,CAAC,CACxD;SACA,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QACjB,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,EAAE,CAAC,QAAQ;YACpD,MAAM,IAAI,KAAK,CACb,0DAA0D,CAC3D,CAAC;QACJ,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC;QACvB,KAAK,IAAI,EAAE,CAAC,MAAM,CAAC;QACnB,QAAQ,IAAI,EAAE,CAAC,cAAc,IAAI,CAAC,CAAC;QACnC,aAAa,IAAI,CAAC,CAAC;QACnB,IAAI,SAAS,CAAC,MAAM,GAAG,YAAY;YAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC;AACvD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,GAAa,EACb,IAAkD;IAElD,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;IAC7C,IAAI,QAA4B,CAAC;IACjC,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,MAAM,OAAO,GAAqB,EAAE,CAAC;IAErC,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,GAAG,CAAC,EAAE;SACzB,KAAK,CAAC,SAAS,CAAC;SAChB,SAAS,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QACxE,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,CAAC,CAAC,QAAQ;YACnD,MAAM,IAAI,KAAK,CACb,yDAAyD,CAC1D,CAAC;QACJ,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;QACtB,WAAW,IAAI,CAAC,CAAC;QACjB,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC,CAAC,MAAM,CAAC;QAC7C,IAAI,OAAO,CAAC,MAAM,GAAG,YAAY;YAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC;AAC3C,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** Call repeatedly until isDone. Updates and backfill share one transaction. */
|
|
2
|
+
export declare const backfillCurrencyTotals: import("convex/server").RegisteredMutation<"public", {
|
|
3
|
+
cursor: string | null;
|
|
4
|
+
kind: "earnings" | "payouts";
|
|
5
|
+
}, Promise<{
|
|
6
|
+
isDone: boolean;
|
|
7
|
+
continueCursor: string;
|
|
8
|
+
}>>;
|
|
9
|
+
//# sourceMappingURL=mutations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mutations.d.ts","sourceRoot":"","sources":["../../../src/component/earnings/mutations.ts"],"names":[],"mappings":"AAIA,gFAAgF;AAChF,eAAO,MAAM,sBAAsB;;;;;;GAejC,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { paginator } from "convex-helpers/server/pagination";
|
|
2
|
+
import schema from "../schema.js";
|
|
3
|
+
import { v } from "convex/values";
|
|
4
|
+
import { mutation } from "./triggers.js";
|
|
5
|
+
/** Call repeatedly until isDone. Updates and backfill share one transaction. */
|
|
6
|
+
export const backfillCurrencyTotals = mutation({
|
|
7
|
+
args: {
|
|
8
|
+
kind: v.union(v.literal("earnings"), v.literal("payouts")),
|
|
9
|
+
cursor: v.union(v.string(), v.null()),
|
|
10
|
+
},
|
|
11
|
+
returns: v.object({ isDone: v.boolean(), continueCursor: v.string() }),
|
|
12
|
+
handler: async (ctx, args) => {
|
|
13
|
+
const table = args.kind === "earnings" ? "transfers" : "payouts";
|
|
14
|
+
const result = await paginator(ctx.db, schema)
|
|
15
|
+
.query(table)
|
|
16
|
+
.paginate({ numItems: 100, cursor: args.cursor });
|
|
17
|
+
for (const row of result.page)
|
|
18
|
+
if (!row.totalsRecorded)
|
|
19
|
+
await ctx.db.patch(table, row._id, {});
|
|
20
|
+
return { isDone: result.isDone, continueCursor: result.continueCursor };
|
|
21
|
+
},
|
|
22
|
+
});
|
|
23
|
+
//# sourceMappingURL=mutations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mutations.js","sourceRoot":"","sources":["../../../src/component/earnings/mutations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7D,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,gFAAgF;AAChF,MAAM,CAAC,MAAM,sBAAsB,GAAG,QAAQ,CAAC;IAC7C,IAAI,EAAE;QACJ,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC1D,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;KACtC;IACD,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;IACtE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;QACjE,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC;aAC3C,KAAK,CAAC,KAAK,CAAC;aACZ,QAAQ,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACpD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI;YAC3B,IAAI,CAAC,GAAG,CAAC,cAAc;gBAAE,MAAM,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAClE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE,CAAC;IAC1E,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { QueryCtx } from "../_generated/server.js";
|
|
2
|
+
export declare function previewSize(value?: number): number;
|
|
3
|
+
export declare function currencyTotals(ctx: QueryCtx, accountId: string, kind: "earnings" | "payouts"): Promise<{
|
|
4
|
+
_creationTime: number;
|
|
5
|
+
_id: import("convex/values").GenericId<"currencyTotals">;
|
|
6
|
+
accountId: string;
|
|
7
|
+
count: number;
|
|
8
|
+
currency: string;
|
|
9
|
+
gross: number;
|
|
10
|
+
kind: "earnings" | "payouts";
|
|
11
|
+
paidOut: number;
|
|
12
|
+
reversed: number;
|
|
13
|
+
}[]>;
|
|
14
|
+
//# sourceMappingURL=reads.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reads.d.ts","sourceRoot":"","sources":["../../../src/component/earnings/reads.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,wBAAgB,WAAW,CAAC,KAAK,SAAK,UAIrC;AACD,wBAAsB,cAAc,CAClC,GAAG,EAAE,QAAQ,EACb,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,UAAU,GAAG,SAAS;;;;;;;;;;KA+B7B"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export function previewSize(value = 50) {
|
|
2
|
+
if (!Number.isInteger(value) || value < 0 || value > 100)
|
|
3
|
+
throw new Error("Preview size must be an integer from 0 to 100");
|
|
4
|
+
return value;
|
|
5
|
+
}
|
|
6
|
+
export async function currencyTotals(ctx, accountId, kind) {
|
|
7
|
+
const pending = kind === "earnings"
|
|
8
|
+
? await ctx.db
|
|
9
|
+
.query("transfers")
|
|
10
|
+
.withIndex("by_account_totals_recorded", (q) => q
|
|
11
|
+
.eq("destinationAccountId", accountId)
|
|
12
|
+
.eq("totalsRecorded", undefined))
|
|
13
|
+
.first()
|
|
14
|
+
: await ctx.db
|
|
15
|
+
.query("payouts")
|
|
16
|
+
.withIndex("by_account_totals_recorded", (q) => q.eq("accountId", accountId).eq("totalsRecorded", undefined))
|
|
17
|
+
.first();
|
|
18
|
+
if (pending)
|
|
19
|
+
throw new Error("Currency totals require backfillCurrencyTotals before reading this account");
|
|
20
|
+
const rows = await ctx.db
|
|
21
|
+
.query("currencyTotals")
|
|
22
|
+
.withIndex("by_account_kind_currency", (q) => q.eq("accountId", accountId).eq("kind", kind))
|
|
23
|
+
.take(501);
|
|
24
|
+
if (rows.length > 500)
|
|
25
|
+
throw new Error("Account exceeds supported currency count");
|
|
26
|
+
return rows;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=reads.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reads.js","sourceRoot":"","sources":["../../../src/component/earnings/reads.ts"],"names":[],"mappings":"AACA,MAAM,UAAU,WAAW,CAAC,KAAK,GAAG,EAAE;IACpC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,GAAG;QACtD,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,OAAO,KAAK,CAAC;AACf,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,GAAa,EACb,SAAiB,EACjB,IAA4B;IAE5B,MAAM,OAAO,GACX,IAAI,KAAK,UAAU;QACjB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;aACT,KAAK,CAAC,WAAW,CAAC;aAClB,SAAS,CAAC,4BAA4B,EAAE,CAAC,CAAC,EAAE,EAAE,CAC7C,CAAC;aACE,EAAE,CAAC,sBAAsB,EAAE,SAAS,CAAC;aACrC,EAAE,CAAC,gBAAgB,EAAE,SAAS,CAAC,CACnC;aACA,KAAK,EAAE;QACZ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;aACT,KAAK,CAAC,SAAS,CAAC;aAChB,SAAS,CAAC,4BAA4B,EAAE,CAAC,CAAC,EAAE,EAAE,CAC7C,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAC7D;aACA,KAAK,EAAE,CAAC;IACjB,IAAI,OAAO;QACT,MAAM,IAAI,KAAK,CACb,4EAA4E,CAC7E,CAAC;IACJ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,EAAE;SACtB,KAAK,CAAC,gBAAgB,CAAC;SACvB,SAAS,CAAC,0BAA0B,EAAE,CAAC,CAAC,EAAE,EAAE,CAC3C,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAC9C;SACA,IAAI,CAAC,GAAG,CAAC,CAAC;IACb,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG;QACnB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export declare const currencyTotalsTable: import("convex/server").TableDefinition<import("convex/values").VObject<{
|
|
2
|
+
accountId: string;
|
|
3
|
+
count: number;
|
|
4
|
+
currency: string;
|
|
5
|
+
gross: number;
|
|
6
|
+
kind: "earnings" | "payouts";
|
|
7
|
+
paidOut: number;
|
|
8
|
+
reversed: number;
|
|
9
|
+
}, {
|
|
10
|
+
accountId: import("convex/values").VString<string, "required">;
|
|
11
|
+
currency: import("convex/values").VString<string, "required">;
|
|
12
|
+
kind: import("convex/values").VUnion<"earnings" | "payouts", [import("convex/values").VLiteral<"earnings", "required">, import("convex/values").VLiteral<"payouts", "required">], "required", never>;
|
|
13
|
+
gross: import("convex/values").VFloat64<number, "required">;
|
|
14
|
+
reversed: import("convex/values").VFloat64<number, "required">;
|
|
15
|
+
paidOut: import("convex/values").VFloat64<number, "required">;
|
|
16
|
+
count: import("convex/values").VFloat64<number, "required">;
|
|
17
|
+
}, "required", "accountId" | "count" | "currency" | "gross" | "kind" | "paidOut" | "reversed">, {
|
|
18
|
+
by_account_kind_currency: ["accountId", "kind", "currency", "_creationTime"];
|
|
19
|
+
}, {}, {}>;
|
|
20
|
+
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/component/earnings/schema.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;UAQuC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { defineTable } from "convex/server";
|
|
2
|
+
import { v } from "convex/values";
|
|
3
|
+
export const currencyTotalsTable = defineTable({
|
|
4
|
+
accountId: v.string(),
|
|
5
|
+
currency: v.string(),
|
|
6
|
+
kind: v.union(v.literal("earnings"), v.literal("payouts")),
|
|
7
|
+
gross: v.number(),
|
|
8
|
+
reversed: v.number(),
|
|
9
|
+
paidOut: v.number(),
|
|
10
|
+
count: v.number(),
|
|
11
|
+
}).index("by_account_kind_currency", ["accountId", "kind", "currency"]);
|
|
12
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/component/earnings/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAClC,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAC;IAC7C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC1D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;CAClB,CAAC,CAAC,KAAK,CAAC,0BAA0B,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC"}
|