founder-schema 0.19.0 → 0.20.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 +46 -0
- package/dist/access/permissions.d.ts +3 -3
- package/dist/access/permissions.d.ts.map +1 -1
- package/dist/access/permissions.js.map +1 -1
- package/dist/core/common.d.ts +42 -15
- package/dist/core/common.d.ts.map +1 -1
- package/dist/core/common.js +58 -15
- package/dist/core/common.js.map +1 -1
- package/dist/core/deletion.d.ts +40 -0
- package/dist/core/deletion.d.ts.map +1 -0
- package/dist/core/deletion.js +39 -0
- package/dist/core/deletion.js.map +1 -0
- package/dist/domains/audit/audit.d.ts +36 -12
- package/dist/domains/audit/audit.d.ts.map +1 -1
- package/dist/domains/audit/audit.js +9 -10
- package/dist/domains/audit/audit.js.map +1 -1
- package/dist/domains/billing/billing.d.ts +29 -13
- package/dist/domains/billing/billing.d.ts.map +1 -1
- package/dist/domains/billing/billing.js +2 -3
- package/dist/domains/billing/billing.js.map +1 -1
- package/dist/domains/chat/chat.d.ts +19 -5
- package/dist/domains/chat/chat.d.ts.map +1 -1
- package/dist/domains/chat/chat.js +10 -10
- package/dist/domains/chat/chat.js.map +1 -1
- package/dist/domains/communities/communities.d.ts +95 -57
- package/dist/domains/communities/communities.d.ts.map +1 -1
- package/dist/domains/contributions/contributions.d.ts +28 -12
- package/dist/domains/contributions/contributions.d.ts.map +1 -1
- package/dist/domains/contributions/contributions.js +3 -0
- package/dist/domains/contributions/contributions.js.map +1 -1
- package/dist/domains/discover/discover.d.ts +2 -2
- package/dist/domains/feed/feed.d.ts +111 -63
- package/dist/domains/feed/feed.d.ts.map +1 -1
- package/dist/domains/feed/feed.js +3 -0
- package/dist/domains/feed/feed.js.map +1 -1
- package/dist/domains/location/areas.d.ts +7 -0
- package/dist/domains/location/areas.d.ts.map +1 -1
- package/dist/domains/location/areas.js +3 -0
- package/dist/domains/location/areas.js.map +1 -1
- package/dist/domains/media/media.d.ts +22 -0
- package/dist/domains/media/media.d.ts.map +1 -1
- package/dist/domains/media/media.js +20 -0
- package/dist/domains/media/media.js.map +1 -1
- package/dist/domains/members/members.d.ts +26 -9
- package/dist/domains/members/members.d.ts.map +1 -1
- package/dist/domains/members/members.js +9 -10
- package/dist/domains/members/members.js.map +1 -1
- package/dist/domains/membership/membership.d.ts +19 -0
- package/dist/domains/membership/membership.d.ts.map +1 -1
- package/dist/domains/membership/membership.js +10 -0
- package/dist/domains/membership/membership.js.map +1 -1
- package/dist/domains/moderation/moderation.d.ts +8 -2
- package/dist/domains/moderation/moderation.d.ts.map +1 -1
- package/dist/domains/moderation/moderation.js +3 -6
- package/dist/domains/moderation/moderation.js.map +1 -1
- package/dist/domains/notifications/notifications.d.ts +10 -6
- package/dist/domains/notifications/notifications.d.ts.map +1 -1
- package/dist/domains/onboarding/onboarding-answers.js +1 -1
- package/dist/domains/onboarding/onboarding-answers.js.map +1 -1
- package/dist/domains/onboarding/onboarding.d.ts +11 -10
- package/dist/domains/onboarding/onboarding.d.ts.map +1 -1
- package/dist/domains/onboarding/onboarding.js +16 -9
- package/dist/domains/onboarding/onboarding.js.map +1 -1
- package/dist/domains/people/person.d.ts +54 -0
- package/dist/domains/people/person.d.ts.map +1 -0
- package/dist/domains/people/person.js +73 -0
- package/dist/domains/people/person.js.map +1 -0
- package/dist/domains/products/products.d.ts +62 -33
- package/dist/domains/products/products.d.ts.map +1 -1
- package/dist/domains/products/products.js +3 -0
- package/dist/domains/products/products.js.map +1 -1
- package/dist/domains/profile/founder-profile.d.ts +36 -19
- package/dist/domains/profile/founder-profile.d.ts.map +1 -1
- package/dist/domains/profile/founder-profile.js +43 -21
- package/dist/domains/profile/founder-profile.js.map +1 -1
- package/dist/domains/reviews/reviews.d.ts +25 -15
- package/dist/domains/reviews/reviews.d.ts.map +1 -1
- package/dist/domains/support/support.d.ts +47 -10
- package/dist/domains/support/support.d.ts.map +1 -1
- package/dist/domains/support/support.js +4 -2
- package/dist/domains/support/support.js.map +1 -1
- package/dist/domains/team/team.d.ts +9 -3
- package/dist/domains/team/team.d.ts.map +1 -1
- package/dist/domains/team/team.js +3 -6
- package/dist/domains/team/team.js.map +1 -1
- package/dist/index.d.ts +11 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -9
- package/dist/index.js.map +1 -1
- package/package.json +3 -2
- package/dist/account.d.ts +0 -40
- package/dist/account.d.ts.map +0 -1
- package/dist/account.js +0 -39
- package/dist/account.js.map +0 -1
- package/dist/chat.d.ts +0 -187
- package/dist/chat.d.ts.map +0 -1
- package/dist/chat.js +0 -189
- package/dist/chat.js.map +0 -1
- package/dist/common.d.ts +0 -304
- package/dist/common.d.ts.map +0 -1
- package/dist/common.js +0 -340
- package/dist/common.js.map +0 -1
- package/dist/discover.d.ts +0 -245
- package/dist/discover.d.ts.map +0 -1
- package/dist/discover.js +0 -68
- package/dist/discover.js.map +0 -1
- package/dist/errors.d.ts +0 -85
- package/dist/errors.d.ts.map +0 -1
- package/dist/errors.js +0 -89
- package/dist/errors.js.map +0 -1
- package/dist/feed.d.ts +0 -1658
- package/dist/feed.d.ts.map +0 -1
- package/dist/feed.js +0 -623
- package/dist/feed.js.map +0 -1
- package/dist/founder-profile.d.ts +0 -387
- package/dist/founder-profile.d.ts.map +0 -1
- package/dist/founder-profile.js +0 -180
- package/dist/founder-profile.js.map +0 -1
- package/dist/limits.d.ts +0 -76
- package/dist/limits.d.ts.map +0 -1
- package/dist/limits.js +0 -84
- package/dist/limits.js.map +0 -1
- package/dist/onboarding.d.ts +0 -1018
- package/dist/onboarding.d.ts.map +0 -1
- package/dist/onboarding.js +0 -717
- package/dist/onboarding.js.map +0 -1
- package/dist/responses/common.d.ts +0 -167
- package/dist/responses/common.d.ts.map +0 -1
- package/dist/responses/common.js +0 -67
- package/dist/responses/common.js.map +0 -1
- package/dist/responses/index.d.ts +0 -7
- package/dist/responses/index.d.ts.map +0 -1
- package/dist/responses/index.js +0 -7
- package/dist/responses/index.js.map +0 -1
- package/dist/uploads.d.ts +0 -113
- package/dist/uploads.d.ts.map +0 -1
- package/dist/uploads.js +0 -106
- package/dist/uploads.js.map +0 -1
- package/dist/validation.d.ts +0 -136
- package/dist/validation.d.ts.map +0 -1
- package/dist/validation.js +0 -142
- package/dist/validation.js.map +0 -1
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Soft delete (0.20.0)
|
|
3
|
+
* ====================
|
|
4
|
+
*
|
|
5
|
+
* The user's rule (2026-10-22): nothing is hard-deleted by a member, a staff
|
|
6
|
+
* member or a feature. A delete stamps `deletedAt`, who did it and why; reads
|
|
7
|
+
* leave the row out; ONE purge job removes it for real
|
|
8
|
+
* `ERASURE_RETENTION_DAYS` (180, the IT Rules 2021 floor) after `deletedAt`.
|
|
9
|
+
* A deleted file leaves public reach at once (quarantined) and is purged with
|
|
10
|
+
* its row.
|
|
11
|
+
*
|
|
12
|
+
* The exceptions the user approved the same day are records the law keeps
|
|
13
|
+
* longer (orders and their invoices), the audit log (kept, the name removed),
|
|
14
|
+
* operational records that expire on a timer (notifications, onboarding
|
|
15
|
+
* drafts, payment event records, message allowances, location history), and
|
|
16
|
+
* the member's own location erase, which is immediate.
|
|
17
|
+
*
|
|
18
|
+
* @module core/deletion
|
|
19
|
+
*/
|
|
20
|
+
import { z } from 'zod';
|
|
21
|
+
/**
|
|
22
|
+
* Why a row was deleted, stored beside `deletedAt`:
|
|
23
|
+
* - `member`: the member undid or deleted their own (a post, a reaction, leaving a community);
|
|
24
|
+
* - `owner`: whoever runs the space removed it (a community admin removing a member, a product owner a tester);
|
|
25
|
+
* - `staff`: moderation;
|
|
26
|
+
* - `account_deleted`: removed with its member's account;
|
|
27
|
+
* - `parent_deleted`: what it belonged to was deleted (the comments of a deleted post);
|
|
28
|
+
* - `system`: a job (an invite that expired, a checkout the gateway refused).
|
|
29
|
+
*/
|
|
30
|
+
export const DELETED_REASON_VALUES = [
|
|
31
|
+
'member',
|
|
32
|
+
'owner',
|
|
33
|
+
'staff',
|
|
34
|
+
'account_deleted',
|
|
35
|
+
'parent_deleted',
|
|
36
|
+
'system',
|
|
37
|
+
];
|
|
38
|
+
export const deletedReasonSchema = z.enum(DELETED_REASON_VALUES);
|
|
39
|
+
//# sourceMappingURL=deletion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deletion.js","sourceRoot":"","sources":["../../src/core/deletion.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,QAAQ;IACR,OAAO;IACP,OAAO;IACP,iBAAiB;IACjB,gBAAgB;IAChB,QAAQ;CACA,CAAC;AACX,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC","sourcesContent":["/**\n * Soft delete (0.20.0)\n * ====================\n *\n * The user's rule (2026-10-22): nothing is hard-deleted by a member, a staff\n * member or a feature. A delete stamps `deletedAt`, who did it and why; reads\n * leave the row out; ONE purge job removes it for real\n * `ERASURE_RETENTION_DAYS` (180, the IT Rules 2021 floor) after `deletedAt`.\n * A deleted file leaves public reach at once (quarantined) and is purged with\n * its row.\n *\n * The exceptions the user approved the same day are records the law keeps\n * longer (orders and their invoices), the audit log (kept, the name removed),\n * operational records that expire on a timer (notifications, onboarding\n * drafts, payment event records, message allowances, location history), and\n * the member's own location erase, which is immediate.\n *\n * @module core/deletion\n */\n\nimport { z } from 'zod';\n\n/**\n * Why a row was deleted, stored beside `deletedAt`:\n * - `member`: the member undid or deleted their own (a post, a reaction, leaving a community);\n * - `owner`: whoever runs the space removed it (a community admin removing a member, a product owner a tester);\n * - `staff`: moderation;\n * - `account_deleted`: removed with its member's account;\n * - `parent_deleted`: what it belonged to was deleted (the comments of a deleted post);\n * - `system`: a job (an invite that expired, a checkout the gateway refused).\n */\nexport const DELETED_REASON_VALUES = [\n 'member',\n 'owner',\n 'staff',\n 'account_deleted',\n 'parent_deleted',\n 'system',\n] as const;\nexport const deletedReasonSchema = z.enum(DELETED_REASON_VALUES);\nexport type DeletedReason = z.infer<typeof deletedReasonSchema>;\n"]}
|
|
@@ -57,9 +57,13 @@ export type AuditAction = z.infer<typeof auditActionSchema>;
|
|
|
57
57
|
* community they run, who is not staff.
|
|
58
58
|
*/
|
|
59
59
|
export declare const auditActorSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
60
|
-
|
|
61
|
-
|
|
60
|
+
userId: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
61
|
+
username: z.ZodNullable<z.ZodString>;
|
|
62
62
|
displayName: z.ZodString;
|
|
63
|
+
firstName: z.ZodString;
|
|
64
|
+
avatarUrl: z.ZodNullable<z.ZodURL>;
|
|
65
|
+
former: z.ZodBoolean;
|
|
66
|
+
kind: z.ZodLiteral<"staff">;
|
|
63
67
|
actingAs: z.ZodEnum<{
|
|
64
68
|
moderator: "moderator";
|
|
65
69
|
superadmin: "superadmin";
|
|
@@ -71,17 +75,25 @@ export declare const auditActorSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
71
75
|
kind: z.ZodLiteral<"script">;
|
|
72
76
|
name: z.ZodString;
|
|
73
77
|
}, z.core.$strip>, z.ZodObject<{
|
|
74
|
-
|
|
75
|
-
|
|
78
|
+
userId: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
79
|
+
username: z.ZodNullable<z.ZodString>;
|
|
76
80
|
displayName: z.ZodString;
|
|
81
|
+
firstName: z.ZodString;
|
|
82
|
+
avatarUrl: z.ZodNullable<z.ZodURL>;
|
|
83
|
+
former: z.ZodBoolean;
|
|
84
|
+
kind: z.ZodLiteral<"member">;
|
|
77
85
|
}, z.core.$strip>], "kind">;
|
|
78
86
|
export type AuditActor = z.infer<typeof auditActorSchema>;
|
|
79
87
|
export declare const auditEntrySchema: z.ZodObject<{
|
|
80
88
|
id: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
81
89
|
actor: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
82
|
-
|
|
83
|
-
|
|
90
|
+
userId: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
91
|
+
username: z.ZodNullable<z.ZodString>;
|
|
84
92
|
displayName: z.ZodString;
|
|
93
|
+
firstName: z.ZodString;
|
|
94
|
+
avatarUrl: z.ZodNullable<z.ZodURL>;
|
|
95
|
+
former: z.ZodBoolean;
|
|
96
|
+
kind: z.ZodLiteral<"staff">;
|
|
85
97
|
actingAs: z.ZodEnum<{
|
|
86
98
|
moderator: "moderator";
|
|
87
99
|
superadmin: "superadmin";
|
|
@@ -93,9 +105,13 @@ export declare const auditEntrySchema: z.ZodObject<{
|
|
|
93
105
|
kind: z.ZodLiteral<"script">;
|
|
94
106
|
name: z.ZodString;
|
|
95
107
|
}, z.core.$strip>, z.ZodObject<{
|
|
96
|
-
|
|
97
|
-
|
|
108
|
+
userId: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
109
|
+
username: z.ZodNullable<z.ZodString>;
|
|
98
110
|
displayName: z.ZodString;
|
|
111
|
+
firstName: z.ZodString;
|
|
112
|
+
avatarUrl: z.ZodNullable<z.ZodURL>;
|
|
113
|
+
former: z.ZodBoolean;
|
|
114
|
+
kind: z.ZodLiteral<"member">;
|
|
99
115
|
}, z.core.$strip>], "kind">;
|
|
100
116
|
action: z.ZodEnum<{
|
|
101
117
|
"role.granted": "role.granted";
|
|
@@ -158,9 +174,13 @@ export declare const auditPageSchema: z.ZodObject<{
|
|
|
158
174
|
items: z.ZodArray<z.ZodObject<{
|
|
159
175
|
id: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
160
176
|
actor: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
161
|
-
|
|
162
|
-
|
|
177
|
+
userId: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
178
|
+
username: z.ZodNullable<z.ZodString>;
|
|
163
179
|
displayName: z.ZodString;
|
|
180
|
+
firstName: z.ZodString;
|
|
181
|
+
avatarUrl: z.ZodNullable<z.ZodURL>;
|
|
182
|
+
former: z.ZodBoolean;
|
|
183
|
+
kind: z.ZodLiteral<"staff">;
|
|
164
184
|
actingAs: z.ZodEnum<{
|
|
165
185
|
moderator: "moderator";
|
|
166
186
|
superadmin: "superadmin";
|
|
@@ -172,9 +192,13 @@ export declare const auditPageSchema: z.ZodObject<{
|
|
|
172
192
|
kind: z.ZodLiteral<"script">;
|
|
173
193
|
name: z.ZodString;
|
|
174
194
|
}, z.core.$strip>, z.ZodObject<{
|
|
175
|
-
|
|
176
|
-
|
|
195
|
+
userId: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
196
|
+
username: z.ZodNullable<z.ZodString>;
|
|
177
197
|
displayName: z.ZodString;
|
|
198
|
+
firstName: z.ZodString;
|
|
199
|
+
avatarUrl: z.ZodNullable<z.ZodURL>;
|
|
200
|
+
former: z.ZodBoolean;
|
|
201
|
+
kind: z.ZodLiteral<"member">;
|
|
178
202
|
}, z.core.$strip>], "kind">;
|
|
179
203
|
action: z.ZodEnum<{
|
|
180
204
|
"role.granted": "role.granted";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../../src/domains/audit/audit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../../src/domains/audit/audit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,eAAO,MAAM,mBAAmB,ohBAmEtB,CAAC;AACX,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;EAA8B,CAAC;AAC7D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D;;;;GAIG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;2BAuB3B,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAS3B,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAoC,CAAC;AACjE,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC"}
|
|
@@ -26,6 +26,7 @@ import { subjectSchema } from '../../access/permissions.js';
|
|
|
26
26
|
import { roleSchema } from '../../access/roles.js';
|
|
27
27
|
import { objectIdSchema } from '../../core/common.js';
|
|
28
28
|
import { paginatedSchema } from '../../core/responses.js';
|
|
29
|
+
import { personSchema } from '../people/person.js';
|
|
29
30
|
export const AUDIT_ACTION_VALUES = [
|
|
30
31
|
/** A platform role was granted. `detail.role`. */
|
|
31
32
|
'role.granted',
|
|
@@ -101,11 +102,13 @@ export const auditActionSchema = z.enum(AUDIT_ACTION_VALUES);
|
|
|
101
102
|
* community they run, who is not staff.
|
|
102
103
|
*/
|
|
103
104
|
export const auditActorSchema = z.discriminatedUnion('kind', [
|
|
104
|
-
|
|
105
|
+
/**
|
|
106
|
+
* The person (0.20.0, `personSchema`). ⚠ `displayName` and `firstName` are
|
|
107
|
+
* their name WHEN THEY DID IT: an entry is a record, so it is not renamed
|
|
108
|
+
* later. The picture and handle are live, and empty once the account is gone.
|
|
109
|
+
*/
|
|
110
|
+
personSchema.extend({
|
|
105
111
|
kind: z.literal('staff'),
|
|
106
|
-
id: objectIdSchema,
|
|
107
|
-
/** Their name when they did it. An entry is a record, so it is not renamed later. */
|
|
108
|
-
displayName: z.string(),
|
|
109
112
|
/** The role they were acting as. */
|
|
110
113
|
actingAs: roleSchema,
|
|
111
114
|
}),
|
|
@@ -119,12 +122,8 @@ export const auditActorSchema = z.discriminatedUnion('kind', [
|
|
|
119
122
|
* its type, say. Its own kind, so nobody reading the log mistakes a
|
|
120
123
|
* community admin for staff.
|
|
121
124
|
*/
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
id: objectIdSchema,
|
|
125
|
-
/** Their name when they did it. */
|
|
126
|
-
displayName: z.string(),
|
|
127
|
-
}),
|
|
125
|
+
/** The person; their name as it was when they did it, like `staff`. */
|
|
126
|
+
personSchema.extend({ kind: z.literal('member') }),
|
|
128
127
|
]);
|
|
129
128
|
export const auditEntrySchema = z.object({
|
|
130
129
|
id: objectIdSchema,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../../../src/domains/audit/audit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../../../src/domains/audit/audit.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * founder-schema: the audit log\n *\n * GET /api/v1/audit staff actions, newest first\n *\n * Every action a staff member takes on a MEMBER or on what a member wrote\n * (roles, MPIN resets, suspensions, moderation decisions, taking and closing\n * tickets) is written here, at the moment it happens, by the server: who did\n * it, AS WHICH ROLE, what they did, to what, and anything that explains it.\n * The support team's own library (saved replies) is not a member's, so its\n * edits are not entries. Entries are never edited or\n * deleted. It is how a dispute (\"who removed my post, and why\") gets an\n * answer, and how a misused staff account is noticed.\n *\n * WHO READS WHAT is the reader's permissions, applied to the query: a\n * superadmin reads every entry; any other staff role reads the entries it\n * wrote itself (its History).\n *\n * The action list grows with the staff features; it never shrinks, because an\n * old entry must still parse.\n *\n * @module founder-schema/domains/audit\n */\n\nimport { z } from 'zod';\nimport { subjectSchema } from '../../access/permissions.js';\nimport { roleSchema } from '../../access/roles.js';\nimport { objectIdSchema } from '../../core/common.js';\nimport { paginatedSchema } from '../../core/responses.js';\nimport { personSchema } from '../people/person.js';\n\nexport const AUDIT_ACTION_VALUES = [\n /** A platform role was granted. `detail.role`. */\n 'role.granted',\n /** A platform role was taken away. `detail.role`. */\n 'role.revoked',\n /** Someone's forgotten MPIN was cleared, so they can set a new one. */\n 'mpin.cleared',\n /** Staff removed someone else's post, poll, comment or review (`target.subject` says which). */\n 'content.removed',\n /**\n * Staff hid a post, poll, comment, product or review: out of every feed and\n * list, restorable. `detail.note`. Since 0.9.0 also a community's\n * moderators hiding a post, poll or comment in it (actor kind `member`, or\n * staff), with `detail.communityId`.\n */\n 'content.hidden',\n /** Hidden content (a product or review too) put back, by staff or (0.9.0) a community's moderators. */\n 'content.restored',\n /** Staff looked at what was reported and left it up. `detail.reports`: how many closed. */\n 'report.dismissed',\n /** A member was suspended from the product. `detail.reason`. */\n 'member.suspended',\n /** A suspension was lifted. */\n 'member.unsuspended',\n /** A support agent took a ticket. */\n 'ticket.claimed',\n /** A support agent closed a ticket as resolved. */\n 'ticket.resolved',\n /** A capability was granted (0.9.0). `detail.capability`. */\n 'capability.granted',\n /** A capability was taken away (0.9.0). `detail.capability`. */\n 'capability.revoked',\n /** A community was created (0.9.0). `detail.visibility`; `detail.suggestionId` when from a suggestion. */\n 'community.created',\n /** A community's type changed (0.9.0). `detail.from`, `detail.to`, `detail.exposed`. */\n 'community.visibility_changed',\n /** Staff archived a community (0.9.0). */\n 'community.archived',\n /** Staff restored an archived community (0.9.0). */\n 'community.restored',\n /** Staff deleted a community (0.9.0). */\n 'community.deleted',\n /** Staff declined a community suggestion (0.9.0). `detail.reason`. Approving is `community.created`. */\n 'community_suggestion.declined',\n /**\n * A community was left with no admin (0.9.0): its last admin's account was\n * deleted where that cannot be refused. Written by the deletion (actor\n * kind `script`); managers then make a member admin.\n */\n 'community.orphaned',\n /** Staff gave someone a membership (0.12.0). `detail.reason`. Target subject `Membership`. */\n 'membership.granted',\n /**\n * Staff took a founding, coupon or granted membership away (0.12.0): a fake\n * or duplicate account. `detail.reason`, `detail.kind`. A paid one is\n * refunded instead (`payment.refunded`).\n */\n 'membership.revoked',\n /**\n * Staff refunded a payment (0.12.0). `detail.reason`, `detail.amount`\n * (paise), `detail.item`. Target subject `Payment`.\n */\n 'payment.refunded',\n /** Staff created a coupon (0.12.0). `detail.code`, `detail.benefit`, `detail.max`. */\n 'coupon.created',\n /** Staff changed a coupon (0.12.0): switched it off or on, its cap, window or label. `detail.changes`. */\n 'coupon.updated',\n] as const;\nexport const auditActionSchema = z.enum(AUDIT_ACTION_VALUES);\nexport type AuditAction = z.infer<typeof auditActionSchema>;\n\n/**\n * Who did it. A person, acting as one of their roles; a server script, which\n * is the only way a superadmin is ever made; or (0.9.0) a member acting in a\n * community they run, who is not staff.\n */\nexport const auditActorSchema = z.discriminatedUnion('kind', [\n /**\n * The person (0.20.0, `personSchema`). ⚠ `displayName` and `firstName` are\n * their name WHEN THEY DID IT: an entry is a record, so it is not renamed\n * later. The picture and handle are live, and empty once the account is gone.\n */\n personSchema.extend({\n kind: z.literal('staff'),\n /** The role they were acting as. */\n actingAs: roleSchema,\n }),\n z.object({\n kind: z.literal('script'),\n /** Which script, e.g. `grant-superadmin`. */\n name: z.string(),\n }),\n /**\n * A member who is not acting as staff (0.9.0): a community's admin changing\n * its type, say. Its own kind, so nobody reading the log mistakes a\n * community admin for staff.\n */\n /** The person; their name as it was when they did it, like `staff`. */\n personSchema.extend({ kind: z.literal('member') }),\n]);\nexport type AuditActor = z.infer<typeof auditActorSchema>;\n\nexport const auditEntrySchema = z.object({\n id: objectIdSchema,\n actor: auditActorSchema,\n action: auditActionSchema,\n /** What it was done to. `label` is its name at the time, when it has one. */\n target: z.object({ subject: subjectSchema, id: objectIdSchema, label: z.string().nullable() }),\n /** The specifics, by action (the role granted, a reason given). Never a secret. */\n detail: z.record(z.string(), z.union([z.string(), z.number(), z.boolean(), z.null()])),\n at: z.iso.datetime(),\n});\nexport type AuditEntry = z.infer<typeof auditEntrySchema>;\n\nexport const auditPageSchema = paginatedSchema(auditEntrySchema);\nexport type AuditPage = z.infer<typeof auditPageSchema>;\n"]}
|
|
@@ -241,11 +241,11 @@ export type Quote = z.infer<typeof quoteSchema>;
|
|
|
241
241
|
export declare const ORDER_STATUS_VALUES: readonly ["created", "paid", "granted_free", "expired", "refund_pending", "refunded", "refund_failed"];
|
|
242
242
|
export declare const orderStatusSchema: z.ZodEnum<{
|
|
243
243
|
paid: "paid";
|
|
244
|
+
refunded: "refunded";
|
|
244
245
|
created: "created";
|
|
245
246
|
granted_free: "granted_free";
|
|
246
247
|
expired: "expired";
|
|
247
248
|
refund_pending: "refund_pending";
|
|
248
|
-
refunded: "refunded";
|
|
249
249
|
refund_failed: "refund_failed";
|
|
250
250
|
}>;
|
|
251
251
|
export type OrderStatus = z.infer<typeof orderStatusSchema>;
|
|
@@ -375,11 +375,11 @@ export declare const orderStateSchema: z.ZodObject<{
|
|
|
375
375
|
}, z.core.$strip>], "kind">;
|
|
376
376
|
status: z.ZodEnum<{
|
|
377
377
|
paid: "paid";
|
|
378
|
+
refunded: "refunded";
|
|
378
379
|
created: "created";
|
|
379
380
|
granted_free: "granted_free";
|
|
380
381
|
expired: "expired";
|
|
381
382
|
refund_pending: "refund_pending";
|
|
382
|
-
refunded: "refunded";
|
|
383
383
|
refund_failed: "refund_failed";
|
|
384
384
|
}>;
|
|
385
385
|
notApplied: z.ZodBoolean;
|
|
@@ -586,11 +586,11 @@ export declare const paymentSummarySchema: z.ZodObject<{
|
|
|
586
586
|
total: z.ZodNumber;
|
|
587
587
|
status: z.ZodEnum<{
|
|
588
588
|
paid: "paid";
|
|
589
|
+
refunded: "refunded";
|
|
589
590
|
created: "created";
|
|
590
591
|
granted_free: "granted_free";
|
|
591
592
|
expired: "expired";
|
|
592
593
|
refund_pending: "refund_pending";
|
|
593
|
-
refunded: "refunded";
|
|
594
594
|
refund_failed: "refund_failed";
|
|
595
595
|
}>;
|
|
596
596
|
paidAt: z.ZodISODateTime;
|
|
@@ -620,11 +620,11 @@ export declare const paymentPageSchema: z.ZodObject<{
|
|
|
620
620
|
total: z.ZodNumber;
|
|
621
621
|
status: z.ZodEnum<{
|
|
622
622
|
paid: "paid";
|
|
623
|
+
refunded: "refunded";
|
|
623
624
|
created: "created";
|
|
624
625
|
granted_free: "granted_free";
|
|
625
626
|
expired: "expired";
|
|
626
627
|
refund_pending: "refund_pending";
|
|
627
|
-
refunded: "refunded";
|
|
628
628
|
refund_failed: "refund_failed";
|
|
629
629
|
}>;
|
|
630
630
|
paidAt: z.ZodISODateTime;
|
|
@@ -655,11 +655,11 @@ export declare const paymentDetailSchema: z.ZodObject<{
|
|
|
655
655
|
total: z.ZodNumber;
|
|
656
656
|
status: z.ZodEnum<{
|
|
657
657
|
paid: "paid";
|
|
658
|
+
refunded: "refunded";
|
|
658
659
|
created: "created";
|
|
659
660
|
granted_free: "granted_free";
|
|
660
661
|
expired: "expired";
|
|
661
662
|
refund_pending: "refund_pending";
|
|
662
|
-
refunded: "refunded";
|
|
663
663
|
refund_failed: "refund_failed";
|
|
664
664
|
}>;
|
|
665
665
|
paidAt: z.ZodISODateTime;
|
|
@@ -798,8 +798,12 @@ export declare const paymentDetailSchema: z.ZodObject<{
|
|
|
798
798
|
export type PaymentDetail = z.infer<typeof paymentDetailSchema>;
|
|
799
799
|
/** Who paid, as they are now, so staff can find them. Email only for a role that may read it. */
|
|
800
800
|
export declare const payerSchema: z.ZodObject<{
|
|
801
|
-
|
|
801
|
+
userId: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
802
|
+
username: z.ZodNullable<z.ZodString>;
|
|
802
803
|
displayName: z.ZodString;
|
|
804
|
+
firstName: z.ZodString;
|
|
805
|
+
avatarUrl: z.ZodNullable<z.ZodURL>;
|
|
806
|
+
former: z.ZodBoolean;
|
|
803
807
|
email: z.ZodNullable<z.ZodString>;
|
|
804
808
|
}, z.core.$strip>;
|
|
805
809
|
export type Payer = z.infer<typeof payerSchema>;
|
|
@@ -808,11 +812,11 @@ export declare const staffPaymentsQuerySchema: z.ZodObject<{
|
|
|
808
812
|
cursor: z.ZodPreprocess<z.ZodOptional<z.ZodString>, unknown>;
|
|
809
813
|
status: z.ZodOptional<z.ZodEnum<{
|
|
810
814
|
paid: "paid";
|
|
815
|
+
refunded: "refunded";
|
|
811
816
|
created: "created";
|
|
812
817
|
granted_free: "granted_free";
|
|
813
818
|
expired: "expired";
|
|
814
819
|
refund_pending: "refund_pending";
|
|
815
|
-
refunded: "refunded";
|
|
816
820
|
refund_failed: "refund_failed";
|
|
817
821
|
}>>;
|
|
818
822
|
memberId: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
|
|
@@ -841,19 +845,23 @@ export declare const staffPaymentSummarySchema: z.ZodObject<{
|
|
|
841
845
|
total: z.ZodNumber;
|
|
842
846
|
status: z.ZodEnum<{
|
|
843
847
|
paid: "paid";
|
|
848
|
+
refunded: "refunded";
|
|
844
849
|
created: "created";
|
|
845
850
|
granted_free: "granted_free";
|
|
846
851
|
expired: "expired";
|
|
847
852
|
refund_pending: "refund_pending";
|
|
848
|
-
refunded: "refunded";
|
|
849
853
|
refund_failed: "refund_failed";
|
|
850
854
|
}>;
|
|
851
855
|
paidAt: z.ZodISODateTime;
|
|
852
856
|
invoiceNumber: z.ZodNullable<z.ZodString>;
|
|
853
857
|
refundableUntil: z.ZodNullable<z.ZodISODateTime>;
|
|
854
858
|
payer: z.ZodObject<{
|
|
855
|
-
|
|
859
|
+
userId: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
860
|
+
username: z.ZodNullable<z.ZodString>;
|
|
856
861
|
displayName: z.ZodString;
|
|
862
|
+
firstName: z.ZodString;
|
|
863
|
+
avatarUrl: z.ZodNullable<z.ZodURL>;
|
|
864
|
+
former: z.ZodBoolean;
|
|
857
865
|
email: z.ZodNullable<z.ZodString>;
|
|
858
866
|
}, z.core.$strip>;
|
|
859
867
|
needsAction: z.ZodBoolean;
|
|
@@ -881,19 +889,23 @@ export declare const staffPaymentPageSchema: z.ZodObject<{
|
|
|
881
889
|
total: z.ZodNumber;
|
|
882
890
|
status: z.ZodEnum<{
|
|
883
891
|
paid: "paid";
|
|
892
|
+
refunded: "refunded";
|
|
884
893
|
created: "created";
|
|
885
894
|
granted_free: "granted_free";
|
|
886
895
|
expired: "expired";
|
|
887
896
|
refund_pending: "refund_pending";
|
|
888
|
-
refunded: "refunded";
|
|
889
897
|
refund_failed: "refund_failed";
|
|
890
898
|
}>;
|
|
891
899
|
paidAt: z.ZodISODateTime;
|
|
892
900
|
invoiceNumber: z.ZodNullable<z.ZodString>;
|
|
893
901
|
refundableUntil: z.ZodNullable<z.ZodISODateTime>;
|
|
894
902
|
payer: z.ZodObject<{
|
|
895
|
-
|
|
903
|
+
userId: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
904
|
+
username: z.ZodNullable<z.ZodString>;
|
|
896
905
|
displayName: z.ZodString;
|
|
906
|
+
firstName: z.ZodString;
|
|
907
|
+
avatarUrl: z.ZodNullable<z.ZodURL>;
|
|
908
|
+
former: z.ZodBoolean;
|
|
897
909
|
email: z.ZodNullable<z.ZodString>;
|
|
898
910
|
}, z.core.$strip>;
|
|
899
911
|
needsAction: z.ZodBoolean;
|
|
@@ -922,11 +934,11 @@ export declare const staffPaymentDetailSchema: z.ZodObject<{
|
|
|
922
934
|
total: z.ZodNumber;
|
|
923
935
|
status: z.ZodEnum<{
|
|
924
936
|
paid: "paid";
|
|
937
|
+
refunded: "refunded";
|
|
925
938
|
created: "created";
|
|
926
939
|
granted_free: "granted_free";
|
|
927
940
|
expired: "expired";
|
|
928
941
|
refund_pending: "refund_pending";
|
|
929
|
-
refunded: "refunded";
|
|
930
942
|
refund_failed: "refund_failed";
|
|
931
943
|
}>;
|
|
932
944
|
paidAt: z.ZodISODateTime;
|
|
@@ -1062,8 +1074,12 @@ export declare const staffPaymentDetailSchema: z.ZodObject<{
|
|
|
1062
1074
|
}, z.core.$strip>>;
|
|
1063
1075
|
refundedAt: z.ZodNullable<z.ZodISODateTime>;
|
|
1064
1076
|
payer: z.ZodObject<{
|
|
1065
|
-
|
|
1077
|
+
userId: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
1078
|
+
username: z.ZodNullable<z.ZodString>;
|
|
1066
1079
|
displayName: z.ZodString;
|
|
1080
|
+
firstName: z.ZodString;
|
|
1081
|
+
avatarUrl: z.ZodNullable<z.ZodURL>;
|
|
1082
|
+
former: z.ZodBoolean;
|
|
1067
1083
|
email: z.ZodNullable<z.ZodString>;
|
|
1068
1084
|
}, z.core.$strip>;
|
|
1069
1085
|
razorpay: z.ZodObject<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"billing.d.ts","sourceRoot":"","sources":["../../../src/domains/billing/billing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"billing.d.ts","sourceRoot":"","sources":["../../../src/domains/billing/billing.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,6 +39,7 @@ import { BILLING_REASON_MAX, BILLING_REASON_MIN, COUPON_CODE_MAX, COUPON_CODE_MI
|
|
|
39
39
|
import { paginatedSchema } from '../../core/responses.js';
|
|
40
40
|
import { VALIDATION_MESSAGE } from '../../core/validation.js';
|
|
41
41
|
import { paiseSchema, planPeriodSchema, planTierSchema } from '../membership/membership.js';
|
|
42
|
+
import { personSchema } from '../people/person.js';
|
|
42
43
|
import { billingDetailsSchema, gstStateCodeSchema } from './gst.js';
|
|
43
44
|
export { billingDetailsSchema, GST_RATE_PERCENT, GST_STATE_CODE_VALUES, GST_STATES, gstinChecksumValid, gstinSchema, gstStateCodeSchema, gstStateName, } from './gst.js';
|
|
44
45
|
// ─── What can be bought ──────────────────────────────────────────────────────
|
|
@@ -285,9 +286,7 @@ export const paymentDetailSchema = paymentSummarySchema.extend({
|
|
|
285
286
|
});
|
|
286
287
|
// ─── Staff: payments and refunds ─────────────────────────────────────────────
|
|
287
288
|
/** Who paid, as they are now, so staff can find them. Email only for a role that may read it. */
|
|
288
|
-
export const payerSchema =
|
|
289
|
-
id: objectIdSchema,
|
|
290
|
-
displayName: z.string(),
|
|
289
|
+
export const payerSchema = personSchema.extend({
|
|
291
290
|
email: z.string().nullable(),
|
|
292
291
|
});
|
|
293
292
|
export const staffPaymentsQuerySchema = paginationQuerySchema.extend({
|