@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,101 @@
1
+ import type { MeetingCheckInImportCreateJobInputType, MeetingCheckInImportItemListQueryType, MeetingCheckInImportJobListQueryType } from './import.dto.schemas';
2
+ import { BaseMeetingCheckInImportService } from '../internal/import.service';
3
+ export declare abstract class AdminMeetingCheckInImportService extends BaseMeetingCheckInImportService {
4
+ static createJob(operatorId: string, input: MeetingCheckInImportCreateJobInputType): Promise<{
5
+ createdAt: Date;
6
+ createdBy: string;
7
+ error: string | null;
8
+ failed: number;
9
+ fileId: string;
10
+ finishedAt: Date | null;
11
+ id: string;
12
+ ignored: number;
13
+ processed: number;
14
+ startedAt: Date | null;
15
+ status: "failed" | "pending" | "running" | "success";
16
+ success: number;
17
+ title: string;
18
+ total: number;
19
+ updatedAt: Date;
20
+ }>;
21
+ static getJob(jobId: string): Promise<{
22
+ createdAt: Date;
23
+ createdBy: string;
24
+ error: string | null;
25
+ failed: number;
26
+ fileId: string;
27
+ finishedAt: Date | null;
28
+ id: string;
29
+ ignored: number;
30
+ processed: number;
31
+ startedAt: Date | null;
32
+ status: "failed" | "pending" | "running" | "success";
33
+ success: number;
34
+ title: string;
35
+ total: number;
36
+ updatedAt: Date;
37
+ }>;
38
+ static listJobs(filters: MeetingCheckInImportJobListQueryType & {
39
+ limit: number;
40
+ offset: number;
41
+ }): Promise<{
42
+ readonly items: {
43
+ createdAt: Date;
44
+ createdBy: string;
45
+ error: string | null;
46
+ failed: number;
47
+ fileId: string;
48
+ finishedAt: Date | null;
49
+ id: string;
50
+ ignored: number;
51
+ processed: number;
52
+ startedAt: Date | null;
53
+ status: "failed" | "pending" | "running" | "success";
54
+ success: number;
55
+ title: string;
56
+ total: number;
57
+ updatedAt: Date;
58
+ }[];
59
+ readonly total: number;
60
+ readonly limit: number;
61
+ readonly offset: number;
62
+ }>;
63
+ static listJobItems(jobId: string, filters: MeetingCheckInImportItemListQueryType & {
64
+ limit: number;
65
+ offset: number;
66
+ }): Promise<{
67
+ readonly items: {
68
+ user: {
69
+ displayUsername: string | null;
70
+ email: string;
71
+ id: string;
72
+ name: string;
73
+ phoneNumber: string | null;
74
+ username: string | null;
75
+ } | undefined;
76
+ referrerUser: {};
77
+ checkInAt: Date | null;
78
+ checkInId: string | null;
79
+ createdAt: Date;
80
+ csvUserId: string | null;
81
+ displayName: string | null;
82
+ email: string | null;
83
+ error: string | null;
84
+ id: string;
85
+ isIdempotent: boolean;
86
+ jobId: string;
87
+ phoneNumber: string | null;
88
+ referrerMatchStatus: "ambiguous" | "empty" | "matched" | "not_found" | null;
89
+ referrerName: string | null;
90
+ referrerUserId: string | null;
91
+ rowNumber: number;
92
+ status: "failed" | "ignored" | "success";
93
+ updatedAt: Date;
94
+ userId: string | null;
95
+ }[];
96
+ readonly total: number;
97
+ readonly limit: number;
98
+ readonly offset: number;
99
+ }>;
100
+ static downloadTemplate(): Promise<Response>;
101
+ }
@@ -35,19 +35,7 @@ export declare const meetingAttendeeRewardPlanAdminRouter: Elysia<"/attendee-rew
35
35
  headers: import("elysia").HTTPHeaders;
36
36
  status?: number | keyof import("elysia").StatusMap;
37
37
  redirect?: string;
