@temboplus/afloat 0.1.77-beta.1 → 0.1.77-beta.11
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.cjs.js +1 -1
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.esm.js.map +1 -1
- package/dist/modules/auth/auth.contract.d.ts +2 -2
- package/dist/modules/auth/company-membership.model.d.ts +122 -9
- package/dist/modules/auth/user.model.d.ts +238 -15
- package/dist/modules/contact/contact-info.model.d.ts +183 -533
- package/dist/modules/contact/contact.model.d.ts +309 -32
- package/dist/modules/login/login.model.d.ts +53 -23
- package/dist/modules/payout/payout.dtos.d.ts +6 -0
- package/dist/modules/payout/payout.model.d.ts +242 -2
- package/dist/modules/payout/payout.query.d.ts +7 -0
- package/dist/modules/profile/profile.model.d.ts +65 -30
- package/dist/modules/team-member/role.model.d.ts +49 -1
- package/dist/modules/team-member/team-member.contract.d.ts +6 -0
- package/dist/modules/team-member/team-member.dtos.d.ts +6 -0
- package/dist/modules/team-member/team-member.model.d.ts +106 -6
- package/dist/modules/wallet/narration.model.d.ts +34 -38
- package/dist/modules/wallet/statement-entry.model.d.ts +172 -73
- package/dist/modules/wallet/wallet.model.d.ts +56 -19
- package/dist/modules/wallet/wallet.query.d.ts +95 -0
- package/dist/modules/wallet/wallet.repository.d.ts +45 -13
- package/package.json +2 -2
|
@@ -1,6 +1,119 @@
|
|
|
1
1
|
import { PayoutDTO, PayoutStatus, PayoutApprovalStatus, PayoutAuthorizer } from "@/modules/payout/payout.dtos.js";
|
|
2
2
|
import { Amount } from "@temboplus/frontend-core";
|
|
3
3
|
import { ContactInfo } from "../contact/contact-info.model.js";
|
|
4
|
+
import z from "zod";
|
|
5
|
+
/**
|
|
6
|
+
* Zod schema for Payout JSON serialization
|
|
7
|
+
* This mirrors the PayoutDTO structure but is specifically for JSON serialization
|
|
8
|
+
*/
|
|
9
|
+
export declare const PayoutJSONSchema: z.ZodObject<{
|
|
10
|
+
id: z.ZodString;
|
|
11
|
+
profileId: z.ZodString;
|
|
12
|
+
payeeName: z.ZodString;
|
|
13
|
+
channel: z.ZodString;
|
|
14
|
+
msisdn: z.ZodString;
|
|
15
|
+
amount: z.ZodNumber;
|
|
16
|
+
currencyCode: z.ZodString;
|
|
17
|
+
countryCode: z.ZodString;
|
|
18
|
+
description: z.ZodString;
|
|
19
|
+
notes: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
20
|
+
status: z.ZodNativeEnum<typeof PayoutStatus>;
|
|
21
|
+
statusMessage: z.ZodString;
|
|
22
|
+
partnerReference: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
23
|
+
createdAt: z.ZodString;
|
|
24
|
+
updatedAt: z.ZodString;
|
|
25
|
+
actionedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
26
|
+
approvalStatus: z.ZodOptional<z.ZodNullable<z.ZodNativeEnum<typeof PayoutApprovalStatus>>>;
|
|
27
|
+
createdBy: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
28
|
+
id: z.ZodString;
|
|
29
|
+
name: z.ZodString;
|
|
30
|
+
identity: z.ZodString;
|
|
31
|
+
}, "strip", z.ZodTypeAny, {
|
|
32
|
+
name: string;
|
|
33
|
+
id: string;
|
|
34
|
+
identity: string;
|
|
35
|
+
}, {
|
|
36
|
+
name: string;
|
|
37
|
+
id: string;
|
|
38
|
+
identity: string;
|
|
39
|
+
}>>>;
|
|
40
|
+
actionedBy: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
41
|
+
id: z.ZodString;
|
|
42
|
+
name: z.ZodString;
|
|
43
|
+
identity: z.ZodString;
|
|
44
|
+
}, "strip", z.ZodTypeAny, {
|
|
45
|
+
name: string;
|
|
46
|
+
id: string;
|
|
47
|
+
identity: string;
|
|
48
|
+
}, {
|
|
49
|
+
name: string;
|
|
50
|
+
id: string;
|
|
51
|
+
identity: string;
|
|
52
|
+
}>>>;
|
|
53
|
+
version: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
54
|
+
}, "strip", z.ZodTypeAny, {
|
|
55
|
+
status: PayoutStatus;
|
|
56
|
+
id: string;
|
|
57
|
+
version: string;
|
|
58
|
+
profileId: string;
|
|
59
|
+
createdAt: string;
|
|
60
|
+
updatedAt: string;
|
|
61
|
+
description: string;
|
|
62
|
+
channel: string;
|
|
63
|
+
countryCode: string;
|
|
64
|
+
currencyCode: string;
|
|
65
|
+
msisdn: string;
|
|
66
|
+
amount: number;
|
|
67
|
+
payeeName: string;
|
|
68
|
+
statusMessage: string;
|
|
69
|
+
notes?: string | null | undefined;
|
|
70
|
+
partnerReference?: string | null | undefined;
|
|
71
|
+
actionedAt?: string | null | undefined;
|
|
72
|
+
approvalStatus?: PayoutApprovalStatus | null | undefined;
|
|
73
|
+
createdBy?: {
|
|
74
|
+
name: string;
|
|
75
|
+
id: string;
|
|
76
|
+
identity: string;
|
|
77
|
+
} | null | undefined;
|
|
78
|
+
actionedBy?: {
|
|
79
|
+
name: string;
|
|
80
|
+
id: string;
|
|
81
|
+
identity: string;
|
|
82
|
+
} | null | undefined;
|
|
83
|
+
}, {
|
|
84
|
+
status: PayoutStatus;
|
|
85
|
+
id: string;
|
|
86
|
+
profileId: string;
|
|
87
|
+
createdAt: string;
|
|
88
|
+
updatedAt: string;
|
|
89
|
+
description: string;
|
|
90
|
+
channel: string;
|
|
91
|
+
countryCode: string;
|
|
92
|
+
currencyCode: string;
|
|
93
|
+
msisdn: string;
|
|
94
|
+
amount: number;
|
|
95
|
+
payeeName: string;
|
|
96
|
+
statusMessage: string;
|
|
97
|
+
version?: string | undefined;
|
|
98
|
+
notes?: string | null | undefined;
|
|
99
|
+
partnerReference?: string | null | undefined;
|
|
100
|
+
actionedAt?: string | null | undefined;
|
|
101
|
+
approvalStatus?: PayoutApprovalStatus | null | undefined;
|
|
102
|
+
createdBy?: {
|
|
103
|
+
name: string;
|
|
104
|
+
id: string;
|
|
105
|
+
identity: string;
|
|
106
|
+
} | null | undefined;
|
|
107
|
+
actionedBy?: {
|
|
108
|
+
name: string;
|
|
109
|
+
id: string;
|
|
110
|
+
identity: string;
|
|
111
|
+
} | null | undefined;
|
|
112
|
+
}>;
|
|
113
|
+
/**
|
|
114
|
+
* Infer the PayoutJSON type from the schema
|
|
115
|
+
*/
|
|
116
|
+
export type PayoutJSON = z.infer<typeof PayoutJSONSchema>;
|
|
4
117
|
/**
|
|
5
118
|
* Payout class that wraps the Zod schema and provides additional functionality
|
|
6
119
|
*/
|
|
@@ -133,7 +246,134 @@ export declare class Payout {
|
|
|
133
246
|
*/
|
|
134
247
|
static is(obj: unknown): obj is Payout;
|
|
135
248
|
/**
|
|
136
|
-
|
|
249
|
+
* Serializes the Payout instance to a JSON-compatible object
|
|
250
|
+
*
|
|
251
|
+
* Converts all Date objects to ISO strings for proper JSON serialization.
|
|
252
|
+
* The resulting object can be safely stringified and stored or transmitted.
|
|
253
|
+
*
|
|
254
|
+
* @returns {PayoutJSON} A plain object containing all payout data
|
|
255
|
+
*
|
|
256
|
+
* @example
|
|
257
|
+
* ```typescript
|
|
258
|
+
* const payout = Payout.create(payoutData);
|
|
259
|
+
* const json = payout.toJSON();
|
|
260
|
+
* // {
|
|
261
|
+
* // id: "payout-123",
|
|
262
|
+
* // amount: 50000,
|
|
263
|
+
* // currencyCode: "TZS",
|
|
264
|
+
* // createdAt: "2024-01-15T10:30:00.000Z",
|
|
265
|
+
* // ...
|
|
266
|
+
* // }
|
|
267
|
+
* ```
|
|
268
|
+
*/
|
|
269
|
+
toJSON(): PayoutJSON;
|
|
270
|
+
/**
|
|
271
|
+
* Serializes the Payout instance to a JSON string
|
|
272
|
+
*
|
|
273
|
+
* @returns {string} JSON string representation of the payout
|
|
274
|
+
*
|
|
275
|
+
* @example
|
|
276
|
+
* ```typescript
|
|
277
|
+
* const payout = Payout.create(payoutData);
|
|
278
|
+
* const jsonString = payout.toJSONString();
|
|
279
|
+
*
|
|
280
|
+
* // Store in localStorage
|
|
281
|
+
* localStorage.setItem('pendingPayout', jsonString);
|
|
282
|
+
*
|
|
283
|
+
* // Or send to server
|
|
284
|
+
* await fetch('/api/cache-payout', {
|
|
285
|
+
* method: 'POST',
|
|
286
|
+
* body: jsonString
|
|
287
|
+
* });
|
|
288
|
+
* ```
|
|
289
|
+
*/
|
|
290
|
+
toJSONString(): string;
|
|
291
|
+
/**
|
|
292
|
+
* Creates a Payout instance from a JSON-compatible object or string
|
|
293
|
+
*
|
|
294
|
+
* This method reconstructs a Payout instance from data that was previously
|
|
295
|
+
* serialized using toJSON(). It validates the input data using Zod schema
|
|
296
|
+
* and converts ISO date strings back to Date objects.
|
|
297
|
+
*
|
|
298
|
+
* @param {PayoutJSON | string} json - Either a PayoutJSON object or a JSON string
|
|
299
|
+
* @returns {Payout | undefined} A Payout instance if valid, undefined otherwise
|
|
300
|
+
*
|
|
301
|
+
* @example
|
|
302
|
+
* ```typescript
|
|
303
|
+
* // From localStorage
|
|
304
|
+
* const stored = localStorage.getItem('pendingPayout');
|
|
305
|
+
* const payout = Payout.fromJSON(stored!);
|
|
306
|
+
*
|
|
307
|
+
* if (payout) {
|
|
308
|
+
* console.log(payout.amount.label); // "TSh 50,000.00"
|
|
309
|
+
* console.log(payout.status); // "PENDING"
|
|
310
|
+
* }
|
|
311
|
+
*
|
|
312
|
+
* // From object
|
|
313
|
+
* const payoutJson = {
|
|
314
|
+
* id: "payout-123",
|
|
315
|
+
* amount: 50000,
|
|
316
|
+
* currencyCode: "TZS",
|
|
317
|
+
* createdAt: "2024-01-15T10:30:00.000Z",
|
|
318
|
+
* ...
|
|
319
|
+
* };
|
|
320
|
+
* const payout = Payout.fromJSON(payoutJson);
|
|
321
|
+
* ```
|
|
322
|
+
*/
|
|
323
|
+
static fromJSON(json: PayoutJSON | string): Payout | undefined;
|
|
324
|
+
/**
|
|
325
|
+
* Type guard using Zod schema validation
|
|
326
|
+
*
|
|
327
|
+
* Checks if an unknown value conforms to the PayoutJSON structure
|
|
328
|
+
* without attempting to create a Payout instance.
|
|
329
|
+
*
|
|
330
|
+
* @param {unknown} obj - The object to validate
|
|
331
|
+
* @returns {boolean} True if the object is a valid PayoutJSON
|
|
332
|
+
*
|
|
333
|
+
* @example
|
|
334
|
+
* ```typescript
|
|
335
|
+
* const data = JSON.parse(localStorage.getItem('payout'));
|
|
336
|
+
*
|
|
337
|
+
* if (Payout.isPayoutJSON(data)) {
|
|
338
|
+
* const payout = Payout.fromJSON(data);
|
|
339
|
+
* // TypeScript knows data is PayoutJSON here
|
|
340
|
+
* }
|
|
341
|
+
* ```
|
|
342
|
+
*/
|
|
343
|
+
static isPayoutJSON(obj: unknown): obj is PayoutJSON;
|
|
344
|
+
/**
|
|
345
|
+
* Creates multiple Payout instances from a JSON array
|
|
346
|
+
*
|
|
347
|
+
* @param {PayoutJSON[] | string} jsonArray - Array of PayoutJSON objects or JSON string
|
|
348
|
+
* @returns {Payout[]} Array of Payout instances (invalid items are filtered out)
|
|
349
|
+
*
|
|
350
|
+
* @example
|
|
351
|
+
* ```typescript
|
|
352
|
+
* // From API response
|
|
353
|
+
* const response = await fetch('/api/payouts');
|
|
354
|
+
* const jsonArray = await response.json();
|
|
355
|
+
* const payouts = Payout.fromJSONArray(jsonArray);
|
|
356
|
+
*
|
|
357
|
+
* // From stored array
|
|
358
|
+
* const stored = localStorage.getItem('recentPayouts');
|
|
359
|
+
* const payouts = Payout.fromJSONArray(stored!);
|
|
360
|
+
* ```
|
|
361
|
+
*/
|
|
362
|
+
static fromJSONArray(jsonArray: PayoutJSON[] | string): Payout[];
|
|
363
|
+
/**
|
|
364
|
+
* Serializes an array of Payout instances to JSON
|
|
365
|
+
*
|
|
366
|
+
* @param {Payout[]} payouts - Array of Payout instances to serialize
|
|
367
|
+
* @returns {PayoutJSON[]} Array of PayoutJSON objects
|
|
368
|
+
*
|
|
369
|
+
* @example
|
|
370
|
+
* ```typescript
|
|
371
|
+
* const payouts = [payout1, payout2, payout3];
|
|
372
|
+
* const jsonArray = Payout.toJSONArray(payouts);
|
|
373
|
+
*
|
|
374
|
+
* // Store or transmit
|
|
375
|
+
* localStorage.setItem('recentPayouts', JSON.stringify(jsonArray));
|
|
376
|
+
* ```
|
|
137
377
|
*/
|
|
138
|
-
|
|
378
|
+
static toJSONArray(payouts: Payout[]): PayoutJSON[];
|
|
139
379
|
}
|
|
@@ -47,6 +47,7 @@ export declare class PayoutQuery extends QueryBuilder {
|
|
|
47
47
|
whereProfileId(profileId: string): this;
|
|
48
48
|
wherePartnerReference(partnerReference: string): this;
|
|
49
49
|
whereSearch(searchTerm: string): this;
|
|
50
|
+
whereCurrencyCode(currencyCode: string): this;
|
|
50
51
|
/**
|
|
51
52
|
* Apply all filters from PayoutFilters object
|
|
52
53
|
*/
|
|
@@ -91,6 +92,12 @@ export declare class PayoutQuery extends QueryBuilder {
|
|
|
91
92
|
* Create new instance with channel filter
|
|
92
93
|
*/
|
|
93
94
|
withChannel(channel?: string): PayoutQuery;
|
|
95
|
+
/**
|
|
96
|
+
* Includes default relations for eager loading.
|
|
97
|
+
* This ensures that related data (createdBy, actionedBy) is fetched automatically.
|
|
98
|
+
* @returns The current query builder instance.
|
|
99
|
+
*/
|
|
100
|
+
includeDefaultRelations(): this;
|
|
94
101
|
/**
|
|
95
102
|
* Reset to first page
|
|
96
103
|
*/
|
|
@@ -1,4 +1,42 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
/**
|
|
3
|
+
* Zod schema for Profile JSON serialization
|
|
4
|
+
*/
|
|
5
|
+
export declare const ProfileJSONSchema: z.ZodObject<{
|
|
6
|
+
id: z.ZodString;
|
|
7
|
+
firstName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
8
|
+
lastName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
9
|
+
displayName: z.ZodString;
|
|
10
|
+
phone: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
11
|
+
accountNo: z.ZodString;
|
|
12
|
+
email: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
13
|
+
autoApprove: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
14
|
+
version: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
15
|
+
}, "strip", z.ZodTypeAny, {
|
|
16
|
+
id: string;
|
|
17
|
+
displayName: string;
|
|
18
|
+
accountNo: string;
|
|
19
|
+
version: string;
|
|
20
|
+
firstName?: string | null | undefined;
|
|
21
|
+
lastName?: string | null | undefined;
|
|
22
|
+
phone?: string | null | undefined;
|
|
23
|
+
email?: string | null | undefined;
|
|
24
|
+
autoApprove?: boolean | null | undefined;
|
|
25
|
+
}, {
|
|
26
|
+
id: string;
|
|
27
|
+
displayName: string;
|
|
28
|
+
accountNo: string;
|
|
29
|
+
firstName?: string | null | undefined;
|
|
30
|
+
lastName?: string | null | undefined;
|
|
31
|
+
phone?: string | null | undefined;
|
|
32
|
+
email?: string | null | undefined;
|
|
33
|
+
autoApprove?: boolean | null | undefined;
|
|
34
|
+
version?: string | undefined;
|
|
35
|
+
}>;
|
|
36
|
+
/**
|
|
37
|
+
* Infer the ProfileJSON type from the schema
|
|
38
|
+
*/
|
|
39
|
+
export type ProfileJSON = z.infer<typeof ProfileJSONSchema>;
|
|
2
40
|
/**
|
|
3
41
|
* Represents a user profile in the system.
|
|
4
42
|
*
|
|
@@ -25,16 +63,16 @@ export declare class Profile {
|
|
|
25
63
|
/**
|
|
26
64
|
* Gets the profile schema used for validation.
|
|
27
65
|
*/
|
|
28
|
-
static get schema():
|
|
29
|
-
id:
|
|
30
|
-
firstName:
|
|
31
|
-
lastName:
|
|
32
|
-
displayName:
|
|
33
|
-
phone:
|
|
34
|
-
accountNo:
|
|
35
|
-
email:
|
|
36
|
-
autoApprove:
|
|
37
|
-
}, "strip",
|
|
66
|
+
static get schema(): z.ZodObject<{
|
|
67
|
+
id: z.ZodString;
|
|
68
|
+
firstName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
69
|
+
lastName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
70
|
+
displayName: z.ZodString;
|
|
71
|
+
phone: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
72
|
+
accountNo: z.ZodString;
|
|
73
|
+
email: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
74
|
+
autoApprove: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
75
|
+
}, "strip", z.ZodTypeAny, {
|
|
38
76
|
id: string;
|
|
39
77
|
displayName: string;
|
|
40
78
|
accountNo: string;
|
|
@@ -113,31 +151,12 @@ export declare class Profile {
|
|
|
113
151
|
* Returns the display name if it exists, otherwise returns the first and last name combined.
|
|
114
152
|
*/
|
|
115
153
|
getName(): string;
|
|
116
|
-
/**
|
|
117
|
-
* Creates a plain object representation of the profile for validation or serialization.
|
|
118
|
-
*
|
|
119
|
-
* @returns A plain object matching the ProfileType interface
|
|
120
|
-
*/
|
|
121
|
-
toObject(): ProfileDTO;
|
|
122
|
-
/**
|
|
123
|
-
* Converts the profile to a JSON string.
|
|
124
|
-
*
|
|
125
|
-
* @returns A JSON string representation of the profile
|
|
126
|
-
*/
|
|
127
|
-
toJSON(): string;
|
|
128
154
|
/**
|
|
129
155
|
* Validates the profile data against the Zod schema.
|
|
130
156
|
*
|
|
131
157
|
* @returns True if the profile is valid, false otherwise
|
|
132
158
|
*/
|
|
133
159
|
validate(): boolean;
|
|
134
|
-
/**
|
|
135
|
-
* Creates a Profile instance from a JSON string.
|
|
136
|
-
*
|
|
137
|
-
* @param jsonString - JSON string containing profile data
|
|
138
|
-
* @returns A new Profile instance, or undefined if parsing failed
|
|
139
|
-
*/
|
|
140
|
-
static fromJSON(jsonString: string): Profile | undefined;
|
|
141
160
|
/**
|
|
142
161
|
* Creates a Profile instance from a plain object.
|
|
143
162
|
*
|
|
@@ -152,4 +171,20 @@ export declare class Profile {
|
|
|
152
171
|
* @returns Type predicate indicating if the object is a valid Profile
|
|
153
172
|
*/
|
|
154
173
|
static is(obj: unknown): obj is Profile;
|
|
174
|
+
/**
|
|
175
|
+
* Serializes the Profile instance to a JSON-compatible object
|
|
176
|
+
*/
|
|
177
|
+
toJSON(): ProfileJSON;
|
|
178
|
+
/**
|
|
179
|
+
* Serializes the Profile instance to a JSON string
|
|
180
|
+
*/
|
|
181
|
+
toJSONString(): string;
|
|
182
|
+
/**
|
|
183
|
+
* Creates a Profile instance from a JSON-compatible object or string
|
|
184
|
+
*/
|
|
185
|
+
static fromJSON(json: ProfileJSON | string): Profile | undefined;
|
|
186
|
+
/**
|
|
187
|
+
* Type guard using Zod schema validation
|
|
188
|
+
*/
|
|
189
|
+
static isProfileJSON(obj: unknown): obj is ProfileJSON;
|
|
155
190
|
}
|
|
@@ -1,4 +1,37 @@
|
|
|
1
|
+
import z from "zod";
|
|
1
2
|
import { RoleDTO } from "./team-member.dtos.js";
|
|
3
|
+
/**
|
|
4
|
+
* Zod schema for Role JSON serialization
|
|
5
|
+
*/
|
|
6
|
+
export declare const RoleJSONSchema: z.ZodObject<{
|
|
7
|
+
id: z.ZodString;
|
|
8
|
+
name: z.ZodString;
|
|
9
|
+
description: z.ZodOptional<z.ZodString>;
|
|
10
|
+
access: z.ZodArray<z.ZodString, "many">;
|
|
11
|
+
createdAt: z.ZodString;
|
|
12
|
+
updatedAt: z.ZodString;
|
|
13
|
+
version: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
14
|
+
}, "strip", z.ZodTypeAny, {
|
|
15
|
+
name: string;
|
|
16
|
+
id: string;
|
|
17
|
+
version: string;
|
|
18
|
+
createdAt: string;
|
|
19
|
+
updatedAt: string;
|
|
20
|
+
access: string[];
|
|
21
|
+
description?: string | undefined;
|
|
22
|
+
}, {
|
|
23
|
+
name: string;
|
|
24
|
+
id: string;
|
|
25
|
+
createdAt: string;
|
|
26
|
+
updatedAt: string;
|
|
27
|
+
access: string[];
|
|
28
|
+
version?: string | undefined;
|
|
29
|
+
description?: string | undefined;
|
|
30
|
+
}>;
|
|
31
|
+
/**
|
|
32
|
+
* Infer the RoleJSON type from the schema
|
|
33
|
+
*/
|
|
34
|
+
export type RoleJSON = z.infer<typeof RoleJSONSchema>;
|
|
2
35
|
export declare class Role {
|
|
3
36
|
readonly id: string;
|
|
4
37
|
readonly name: string;
|
|
@@ -9,5 +42,20 @@ export declare class Role {
|
|
|
9
42
|
constructor(data: RoleDTO);
|
|
10
43
|
hasPermission(permission: string): boolean;
|
|
11
44
|
static from(data: RoleDTO): Role | undefined;
|
|
12
|
-
|
|
45
|
+
/**
|
|
46
|
+
* Serializes the Role instance to a JSON-compatible object
|
|
47
|
+
*/
|
|
48
|
+
toJSON(): RoleJSON;
|
|
49
|
+
/**
|
|
50
|
+
* Serializes the Role instance to a JSON string
|
|
51
|
+
*/
|
|
52
|
+
toJSONString(): string;
|
|
53
|
+
/**
|
|
54
|
+
* Creates a Role instance from a JSON-compatible object or string
|
|
55
|
+
*/
|
|
56
|
+
static fromJSON(json: RoleJSON | string): Role | undefined;
|
|
57
|
+
/**
|
|
58
|
+
* Type guard using Zod schema validation
|
|
59
|
+
*/
|
|
60
|
+
static isRoleJSON(obj: unknown): obj is RoleJSON;
|
|
13
61
|
}
|
|
@@ -319,10 +319,12 @@ export declare const teamManagementContract: {
|
|
|
319
319
|
identity: z.ZodString;
|
|
320
320
|
type: z.ZodString;
|
|
321
321
|
profileId: z.ZodString;
|
|
322
|
+
resetPassword: z.ZodBoolean;
|
|
322
323
|
roleId: z.ZodString;
|
|
323
324
|
isActive: z.ZodBoolean;
|
|
324
325
|
isArchived: z.ZodBoolean;
|
|
325
326
|
createdAt: z.ZodString;
|
|
327
|
+
updatedAt: z.ZodString;
|
|
326
328
|
}, "strip", z.ZodTypeAny, {
|
|
327
329
|
type: string;
|
|
328
330
|
name: string;
|
|
@@ -332,7 +334,9 @@ export declare const teamManagementContract: {
|
|
|
332
334
|
roleId: string;
|
|
333
335
|
isActive: boolean;
|
|
334
336
|
isArchived: boolean;
|
|
337
|
+
resetPassword: boolean;
|
|
335
338
|
createdAt: string;
|
|
339
|
+
updatedAt: string;
|
|
336
340
|
}, {
|
|
337
341
|
type: string;
|
|
338
342
|
name: string;
|
|
@@ -342,7 +346,9 @@ export declare const teamManagementContract: {
|
|
|
342
346
|
roleId: string;
|
|
343
347
|
isActive: boolean;
|
|
344
348
|
isArchived: boolean;
|
|
349
|
+
resetPassword: boolean;
|
|
345
350
|
createdAt: string;
|
|
351
|
+
updatedAt: string;
|
|
346
352
|
}>;
|
|
347
353
|
400: z.ZodObject<{
|
|
348
354
|
message: z.ZodOptional<z.ZodString>;
|
|
@@ -195,10 +195,12 @@ export declare const TeamManagementDTOSchemas: {
|
|
|
195
195
|
identity: z.ZodString;
|
|
196
196
|
type: z.ZodString;
|
|
197
197
|
profileId: z.ZodString;
|
|
198
|
+
resetPassword: z.ZodBoolean;
|
|
198
199
|
roleId: z.ZodString;
|
|
199
200
|
isActive: z.ZodBoolean;
|
|
200
201
|
isArchived: z.ZodBoolean;
|
|
201
202
|
createdAt: z.ZodString;
|
|
203
|
+
updatedAt: z.ZodString;
|
|
202
204
|
}, "strip", z.ZodTypeAny, {
|
|
203
205
|
type: string;
|
|
204
206
|
name: string;
|
|
@@ -208,7 +210,9 @@ export declare const TeamManagementDTOSchemas: {
|
|
|
208
210
|
roleId: string;
|
|
209
211
|
isActive: boolean;
|
|
210
212
|
isArchived: boolean;
|
|
213
|
+
resetPassword: boolean;
|
|
211
214
|
createdAt: string;
|
|
215
|
+
updatedAt: string;
|
|
212
216
|
}, {
|
|
213
217
|
type: string;
|
|
214
218
|
name: string;
|
|
@@ -218,7 +222,9 @@ export declare const TeamManagementDTOSchemas: {
|
|
|
218
222
|
roleId: string;
|
|
219
223
|
isActive: boolean;
|
|
220
224
|
isArchived: boolean;
|
|
225
|
+
resetPassword: boolean;
|
|
221
226
|
createdAt: string;
|
|
227
|
+
updatedAt: string;
|
|
222
228
|
}>;
|
|
223
229
|
password: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>, string, string>;
|
|
224
230
|
};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import z from "zod";
|
|
1
2
|
import { Role } from "./role.model.js";
|
|
2
3
|
import { RoleDTO } from "./team-member.dtos.js";
|
|
3
4
|
export interface TeamMemberData {
|
|
@@ -14,6 +15,93 @@ export interface TeamMemberData {
|
|
|
14
15
|
createdAt: string;
|
|
15
16
|
updatedAt: string;
|
|
16
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* Zod schema for TeamMember JSON serialization
|
|
20
|
+
*/
|
|
21
|
+
export declare const TeamMemberJSONSchema: z.ZodObject<{
|
|
22
|
+
id: z.ZodString;
|
|
23
|
+
name: z.ZodString;
|
|
24
|
+
identity: z.ZodString;
|
|
25
|
+
type: z.ZodString;
|
|
26
|
+
profileId: z.ZodString;
|
|
27
|
+
roleId: z.ZodString;
|
|
28
|
+
resetPassword: z.ZodBoolean;
|
|
29
|
+
isActive: z.ZodBoolean;
|
|
30
|
+
isArchived: z.ZodBoolean;
|
|
31
|
+
role: z.ZodOptional<z.ZodObject<{
|
|
32
|
+
id: z.ZodString;
|
|
33
|
+
name: z.ZodString;
|
|
34
|
+
description: z.ZodOptional<z.ZodString>;
|
|
35
|
+
access: z.ZodArray<z.ZodString, "many">;
|
|
36
|
+
createdAt: z.ZodString;
|
|
37
|
+
updatedAt: z.ZodString;
|
|
38
|
+
version: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
39
|
+
}, "strip", z.ZodTypeAny, {
|
|
40
|
+
name: string;
|
|
41
|
+
id: string;
|
|
42
|
+
version: string;
|
|
43
|
+
createdAt: string;
|
|
44
|
+
updatedAt: string;
|
|
45
|
+
access: string[];
|
|
46
|
+
description?: string | undefined;
|
|
47
|
+
}, {
|
|
48
|
+
name: string;
|
|
49
|
+
id: string;
|
|
50
|
+
createdAt: string;
|
|
51
|
+
updatedAt: string;
|
|
52
|
+
access: string[];
|
|
53
|
+
version?: string | undefined;
|
|
54
|
+
description?: string | undefined;
|
|
55
|
+
}>>;
|
|
56
|
+
createdAt: z.ZodString;
|
|
57
|
+
updatedAt: z.ZodString;
|
|
58
|
+
version: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
59
|
+
}, "strip", z.ZodTypeAny, {
|
|
60
|
+
type: string;
|
|
61
|
+
name: string;
|
|
62
|
+
id: string;
|
|
63
|
+
version: string;
|
|
64
|
+
profileId: string;
|
|
65
|
+
identity: string;
|
|
66
|
+
roleId: string;
|
|
67
|
+
isActive: boolean;
|
|
68
|
+
isArchived: boolean;
|
|
69
|
+
resetPassword: boolean;
|
|
70
|
+
createdAt: string;
|
|
71
|
+
updatedAt: string;
|
|
72
|
+
role?: {
|
|
73
|
+
name: string;
|
|
74
|
+
id: string;
|
|
75
|
+
version: string;
|
|
76
|
+
createdAt: string;
|
|
77
|
+
updatedAt: string;
|
|
78
|
+
access: string[];
|
|
79
|
+
description?: string | undefined;
|
|
80
|
+
} | undefined;
|
|
81
|
+
}, {
|
|
82
|
+
type: string;
|
|
83
|
+
name: string;
|
|
84
|
+
id: string;
|
|
85
|
+
profileId: string;
|
|
86
|
+
identity: string;
|
|
87
|
+
roleId: string;
|
|
88
|
+
isActive: boolean;
|
|
89
|
+
isArchived: boolean;
|
|
90
|
+
resetPassword: boolean;
|
|
91
|
+
createdAt: string;
|
|
92
|
+
updatedAt: string;
|
|
93
|
+
version?: string | undefined;
|
|
94
|
+
role?: {
|
|
95
|
+
name: string;
|
|
96
|
+
id: string;
|
|
97
|
+
createdAt: string;
|
|
98
|
+
updatedAt: string;
|
|
99
|
+
access: string[];
|
|
100
|
+
version?: string | undefined;
|
|
101
|
+
description?: string | undefined;
|
|
102
|
+
} | undefined;
|
|
103
|
+
}>;
|
|
104
|
+
export type TeamMemberJSON = z.infer<typeof TeamMemberJSONSchema>;
|
|
17
105
|
/**
|
|
18
106
|
* Represents a team member from the admin management perspective.
|
|
19
107
|
*
|
|
@@ -123,15 +211,27 @@ export declare class TeamMember {
|
|
|
123
211
|
*/
|
|
124
212
|
getLastUpdateInfo(): string;
|
|
125
213
|
/**
|
|
126
|
-
|
|
214
|
+
* Serializes the TeamMember instance to a JSON-compatible object
|
|
215
|
+
*/
|
|
216
|
+
toJSON(): TeamMemberJSON;
|
|
217
|
+
/**
|
|
218
|
+
* Serializes the TeamMember instance to a JSON string
|
|
219
|
+
*/
|
|
220
|
+
toJSONString(): string;
|
|
221
|
+
/**
|
|
222
|
+
* Creates a TeamMember instance from a JSON-compatible object or string
|
|
223
|
+
*/
|
|
224
|
+
static fromJSON(json: TeamMemberJSON | string): TeamMember | undefined;
|
|
225
|
+
/**
|
|
226
|
+
* Type guard using Zod schema validation
|
|
127
227
|
*/
|
|
128
|
-
|
|
228
|
+
static isTeamMemberJSON(obj: unknown): obj is TeamMemberJSON;
|
|
129
229
|
/**
|
|
130
|
-
*
|
|
230
|
+
* Creates multiple TeamMember instances from a JSON array
|
|
131
231
|
*/
|
|
132
|
-
|
|
232
|
+
static fromJSONArray(jsonArray: TeamMemberJSON[] | string): TeamMember[];
|
|
133
233
|
/**
|
|
134
|
-
*
|
|
234
|
+
* Serializes an array of TeamMember instances to JSON
|
|
135
235
|
*/
|
|
136
|
-
|
|
236
|
+
static toJSONArray(members: TeamMember[]): TeamMemberJSON[];
|
|
137
237
|
}
|