@aitlabs/namkwong 0.0.110 → 0.0.112

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.
@@ -3586,6 +3586,56 @@ export declare const adminRouter: Elysia<"/admin", {
3586
3586
  };
3587
3587
  };
3588
3588
  };
3589
+ } & {
3590
+ ledger_accounts: {
3591
+ adjust: {
3592
+ cny_balance: {
3593
+ users: {
3594
+ batch: {
3595
+ post: {
3596
+ body: {
3597
+ direction: "decrease" | "increase";
3598
+ amount: string;
3599
+ memo?: string | undefined;
3600
+ idempotencyKey: string;
3601
+ userIds: string[];
3602
+ };
3603
+ params: {};
3604
+ query: {};
3605
+ headers: {};
3606
+ response: {
3607
+ 200: {
3608
+ totalCount: number;
3609
+ successCount: number;
3610
+ failedCount: number;
3611
+ results: {
3612
+ userId: string;
3613
+ referenceId: string;
3614
+ success: boolean;
3615
+ accountId?: string | undefined;
3616
+ ledgerEntryId?: string | undefined;
3617
+ errorCode?: string | undefined;
3618
+ errorMessage?: string | undefined;
3619
+ }[];
3620
+ };
3621
+ 401: "Unauthorized";
3622
+ 403: "Forbidden: Admins only";
3623
+ 422: {
3624
+ type: 'validation';
3625
+ on: string;
3626
+ summary?: string;
3627
+ message?: string;
3628
+ found?: unknown;
3629
+ property?: string;
3630
+ expected?: string;
3631
+ };
3632
+ };
3633
+ };
3634
+ };
3635
+ };
3636
+ };
3637
+ };
3638
+ };
3589
3639
  };
