@r2wa-org/eden 0.0.112 → 0.0.113

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.
Files changed (49) hide show
  1. package/dist/admin/index.d.ts +261 -3
  2. package/dist/asset-price/user/router.d.ts +1 -13
  3. package/dist/auth/better-auth.d.ts +7 -1
  4. package/dist/auth/permissions.d.ts +6 -1
  5. package/dist/auth/roles.d.ts +15 -0
  6. package/dist/content-video/internal/service.d.ts +2 -2
  7. package/dist/db/schemas.d.ts +1 -0
  8. package/dist/deposit/user/router.d.ts +13 -1
  9. package/dist/file-storage/admin/dto.schemas.d.ts +4 -0
  10. package/dist/file-storage/admin/router.d.ts +2 -2
  11. package/dist/file-storage/admin/service.d.ts +2 -2
  12. package/dist/file-storage/db.schemas.d.ts +4 -4
  13. package/dist/file-storage/internal/service.d.ts +1 -1
  14. package/dist/file-storage/s3.client.d.ts +12 -0
  15. package/dist/file-storage/schema.d.ts +3 -3
  16. package/dist/file-storage/share/dto.schemas.d.ts +1 -0
  17. package/dist/file-storage/share/router.d.ts +1 -1
  18. package/dist/file-storage/user/dto.schemas.d.ts +6 -4
  19. package/dist/file-storage/user/router.d.ts +3 -3
  20. package/dist/file-storage/user/service.d.ts +2 -2
  21. package/dist/index.d.ts +481 -7
  22. package/dist/ledger/admin/router.d.ts +13 -1
  23. package/dist/live-stream-video/internal/service.d.ts +2 -2
  24. package/dist/meeting-check-in/admin/import.dto.schemas.d.ts +660 -0
  25. package/dist/meeting-check-in/admin/import.router.d.ts +711 -0
  26. package/dist/meeting-check-in/admin/import.service.d.ts +101 -0
  27. package/dist/meeting-check-in/admin/router.d.ts +259 -13
  28. package/dist/meeting-check-in/constants.d.ts +4 -0
  29. package/dist/meeting-check-in/errors/index.d.ts +6 -0
  30. package/dist/meeting-check-in/errors/locales/zh.d.ts +6 -0
  31. package/dist/meeting-check-in/import.db.schemas.d.ts +1132 -0
  32. package/dist/meeting-check-in/import.schema.d.ts +589 -0
  33. package/dist/meeting-check-in/index.d.ts +18 -0
  34. package/dist/meeting-check-in/internal/check-in.service.d.ts +33 -0
  35. package/dist/meeting-check-in/internal/import.service.d.ts +22 -0
  36. package/dist/meeting-check-in/internal/reward.service.d.ts +72 -0
  37. package/dist/meeting-check-in/permissions.d.ts +1 -0
  38. package/dist/meeting-check-in/user/check-in.dto.schemas.d.ts +337 -0
  39. package/dist/meeting-check-in/user/check-in.service.d.ts +31 -0
  40. package/dist/meeting-check-in/user/reward.dto.schemas.d.ts +136 -0
  41. package/dist/meeting-check-in/user/reward.service.d.ts +62 -0
  42. package/dist/meeting-check-in/user/router.d.ts +1596 -0
  43. package/dist/meeting-check-in/worker.d.ts +1 -0
  44. package/dist/news/admin/router.d.ts +1 -1
  45. package/dist/news/admin/service.d.ts +1 -1
  46. package/dist/news/user/service.d.ts +2 -2
  47. package/dist/trade-market/user/router.d.ts +1 -13
  48. package/dist/user-kyc/admin/router.d.ts +13 -1
  49. package/package.json +1 -1