38
- cookie?: Record<string, {
39
- domain?: string | undefined;
40
- expires?: Date | undefined;
41
- httpOnly?: boolean | undefined;
42
- maxAge?: number | undefined;
43
- path?: string | undefined;
44
- priority?: 'low' | 'medium' | 'high' | undefined;
45
- partitioned?: boolean | undefined;
46
- sameSite?: true | false | 'lax' | 'strict' | 'none' | undefined;
47
- secure?: boolean | undefined;
48
- secrets?: string | null | (string | null)[];
49
- value?: unknown;
50
- }>;
38
+ cookie?: Record<string, import("elysia/cookies").ElysiaCookie>;
51
39
  };
52
40
  path: string;
53
41
  route: string;
@@ -4033,6 +4021,264 @@ export declare const meetingCheckInAdminRouter: Elysia<"/meeting_check_ins", {
4033
4021
  };
4034
4022
  };
4035
4023
  };
4024
+ } & {
4025
+ meeting_check_ins: {
4026
+ imports: {};
4027
+ } & {
4028
+ imports: {
4029
+ jobs: {
4030
+ post: {
4031
+ body: {
4032
+ title: string;
4033
+ fileId: string;
4034
+ };
4035
+ params: {};
4036
+ query: {};
4037
+ headers: {};
4038
+ response: {
4039
+ 200: {
4040
+ createdAt: Date;
4041
+ updatedAt: Date;
4042
+ id: string;
4043
+ fileId: string;
4044
+ title: string;
4045
+ status: "failed" | "pending" | "running" | "success";
4046
+ total: number;
4047
+ processed: number;
4048
+ success: number;
4049
+ failed: number;
4050
+ ignored: number;
4051
+ error: string | null;
4052
+ createdBy: string;
4053
+ startedAt: Date | null;
4054
+ finishedAt: Date | null;
4055
+ };
4056
+ 401: "Unauthorized";
4057
+ 403: "Forbidden: Admins only";
4058
+ 422: {
4059
+ type: 'validation';
4060
+ on: string;
4061
+ summary?: string;
4062
+ message?: string;
4063
+ found?: unknown;
4064
+ property?: string;
4065
+ expected?: string;
4066
+ };
4067
+ };
4068
+ };
4069
+ };
4070
+ };
4071
+ } & {
4072
+ imports: {
4073
+ jobs: {
4074
+ get: {
4075
+ body: {};
4076
+ params: {};
4077
+ query: {
4078
+ limit?: number | undefined;
4079
+ offset?: number | undefined;
4080
+ pageSize?: number | undefined;
4081
+ pageIndex?: number | undefined;
4082
+ status?: "failed" | "pending" | "running" | "success" | undefined;
4083
+ title?: string | undefined;
4084
+ };
4085
+ headers: {};
4086
+ response: {
4087
+ 200: {
4088
+ data: {
4089
+ createdAt: Date;
4090
+ updatedAt: Date;
4091
+ id: string;
4092
+ fileId: string;
4093
+ title: string;
4094
+ status: "failed" | "pending" | "running" | "success";
4095
+ total: number;
4096
+ processed: number;
4097
+ success: number;
4098
+ failed: number;
4099
+ ignored: number;
4100
+ error: string | null;
4101
+ createdBy: string;
4102
+ startedAt: Date | null;
4103
+ finishedAt: Date | null;
4104
+ }[];
4105
+ pagination: {
4106
+ pageSize: number;
4107
+ pageIndex: number;
4108
+ total: number;
4109
+ totalPages: number;
4110
+ hasNextPage: boolean;
4111
+ };
4112
+ };
4113
+ 401: "Unauthorized";
4114
+ 403: "Forbidden: Admins only";
4115
+ 422: {
4116
+ type: 'validation';
4117
+ on: string;
4118
+ summary?: string;
4119
+ message?: string;
4120
+ found?: unknown;
4121
+ property?: string;
4122
+ expected?: string;
4123
+ };
4124
+ };
4125
+ };
4126
+ };
4127
+ };
4128
+ } & {
4129
+ imports: {
4130
+ jobs: {
4131
+ ":id": {
4132
+ get: {
4133
+ body: {};
4134
+ params: {
4135
+ id: string;
4136
+ };
4137
+ query: {};
4138
+ headers: {};
4139
+ response: {
4140
+ 200: {
4141
+ createdAt: Date;
4142
+ updatedAt: Date;
4143
+ id: string;
4144
+ fileId: string;
4145
+ title: string;
4146
+ status: "failed" | "pending" | "running" | "success";
4147
+ total: number;
4148
+ processed: number;
4149
+ success: number;
4150
+ failed: number;
4151
+ ignored: number;
4152
+ error: string | null;
4153
+ createdBy: string;
4154
+ startedAt: Date | null;
4155
+ finishedAt: Date | null;
4156
+ };
4157
+ 401: "Unauthorized";
4158
+ 403: "Forbidden: Admins only";
4159
+ 422: {
4160
+ type: 'validation';
4161
+ on: string;
4162
+ summary?: string;
4163
+ message?: string;
4164
+ found?: unknown;
4165
+ property?: string;
4166
+ expected?: string;
4167
+ };
4168
+ };
4169
+ };
4170
+ };
4171
+ };
4172
+ };
4173
+ } & {
4174
+ imports: {
4175
+ jobs: {
4176
+ ":id": {
4177
+ items: {
4178
+ get: {
4179
+ body: {};
4180
+ params: {
4181
+ id: string;
4182
+ };
4183
+ query: {
4184
+ limit?: number | undefined;
4185
+ offset?: number | undefined;
4186
+ pageSize?: number | undefined;
4187
+ pageIndex?: number | undefined;
4188
+ status?: "failed" | "ignored" | "success" | undefined;
4189
+ phoneNumber?: string | undefined;
4190
+ referrerName?: string | undefined;
4191
+ };
4192
+ headers: {};
4193
+ response: {
4194
+ 200: {
4195
+ data: {
4196
+ checkInAt: Date | null;
4197
+ checkInId: string | null;
4198
+ createdAt: Date;
4199
+ csvUserId: string | null;
4200
+ displayName: string | null;
4201
+ email: string | null;
4202
+ error: string | null;
4203
+ id: string;
4204
+ isIdempotent: boolean;
4205
+ jobId: string;
4206
+ phoneNumber: string | null;
4207
+ referrerMatchStatus: "ambiguous" | "empty" | "matched" | "not_found" | null;
4208
+ referrerName: string | null;
4209
+ referrerUser: {
4210
+ id?: string | undefined;
4211
+ name?: string | undefined;
4212
+ username?: string | null | undefined;
4213
+ displayUsername?: string | null | undefined;
4214
+ email?: string | undefined;
4215
+ phoneNumber?: string | null | undefined;
4216
+ };
4217
+ referrerUserId: string | null;
4218
+ rowNumber: number;
4219
+ status: "failed" | "ignored" | "success";
4220
+ updatedAt: Date;
4221
+ user?: {
4222
+ id: string;
4223
+ name: string;
4224
+ username: string | null;
4225
+ displayUsername: string | null;
4226
+ email: string;
4227
+ phoneNumber: string | null;
4228
+ } | undefined;
4229
+ userId: string | null;
4230
+ }[];
4231
+ pagination: {
4232
+ pageSize: number;
4233
+ pageIndex: number;
4234
+ total: number;
4235
+ totalPages: number;
4236
+ hasNextPage: boolean;
4237
+ };
4238
+ };
4239
+ 401: "Unauthorized";
4240
+ 403: "Forbidden: Admins only";
4241
+ 422: {
4242
+ type: 'validation';
4243
+ on: string;
4244
+ summary?: string;
4245
+ message?: string;
4246
+ found?: unknown;
4247
+ property?: string;
4248
+ expected?: string;
4249
+ };
4250
+ };
4251
+ };
4252
+ };
4253
+ };
4254
+ };
4255
+ };
4256
+ } & {
4257
+ imports: {
4258
+ template: {
4259
+ get: {
4260
+ body: {};
4261
+ params: {};
4262
+ query: {};
4263
+ headers: {};
4264
+ response: {
4265
+ 200: ArrayBuffer;
4266
+ 401: "Unauthorized";
4267
+ 403: "Forbidden: Admins only";
4268
+ 422: {
4269
+ type: 'validation';
4270
+ on: string;
4271
+ summary?: string;
4272
+ message?: string;
4273
+ found?: unknown;
4274
+ property?: string;
4275
+ expected?: string;
4276
+ };
4277
+ };
4278
+ };
4279
+ };
4280
+ };
4281
+ };
4036
4282
  }, {
4037
4283
  derive: {};
4038
4284
  resolve: {};
@@ -0,0 +1,4 @@
1
+ /** 会议签到类型(与 app 签到隔离) */
2
+ export declare const MEETING_CHECK_IN_TYPE: 'meeting';
3
+ /** 会议签到导入/记录使用的时区(CSV 签到时间按此时区换算本地日期) */
4
+ export declare const MEETING_CHECK_IN_TIMEZONE = "Asia/Shanghai";
@@ -13,6 +13,12 @@ export declare const MeetingCheckInErrorCodes: {
13
13
  readonly MEETING_REWARD_ASSET_INACTIVE: 'MEETING_REWARD_ASSET_INACTIVE';
14
14
  readonly MEETING_REWARD_ACCOUNT_TYPE_NOT_FOUND: 'MEETING_REWARD_ACCOUNT_TYPE_NOT_FOUND';
15
15
  readonly MEETING_REWARD_ACCOUNT_TYPE_INACTIVE: 'MEETING_REWARD_ACCOUNT_TYPE_INACTIVE';
16
+ readonly MEETING_CHECK_IN_IMPORT_JOB_NOT_FOUND: 'MEETING_CHECK_IN_IMPORT_JOB_NOT_FOUND';
17
+ readonly MEETING_CHECK_IN_IMPORT_FILE_NOT_FOUND: 'MEETING_CHECK_IN_IMPORT_FILE_NOT_FOUND';
18
+ readonly MEETING_CHECK_IN_IMPORT_TEMPLATE_INVALID: 'MEETING_CHECK_IN_IMPORT_TEMPLATE_INVALID';
19
+ readonly MEETING_CHECK_IN_IMPORT_PROCESSING_FAILED: 'MEETING_CHECK_IN_IMPORT_PROCESSING_FAILED';
20
+ readonly MEETING_CHECK_IN_IMPORT_USER_NOT_FOUND: 'MEETING_CHECK_IN_IMPORT_USER_NOT_FOUND';
21
+ readonly MEETING_CHECK_IN_IMPORT_CHECK_IN_TIME_INVALID: 'MEETING_CHECK_IN_IMPORT_CHECK_IN_TIME_INVALID';
16
22
  };
17
23
  type MeetingCheckInErrorCodesType = typeof MeetingCheckInErrorCodes;
18
24
  export type MeetingCheckInErrorCode = keyof MeetingCheckInErrorCodesType;
@@ -12,6 +12,12 @@ export declare const zh: {
12
12
  MEETING_REWARD_ASSET_INACTIVE: string;
13
13
  MEETING_REWARD_ACCOUNT_TYPE_NOT_FOUND: string;
14
14
  MEETING_REWARD_ACCOUNT_TYPE_INACTIVE: string;
15
+ MEETING_CHECK_IN_IMPORT_JOB_NOT_FOUND: string;
16
+ MEETING_CHECK_IN_IMPORT_FILE_NOT_FOUND: string;
17
+ MEETING_CHECK_IN_IMPORT_TEMPLATE_INVALID: string;
18
+ MEETING_CHECK_IN_IMPORT_PROCESSING_FAILED: string;
19
+ MEETING_CHECK_IN_IMPORT_USER_NOT_FOUND: string;
20
+ MEETING_CHECK_IN_IMPORT_CHECK_IN_TIME_INVALID: string;
15
21
  };
16
22
  type ZHType = typeof zh;
17
23
  declare module '../../../error/messages' {