3590
3640
  } & {
3591
3641
  admin: {
@@ -7691,6 +7741,72 @@ export declare const adminRouter: Elysia<"/admin", {
7691
7741
  } & {
7692
7742
  admin: {
7693
7743
  referrals: {};
7744
+ } & {
7745
+ referrals: {
7746
+ codes: {
7747
+ get: {
7748
+ body: {};
7749
+ params: {};
7750
+ query: {
7751
+ limit?: number | undefined;
7752
+ offset?: number | undefined;
7753
+ pageIndex?: number | undefined;
7754
+ pageSize?: number | undefined;
7755
+ referralCode?: string | undefined;
7756
+ userId?: string | undefined;
7757
+ };
7758
+ headers: {};
7759
+ response: {
7760
+ 200: {
7761
+ data: {
7762
+ createdAt: Date;
7763
+ id: string;
7764
+ isPrimary: boolean;
7765
+ referralCode: string;
7766
+ updatedAt: Date;
7767
+ user: {
7768
+ id: string;
7769
+ name: string;
7770
+ email: string;
7771
+ emailVerified: boolean;
7772
+ image: string | null;
7773
+ createdAt: Date;
7774
+ updatedAt: Date;
7775
+ twoFactorEnabled: boolean | null;
7776
+ username: string | null;
7777
+ displayUsername: string | null;
7778
+ phoneNumber: string | null;
7779
+ phoneNumberVerified: boolean | null;
7780
+ role: string | null;
7781
+ banned: boolean | null;
7782
+ banReason: string | null;
7783
+ banExpires: Date | null;
7784
+ };
7785
+ userId: string;
7786
+ }[];
7787
+ pagination: {
7788
+ pageSize: number;
7789
+ pageIndex: number;
7790
+ total: number;
7791
+ totalPages: number;
7792
+ hasNextPage: boolean;
7793
+ };
7794
+ };
7795
+ 401: "Unauthorized";
7796
+ 403: "Forbidden: Admins only";
7797
+ 422: {
7798
+ type: 'validation';
7799
+ on: string;
7800
+ summary?: string;
7801
+ message?: string;
7802
+ found?: unknown;
7803
+ property?: string;
7804
+ expected?: string;
7805
+ };
7806
+ };
7807
+ };
7808
+ };
7809
+ };
7694
7810
  } & {
7695
7811
  referrals: {
7696
7812
  summary: {
@@ -35,19 +35,7 @@ export declare const assetConvertProductRouter: Elysia<"/asset_convert_product",
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;
@@ -35,7 +35,19 @@ export declare const bankAccountAdminRouter: Elysia<"/bank_account", {
35
35
  headers: import("elysia").HTTPHeaders;
36
36
  status?: number | keyof import("elysia").StatusMap;
37
37
  redirect?: string;
38
- cookie?: Record<string, import("elysia/cookies").ElysiaCookie>;
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
+ }>;
39
51
  };
40
52
  path: string;
41
53
  route: string;
@@ -35,19 +35,7 @@ export declare const bankAccountRouter: Elysia<"/bank_account", {
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;
package/dist/index.d.ts CHANGED
@@ -4170,6 +4170,56 @@ declare const app: Elysia<"/api", {
4170
4170
  };
4171
4171
  };
4172
4172
  };
4173
+ } & {
4174
+ ledger_accounts: {
4175
+ adjust: {
4176
+ cny_balance: {
4177
+ users: {
4178
+ batch: {
4179
+ post: {
4180
+ body: {
4181
+ direction: "decrease" | "increase";
4182
+ amount: string;
4183
+ memo?: string | undefined;
4184
+ idempotencyKey: string;
4185
+ userIds: string[];
4186
+ };
4187
+ params: {};
4188
+ query: {};
4189
+ headers: {};
4190
+ response: {
4191
+ 200: {
4192
+ totalCount: number;
4193
+ successCount: number;
4194
+ failedCount: number;
4195
+ results: {
4196
+ userId: string;
4197
+ referenceId: string;
4198
+ success: boolean;
4199
+ accountId?: string | undefined;
4200
+ ledgerEntryId?: string | undefined;
4201
+ errorCode?: string | undefined;
4202
+ errorMessage?: string | undefined;
4203
+ }[];
4204
+ };
4205
+ 401: "Unauthorized";
4206
+ 403: "Forbidden: Admins only";
4207
+ 422: {
4208
+ type: 'validation';
4209
+ on: string;
4210
+ summary?: string;
4211
+ message?: string;
4212
+ found?: unknown;
4213
+ property?: string;
4214
+ expected?: string;
4215
+ };
4216
+ };
4217
+ };
4218
+ };
4219
+ };
4220
+ };
4221
+ };
4222
+ };
4173
4223
  };
4174
4224
  } & {
4175
4225
  admin: {
@@ -8275,6 +8325,72 @@ declare const app: Elysia<"/api", {
8275
8325
  } & {
8276
8326
  admin: {
8277
8327
  referrals: {};
8328
+ } & {
8329
+ referrals: {
8330
+ codes: {
8331
+ get: {
8332
+ body: {};
8333
+ params: {};
8334
+ query: {
8335
+ limit?: number | undefined;
8336
+ offset?: number | undefined;
8337
+ pageIndex?: number | undefined;
8338
+ pageSize?: number | undefined;
8339
+ referralCode?: string | undefined;
8340
+ userId?: string | undefined;
8341
+ };
8342
+ headers: {};
8343
+ response: {
8344
+ 200: {
8345
+ data: {
8346
+ createdAt: Date;
8347
+ id: string;
8348
+ isPrimary: boolean;
8349
+ referralCode: string;
8350
+ updatedAt: Date;
8351
+ user: {
8352
+ id: string;
8353
+ name: string;
8354
+ email: string;
8355
+ emailVerified: boolean;
8356
+ image: string | null;
8357
+ createdAt: Date;
8358
+ updatedAt: Date;
8359
+ twoFactorEnabled: boolean | null;
8360
+ username: string | null;
8361
+ displayUsername: string | null;
8362
+ phoneNumber: string | null;
8363
+ phoneNumberVerified: boolean | null;
8364
+ role: string | null;
8365
+ banned: boolean | null;
8366
+ banReason: string | null;
8367
+ banExpires: Date | null;
8368
+ };
8369
+ userId: string;
8370
+ }[];
8371
+ pagination: {
8372
+ pageSize: number;
8373
+ pageIndex: number;
8374
+ total: number;
8375
+ totalPages: number;
8376
+ hasNextPage: boolean;
8377
+ };
8378
+ };
8379
+ 401: "Unauthorized";
8380
+ 403: "Forbidden: Admins only";
8381
+ 422: {
8382
+ type: 'validation';
8383
+ on: string;
8384
+ summary?: string;
8385
+ message?: string;
8386
+ found?: unknown;
8387
+ property?: string;
8388
+ expected?: string;
8389
+ };
8390
+ };
8391
+ };
8392
+ };
8393
+ };
8278
8394
  } & {
8279
8395
  referrals: {
8280
8396
  summary: {
@@ -245,6 +245,14 @@ export declare const adminManualAdjustLedgerAccountByUsersBatchInputSchema: impo
245
245
  userIds: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
246
246
  }>;
247
247
  export type AdminManualAdjustLedgerAccountByUsersBatchInputType = typeof adminManualAdjustLedgerAccountByUsersBatchInputSchema.static;
248
+ export declare const adminManualAdjustCnyBalanceByUsersBatchInputSchema: import("@sinclair/typebox").TObject<{
249
+ direction: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"increase">, import("@sinclair/typebox").TLiteral<"decrease">]>;
250
+ amount: import("@sinclair/typebox").TString;
251
+ memo: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
252
+ idempotencyKey: import("@sinclair/typebox").TString;
253
+ userIds: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
254
+ }>;
255
+ export type AdminManualAdjustCnyBalanceByUsersBatchInputType = typeof adminManualAdjustCnyBalanceByUsersBatchInputSchema.static;
248
256
  export declare const adminManualAdjustLedgerAccountBatchResultItemSchema: import("@sinclair/typebox").TObject<{
249
257
  referenceId: import("@sinclair/typebox").TString;
250
258
  success: import("@sinclair/typebox").TBoolean;
@@ -293,3 +301,18 @@ export declare const adminManualAdjustLedgerAccountByUsersBatchResponseSchema: i
293
301
  }>>;
294
302
  }>;
295
303
  export type AdminManualAdjustLedgerAccountByUsersBatchResponseType = typeof adminManualAdjustLedgerAccountByUsersBatchResponseSchema.static;
304
+ export declare const adminManualAdjustCnyBalanceByUsersBatchResponseSchema: import("@sinclair/typebox").TObject<{
305
+ totalCount: import("@sinclair/typebox").TNumber;
306
+ successCount: import("@sinclair/typebox").TNumber;
307
+ failedCount: import("@sinclair/typebox").TNumber;
308
+ results: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
309
+ userId: import("@sinclair/typebox").TString;
310
+ referenceId: import("@sinclair/typebox").TString;
311
+ success: import("@sinclair/typebox").TBoolean;
312
+ accountId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
313
+ ledgerEntryId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
314
+ errorCode: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
315
+ errorMessage: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
316
+ }>>;
317
+ }>;
318
+ export type AdminManualAdjustCnyBalanceByUsersBatchResponseType = typeof adminManualAdjustCnyBalanceByUsersBatchResponseSchema.static;
@@ -728,6 +728,56 @@ export declare const ledgerAccountAdminRouter: Elysia<"/ledger_accounts", {
728
728
  };
729
729
  };
730
730
  };
731
+ } & {
732
+ ledger_accounts: {
733
+ adjust: {
734
+ cny_balance: {
735
+ users: {
736
+ batch: {
737
+ post: {
738
+ body: {
739
+ direction: "decrease" | "increase";
740
+ amount: string;
741
+ memo?: string | undefined;
742
+ idempotencyKey: string;
743
+ userIds: string[];
744
+ };
745
+ params: {};
746
+ query: {};
747
+ headers: {};
748
+ response: {
749
+ 200: {
750
+ totalCount: number;
751
+ successCount: number;
752
+ failedCount: number;
753
+ results: {
754
+ userId: string;
755
+ referenceId: string;
756
+ success: boolean;
757
+ accountId?: string | undefined;
758
+ ledgerEntryId?: string | undefined;
759
+ errorCode?: string | undefined;
760
+ errorMessage?: string | undefined;
761
+ }[];
762
+ };
763
+ 401: "Unauthorized";
764
+ 403: "Forbidden: Admins only";
765
+ 422: {
766
+ type: 'validation';
767
+ on: string;
768
+ summary?: string;
769
+ message?: string;
770
+ found?: unknown;
771
+ property?: string;
772
+ expected?: string;
773
+ };
774
+ };
775
+ };
776
+ };
777
+ };
778
+ };
779
+ };
780
+ };
731
781
  }, {
732
782
  derive: {};
733
783
  resolve: {};
@@ -1,8 +1,9 @@
1
- import type { AdminManualAdjustLedgerAccountByUsersBatchInputType, AdminManualAdjustLedgerAccountBatchInputType, AdminManualAdjustLedgerAccountInputType, LedgerAccountStatusUpdateInputType } from './dto.schemas';
1
+ import type { AdminManualAdjustCnyBalanceByUsersBatchInputType, AdminManualAdjustLedgerAccountByUsersBatchInputType, AdminManualAdjustLedgerAccountBatchInputType, AdminManualAdjustLedgerAccountInputType, LedgerAccountStatusUpdateInputType } from './dto.schemas';
2
2
  import { BaseLedgerAccountService, type LedgerAccountListQueryOptions } from '../internal/service';
3
3
  export declare abstract class AdminLedgerAccountService extends BaseLedgerAccountService {
4
4
  private static normalizePositiveAmount;
5
5
  private static resolveAdjustTargetAccount;
6
+ private static buildCnyBalanceAdjustReferenceId;
6
7
  private static isSameManualAdjust;
7
8
  static listAccounts(options?: LedgerAccountListQueryOptions): Promise<{
8
9
  items: {
@@ -249,4 +250,18 @@ export declare abstract class AdminLedgerAccountService extends BaseLedgerAccoun
249
250
  errorMessage?: string;
250
251
  }[];
251
252
  }>;
253
+ static manualAdjustCnyBalanceByUsersBatch(operatorId: string, input: AdminManualAdjustCnyBalanceByUsersBatchInputType): Promise<{
254
+ totalCount: number;
255
+ successCount: number;
256
+ failedCount: number;
257
+ results: {
258
+ userId: string;
259
+ referenceId: string;
260
+ success: boolean;
261
+ accountId?: string;
262
+ ledgerEntryId?: string;
263
+ errorCode?: string;
264
+ errorMessage?: string;
265
+ }[];
266
+ }>;
252
267
  }
@@ -35,19 +35,7 @@ export declare const receiptMethodAdminRouter: Elysia<"/receipt_method", {
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;
@@ -597,3 +597,587 @@ export declare const referralAdminSummarySchema: import("@sinclair/typebox").TOb
597
597
  userId: import("@sinclair/typebox").TString;
598
598
  }>;
599
599
  export type ReferralAdminSummaryType = typeof referralAdminSummarySchema.static;
600
+ export declare const referralAdminCodeSchema: import("@sinclair/typebox").TObject<{
601
+ createdAt: import("@sinclair/typebox").TDate;
602
+ id: import("@sinclair/typebox").TString;
603
+ isPrimary: import("@sinclair/typebox").TBoolean;
604
+ referralCode: import("@sinclair/typebox").TString;
605
+ updatedAt: import("@sinclair/typebox").TDate;
606
+ user: import("drizzle-typebox").BuildSchema<"select", {
607
+ id: import("drizzle-orm/pg-core").PgColumn<{
608
+ name: "id";
609
+ tableName: "user";
610
+ dataType: "string";
611
+ columnType: "PgText";
612
+ data: string;
613
+ driverParam: string;
614
+ notNull: true;
615
+ hasDefault: false;
616
+ isPrimaryKey: true;
617
+ isAutoincrement: false;
618
+ hasRuntimeDefault: false;
619
+ enumValues: [string, ...string[]];
620
+ baseColumn: never;
621
+ identity: undefined;
622
+ generated: undefined;
623
+ }, {}, {}>;
624
+ name: import("drizzle-orm/pg-core").PgColumn<{
625
+ name: "name";
626
+ tableName: "user";
627
+ dataType: "string";
628
+ columnType: "PgText";
629
+ data: string;
630
+ driverParam: string;
631
+ notNull: true;
632
+ hasDefault: false;
633
+ isPrimaryKey: false;
634
+ isAutoincrement: false;
635
+ hasRuntimeDefault: false;
636
+ enumValues: [string, ...string[]];
637
+ baseColumn: never;
638
+ identity: undefined;
639
+ generated: undefined;
640
+ }, {}, {}>;
641
+ email: import("drizzle-orm/pg-core").PgColumn<{
642
+ name: "email";
643
+ tableName: "user";
644
+ dataType: "string";
645
+ columnType: "PgText";
646
+ data: string;
647
+ driverParam: string;
648
+ notNull: true;
649
+ hasDefault: false;
650
+ isPrimaryKey: false;
651
+ isAutoincrement: false;
652
+ hasRuntimeDefault: false;
653
+ enumValues: [string, ...string[]];
654
+ baseColumn: never;
655
+ identity: undefined;
656
+ generated: undefined;
657
+ }, {}, {}>;
658
+ emailVerified: import("drizzle-orm/pg-core").PgColumn<{
659
+ name: "email_verified";
660
+ tableName: "user";
661
+ dataType: "boolean";
662
+ columnType: "PgBoolean";
663
+ data: boolean;
664
+ driverParam: boolean;
665
+ notNull: true;
666
+ hasDefault: true;
667
+ isPrimaryKey: false;
668
+ isAutoincrement: false;
669
+ hasRuntimeDefault: false;
670
+ enumValues: undefined;
671
+ baseColumn: never;
672
+ identity: undefined;
673
+ generated: undefined;
674
+ }, {}, {}>;
675
+ image: import("drizzle-orm/pg-core").PgColumn<{
676
+ name: "image";
677
+ tableName: "user";
678
+ dataType: "string";
679
+ columnType: "PgText";
680
+ data: string;
681
+ driverParam: string;
682
+ notNull: false;
683
+ hasDefault: false;
684
+ isPrimaryKey: false;
685
+ isAutoincrement: false;
686
+ hasRuntimeDefault: false;
687
+ enumValues: [string, ...string[]];
688
+ baseColumn: never;
689
+ identity: undefined;
690
+ generated: undefined;
691
+ }, {}, {}>;
692
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
693
+ name: "created_at";
694
+ tableName: "user";
695
+ dataType: "date";
696
+ columnType: "PgTimestamp";
697
+ data: Date;
698
+ driverParam: string;
699
+ notNull: true;
700
+ hasDefault: true;
701
+ isPrimaryKey: false;
702
+ isAutoincrement: false;
703
+ hasRuntimeDefault: false;
704
+ enumValues: undefined;
705
+ baseColumn: never;
706
+ identity: undefined;
707
+ generated: undefined;
708
+ }, {}, {}>;
709
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
710
+ name: "updated_at";
711
+ tableName: "user";
712
+ dataType: "date";
713
+ columnType: "PgTimestamp";
714
+ data: Date;
715
+ driverParam: string;
716
+ notNull: true;
717
+ hasDefault: true;
718
+ isPrimaryKey: false;
719
+ isAutoincrement: false;
720
+ hasRuntimeDefault: false;
721
+ enumValues: undefined;
722
+ baseColumn: never;
723
+ identity: undefined;
724
+ generated: undefined;
725
+ }, {}, {}>;
726
+ twoFactorEnabled: import("drizzle-orm/pg-core").PgColumn<{
727
+ name: "two_factor_enabled";
728
+ tableName: "user";
729
+ dataType: "boolean";
730
+ columnType: "PgBoolean";
731
+ data: boolean;
732
+ driverParam: boolean;
733
+ notNull: false;
734
+ hasDefault: true;
735
+ isPrimaryKey: false;
736
+ isAutoincrement: false;
737
+ hasRuntimeDefault: false;
738
+ enumValues: undefined;
739
+ baseColumn: never;
740
+ identity: undefined;
741
+ generated: undefined;
742
+ }, {}, {}>;
743
+ username: import("drizzle-orm/pg-core").PgColumn<{
744
+ name: "username";
745
+ tableName: "user";
746
+ dataType: "string";
747
+ columnType: "PgText";
748
+ data: string;
749
+ driverParam: string;
750
+ notNull: false;
751
+ hasDefault: false;
752
+ isPrimaryKey: false;
753
+ isAutoincrement: false;
754
+ hasRuntimeDefault: false;
755
+ enumValues: [string, ...string[]];
756
+ baseColumn: never;
757
+ identity: undefined;
758
+ generated: undefined;
759
+ }, {}, {}>;
760
+ displayUsername: import("drizzle-orm/pg-core").PgColumn<{
761
+ name: "display_username";
762
+ tableName: "user";
763
+ dataType: "string";
764
+ columnType: "PgText";
765
+ data: string;
766
+ driverParam: string;
767
+ notNull: false;
768
+ hasDefault: false;
769
+ isPrimaryKey: false;
770
+ isAutoincrement: false;
771
+ hasRuntimeDefault: false;
772
+ enumValues: [string, ...string[]];
773
+ baseColumn: never;
774
+ identity: undefined;
775
+ generated: undefined;
776
+ }, {}, {}>;
777
+ phoneNumber: import("drizzle-orm/pg-core").PgColumn<{
778
+ name: "phone_number";
779
+ tableName: "user";
780
+ dataType: "string";
781
+ columnType: "PgText";
782
+ data: string;
783
+ driverParam: string;
784
+ notNull: false;
785
+ hasDefault: false;
786
+ isPrimaryKey: false;
787
+ isAutoincrement: false;
788
+ hasRuntimeDefault: false;
789
+ enumValues: [string, ...string[]];
790
+ baseColumn: never;
791
+ identity: undefined;
792
+ generated: undefined;
793
+ }, {}, {}>;
794
+ phoneNumberVerified: import("drizzle-orm/pg-core").PgColumn<{
795
+ name: "phone_number_verified";
796
+ tableName: "user";
797
+ dataType: "boolean";
798
+ columnType: "PgBoolean";
799
+ data: boolean;
800
+ driverParam: boolean;
801
+ notNull: false;
802
+ hasDefault: false;
803
+ isPrimaryKey: false;
804
+ isAutoincrement: false;
805
+ hasRuntimeDefault: false;
806
+ enumValues: undefined;
807
+ baseColumn: never;
808
+ identity: undefined;
809
+ generated: undefined;
810
+ }, {}, {}>;
811
+ role: import("drizzle-orm/pg-core").PgColumn<{
812
+ name: "role";
813
+ tableName: "user";
814
+ dataType: "string";
815
+ columnType: "PgText";
816
+ data: string;
817
+ driverParam: string;
818
+ notNull: false;
819
+ hasDefault: false;
820
+ isPrimaryKey: false;
821
+ isAutoincrement: false;
822
+ hasRuntimeDefault: false;
823
+ enumValues: [string, ...string[]];
824
+ baseColumn: never;
825
+ identity: undefined;
826
+ generated: undefined;
827
+ }, {}, {}>;
828
+ banned: import("drizzle-orm/pg-core").PgColumn<{
829
+ name: "banned";
830
+ tableName: "user";
831
+ dataType: "boolean";
832
+ columnType: "PgBoolean";
833
+ data: boolean;
834
+ driverParam: boolean;
835
+ notNull: false;
836
+ hasDefault: true;
837
+ isPrimaryKey: false;
838
+ isAutoincrement: false;
839
+ hasRuntimeDefault: false;
840
+ enumValues: undefined;
841
+ baseColumn: never;
842
+ identity: undefined;
843
+ generated: undefined;
844
+ }, {}, {}>;
845
+ banReason: import("drizzle-orm/pg-core").PgColumn<{
846
+ name: "ban_reason";
847
+ tableName: "user";
848
+ dataType: "string";
849
+ columnType: "PgText";
850
+ data: string;
851
+ driverParam: string;
852
+ notNull: false;
853
+ hasDefault: false;
854
+ isPrimaryKey: false;
855
+ isAutoincrement: false;
856
+ hasRuntimeDefault: false;
857
+ enumValues: [string, ...string[]];
858
+ baseColumn: never;
859
+ identity: undefined;
860
+ generated: undefined;
861
+ }, {}, {}>;
862
+ banExpires: import("drizzle-orm/pg-core").PgColumn<{
863
+ name: "ban_expires";
864
+ tableName: "user";
865
+ dataType: "date";
866
+ columnType: "PgTimestamp";
867
+ data: Date;
868
+ driverParam: string;
869
+ notNull: false;
870
+ hasDefault: false;
871
+ isPrimaryKey: false;
872
+ isAutoincrement: false;
873
+ hasRuntimeDefault: false;
874
+ enumValues: undefined;
875
+ baseColumn: never;
876
+ identity: undefined;
877
+ generated: undefined;
878
+ }, {}, {}>;
879
+ }, undefined>;
880
+ userId: import("@sinclair/typebox").TString;
881
+ }>;
882
+ export type ReferralAdminCodeType = typeof referralAdminCodeSchema.static;
883
+ export declare const referralAdminCodeListResponseSchema: import("@sinclair/typebox").TObject<{
884
+ data: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
885
+ createdAt: import("@sinclair/typebox").TDate;
886
+ id: import("@sinclair/typebox").TString;
887
+ isPrimary: import("@sinclair/typebox").TBoolean;
888
+ referralCode: import("@sinclair/typebox").TString;
889
+ updatedAt: import("@sinclair/typebox").TDate;
890
+ user: import("drizzle-typebox").BuildSchema<"select", {
891
+ id: import("drizzle-orm/pg-core").PgColumn<{
892
+ name: "id";
893
+ tableName: "user";
894
+ dataType: "string";
895
+ columnType: "PgText";
896
+ data: string;
897
+ driverParam: string;
898
+ notNull: true;
899
+ hasDefault: false;
900
+ isPrimaryKey: true;
901
+ isAutoincrement: false;
902
+ hasRuntimeDefault: false;
903
+ enumValues: [string, ...string[]];
904
+ baseColumn: never;
905
+ identity: undefined;
906
+ generated: undefined;
907
+ }, {}, {}>;
908
+ name: import("drizzle-orm/pg-core").PgColumn<{
909
+ name: "name";
910
+ tableName: "user";
911
+ dataType: "string";
912
+ columnType: "PgText";
913
+ data: string;
914
+ driverParam: string;
915
+ notNull: true;
916
+ hasDefault: false;
917
+ isPrimaryKey: false;
918
+ isAutoincrement: false;
919
+ hasRuntimeDefault: false;
920
+ enumValues: [string, ...string[]];
921
+ baseColumn: never;
922
+ identity: undefined;
923
+ generated: undefined;
924
+ }, {}, {}>;
925
+ email: import("drizzle-orm/pg-core").PgColumn<{
926
+ name: "email";
927
+ tableName: "user";
928
+ dataType: "string";
929
+ columnType: "PgText";
930
+ data: string;
931
+ driverParam: string;
932
+ notNull: true;
933
+ hasDefault: false;
934
+ isPrimaryKey: false;
935
+ isAutoincrement: false;
936
+ hasRuntimeDefault: false;
937
+ enumValues: [string, ...string[]];
938
+ baseColumn: never;
939
+ identity: undefined;
940
+ generated: undefined;
941
+ }, {}, {}>;
942
+ emailVerified: import("drizzle-orm/pg-core").PgColumn<{
943
+ name: "email_verified";
944
+ tableName: "user";
945
+ dataType: "boolean";
946
+ columnType: "PgBoolean";
947
+ data: boolean;
948
+ driverParam: boolean;
949
+ notNull: true;
950
+ hasDefault: true;
951
+ isPrimaryKey: false;
952
+ isAutoincrement: false;
953
+ hasRuntimeDefault: false;
954
+ enumValues: undefined;
955
+ baseColumn: never;
956
+ identity: undefined;
957
+ generated: undefined;
958
+ }, {}, {}>;
959
+ image: import("drizzle-orm/pg-core").PgColumn<{
960
+ name: "image";
961
+ tableName: "user";
962
+ dataType: "string";
963
+ columnType: "PgText";
964
+ data: string;
965
+ driverParam: string;
966
+ notNull: false;
967
+ hasDefault: false;
968
+ isPrimaryKey: false;
969
+ isAutoincrement: false;
970
+ hasRuntimeDefault: false;
971
+ enumValues: [string, ...string[]];
972
+ baseColumn: never;
973
+ identity: undefined;
974
+ generated: undefined;
975
+ }, {}, {}>;
976
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
977
+ name: "created_at";
978
+ tableName: "user";
979
+ dataType: "date";
980
+ columnType: "PgTimestamp";
981
+ data: Date;
982
+ driverParam: string;
983
+ notNull: true;
984
+ hasDefault: true;
985
+ isPrimaryKey: false;
986
+ isAutoincrement: false;
987
+ hasRuntimeDefault: false;
988
+ enumValues: undefined;
989
+ baseColumn: never;
990
+ identity: undefined;
991
+ generated: undefined;
992
+ }, {}, {}>;
993
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
994
+ name: "updated_at";
995
+ tableName: "user";
996
+ dataType: "date";
997
+ columnType: "PgTimestamp";
998
+ data: Date;
999
+ driverParam: string;
1000
+ notNull: true;
1001
+ hasDefault: true;
1002
+ isPrimaryKey: false;
1003
+ isAutoincrement: false;
1004
+ hasRuntimeDefault: false;
1005
+ enumValues: undefined;
1006
+ baseColumn: never;
1007
+ identity: undefined;
1008
+ generated: undefined;
1009
+ }, {}, {}>;
1010
+ twoFactorEnabled: import("drizzle-orm/pg-core").PgColumn<{
1011
+ name: "two_factor_enabled";
1012
+ tableName: "user";
1013
+ dataType: "boolean";
1014
+ columnType: "PgBoolean";
1015
+ data: boolean;
1016
+ driverParam: boolean;
1017
+ notNull: false;
1018
+ hasDefault: true;
1019
+ isPrimaryKey: false;
1020
+ isAutoincrement: false;
1021
+ hasRuntimeDefault: false;
1022
+ enumValues: undefined;
1023
+ baseColumn: never;
1024
+ identity: undefined;
1025
+ generated: undefined;
1026
+ }, {}, {}>;
1027
+ username: import("drizzle-orm/pg-core").PgColumn<{
1028
+ name: "username";
1029
+ tableName: "user";
1030
+ dataType: "string";
1031
+ columnType: "PgText";
1032
+ data: string;
1033
+ driverParam: string;
1034
+ notNull: false;
1035
+ hasDefault: false;
1036
+ isPrimaryKey: false;
1037
+ isAutoincrement: false;
1038
+ hasRuntimeDefault: false;
1039
+ enumValues: [string, ...string[]];
1040
+ baseColumn: never;
1041
+ identity: undefined;
1042
+ generated: undefined;
1043
+ }, {}, {}>;
1044
+ displayUsername: import("drizzle-orm/pg-core").PgColumn<{
1045
+ name: "display_username";
1046
+ tableName: "user";
1047
+ dataType: "string";
1048
+ columnType: "PgText";
1049
+ data: string;
1050
+ driverParam: string;
1051
+ notNull: false;
1052
+ hasDefault: false;
1053
+ isPrimaryKey: false;
1054
+ isAutoincrement: false;
1055
+ hasRuntimeDefault: false;
1056
+ enumValues: [string, ...string[]];
1057
+ baseColumn: never;
1058
+ identity: undefined;
1059
+ generated: undefined;
1060
+ }, {}, {}>;
1061
+ phoneNumber: import("drizzle-orm/pg-core").PgColumn<{
1062
+ name: "phone_number";
1063
+ tableName: "user";
1064
+ dataType: "string";
1065
+ columnType: "PgText";
1066
+ data: string;
1067
+ driverParam: string;
1068
+ notNull: false;
1069
+ hasDefault: false;
1070
+ isPrimaryKey: false;
1071
+ isAutoincrement: false;
1072
+ hasRuntimeDefault: false;
1073
+ enumValues: [string, ...string[]];
1074
+ baseColumn: never;
1075
+ identity: undefined;
1076
+ generated: undefined;
1077
+ }, {}, {}>;
1078
+ phoneNumberVerified: import("drizzle-orm/pg-core").PgColumn<{
1079
+ name: "phone_number_verified";
1080
+ tableName: "user";
1081
+ dataType: "boolean";
1082
+ columnType: "PgBoolean";
1083
+ data: boolean;
1084
+ driverParam: boolean;
1085
+ notNull: false;
1086
+ hasDefault: false;
1087
+ isPrimaryKey: false;
1088
+ isAutoincrement: false;
1089
+ hasRuntimeDefault: false;
1090
+ enumValues: undefined;
1091
+ baseColumn: never;
1092
+ identity: undefined;
1093
+ generated: undefined;
1094
+ }, {}, {}>;
1095
+ role: import("drizzle-orm/pg-core").PgColumn<{
1096
+ name: "role";
1097
+ tableName: "user";
1098
+ dataType: "string";
1099
+ columnType: "PgText";
1100
+ data: string;
1101
+ driverParam: string;
1102
+ notNull: false;
1103
+ hasDefault: false;
1104
+ isPrimaryKey: false;
1105
+ isAutoincrement: false;
1106
+ hasRuntimeDefault: false;
1107
+ enumValues: [string, ...string[]];
1108
+ baseColumn: never;
1109
+ identity: undefined;
1110
+ generated: undefined;
1111
+ }, {}, {}>;
1112
+ banned: import("drizzle-orm/pg-core").PgColumn<{
1113
+ name: "banned";
1114
+ tableName: "user";
1115
+ dataType: "boolean";
1116
+ columnType: "PgBoolean";
1117
+ data: boolean;
1118
+ driverParam: boolean;
1119
+ notNull: false;
1120
+ hasDefault: true;
1121
+ isPrimaryKey: false;
1122
+ isAutoincrement: false;
1123
+ hasRuntimeDefault: false;
1124
+ enumValues: undefined;
1125
+ baseColumn: never;
1126
+ identity: undefined;
1127
+ generated: undefined;
1128
+ }, {}, {}>;
1129
+ banReason: import("drizzle-orm/pg-core").PgColumn<{
1130
+ name: "ban_reason";
1131
+ tableName: "user";
1132
+ dataType: "string";
1133
+ columnType: "PgText";
1134
+ data: string;
1135
+ driverParam: string;
1136
+ notNull: false;
1137
+ hasDefault: false;
1138
+ isPrimaryKey: false;
1139
+ isAutoincrement: false;
1140
+ hasRuntimeDefault: false;
1141
+ enumValues: [string, ...string[]];
1142
+ baseColumn: never;
1143
+ identity: undefined;
1144
+ generated: undefined;
1145
+ }, {}, {}>;
1146
+ banExpires: import("drizzle-orm/pg-core").PgColumn<{
1147
+ name: "ban_expires";
1148
+ tableName: "user";
1149
+ dataType: "date";
1150
+ columnType: "PgTimestamp";
1151
+ data: Date;
1152
+ driverParam: string;
1153
+ notNull: false;
1154
+ hasDefault: false;
1155
+ isPrimaryKey: false;
1156
+ isAutoincrement: false;
1157
+ hasRuntimeDefault: false;
1158
+ enumValues: undefined;
1159
+ baseColumn: never;
1160
+ identity: undefined;
1161
+ generated: undefined;
1162
+ }, {}, {}>;
1163
+ }, undefined>;
1164
+ userId: import("@sinclair/typebox").TString;
1165
+ }>>;
1166
+ pagination: import("@sinclair/typebox").TObject<{
1167
+ pageSize: import("@sinclair/typebox").TNumber;
1168
+ pageIndex: import("@sinclair/typebox").TNumber;
1169
+ total: import("@sinclair/typebox").TNumber;
1170
+ totalPages: import("@sinclair/typebox").TNumber;
1171
+ hasNextPage: import("@sinclair/typebox").TBoolean;
1172
+ }>;
1173
+ }>;
1174
+ export type ReferralAdminCodeListResponseType = typeof referralAdminCodeListResponseSchema.static;
1175
+ export declare const referralAdminCodeListQuerySchema: import("@sinclair/typebox").TObject<{
1176
+ limit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
1177
+ offset: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
1178
+ pageIndex: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
1179
+ pageSize: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
1180
+ referralCode: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
1181
+ userId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
1182
+ }>;
1183
+ export type ReferralAdminCodeListQueryType = typeof referralAdminCodeListQuerySchema.static;
@@ -379,6 +379,72 @@ export declare const referralAdminRouter: Elysia<"/referrals", {
379
379
  response: {};
380
380
  }, {
381
381
  referrals: {};
382
+ } & {
383
+ referrals: {
384
+ codes: {
385
+ get: {
386
+ body: {};
387
+ params: {};
388
+ query: {
389
+ limit?: number | undefined;
390
+ offset?: number | undefined;
391
+ pageIndex?: number | undefined;
392
+ pageSize?: number | undefined;
393
+ referralCode?: string | undefined;
394
+ userId?: string | undefined;
395
+ };
396
+ headers: {};
397
+ response: {
398
+ 200: {
399
+ data: {
400
+ createdAt: Date;
401
+ id: string;
402
+ isPrimary: boolean;
403
+ referralCode: string;
404
+ updatedAt: Date;
405
+ user: {
406
+ id: string;
407
+ name: string;
408
+ email: string;
409
+ emailVerified: boolean;
410
+ image: string | null;
411
+ createdAt: Date;
412
+ updatedAt: Date;
413
+ twoFactorEnabled: boolean | null;
414
+ username: string | null;
415
+ displayUsername: string | null;
416
+ phoneNumber: string | null;
417
+ phoneNumberVerified: boolean | null;
418
+ role: string | null;
419
+ banned: boolean | null;
420
+ banReason: string | null;
421
+ banExpires: Date | null;
422
+ };
423
+ userId: string;
424
+ }[];
425
+ pagination: {
426
+ pageSize: number;
427
+ pageIndex: number;
428
+ total: number;
429
+ totalPages: number;
430
+ hasNextPage: boolean;
431
+ };
432
+ };
433
+ 401: "Unauthorized";
434
+ 403: "Forbidden: Admins only";
435
+ 422: {
436
+ type: 'validation';
437
+ on: string;
438
+ summary?: string;
439
+ message?: string;
440
+ found?: unknown;
441
+ property?: string;
442
+ expected?: string;
443
+ };
444
+ };
445
+ };
446
+ };
447
+ };
382
448
  } & {
383
449
  referrals: {
384
450
  summary: {
@@ -1,6 +1,7 @@
1
- import type { ReferralAdminQueryType, ReferralAdminSummaryType, ReferralMemberListResponseType } from './dto.schemas';
1
+ import type { ReferralAdminCodeListQueryType, ReferralAdminCodeListResponseType, ReferralAdminQueryType, ReferralAdminSummaryType, ReferralMemberListResponseType } from './dto.schemas';
2
2
  import { BaseReferralService } from '../internal/service';
3
3
  export declare abstract class AdminReferralService extends BaseReferralService {
4
+ static listReferralCodes(adminUserId: string, adminRole: string | null | undefined, query: ReferralAdminCodeListQueryType): Promise<ReferralAdminCodeListResponseType>;
4
5
  static getSummaryByReferralCode(referralCode?: string): Promise<ReferralAdminSummaryType>;
5
6
  static listMembersByReferralCode(query: ReferralAdminQueryType): Promise<ReferralMemberListResponseType>;
6
7
  }
@@ -35,7 +35,19 @@ export declare const userKycAdminRouter: Elysia<"/kyc", {
35
35
  headers: import("elysia").HTTPHeaders;
36
36
  status?: number | keyof import("elysia").StatusMap;
37
37
  redirect?: string;
38
- cookie?: Record<string, import("elysia/cookies").ElysiaCookie>;
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
+ }>;
39
51
  };
40
52
  path: string;
41
53
  route: string;
@@ -35,7 +35,19 @@ export declare const userSecurityRouter: Elysia<"/user", {
35
35
  headers: import("elysia").HTTPHeaders;
36
36
  status?: number | keyof import("elysia").StatusMap;
37
37
  redirect?: string;
38
- cookie?: Record<string, import("elysia/cookies").ElysiaCookie>;
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
+ }>;
39
51
  };
40
52
  path: string;
41
53
  route: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aitlabs/namkwong",
3
- "version": "0.0.110",
3
+ "version": "0.0.112",
4
4
  "description": "Elysia API type definitions for Eden Treaty",
5
5
  "files": [
6
6
  "dist"