@@ -0,0 +1,72 @@
1
+ export declare abstract class InternalMeetingRewardService {
2
+ static sortAttendeeTiers<T extends {
3
+ sortOrder: number;
4
+ consecutiveDay: number;
5
+ }>(tiers: T[]): T[];
6
+ static sortReferralTiers<T extends {
7
+ sortOrder: number;
8
+ refereeMinStreakDays: number;
9
+ }>(tiers: T[]): T[];
10
+ /** 查询已启用的会议参会奖励方案(含已启用档位),未配置或未启用时返回 null */
11
+ static getActiveAttendeeRewardPlan(): Promise<{
12
+ id: string;
13
+ name: string;
14
+ cashAsset: {
15
+ code: string;
16
+ iconUrl: string;
17
+ id: string;
18
+ isActive: boolean;
19
+ name: string;
20
+ precision: number;
21
+ symbol: string | null;
22
+ };
23
+ coinAsset: {
24
+ code: string;
25
+ iconUrl: string;
26
+ id: string;
27
+ isActive: boolean;
28
+ name: string;
29
+ precision: number;
30
+ symbol: string | null;
31
+ };
32
+ tiers: {
33
+ id: string;
34
+ consecutiveDay: number;
35
+ cashAmount: string;
36
+ coinAmount: string;
37
+ coinBonusAmount: string;
38
+ sortOrder: number;
39
+ }[];
40
+ } | null>;
41
+ /** 查询已启用的会议推荐奖励方案(含已启用档位),未配置或未启用时返回 null */
42
+ static getActiveReferralRewardPlan(): Promise<{
43
+ id: string;
44
+ name: string;
45
+ cashAsset: {
46
+ code: string;
47
+ iconUrl: string;
48
+ id: string;
49
+ isActive: boolean;
50
+ name: string;
51
+ precision: number;
52
+ symbol: string | null;
53
+ };
54
+ coinAsset: {
55
+ code: string;
56
+ iconUrl: string;
57
+ id: string;
58
+ isActive: boolean;
59
+ name: string;
60
+ precision: number;
61
+ symbol: string | null;
62
+ };
63
+ tiers: {
64
+ id: string;
65
+ refereeMinStreakDays: number;
66
+ refereeMaxStreakDays: number | null;
67
+ cashAmount: string;
68
+ coinAmount: string;
69
+ sortOrder: number;
70
+ }[];
71
+ } | null>;
72
+ }
@@ -1,4 +1,5 @@
1
1
  export declare const meetingCheckInPermissions: {
2
2
  readonly 'meeting_check_in:reward_config': readonly ['create', 'read', 'update', 'delete', 'list'];
3
+ readonly 'meeting_check_in:import': readonly ['create', 'read', 'list'];
3
4
  };
4
5
  export type MeetingCheckInPermission = keyof typeof meetingCheckInPermissions;
@@ -0,0 +1,337 @@
1
+ export declare const meetingCheckInSummaryResponseSchema: import("@sinclair/typebox").TObject<{
2
+ totalDays: import("@sinclair/typebox").TInteger;
3
+ currentStreakDays: import("@sinclair/typebox").TInteger;
4
+ checkedInToday: import("@sinclair/typebox").TBoolean;
5
+ }>;
6
+ export declare const meetingCheckInTodayStatusResponseSchema: import("@sinclair/typebox").TObject<{
7
+ checkedInToday: import("@sinclair/typebox").TBoolean;
8
+ }>;
9
+ export declare const meetingCheckInStatsQuerySchema: import("@sinclair/typebox").TObject<{}>;
10
+ export declare const meetingCheckInTodayQuerySchema: import("@sinclair/typebox").TObject<{}>;
11
+ export declare const meetingCheckInListQuerySchema: import("@sinclair/typebox").TObject<{
12
+ endDate: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TDate>;
13
+ limit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
14
+ offset: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
15
+ pageIndex: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
16
+ pageSize: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
17
+ startDate: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TDate>;
18
+ }>;
19
+ export declare const meetingCheckInListResponseSchema: import("@sinclair/typebox").TObject<{
20
+ data: import("@sinclair/typebox").TArray<import("drizzle-typebox").BuildSchema<"select", {
21
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
22
+ name: "created_at";
23
+ tableName: "user_checkIn";
24
+ dataType: "date";
25
+ columnType: "PgTimestamp";
26
+ data: Date;
27
+ driverParam: string;
28
+ notNull: true;
29
+ hasDefault: true;
30
+ isPrimaryKey: false;
31
+ isAutoincrement: false;
32
+ hasRuntimeDefault: false;
33
+ enumValues: undefined;
34
+ baseColumn: never;
35
+ identity: undefined;
36
+ generated: undefined;
37
+ }, {}, {}>;
38
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
39
+ name: "updated_at";
40
+ tableName: "user_checkIn";
41
+ dataType: "date";
42
+ columnType: "PgTimestamp";
43
+ data: Date;
44
+ driverParam: string;
45
+ notNull: true;
46
+ hasDefault: true;
47
+ isPrimaryKey: false;
48
+ isAutoincrement: false;
49
+ hasRuntimeDefault: false;
50
+ enumValues: undefined;
51
+ baseColumn: never;
52
+ identity: undefined;
53
+ generated: undefined;
54
+ }, {}, {}>;
55
+ id: import("drizzle-orm/pg-core").PgColumn<{
56
+ name: "id";
57
+ tableName: "user_checkIn";
58
+ dataType: "string";
59
+ columnType: "PgUUID";
60
+ data: string;
61
+ driverParam: string;
62
+ notNull: true;
63
+ hasDefault: true;
64
+ isPrimaryKey: true;
65
+ isAutoincrement: false;
66
+ hasRuntimeDefault: false;
67
+ enumValues: undefined;
68
+ baseColumn: never;
69
+ identity: undefined;
70
+ generated: undefined;
71
+ }, {}, {}>;
72
+ userId: import("drizzle-orm/pg-core").PgColumn<{
73
+ name: "user_id";
74
+ tableName: "user_checkIn";
75
+ dataType: "string";
76
+ columnType: "PgText";
77
+ data: string;
78
+ driverParam: string;
79
+ notNull: true;
80
+ hasDefault: false;
81
+ isPrimaryKey: false;
82
+ isAutoincrement: false;
83
+ hasRuntimeDefault: false;
84
+ enumValues: [string, ...string[]];
85
+ baseColumn: never;
86
+ identity: undefined;
87
+ generated: undefined;
88
+ }, {}, {}>;
89
+ checkInType: import("drizzle-orm/pg-core").PgColumn<{
90
+ name: "check_in_type";
91
+ tableName: "user_checkIn";
92
+ dataType: "string";
93
+ columnType: "PgEnumColumn";
94
+ data: "app" | "meeting";
95
+ driverParam: string;
96
+ notNull: true;
97
+ hasDefault: true;
98
+ isPrimaryKey: false;
99
+ isAutoincrement: false;
100
+ hasRuntimeDefault: false;
101
+ enumValues: ["app", "meeting"];
102
+ baseColumn: never;
103
+ identity: undefined;
104
+ generated: undefined;
105
+ }, {}, {}>;
106
+ checkInAt: import("drizzle-orm/pg-core").PgColumn<{
107
+ name: "check_in_at";
108
+ tableName: "user_checkIn";
109
+ dataType: "date";
110
+ columnType: "PgTimestamp";
111
+ data: Date;
112
+ driverParam: string;
113
+ notNull: true;
114
+ hasDefault: false;
115
+ isPrimaryKey: false;
116
+ isAutoincrement: false;
117
+ hasRuntimeDefault: false;
118
+ enumValues: undefined;
119
+ baseColumn: never;
120
+ identity: undefined;
121
+ generated: undefined;
122
+ }, {}, {}>;
123
+ checkInTimezone: import("drizzle-orm/pg-core").PgColumn<{
124
+ name: "check_in_timezone";
125
+ tableName: "user_checkIn";
126
+ dataType: "string";
127
+ columnType: "PgText";
128
+ data: string;
129
+ driverParam: string;
130
+ notNull: true;
131
+ hasDefault: false;
132
+ isPrimaryKey: false;
133
+ isAutoincrement: false;
134
+ hasRuntimeDefault: false;
135
+ enumValues: [string, ...string[]];
136
+ baseColumn: never;
137
+ identity: undefined;
138
+ generated: undefined;
139
+ }, {}, {}>;
140
+ checkInOffsetMinutes: import("drizzle-orm/pg-core").PgColumn<{
141
+ name: "check_in_offset_minutes";
142
+ tableName: "user_checkIn";
143
+ dataType: "number";
144
+ columnType: "PgInteger";
145
+ data: number;
146
+ driverParam: string | number;
147
+ notNull: false;
148
+ hasDefault: false;
149
+ isPrimaryKey: false;
150
+ isAutoincrement: false;
151
+ hasRuntimeDefault: false;
152
+ enumValues: undefined;
153
+ baseColumn: never;
154
+ identity: undefined;
155
+ generated: undefined;
156
+ }, {}, {}>;
157
+ checkInLocalDate: import("drizzle-orm/pg-core").PgColumn<{
158
+ name: "check_in_local_date";
159
+ tableName: "user_checkIn";
160
+ dataType: "string";
161
+ columnType: "PgText";
162
+ data: string;
163
+ driverParam: string;
164
+ notNull: true;
165
+ hasDefault: false;
166
+ isPrimaryKey: false;
167
+ isAutoincrement: false;
168
+ hasRuntimeDefault: false;
169
+ enumValues: [string, ...string[]];
170
+ baseColumn: never;
171
+ identity: undefined;
172
+ generated: undefined;
173
+ }, {}, {}>;
174
+ }, undefined>>;
175
+ pagination: import("@sinclair/typebox").TObject<{
176
+ pageSize: import("@sinclair/typebox").TNumber;
177
+ pageIndex: import("@sinclair/typebox").TNumber;
178
+ total: import("@sinclair/typebox").TNumber;
179
+ totalPages: import("@sinclair/typebox").TNumber;
180
+ hasNextPage: import("@sinclair/typebox").TBoolean;
181
+ }>;
182
+ }>;
183
+ export declare const meetingCheckInResponseSchema: import("drizzle-typebox").BuildSchema<"select", {
184
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
185
+ name: "created_at";
186
+ tableName: "user_checkIn";
187
+ dataType: "date";
188
+ columnType: "PgTimestamp";
189
+ data: Date;
190
+ driverParam: string;
191
+ notNull: true;
192
+ hasDefault: true;
193
+ isPrimaryKey: false;
194
+ isAutoincrement: false;
195
+ hasRuntimeDefault: false;
196
+ enumValues: undefined;
197
+ baseColumn: never;
198
+ identity: undefined;
199
+ generated: undefined;
200
+ }, {}, {}>;
201
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
202
+ name: "updated_at";
203
+ tableName: "user_checkIn";
204
+ dataType: "date";
205
+ columnType: "PgTimestamp";
206
+ data: Date;
207
+ driverParam: string;
208
+ notNull: true;
209
+ hasDefault: true;
210
+ isPrimaryKey: false;
211
+ isAutoincrement: false;
212
+ hasRuntimeDefault: false;
213
+ enumValues: undefined;
214
+ baseColumn: never;
215
+ identity: undefined;
216
+ generated: undefined;
217
+ }, {}, {}>;
218
+ id: import("drizzle-orm/pg-core").PgColumn<{
219
+ name: "id";
220
+ tableName: "user_checkIn";
221
+ dataType: "string";
222
+ columnType: "PgUUID";
223
+ data: string;
224
+ driverParam: string;
225
+ notNull: true;
226
+ hasDefault: true;
227
+ isPrimaryKey: true;
228
+ isAutoincrement: false;
229
+ hasRuntimeDefault: false;
230
+ enumValues: undefined;
231
+ baseColumn: never;
232
+ identity: undefined;
233
+ generated: undefined;
234
+ }, {}, {}>;
235
+ userId: import("drizzle-orm/pg-core").PgColumn<{
236
+ name: "user_id";
237
+ tableName: "user_checkIn";
238
+ dataType: "string";
239
+ columnType: "PgText";
240
+ data: string;
241
+ driverParam: string;
242
+ notNull: true;
243
+ hasDefault: false;
244
+ isPrimaryKey: false;
245
+ isAutoincrement: false;
246
+ hasRuntimeDefault: false;
247
+ enumValues: [string, ...string[]];
248
+ baseColumn: never;
249
+ identity: undefined;
250
+ generated: undefined;
251
+ }, {}, {}>;
252
+ checkInType: import("drizzle-orm/pg-core").PgColumn<{
253
+ name: "check_in_type";
254
+ tableName: "user_checkIn";
255
+ dataType: "string";
256
+ columnType: "PgEnumColumn";
257
+ data: "app" | "meeting";
258
+ driverParam: string;
259
+ notNull: true;
260
+ hasDefault: true;
261
+ isPrimaryKey: false;
262
+ isAutoincrement: false;
263
+ hasRuntimeDefault: false;
264
+ enumValues: ["app", "meeting"];
265
+ baseColumn: never;
266
+ identity: undefined;
267
+ generated: undefined;
268
+ }, {}, {}>;
269
+ checkInAt: import("drizzle-orm/pg-core").PgColumn<{
270
+ name: "check_in_at";
271
+ tableName: "user_checkIn";
272
+ dataType: "date";
273
+ columnType: "PgTimestamp";
274
+ data: Date;
275
+ driverParam: string;
276
+ notNull: true;
277
+ hasDefault: false;
278
+ isPrimaryKey: false;
279
+ isAutoincrement: false;
280
+ hasRuntimeDefault: false;
281
+ enumValues: undefined;
282
+ baseColumn: never;
283
+ identity: undefined;
284
+ generated: undefined;
285
+ }, {}, {}>;
286
+ checkInTimezone: import("drizzle-orm/pg-core").PgColumn<{
287
+ name: "check_in_timezone";
288
+ tableName: "user_checkIn";
289
+ dataType: "string";
290
+ columnType: "PgText";
291
+ data: string;
292
+ driverParam: string;
293
+ notNull: true;
294
+ hasDefault: false;
295
+ isPrimaryKey: false;
296
+ isAutoincrement: false;
297
+ hasRuntimeDefault: false;
298
+ enumValues: [string, ...string[]];
299
+ baseColumn: never;
300
+ identity: undefined;
301
+ generated: undefined;
302
+ }, {}, {}>;
303
+ checkInOffsetMinutes: import("drizzle-orm/pg-core").PgColumn<{
304
+ name: "check_in_offset_minutes";
305
+ tableName: "user_checkIn";
306
+ dataType: "number";
307
+ columnType: "PgInteger";
308
+ data: number;
309
+ driverParam: string | number;
310
+ notNull: false;
311
+ hasDefault: false;
312
+ isPrimaryKey: false;
313
+ isAutoincrement: false;
314
+ hasRuntimeDefault: false;
315
+ enumValues: undefined;
316
+ baseColumn: never;
317
+ identity: undefined;
318
+ generated: undefined;
319
+ }, {}, {}>;
320
+ checkInLocalDate: import("drizzle-orm/pg-core").PgColumn<{
321
+ name: "check_in_local_date";
322
+ tableName: "user_checkIn";
323
+ dataType: "string";
324
+ columnType: "PgText";
325
+ data: string;
326
+ driverParam: string;
327
+ notNull: true;
328
+ hasDefault: false;
329
+ isPrimaryKey: false;
330
+ isAutoincrement: false;
331
+ hasRuntimeDefault: false;
332
+ enumValues: [string, ...string[]];
333
+ baseColumn: never;
334
+ identity: undefined;
335
+ generated: undefined;
336
+ }, {}, {}>;
337
+ }, undefined>;
@@ -0,0 +1,31 @@
1
+ export declare abstract class UserMeetingCheckInService {
2
+ static getMySummary(userId: string): Promise<{
3
+ totalDays: number;
4
+ currentStreakDays: number;
5
+ checkedInToday: boolean;
6
+ }>;
7
+ static getMyTodayStatus(userId: string): Promise<{
8
+ checkedInToday: boolean;
9
+ }>;
10
+ static listMyCheckIns(userId: string, filters: {
11
+ startDate?: Date;
12
+ endDate?: Date;
13
+ limit: number;
14
+ offset: number;
15
+ }): Promise<{
16
+ items: {
17
+ checkInAt: Date;
18
+ checkInLocalDate: string;
19
+ checkInOffsetMinutes: number | null;
20
+ checkInTimezone: string;
21
+ checkInType: "app" | "meeting";
22
+ createdAt: Date;
23
+ id: string;
24
+ updatedAt: Date;
25
+ userId: string;
26
+ }[];
27
+ total: number;
28
+ limit: number;
29
+ offset: number;
30
+ }>;
31
+ }
@@ -0,0 +1,136 @@
1
+ export declare const meetingAttendeeRewardTierAppResponseSchema: import("@sinclair/typebox").TObject<{
2
+ id: import("@sinclair/typebox").TString;
3
+ consecutiveDay: import("@sinclair/typebox").TInteger;
4
+ cashAmount: import("@sinclair/typebox").TString;
5
+ coinAmount: import("@sinclair/typebox").TString;
6
+ coinBonusAmount: import("@sinclair/typebox").TString;
7
+ sortOrder: import("@sinclair/typebox").TInteger;
8
+ }>;
9
+ export declare const meetingAttendeeRewardPlanAppResponseSchema: import("@sinclair/typebox").TObject<{
10
+ id: import("@sinclair/typebox").TString;
11
+ name: import("@sinclair/typebox").TString;
12
+ cashAsset: import("@sinclair/typebox").TObject<{
13
+ id: import("@sinclair/typebox").TString;
14
+ code: import("@sinclair/typebox").TString;
15
+ name: import("@sinclair/typebox").TString;
16
+ iconUrl: import("@sinclair/typebox").TString;
17
+ symbol: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
18
+ precision: import("@sinclair/typebox").TInteger;
19
+ isActive: import("@sinclair/typebox").TBoolean;
20
+ }>;
21
+ coinAsset: import("@sinclair/typebox").TObject<{
22
+ id: import("@sinclair/typebox").TString;
23
+ code: import("@sinclair/typebox").TString;
24
+ name: import("@sinclair/typebox").TString;
25
+ iconUrl: import("@sinclair/typebox").TString;
26
+ symbol: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
27
+ precision: import("@sinclair/typebox").TInteger;
28
+ isActive: import("@sinclair/typebox").TBoolean;
29
+ }>;
30
+ tiers: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
31
+ id: import("@sinclair/typebox").TString;
32
+ consecutiveDay: import("@sinclair/typebox").TInteger;
33
+ cashAmount: import("@sinclair/typebox").TString;
34
+ coinAmount: import("@sinclair/typebox").TString;
35
+ coinBonusAmount: import("@sinclair/typebox").TString;
36
+ sortOrder: import("@sinclair/typebox").TInteger;
37
+ }>>;
38
+ }>;
39
+ export declare const meetingAttendeeRewardPlanAppNullableResponseSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
40
+ id: import("@sinclair/typebox").TString;
41
+ name: import("@sinclair/typebox").TString;
42
+ cashAsset: import("@sinclair/typebox").TObject<{
43
+ id: import("@sinclair/typebox").TString;
44
+ code: import("@sinclair/typebox").TString;
45
+ name: import("@sinclair/typebox").TString;
46
+ iconUrl: import("@sinclair/typebox").TString;
47
+ symbol: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
48
+ precision: import("@sinclair/typebox").TInteger;
49
+ isActive: import("@sinclair/typebox").TBoolean;
50
+ }>;
51
+ coinAsset: import("@sinclair/typebox").TObject<{
52
+ id: import("@sinclair/typebox").TString;
53
+ code: import("@sinclair/typebox").TString;
54
+ name: import("@sinclair/typebox").TString;
55
+ iconUrl: import("@sinclair/typebox").TString;
56
+ symbol: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
57
+ precision: import("@sinclair/typebox").TInteger;
58
+ isActive: import("@sinclair/typebox").TBoolean;
59
+ }>;
60
+ tiers: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
61
+ id: import("@sinclair/typebox").TString;
62
+ consecutiveDay: import("@sinclair/typebox").TInteger;
63
+ cashAmount: import("@sinclair/typebox").TString;
64
+ coinAmount: import("@sinclair/typebox").TString;
65
+ coinBonusAmount: import("@sinclair/typebox").TString;
66
+ sortOrder: import("@sinclair/typebox").TInteger;
67
+ }>>;
68
+ }>, import("@sinclair/typebox").TNull]>;
69
+ export declare const meetingReferralRewardTierAppResponseSchema: import("@sinclair/typebox").TObject<{
70
+ id: import("@sinclair/typebox").TString;
71
+ refereeMinStreakDays: import("@sinclair/typebox").TInteger;
72
+ refereeMaxStreakDays: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>;
73
+ cashAmount: import("@sinclair/typebox").TString;
74
+ coinAmount: import("@sinclair/typebox").TString;
75
+ sortOrder: import("@sinclair/typebox").TInteger;
76
+ }>;
77
+ export declare const meetingReferralRewardPlanAppResponseSchema: import("@sinclair/typebox").TObject<{
78
+ id: import("@sinclair/typebox").TString;
79
+ name: import("@sinclair/typebox").TString;
80
+ cashAsset: import("@sinclair/typebox").TObject<{
81
+ id: import("@sinclair/typebox").TString;
82
+ code: import("@sinclair/typebox").TString;
83
+ name: import("@sinclair/typebox").TString;
84
+ iconUrl: import("@sinclair/typebox").TString;
85
+ symbol: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
86
+ precision: import("@sinclair/typebox").TInteger;
87
+ isActive: import("@sinclair/typebox").TBoolean;
88
+ }>;
89
+ coinAsset: import("@sinclair/typebox").TObject<{
90
+ id: import("@sinclair/typebox").TString;
91
+ code: import("@sinclair/typebox").TString;
92
+ name: import("@sinclair/typebox").TString;
93
+ iconUrl: import("@sinclair/typebox").TString;
94
+ symbol: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
95
+ precision: import("@sinclair/typebox").TInteger;
96
+ isActive: import("@sinclair/typebox").TBoolean;
97
+ }>;
98
+ tiers: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
99
+ id: import("@sinclair/typebox").TString;
100
+ refereeMinStreakDays: import("@sinclair/typebox").TInteger;
101
+ refereeMaxStreakDays: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>;
102
+ cashAmount: import("@sinclair/typebox").TString;
103
+ coinAmount: import("@sinclair/typebox").TString;
104
+ sortOrder: import("@sinclair/typebox").TInteger;
105
+ }>>;
106
+ }>;
107
+ export declare const meetingReferralRewardPlanAppNullableResponseSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
108
+ id: import("@sinclair/typebox").TString;
109
+ name: import("@sinclair/typebox").TString;
110
+ cashAsset: import("@sinclair/typebox").TObject<{
111
+ id: import("@sinclair/typebox").TString;
112
+ code: import("@sinclair/typebox").TString;
113
+ name: import("@sinclair/typebox").TString;
114
+ iconUrl: import("@sinclair/typebox").TString;
115
+ symbol: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
116
+ precision: import("@sinclair/typebox").TInteger;
117
+ isActive: import("@sinclair/typebox").TBoolean;
118
+ }>;
119
+ coinAsset: import("@sinclair/typebox").TObject<{
120
+ id: import("@sinclair/typebox").TString;
121
+ code: import("@sinclair/typebox").TString;
122
+ name: import("@sinclair/typebox").TString;
123
+ iconUrl: import("@sinclair/typebox").TString;
124
+ symbol: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
125
+ precision: import("@sinclair/typebox").TInteger;
126
+ isActive: import("@sinclair/typebox").TBoolean;
127
+ }>;
128
+ tiers: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
129
+ id: import("@sinclair/typebox").TString;
130
+ refereeMinStreakDays: import("@sinclair/typebox").TInteger;
131
+ refereeMaxStreakDays: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>;
132
+ cashAmount: import("@sinclair/typebox").TString;
133
+ coinAmount: import("@sinclair/typebox").TString;
134
+ sortOrder: import("@sinclair/typebox").TInteger;
135
+ }>>;
136
+ }>, import("@sinclair/typebox").TNull]>;
@@ -0,0 +1,62 @@
1
+ export declare abstract class UserMeetingRewardConfigService {
2
+ static getActiveAttendeeRewardPlan(): Promise<{
3
+ id: string;
4
+ name: string;
5
+ cashAsset: {
6
+ code: string;
7
+ iconUrl: string;
8
+ id: string;
9
+ isActive: boolean;
10
+ name: string;
11
+ precision: number;
12
+ symbol: string | null;
13
+ };
14
+ coinAsset: {
15
+ code: string;
16
+ iconUrl: string;
17
+ id: string;
18
+ isActive: boolean;
19
+ name: string;
20
+ precision: number;
21
+ symbol: string | null;
22
+ };
23
+ tiers: {
24
+ id: string;
25
+ consecutiveDay: number;
26
+ cashAmount: string;
27
+ coinAmount: string;
28
+ coinBonusAmount: string;
29
+ sortOrder: number;
30
+ }[];
31
+ } | null>;
32
+ static getActiveReferralRewardPlan(): Promise<{
33
+ id: string;
34
+ name: string;
35
+ cashAsset: {
36
+ code: string;
37
+ iconUrl: string;
38
+ id: string;
39
+ isActive: boolean;
40
+ name: string;
41
+ precision: number;
42
+ symbol: string | null;
43
+ };
44
+ coinAsset: {
45
+ code: string;
46
+ iconUrl: string;
47
+ id: string;
48
+ isActive: boolean;
49
+ name: string;
50
+ precision: number;
51
+ symbol: string | null;
52
+ };
53
+ tiers: {
54
+ id: string;
55
+ refereeMinStreakDays: number;
56
+ refereeMaxStreakDays: number | null;
57
+ cashAmount: string;
58
+ coinAmount: string;
59
+ sortOrder: number;
60
+ }[];
61
+ } | null>;
62
+ }