@aitlabs/namkwong 0.0.92 → 0.0.103

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 (88) hide show
  1. package/dist/admin/index.d.ts +2807 -797
  2. package/dist/app-version/admin/router.d.ts +13 -1
  3. package/dist/asset-convert-product/admin/dto.schemas.d.ts +8 -0
  4. package/dist/asset-convert-product/admin/router.d.ts +12 -12
  5. package/dist/asset-convert-product/admin/service.d.ts +12 -12
  6. package/dist/auth/better-auth.d.ts +19 -1
  7. package/dist/auth/i18n/zh.d.ts +100 -0
  8. package/dist/auth/permissions.d.ts +16 -1
  9. package/dist/auth/roles.d.ts +45 -0
  10. package/dist/check-in/admin/reward.dto.schemas.d.ts +321 -0
  11. package/dist/check-in/admin/reward.router.d.ts +1109 -0
  12. package/dist/check-in/admin/reward.service.d.ts +433 -0
  13. package/dist/check-in/admin/router.d.ts +662 -0
  14. package/dist/check-in/errors/index.d.ts +10 -0
  15. package/dist/check-in/errors/locales/zh.d.ts +10 -0
  16. package/dist/check-in/index.d.ts +5 -0
  17. package/dist/check-in/internal/reward-config.service.d.ts +97 -0
  18. package/dist/check-in/permissions.d.ts +2 -0
  19. package/dist/check-in/reward.db.schemas.d.ts +896 -0
  20. package/dist/check-in/reward.schema.d.ts +477 -0
  21. package/dist/content-video/admin/dto.schemas.d.ts +128 -0
  22. package/dist/content-video/admin/router.d.ts +861 -0
  23. package/dist/content-video/admin/service.d.ts +211 -0
  24. package/dist/content-video/db.schemas.d.ts +486 -0
  25. package/dist/content-video/errors/index.d.ts +17 -0
  26. package/dist/content-video/errors/locales/zh.d.ts +16 -0
  27. package/dist/content-video/index.d.ts +8 -0
  28. package/dist/content-video/internal/service.d.ts +106 -0
  29. package/dist/content-video/permissions.d.ts +4 -0
  30. package/dist/content-video/schema.d.ts +257 -0
  31. package/dist/content-video/user/dto.schemas.d.ts +52 -0
  32. package/dist/content-video/user/router.d.ts +482 -0
  33. package/dist/content-video/user/service.d.ts +36 -0
  34. package/dist/db/schemas.d.ts +4 -0
  35. package/dist/file-storage/admin/dto.schemas.d.ts +4 -0
  36. package/dist/file-storage/admin/router.d.ts +2 -2
  37. package/dist/file-storage/admin/service.d.ts +2 -2
  38. package/dist/file-storage/db.schemas.d.ts +4 -4
  39. package/dist/file-storage/internal/service.d.ts +1 -1
  40. package/dist/file-storage/s3.client.d.ts +22 -0
  41. package/dist/file-storage/schema.d.ts +3 -3
  42. package/dist/file-storage/share/dto.schemas.d.ts +1 -0
  43. package/dist/file-storage/share/router.d.ts +1 -1
  44. package/dist/file-storage/user/dto.schemas.d.ts +6 -4
  45. package/dist/file-storage/user/router.d.ts +3 -3
  46. package/dist/file-storage/user/service.d.ts +2 -2
  47. package/dist/index.d.ts +3131 -805
  48. package/dist/ledger/admin/dto.schemas.d.ts +8 -0
  49. package/dist/ledger/admin/router.d.ts +5 -17
  50. package/dist/ledger/db.schemas.d.ts +8 -8
  51. package/dist/ledger/schema.d.ts +6 -6
  52. package/dist/ledger/user/dto.schemas.d.ts +8 -8
  53. package/dist/ledger/user/router.d.ts +2 -2
  54. package/dist/ledger/user/service.d.ts +2 -2
  55. package/dist/lock-activity/admin/dto.schemas.d.ts +161 -0
  56. package/dist/lock-activity/admin/participation.dto.schemas.d.ts +200 -0
  57. package/dist/lock-activity/admin/participation.service.d.ts +144 -0
  58. package/dist/lock-activity/admin/reward.service.d.ts +48 -0
  59. package/dist/lock-activity/admin/router.d.ts +1399 -0
  60. package/dist/lock-activity/admin/service.d.ts +518 -0
  61. package/dist/lock-activity/constants.d.ts +2 -0
  62. package/dist/lock-activity/cron.d.ts +6 -0
  63. package/dist/lock-activity/db.schemas.d.ts +516 -0
  64. package/dist/lock-activity/errors/index.d.ts +32 -0
  65. package/dist/lock-activity/errors/locales/zh.d.ts +31 -0
  66. package/dist/lock-activity/index.d.ts +7 -0
  67. package/dist/lock-activity/internal/participation.service.d.ts +42 -0
  68. package/dist/lock-activity/internal/reward.service.d.ts +15 -0
  69. package/dist/lock-activity/internal/service.d.ts +66 -0
  70. package/dist/lock-activity/participation.db.schemas.d.ts +448 -0
  71. package/dist/lock-activity/participation.schema.d.ts +239 -0
  72. package/dist/lock-activity/permissions.d.ts +5 -0
  73. package/dist/lock-activity/schema.d.ts +273 -0
  74. package/dist/lock-activity/shared.dto.schemas.d.ts +7 -0
  75. package/dist/lock-activity/user/dto.schemas.d.ts +116 -0
  76. package/dist/lock-activity/user/participation.dto.schemas.d.ts +25 -0
  77. package/dist/lock-activity/user/participation.service.d.ts +24 -0
  78. package/dist/lock-activity/user/router.d.ts +624 -0
  79. package/dist/lock-activity/user/service.d.ts +86 -0
  80. package/dist/market-pricing/admin/router.d.ts +13 -1
  81. package/dist/news/admin/dto.schemas.d.ts +26 -26
  82. package/dist/news/admin/router.d.ts +25 -25
  83. package/dist/news/admin/service.d.ts +4 -1
  84. package/dist/news/user/service.d.ts +2 -2
  85. package/dist/referral/index.d.ts +1 -0
  86. package/dist/referral/user/router.d.ts +29 -1
  87. package/dist/wallet-type/admin/router.d.ts +1 -13
  88. package/package.json +1 -1
@@ -1876,19 +1876,19 @@ export declare const adminRouter: Elysia<"/admin", {
1876
1876
  createdAt: Date;
1877
1877
  creditLedgerEntry?: {
1878
1878
  id: string;
1879
- bizType: "asset_convert_order_pay_debit" | "asset_convert_order_target_credit" | "deposit_credit" | "internal_transfer_in" | "internal_transfer_out" | "manual_decrease" | "manual_increase" | "trade_market_buy_base_transfer" | "trade_market_buy_quote_transfer" | "trade_market_sell_base_transfer" | "trade_market_sell_quote_transfer" | "transfer_in" | "transfer_out" | "welfare_cycle_daily_yield_payout" | "welfare_cycle_maturity_principal_return" | "welfare_cycle_maturity_yield_payout" | "welfare_cycle_subscribe_transfer" | "withdraw_debit" | "withdraw_freeze" | "withdraw_release";
1879
+ bizType: "asset_convert_order_pay_debit" | "asset_convert_order_target_credit" | "deposit_credit" | "internal_transfer_in" | "internal_transfer_out" | "lock_activity_reward_payout" | "manual_decrease" | "manual_increase" | "trade_market_buy_base_transfer" | "trade_market_buy_quote_transfer" | "trade_market_sell_base_transfer" | "trade_market_sell_quote_transfer" | "transfer_in" | "transfer_out" | "welfare_cycle_daily_yield_payout" | "welfare_cycle_maturity_principal_return" | "welfare_cycle_maturity_yield_payout" | "welfare_cycle_subscribe_transfer" | "withdraw_debit" | "withdraw_freeze" | "withdraw_release";
1880
1880
  amount: string;
1881
1881
  referenceId: string;
1882
- referenceType: "asset_convert_order" | "deposit_order" | "internal_transfer_order" | "manual_adjustment" | "trade_market_order" | "transfer_order" | "welfare_cycle_daily_payout" | "welfare_cycle_maturity_settlement" | "welfare_cycle_subscription" | "withdraw_order";
1882
+ referenceType: "asset_convert_order" | "deposit_order" | "internal_transfer_order" | "lock_activity_participation" | "manual_adjustment" | "trade_market_order" | "transfer_order" | "welfare_cycle_daily_payout" | "welfare_cycle_maturity_settlement" | "welfare_cycle_subscription" | "withdraw_order";
1883
1883
  createdAt: Date;
1884
1884
  } | undefined;
1885
1885
  creditLedgerEntryId: string | null;
1886
1886
  debitLedgerEntry?: {
1887
1887
  id: string;
1888
- bizType: "asset_convert_order_pay_debit" | "asset_convert_order_target_credit" | "deposit_credit" | "internal_transfer_in" | "internal_transfer_out" | "manual_decrease" | "manual_increase" | "trade_market_buy_base_transfer" | "trade_market_buy_quote_transfer" | "trade_market_sell_base_transfer" | "trade_market_sell_quote_transfer" | "transfer_in" | "transfer_out" | "welfare_cycle_daily_yield_payout" | "welfare_cycle_maturity_principal_return" | "welfare_cycle_maturity_yield_payout" | "welfare_cycle_subscribe_transfer" | "withdraw_debit" | "withdraw_freeze" | "withdraw_release";
1888
+ bizType: "asset_convert_order_pay_debit" | "asset_convert_order_target_credit" | "deposit_credit" | "internal_transfer_in" | "internal_transfer_out" | "lock_activity_reward_payout" | "manual_decrease" | "manual_increase" | "trade_market_buy_base_transfer" | "trade_market_buy_quote_transfer" | "trade_market_sell_base_transfer" | "trade_market_sell_quote_transfer" | "transfer_in" | "transfer_out" | "welfare_cycle_daily_yield_payout" | "welfare_cycle_maturity_principal_return" | "welfare_cycle_maturity_yield_payout" | "welfare_cycle_subscribe_transfer" | "withdraw_debit" | "withdraw_freeze" | "withdraw_release";
1889
1889
  amount: string;
1890
1890
  referenceId: string;
1891
- referenceType: "asset_convert_order" | "deposit_order" | "internal_transfer_order" | "manual_adjustment" | "trade_market_order" | "transfer_order" | "welfare_cycle_daily_payout" | "welfare_cycle_maturity_settlement" | "welfare_cycle_subscription" | "withdraw_order";
1891
+ referenceType: "asset_convert_order" | "deposit_order" | "internal_transfer_order" | "lock_activity_participation" | "manual_adjustment" | "trade_market_order" | "transfer_order" | "welfare_cycle_daily_payout" | "welfare_cycle_maturity_settlement" | "welfare_cycle_subscription" | "withdraw_order";
1892
1892
  createdAt: Date;
1893
1893
  } | undefined;
1894
1894
  debitLedgerEntryId: string | null;
@@ -2047,19 +2047,19 @@ export declare const adminRouter: Elysia<"/admin", {
2047
2047
  createdAt: Date;
2048
2048
  creditLedgerEntry?: {
2049
2049
  id: string;
2050
- bizType: "asset_convert_order_pay_debit" | "asset_convert_order_target_credit" | "deposit_credit" | "internal_transfer_in" | "internal_transfer_out" | "manual_decrease" | "manual_increase" | "trade_market_buy_base_transfer" | "trade_market_buy_quote_transfer" | "trade_market_sell_base_transfer" | "trade_market_sell_quote_transfer" | "transfer_in" | "transfer_out" | "welfare_cycle_daily_yield_payout" | "welfare_cycle_maturity_principal_return" | "welfare_cycle_maturity_yield_payout" | "welfare_cycle_subscribe_transfer" | "withdraw_debit" | "withdraw_freeze" | "withdraw_release";
2050
+ bizType: "asset_convert_order_pay_debit" | "asset_convert_order_target_credit" | "deposit_credit" | "internal_transfer_in" | "internal_transfer_out" | "lock_activity_reward_payout" | "manual_decrease" | "manual_increase" | "trade_market_buy_base_transfer" | "trade_market_buy_quote_transfer" | "trade_market_sell_base_transfer" | "trade_market_sell_quote_transfer" | "transfer_in" | "transfer_out" | "welfare_cycle_daily_yield_payout" | "welfare_cycle_maturity_principal_return" | "welfare_cycle_maturity_yield_payout" | "welfare_cycle_subscribe_transfer" | "withdraw_debit" | "withdraw_freeze" | "withdraw_release";
2051
2051
  amount: string;
2052
2052
  referenceId: string;
2053
- referenceType: "asset_convert_order" | "deposit_order" | "internal_transfer_order" | "manual_adjustment" | "trade_market_order" | "transfer_order" | "welfare_cycle_daily_payout" | "welfare_cycle_maturity_settlement" | "welfare_cycle_subscription" | "withdraw_order";
2053
+ referenceType: "asset_convert_order" | "deposit_order" | "internal_transfer_order" | "lock_activity_participation" | "manual_adjustment" | "trade_market_order" | "transfer_order" | "welfare_cycle_daily_payout" | "welfare_cycle_maturity_settlement" | "welfare_cycle_subscription" | "withdraw_order";
2054
2054
  createdAt: Date;
2055
2055
  } | undefined;
2056
2056
  creditLedgerEntryId: string | null;
2057
2057
  debitLedgerEntry?: {
2058
2058
  id: string;
2059
- bizType: "asset_convert_order_pay_debit" | "asset_convert_order_target_credit" | "deposit_credit" | "internal_transfer_in" | "internal_transfer_out" | "manual_decrease" | "manual_increase" | "trade_market_buy_base_transfer" | "trade_market_buy_quote_transfer" | "trade_market_sell_base_transfer" | "trade_market_sell_quote_transfer" | "transfer_in" | "transfer_out" | "welfare_cycle_daily_yield_payout" | "welfare_cycle_maturity_principal_return" | "welfare_cycle_maturity_yield_payout" | "welfare_cycle_subscribe_transfer" | "withdraw_debit" | "withdraw_freeze" | "withdraw_release";
2059
+ bizType: "asset_convert_order_pay_debit" | "asset_convert_order_target_credit" | "deposit_credit" | "internal_transfer_in" | "internal_transfer_out" | "lock_activity_reward_payout" | "manual_decrease" | "manual_increase" | "trade_market_buy_base_transfer" | "trade_market_buy_quote_transfer" | "trade_market_sell_base_transfer" | "trade_market_sell_quote_transfer" | "transfer_in" | "transfer_out" | "welfare_cycle_daily_yield_payout" | "welfare_cycle_maturity_principal_return" | "welfare_cycle_maturity_yield_payout" | "welfare_cycle_subscribe_transfer" | "withdraw_debit" | "withdraw_freeze" | "withdraw_release";
2060
2060
  amount: string;
2061
2061
  referenceId: string;
2062
- referenceType: "asset_convert_order" | "deposit_order" | "internal_transfer_order" | "manual_adjustment" | "trade_market_order" | "transfer_order" | "welfare_cycle_daily_payout" | "welfare_cycle_maturity_settlement" | "welfare_cycle_subscription" | "withdraw_order";
2062
+ referenceType: "asset_convert_order" | "deposit_order" | "internal_transfer_order" | "lock_activity_participation" | "manual_adjustment" | "trade_market_order" | "transfer_order" | "welfare_cycle_daily_payout" | "welfare_cycle_maturity_settlement" | "welfare_cycle_subscription" | "withdraw_order";
2063
2063
  createdAt: Date;
2064
2064
  } | undefined;
2065
2065
  debitLedgerEntryId: string | null;
@@ -2212,19 +2212,19 @@ export declare const adminRouter: Elysia<"/admin", {
2212
2212
  createdAt: Date;
2213
2213
  creditLedgerEntry?: {
2214
2214
  id: string;
2215
- bizType: "asset_convert_order_pay_debit" | "asset_convert_order_target_credit" | "deposit_credit" | "internal_transfer_in" | "internal_transfer_out" | "manual_decrease" | "manual_increase" | "trade_market_buy_base_transfer" | "trade_market_buy_quote_transfer" | "trade_market_sell_base_transfer" | "trade_market_sell_quote_transfer" | "transfer_in" | "transfer_out" | "welfare_cycle_daily_yield_payout" | "welfare_cycle_maturity_principal_return" | "welfare_cycle_maturity_yield_payout" | "welfare_cycle_subscribe_transfer" | "withdraw_debit" | "withdraw_freeze" | "withdraw_release";
2215
+ bizType: "asset_convert_order_pay_debit" | "asset_convert_order_target_credit" | "deposit_credit" | "internal_transfer_in" | "internal_transfer_out" | "lock_activity_reward_payout" | "manual_decrease" | "manual_increase" | "trade_market_buy_base_transfer" | "trade_market_buy_quote_transfer" | "trade_market_sell_base_transfer" | "trade_market_sell_quote_transfer" | "transfer_in" | "transfer_out" | "welfare_cycle_daily_yield_payout" | "welfare_cycle_maturity_principal_return" | "welfare_cycle_maturity_yield_payout" | "welfare_cycle_subscribe_transfer" | "withdraw_debit" | "withdraw_freeze" | "withdraw_release";
2216
2216
  amount: string;
2217
2217
  referenceId: string;
2218
- referenceType: "asset_convert_order" | "deposit_order" | "internal_transfer_order" | "manual_adjustment" | "trade_market_order" | "transfer_order" | "welfare_cycle_daily_payout" | "welfare_cycle_maturity_settlement" | "welfare_cycle_subscription" | "withdraw_order";
2218
+ referenceType: "asset_convert_order" | "deposit_order" | "internal_transfer_order" | "lock_activity_participation" | "manual_adjustment" | "trade_market_order" | "transfer_order" | "welfare_cycle_daily_payout" | "welfare_cycle_maturity_settlement" | "welfare_cycle_subscription" | "withdraw_order";
2219
2219
  createdAt: Date;
2220
2220
  } | undefined;
2221
2221
  creditLedgerEntryId: string | null;
2222
2222
  debitLedgerEntry?: {
2223
2223
  id: string;
2224
- bizType: "asset_convert_order_pay_debit" | "asset_convert_order_target_credit" | "deposit_credit" | "internal_transfer_in" | "internal_transfer_out" | "manual_decrease" | "manual_increase" | "trade_market_buy_base_transfer" | "trade_market_buy_quote_transfer" | "trade_market_sell_base_transfer" | "trade_market_sell_quote_transfer" | "transfer_in" | "transfer_out" | "welfare_cycle_daily_yield_payout" | "welfare_cycle_maturity_principal_return" | "welfare_cycle_maturity_yield_payout" | "welfare_cycle_subscribe_transfer" | "withdraw_debit" | "withdraw_freeze" | "withdraw_release";
2224
+ bizType: "asset_convert_order_pay_debit" | "asset_convert_order_target_credit" | "deposit_credit" | "internal_transfer_in" | "internal_transfer_out" | "lock_activity_reward_payout" | "manual_decrease" | "manual_increase" | "trade_market_buy_base_transfer" | "trade_market_buy_quote_transfer" | "trade_market_sell_base_transfer" | "trade_market_sell_quote_transfer" | "transfer_in" | "transfer_out" | "welfare_cycle_daily_yield_payout" | "welfare_cycle_maturity_principal_return" | "welfare_cycle_maturity_yield_payout" | "welfare_cycle_subscribe_transfer" | "withdraw_debit" | "withdraw_freeze" | "withdraw_release";
2225
2225
  amount: string;
2226
2226
  referenceId: string;
2227
- referenceType: "asset_convert_order" | "deposit_order" | "internal_transfer_order" | "manual_adjustment" | "trade_market_order" | "transfer_order" | "welfare_cycle_daily_payout" | "welfare_cycle_maturity_settlement" | "welfare_cycle_subscription" | "withdraw_order";
2227
+ referenceType: "asset_convert_order" | "deposit_order" | "internal_transfer_order" | "lock_activity_participation" | "manual_adjustment" | "trade_market_order" | "transfer_order" | "welfare_cycle_daily_payout" | "welfare_cycle_maturity_settlement" | "welfare_cycle_subscription" | "withdraw_order";
2228
2228
  createdAt: Date;
2229
2229
  } | undefined;
2230
2230
  debitLedgerEntryId: string | null;
@@ -4048,104 +4048,85 @@ export declare const adminRouter: Elysia<"/admin", {
4048
4048
  checkIns: {};
4049
4049
  } & {
4050
4050
  checkIns: {
4051
- get: {
4052
- body: {};
4053
- params: {};
4054
- query: {
4055
- checkInType?: "app" | "meeting" | undefined;
4056
- endDate?: Date | undefined;
4057
- limit?: number | undefined;
4058
- offset?: number | undefined;
4059
- pageIndex?: number | undefined;
4060
- pageSize?: number | undefined;
4061
- startDate?: Date | undefined;
4062
- userId?: string | undefined;
4063
- };
4064
- headers: {};
4065
- response: {
4066
- 200: {
4067
- data: {
4068
- checkInAt: Date;
4069
- checkInLocalDate: string;
4070
- checkInOffsetMinutes: number | null;
4071
- checkInTimezone: string;
4051
+ "reward-plans": {};
4052
+ } & {
4053
+ "reward-plans": {
4054
+ get: {
4055
+ body: {};
4056
+ params: {};
4057
+ query: {};
4058
+ headers: {};
4059
+ response: {
4060
+ 200: {
4072
4061
  checkInType: "app" | "meeting";
4073
4062
  createdAt: Date;
4074
- id: string;
4075
- updatedAt: Date;
4076
- user: {
4063
+ createdBy: string;
4064
+ creator: {
4077
4065
  id: string;
4078
4066
  name: string;
4079
4067
  email: string;
4080
- emailVerified: boolean;
4081
- image: string | null;
4068
+ } | null;
4069
+ dailyPayoutAccountType: {
4070
+ id: string;
4071
+ key: string;
4072
+ name: string;
4073
+ isActive: boolean;
4074
+ };
4075
+ dailyPayoutAccountTypeId: string;
4076
+ dailyRewardAmount: string;
4077
+ dailyRewardCategory: string;
4078
+ id: string;
4079
+ isEnabled: boolean;
4080
+ name: string;
4081
+ rewardAsset: {
4082
+ id: string;
4083
+ code: string;
4084
+ name: string;
4085
+ symbol: string | null;
4086
+ precision: number;
4087
+ isActive: boolean;
4088
+ };
4089
+ rewardAssetId: string;
4090
+ rules: {
4082
4091
  createdAt: Date;
4092
+ createdBy: string;
4093
+ creator: {
4094
+ id: string;
4095
+ name: string;
4096
+ email: string;
4097
+ } | null;
4098
+ id: string;
4099
+ isEnabled: boolean;
4100
+ payoutAccountType: {
4101
+ id: string;
4102
+ key: string;
4103
+ name: string;
4104
+ isActive: boolean;
4105
+ };
4106
+ payoutAccountTypeId: string;
4107
+ planId: string;
4108
+ rewardAmount: string;
4109
+ rewardCategory: string;
4110
+ ruleType: "consecutive" | "cumulative";
4111
+ sortOrder: number;
4112
+ thresholdDays: number;
4083
4113
  updatedAt: Date;
4084
- twoFactorEnabled: boolean | null;
4085
- username: string | null;
4086
- displayUsername: string | null;
4087
- phoneNumber: string | null;
4088
- phoneNumberVerified: boolean | null;
4089
- role: string | null;
4090
- banned: boolean | null;
4091
- banReason: string | null;
4092
- banExpires: Date | null;
4093
- };
4094
- userId: string;
4095
- }[];
4096
- pagination: {
4097
- pageSize: number;
4098
- pageIndex: number;
4099
- total: number;
4100
- totalPages: number;
4101
- hasNextPage: boolean;
4102
- };
4103
- };
4104
- 401: "Unauthorized";
4105
- 403: "Forbidden: Admins only";
4106
- 422: {
4107
- type: 'validation';
4108
- on: string;
4109
- summary?: string;
4110
- message?: string;
4111
- found?: unknown;
4112
- property?: string;
4113
- expected?: string;
4114
- };
4115
- };
4116
- };
4117
- };
4118
- };
4119
- } & {
4120
- admin: {
4121
- ledger_account_import: {};
4122
- } & {
4123
- ledger_account_import: {
4124
- jobs: {
4125
- post: {
4126
- body: {
4127
- fileId: string;
4128
- };
4129
- params: {};
4130
- query: {};
4131
- headers: {};
4132
- response: {
4133
- 200: {
4134
- createdAt: Date;
4114
+ updatedBy: string | null;
4115
+ updater: {
4116
+ id: string;
4117
+ name: string;
4118
+ email: string;
4119
+ } | null;
4120
+ }[];
4121
+ sortOrder: number;
4135
4122
  updatedAt: Date;
4136
- id: string;
4137
- fileId: string;
4138
- status: "failed" | "pending" | "running" | "success";
4139
- total: number;
4140
- processed: number;
4141
- success: number;
4142
- failed: number;
4143
- ignored: number;
4144
- error: string | null;
4145
- createdBy: string;
4146
- startedAt: Date | null;
4147
- finishedAt: Date | null;
4148
- };
4123
+ updatedBy: string | null;
4124
+ updater: {
4125
+ id: string;
4126
+ name: string;
4127
+ email: string;
4128
+ } | null;
4129
+ } | null;
4149
4130
  401: "Unauthorized";
4150
4131
  403: "Forbidden: Admins only";
4151
4132
  422: {
@@ -4160,46 +4141,101 @@ export declare const adminRouter: Elysia<"/admin", {
4160
4141
  };
4161
4142
  };
4162
4143
  };
4163
- };
4164
- } & {
4165
- ledger_account_import: {
4166
- jobs: {
4167
- get: {
4168
- body: {};
4169
- params: {};
4170
- query: {
4171
- limit?: number | undefined;
4172
- offset?: number | undefined;
4173
- pageSize?: number | undefined;
4174
- pageIndex?: number | undefined;
4175
- status?: "failed" | "pending" | "running" | "success" | undefined;
4144
+ } & {
4145
+ "reward-plans": {
4146
+ post: {
4147
+ body: {
4148
+ checkInType?: "app" | "meeting" | undefined;
4149
+ dailyPayoutAccountTypeId: string;
4150
+ dailyRewardAmount: string;
4151
+ dailyRewardCategory?: string | undefined;
4152
+ isEnabled?: boolean | undefined;
4153
+ name: string;
4154
+ rewardAssetId: string;
4155
+ rules?: {
4156
+ isEnabled?: boolean | undefined;
4157
+ payoutAccountTypeId: string;
4158
+ rewardAmount: string;
4159
+ rewardCategory?: string | undefined;
4160
+ ruleType: "consecutive" | "cumulative";
4161
+ sortOrder?: number | undefined;
4162
+ thresholdDays: number;
4163
+ }[] | undefined;
4164
+ sortOrder?: number | undefined;
4176
4165
  };
4166
+ params: {};
4167
+ query: {};
4177
4168
  headers: {};
4178
4169
  response: {
4179
4170
  200: {
4180
- data: {
4181
- createdAt: Date;
4182
- updatedAt: Date;
4171
+ checkInType: "app" | "meeting";
4172
+ createdAt: Date;
4173
+ createdBy: string;
4174
+ creator: {
4183
4175
  id: string;
4184
- fileId: string;
4185
- status: "failed" | "pending" | "running" | "success";
4186
- total: number;
4187
- processed: number;
4188
- success: number;
4189
- failed: number;
4190
- ignored: number;
4191
- error: string | null;
4176
+ name: string;
4177
+ email: string;
4178
+ } | null;
4179
+ dailyPayoutAccountType: {
4180
+ id: string;
4181
+ key: string;
4182
+ name: string;
4183
+ isActive: boolean;
4184
+ };
4185
+ dailyPayoutAccountTypeId: string;
4186
+ dailyRewardAmount: string;
4187
+ dailyRewardCategory: string;
4188
+ id: string;
4189
+ isEnabled: boolean;
4190
+ name: string;
4191
+ rewardAsset: {
4192
+ id: string;
4193
+ code: string;
4194
+ name: string;
4195
+ symbol: string | null;
4196
+ precision: number;
4197
+ isActive: boolean;
4198
+ };
4199
+ rewardAssetId: string;
4200
+ rules: {
4201
+ createdAt: Date;
4192
4202
  createdBy: string;
4193
- startedAt: Date | null;
4194
- finishedAt: Date | null;
4203
+ creator: {
4204
+ id: string;
4205
+ name: string;
4206
+ email: string;
4207
+ } | null;
4208
+ id: string;
4209
+ isEnabled: boolean;
4210
+ payoutAccountType: {
4211
+ id: string;
4212
+ key: string;
4213
+ name: string;
4214
+ isActive: boolean;
4215
+ };
4216
+ payoutAccountTypeId: string;
4217
+ planId: string;
4218
+ rewardAmount: string;
4219
+ rewardCategory: string;
4220
+ ruleType: "consecutive" | "cumulative";
4221
+ sortOrder: number;
4222
+ thresholdDays: number;
4223
+ updatedAt: Date;
4224
+ updatedBy: string | null;
4225
+ updater: {
4226
+ id: string;
4227
+ name: string;
4228
+ email: string;
4229
+ } | null;
4195
4230
  }[];
4196
- pagination: {
4197
- pageSize: number;
4198
- pageIndex: number;
4199
- total: number;
4200
- totalPages: number;
4201
- hasNextPage: boolean;
4202
- };
4231
+ sortOrder: number;
4232
+ updatedAt: Date;
4233
+ updatedBy: string | null;
4234
+ updater: {
4235
+ id: string;
4236
+ name: string;
4237
+ email: string;
4238
+ } | null;
4203
4239
  };
4204
4240
  401: "Unauthorized";
4205
4241
  403: "Forbidden: Admins only";
@@ -4215,129 +4251,136 @@ export declare const adminRouter: Elysia<"/admin", {
4215
4251
  };
4216
4252
  };
4217
4253
  };
4218
- };
4219
- } & {
4220
- ledger_account_import: {
4221
- jobs: {
4222
- ":id": {
4223
- get: {
4224
- body: {};
4225
- params: {
4254
+ } & {
4255
+ "reward-plans": {
4256
+ patch: {
4257
+ body: {
4258
+ checkInType?: "app" | "meeting" | undefined;
4259
+ dailyPayoutAccountTypeId?: string | undefined;
4260
+ dailyRewardAmount?: string | undefined;
4261
+ dailyRewardCategory?: string | undefined;
4262
+ isEnabled?: boolean | undefined;
4263
+ name?: string | undefined;
4264
+ rewardAssetId?: string | undefined;
4265
+ rules?: ({
4226
4266
  id: string;
4227
- };
4228
- query: {};
4229
- headers: {};
4230
- response: {
4231
- 200: {
4232
- createdAt: Date;
4233
- updatedAt: Date;
4234
- id: string;
4235
- fileId: string;
4236
- status: "failed" | "pending" | "running" | "success";
4237
- total: number;
4238
- processed: number;
4239
- success: number;
4240
- failed: number;
4241
- ignored: number;
4242
- error: string | null;
4243
- createdBy: string;
4244
- startedAt: Date | null;
4245
- finishedAt: Date | null;
4246
- };
4247
- 401: "Unauthorized";
4248
- 403: "Forbidden: Admins only";
4249
- 422: {
4250
- type: 'validation';
4251
- on: string;
4252
- summary?: string;
4253
- message?: string;
4254
- found?: unknown;
4255
- property?: string;
4256
- expected?: string;
4257
- };
4258
- };
4267
+ isEnabled?: boolean | undefined;
4268
+ payoutAccountTypeId?: string | undefined;
4269
+ rewardAmount?: string | undefined;
4270
+ rewardCategory?: string | undefined;
4271
+ ruleType?: "consecutive" | "cumulative" | undefined;
4272
+ sortOrder?: number | undefined;
4273
+ thresholdDays?: number | undefined;
4274
+ } | {
4275
+ isEnabled?: boolean | undefined;
4276
+ payoutAccountTypeId: string;
4277
+ rewardAmount: string;
4278
+ rewardCategory?: string | undefined;
4279
+ ruleType: "consecutive" | "cumulative";
4280
+ sortOrder?: number | undefined;
4281
+ thresholdDays: number;
4282
+ })[] | undefined;
4283
+ sortOrder?: number | undefined;
4259
4284
  };
4260
- };
4261
- };
4262
- };
4263
- } & {
4264
- ledger_account_import: {
4265
- jobs: {
4266
- ":id": {
4267
- items: {
4268
- get: {
4269
- body: {};
4270
- params: {
4285
+ params: {};
4286
+ query: {};
4287
+ headers: {};
4288
+ response: {
4289
+ 200: {
4290
+ checkInType: "app" | "meeting";
4291
+ createdAt: Date;
4292
+ createdBy: string;
4293
+ creator: {
4294
+ id: string;
4295
+ name: string;
4296
+ email: string;
4297
+ } | null;
4298
+ dailyPayoutAccountType: {
4271
4299
  id: string;
4300
+ key: string;
4301
+ name: string;
4302
+ isActive: boolean;
4272
4303
  };
4273
- query: {
4274
- limit?: number | undefined;
4275
- offset?: number | undefined;
4276
- pageSize?: number | undefined;
4277
- pageIndex?: number | undefined;
4278
- status?: "failed" | "ignored" | "success" | undefined;
4304
+ dailyPayoutAccountTypeId: string;
4305
+ dailyRewardAmount: string;
4306
+ dailyRewardCategory: string;
4307
+ id: string;
4308
+ isEnabled: boolean;
4309
+ name: string;
4310
+ rewardAsset: {
4311
+ id: string;
4312
+ code: string;
4313
+ name: string;
4314
+ symbol: string | null;
4315
+ precision: number;
4316
+ isActive: boolean;
4279
4317
  };
4280
- headers: {};
4281
- response: {
4282
- 200: {
4283
- data: {
4284
- createdAt: Date;
4285
- updatedAt: Date;
4286
- id: string;
4287
- jobId: string;
4288
- rowNumber: number;
4289
- phoneNumber: string | null;
4290
- assetCode: string | null;
4291
- assetCodeRaw: string | null;
4292
- accountTypeKey: string | null;
4293
- accountTypeKeyRaw: string | null;
4294
- amount: string | null;
4295
- memo: string | null;
4296
- status: "failed" | "ignored" | "success";
4297
- error: string | null;
4298
- referenceId: string | null;
4299
- userId: string | null;
4300
- assetId: string | null;
4301
- ledgerAccountTypeId: string | null;
4302
- ledgerAccountId: string | null;
4303
- ledgerEntryId: string | null;
4304
- isIdempotent: boolean;
4305
- }[];
4306
- pagination: {
4307
- pageSize: number;
4308
- pageIndex: number;
4309
- total: number;
4310
- totalPages: number;
4311
- hasNextPage: boolean;
4312
- };
4313
- };
4314
- 401: "Unauthorized";
4315
- 403: "Forbidden: Admins only";
4316
- 422: {
4317
- type: 'validation';
4318
- on: string;
4319
- summary?: string;
4320
- message?: string;
4321
- found?: unknown;
4322
- property?: string;
4323
- expected?: string;
4318
+ rewardAssetId: string;
4319
+ rules: {
4320
+ createdAt: Date;
4321
+ createdBy: string;
4322
+ creator: {
4323
+ id: string;
4324
+ name: string;
4325
+ email: string;
4326
+ } | null;
4327
+ id: string;
4328
+ isEnabled: boolean;
4329
+ payoutAccountType: {
4330
+ id: string;
4331
+ key: string;
4332
+ name: string;
4333
+ isActive: boolean;
4324
4334
  };
4325
- };
4335
+ payoutAccountTypeId: string;
4336
+ planId: string;
4337
+ rewardAmount: string;
4338
+ rewardCategory: string;
4339
+ ruleType: "consecutive" | "cumulative";
4340
+ sortOrder: number;
4341
+ thresholdDays: number;
4342
+ updatedAt: Date;
4343
+ updatedBy: string | null;
4344
+ updater: {
4345
+ id: string;
4346
+ name: string;
4347
+ email: string;
4348
+ } | null;
4349
+ }[];
4350
+ sortOrder: number;
4351
+ updatedAt: Date;
4352
+ updatedBy: string | null;
4353
+ updater: {
4354
+ id: string;
4355
+ name: string;
4356
+ email: string;
4357
+ } | null;
4358
+ };
4359
+ 401: "Unauthorized";
4360
+ 403: "Forbidden: Admins only";
4361
+ 422: {
4362
+ type: 'validation';
4363
+ on: string;
4364
+ summary?: string;
4365
+ message?: string;
4366
+ found?: unknown;
4367
+ property?: string;
4368
+ expected?: string;
4326
4369
  };
4327
4370
  };
4328
4371
  };
4329
4372
  };
4330
- };
4331
- } & {
4332
- ledger_account_import: {
4333
- template: {
4334
- get: {
4373
+ } & {
4374
+ "reward-plans": {
4375
+ delete: {
4335
4376
  body: {};
4336
4377
  params: {};
4337
4378
  query: {};
4338
4379
  headers: {};
4339
4380
  response: {
4340
- 200: ArrayBuffer;
4381
+ 200: {
4382
+ success: boolean;
4383
+ };
4341
4384
  401: "Unauthorized";
4342
4385
  403: "Forbidden: Admins only";
4343
4386
  422: {
@@ -4352,89 +4395,702 @@ export declare const adminRouter: Elysia<"/admin", {
4352
4395
  };
4353
4396
  };
4354
4397
  };
4355
- };
4356
- };
4357
- } & {
4358
- admin: {
4359
- ledger: {};
4360
- } & {
4361
- ledger: {
4362
- entries: {
4363
- get: {
4364
- body: {};
4365
- params: {};
4366
- query: {
4367
- accountId?: string | undefined;
4368
- assetId?: string | undefined;
4369
- bizType?: "asset_convert_order_pay_debit" | "asset_convert_order_target_credit" | "deposit_credit" | "internal_transfer_in" | "internal_transfer_out" | "manual_decrease" | "manual_increase" | "trade_market_buy_base_transfer" | "trade_market_buy_quote_transfer" | "trade_market_sell_base_transfer" | "trade_market_sell_quote_transfer" | "transfer_in" | "transfer_out" | "welfare_cycle_daily_yield_payout" | "welfare_cycle_maturity_principal_return" | "welfare_cycle_maturity_yield_payout" | "welfare_cycle_subscribe_transfer" | "withdraw_debit" | "withdraw_freeze" | "withdraw_release" | undefined;
4370
- changeDirection?: "decrease" | "increase" | undefined;
4371
- endDate?: Date | undefined;
4372
- limit?: number | undefined;
4373
- offset?: number | undefined;
4374
- operatorId?: string | null | undefined;
4375
- pageIndex?: number | undefined;
4376
- pageSize?: number | undefined;
4377
- referenceId?: string | undefined;
4378
- referenceType?: "asset_convert_order" | "deposit_order" | "internal_transfer_order" | "manual_adjustment" | "trade_market_order" | "transfer_order" | "welfare_cycle_daily_payout" | "welfare_cycle_maturity_settlement" | "welfare_cycle_subscription" | "withdraw_order" | undefined;
4379
- startDate?: Date | undefined;
4380
- userId?: string | undefined;
4381
- };
4382
- headers: {};
4383
- response: {
4384
- 200: {
4385
- data: {
4386
- amount: string;
4387
- asset: {
4398
+ } & {
4399
+ "reward-plans": {
4400
+ rules: {
4401
+ post: {
4402
+ body: {
4403
+ isEnabled?: boolean | undefined;
4404
+ payoutAccountTypeId: string;
4405
+ rewardAmount: string;
4406
+ rewardCategory?: string | undefined;
4407
+ ruleType: "consecutive" | "cumulative";
4408
+ sortOrder?: number | undefined;
4409
+ thresholdDays: number;
4410
+ };
4411
+ params: {};
4412
+ query: {};
4413
+ headers: {};
4414
+ response: {
4415
+ 200: {
4416
+ checkInType: "app" | "meeting";
4417
+ createdAt: Date;
4418
+ createdBy: string;
4419
+ creator: {
4420
+ id: string;
4421
+ name: string;
4422
+ email: string;
4423
+ } | null;
4424
+ dailyPayoutAccountType: {
4425
+ id: string;
4426
+ key: string;
4427
+ name: string;
4428
+ isActive: boolean;
4429
+ };
4430
+ dailyPayoutAccountTypeId: string;
4431
+ dailyRewardAmount: string;
4432
+ dailyRewardCategory: string;
4433
+ id: string;
4434
+ isEnabled: boolean;
4435
+ name: string;
4436
+ rewardAsset: {
4388
4437
  id: string;
4389
4438
  code: string;
4390
4439
  name: string;
4391
- category: "CRYPTO" | "FIAT" | "POINT" | "RWA";
4392
4440
  symbol: string | null;
4393
4441
  precision: number;
4394
4442
  isActive: boolean;
4395
4443
  };
4396
- assetId: string;
4397
- bizType: "asset_convert_order_pay_debit" | "asset_convert_order_target_credit" | "deposit_credit" | "internal_transfer_in" | "internal_transfer_out" | "manual_decrease" | "manual_increase" | "trade_market_buy_base_transfer" | "trade_market_buy_quote_transfer" | "trade_market_sell_base_transfer" | "trade_market_sell_quote_transfer" | "transfer_in" | "transfer_out" | "welfare_cycle_daily_yield_payout" | "welfare_cycle_maturity_principal_return" | "welfare_cycle_maturity_yield_payout" | "welfare_cycle_subscribe_transfer" | "withdraw_debit" | "withdraw_freeze" | "withdraw_release";
4398
- createdAt: Date;
4399
- fromAccount?: {
4400
- asset: {
4444
+ rewardAssetId: string;
4445
+ rules: {
4446
+ createdAt: Date;
4447
+ createdBy: string;
4448
+ creator: {
4401
4449
  id: string;
4402
- code: string;
4403
4450
  name: string;
4404
- category: "CRYPTO" | "FIAT" | "POINT" | "RWA";
4405
- symbol: string | null;
4406
- precision: number;
4407
- isActive: boolean;
4408
- };
4409
- assetId: string;
4410
- available: string;
4451
+ email: string;
4452
+ } | null;
4411
4453
  id: string;
4412
- ledgerAccountType: {
4454
+ isEnabled: boolean;
4455
+ payoutAccountType: {
4413
4456
  id: string;
4414
4457
  key: string;
4415
4458
  name: string;
4416
4459
  isActive: boolean;
4417
4460
  };
4418
- ledgerAccountTypeId: string;
4419
- locked: string;
4420
- status: "active" | "disabled" | "frozen";
4421
- user: {
4461
+ payoutAccountTypeId: string;
4462
+ planId: string;
4463
+ rewardAmount: string;
4464
+ rewardCategory: string;
4465
+ ruleType: "consecutive" | "cumulative";
4466
+ sortOrder: number;
4467
+ thresholdDays: number;
4468
+ updatedAt: Date;
4469
+ updatedBy: string | null;
4470
+ updater: {
4422
4471
  id: string;
4472
+ name: string;
4423
4473
  email: string;
4424
- username: string | null;
4425
- displayUsername: string | null;
4426
- phoneNumber: string | null;
4427
- banned: boolean | null;
4428
- };
4429
- userId: string;
4430
- } | undefined;
4431
- fromAccountId: string | null;
4432
- fromAvailableAfter: string | null;
4433
- fromAvailableBefore: string | null;
4434
- fromLockedAfter: string | null;
4435
- fromLockedBefore: string | null;
4436
- id: string;
4437
- idempotencyKey: string;
4474
+ } | null;
4475
+ }[];
4476
+ sortOrder: number;
4477
+ updatedAt: Date;
4478
+ updatedBy: string | null;
4479
+ updater: {
4480
+ id: string;
4481
+ name: string;
4482
+ email: string;
4483
+ } | null;
4484
+ };
4485
+ 401: "Unauthorized";
4486
+ 403: "Forbidden: Admins only";
4487
+ 422: {
4488
+ type: 'validation';
4489
+ on: string;
4490
+ summary?: string;
4491
+ message?: string;
4492
+ found?: unknown;
4493
+ property?: string;
4494
+ expected?: string;
4495
+ };
4496
+ };
4497
+ };
4498
+ };
4499
+ };
4500
+ } & {
4501
+ "reward-plans": {
4502
+ rules: {
4503
+ ":ruleId": {
4504
+ patch: {
4505
+ body: {
4506
+ isEnabled?: boolean | undefined;
4507
+ payoutAccountTypeId?: string | undefined;
4508
+ rewardAmount?: string | undefined;
4509
+ rewardCategory?: string | undefined;
4510
+ ruleType?: "consecutive" | "cumulative" | undefined;
4511
+ sortOrder?: number | undefined;
4512
+ thresholdDays?: number | undefined;
4513
+ };
4514
+ params: {
4515
+ ruleId: string;
4516
+ };
4517
+ query: {};
4518
+ headers: {};
4519
+ response: {
4520
+ 200: {
4521
+ checkInType: "app" | "meeting";
4522
+ createdAt: Date;
4523
+ createdBy: string;
4524
+ creator: {
4525
+ id: string;
4526
+ name: string;
4527
+ email: string;
4528
+ } | null;
4529
+ dailyPayoutAccountType: {
4530
+ id: string;
4531
+ key: string;
4532
+ name: string;
4533
+ isActive: boolean;
4534
+ };
4535
+ dailyPayoutAccountTypeId: string;
4536
+ dailyRewardAmount: string;
4537
+ dailyRewardCategory: string;
4538
+ id: string;
4539
+ isEnabled: boolean;
4540
+ name: string;
4541
+ rewardAsset: {
4542
+ id: string;
4543
+ code: string;
4544
+ name: string;
4545
+ symbol: string | null;
4546
+ precision: number;
4547
+ isActive: boolean;
4548
+ };
4549
+ rewardAssetId: string;
4550
+ rules: {
4551
+ createdAt: Date;
4552
+ createdBy: string;
4553
+ creator: {
4554
+ id: string;
4555
+ name: string;
4556
+ email: string;
4557
+ } | null;
4558
+ id: string;
4559
+ isEnabled: boolean;
4560
+ payoutAccountType: {
4561
+ id: string;
4562
+ key: string;
4563
+ name: string;
4564
+ isActive: boolean;
4565
+ };
4566
+ payoutAccountTypeId: string;
4567
+ planId: string;
4568
+ rewardAmount: string;
4569
+ rewardCategory: string;
4570
+ ruleType: "consecutive" | "cumulative";
4571
+ sortOrder: number;
4572
+ thresholdDays: number;
4573
+ updatedAt: Date;
4574
+ updatedBy: string | null;
4575
+ updater: {
4576
+ id: string;
4577
+ name: string;
4578
+ email: string;
4579
+ } | null;
4580
+ }[];
4581
+ sortOrder: number;
4582
+ updatedAt: Date;
4583
+ updatedBy: string | null;
4584
+ updater: {
4585
+ id: string;
4586
+ name: string;
4587
+ email: string;
4588
+ } | null;
4589
+ };
4590
+ 401: "Unauthorized";
4591
+ 403: "Forbidden: Admins only";
4592
+ 422: {
4593
+ type: 'validation';
4594
+ on: string;
4595
+ summary?: string;
4596
+ message?: string;
4597
+ found?: unknown;
4598
+ property?: string;
4599
+ expected?: string;
4600
+ };
4601
+ };
4602
+ };
4603
+ };
4604
+ };
4605
+ };
4606
+ } & {
4607
+ "reward-plans": {
4608
+ rules: {
4609
+ ":ruleId": {
4610
+ delete: {
4611
+ body: {};
4612
+ params: {
4613
+ ruleId: string;
4614
+ };
4615
+ query: {};
4616
+ headers: {};
4617
+ response: {
4618
+ 200: {
4619
+ checkInType: "app" | "meeting";
4620
+ createdAt: Date;
4621
+ createdBy: string;
4622
+ creator: {
4623
+ id: string;
4624
+ name: string;
4625
+ email: string;
4626
+ } | null;
4627
+ dailyPayoutAccountType: {
4628
+ id: string;
4629
+ key: string;
4630
+ name: string;
4631
+ isActive: boolean;
4632
+ };
4633
+ dailyPayoutAccountTypeId: string;
4634
+ dailyRewardAmount: string;
4635
+ dailyRewardCategory: string;
4636
+ id: string;
4637
+ isEnabled: boolean;
4638
+ name: string;
4639
+ rewardAsset: {
4640
+ id: string;
4641
+ code: string;
4642
+ name: string;
4643
+ symbol: string | null;
4644
+ precision: number;
4645
+ isActive: boolean;
4646
+ };
4647
+ rewardAssetId: string;
4648
+ rules: {
4649
+ createdAt: Date;
4650
+ createdBy: string;
4651
+ creator: {
4652
+ id: string;
4653
+ name: string;
4654
+ email: string;
4655
+ } | null;
4656
+ id: string;
4657
+ isEnabled: boolean;
4658
+ payoutAccountType: {
4659
+ id: string;
4660
+ key: string;
4661
+ name: string;
4662
+ isActive: boolean;
4663
+ };
4664
+ payoutAccountTypeId: string;
4665
+ planId: string;
4666
+ rewardAmount: string;
4667
+ rewardCategory: string;
4668
+ ruleType: "consecutive" | "cumulative";
4669
+ sortOrder: number;
4670
+ thresholdDays: number;
4671
+ updatedAt: Date;
4672
+ updatedBy: string | null;
4673
+ updater: {
4674
+ id: string;
4675
+ name: string;
4676
+ email: string;
4677
+ } | null;
4678
+ }[];
4679
+ sortOrder: number;
4680
+ updatedAt: Date;
4681
+ updatedBy: string | null;
4682
+ updater: {
4683
+ id: string;
4684
+ name: string;
4685
+ email: string;
4686
+ } | null;
4687
+ };
4688
+ 401: "Unauthorized";
4689
+ 403: "Forbidden: Admins only";
4690
+ 422: {
4691
+ type: 'validation';
4692
+ on: string;
4693
+ summary?: string;
4694
+ message?: string;
4695
+ found?: unknown;
4696
+ property?: string;
4697
+ expected?: string;
4698
+ };
4699
+ };
4700
+ };
4701
+ };
4702
+ };
4703
+ };
4704
+ };
4705
+ } & {
4706
+ checkIns: {
4707
+ get: {
4708
+ body: {};
4709
+ params: {};
4710
+ query: {
4711
+ checkInType?: "app" | "meeting" | undefined;
4712
+ endDate?: Date | undefined;
4713
+ limit?: number | undefined;
4714
+ offset?: number | undefined;
4715
+ pageIndex?: number | undefined;
4716
+ pageSize?: number | undefined;
4717
+ startDate?: Date | undefined;
4718
+ userId?: string | undefined;
4719
+ };
4720
+ headers: {};
4721
+ response: {
4722
+ 200: {
4723
+ data: {
4724
+ checkInAt: Date;
4725
+ checkInLocalDate: string;
4726
+ checkInOffsetMinutes: number | null;
4727
+ checkInTimezone: string;
4728
+ checkInType: "app" | "meeting";
4729
+ createdAt: Date;
4730
+ id: string;
4731
+ updatedAt: Date;
4732
+ user: {
4733
+ id: string;
4734
+ name: string;
4735
+ email: string;
4736
+ emailVerified: boolean;
4737
+ image: string | null;
4738
+ createdAt: Date;
4739
+ updatedAt: Date;
4740
+ twoFactorEnabled: boolean | null;
4741
+ username: string | null;
4742
+ displayUsername: string | null;
4743
+ phoneNumber: string | null;
4744
+ phoneNumberVerified: boolean | null;
4745
+ role: string | null;
4746
+ banned: boolean | null;
4747
+ banReason: string | null;
4748
+ banExpires: Date | null;
4749
+ };
4750
+ userId: string;
4751
+ }[];
4752
+ pagination: {
4753
+ pageSize: number;
4754
+ pageIndex: number;
4755
+ total: number;
4756
+ totalPages: number;
4757
+ hasNextPage: boolean;
4758
+ };
4759
+ };
4760
+ 401: "Unauthorized";
4761
+ 403: "Forbidden: Admins only";
4762
+ 422: {
4763
+ type: 'validation';
4764
+ on: string;
4765
+ summary?: string;
4766
+ message?: string;
4767
+ found?: unknown;
4768
+ property?: string;
4769
+ expected?: string;
4770
+ };
4771
+ };
4772
+ };
4773
+ };
4774
+ };
4775
+ } & {
4776
+ admin: {
4777
+ ledger_account_import: {};
4778
+ } & {
4779
+ ledger_account_import: {
4780
+ jobs: {
4781
+ post: {
4782
+ body: {
4783
+ fileId: string;
4784
+ };
4785
+ params: {};
4786
+ query: {};
4787
+ headers: {};
4788
+ response: {
4789
+ 200: {
4790
+ createdAt: Date;
4791
+ updatedAt: Date;
4792
+ id: string;
4793
+ fileId: string;
4794
+ status: "failed" | "pending" | "running" | "success";
4795
+ total: number;
4796
+ processed: number;
4797
+ success: number;
4798
+ failed: number;
4799
+ ignored: number;
4800
+ error: string | null;
4801
+ createdBy: string;
4802
+ startedAt: Date | null;
4803
+ finishedAt: Date | null;
4804
+ };
4805
+ 401: "Unauthorized";
4806
+ 403: "Forbidden: Admins only";
4807
+ 422: {
4808
+ type: 'validation';
4809
+ on: string;
4810
+ summary?: string;
4811
+ message?: string;
4812
+ found?: unknown;
4813
+ property?: string;
4814
+ expected?: string;
4815
+ };
4816
+ };
4817
+ };
4818
+ };
4819
+ };
4820
+ } & {
4821
+ ledger_account_import: {
4822
+ jobs: {
4823
+ get: {
4824
+ body: {};
4825
+ params: {};
4826
+ query: {
4827
+ limit?: number | undefined;
4828
+ offset?: number | undefined;
4829
+ pageSize?: number | undefined;
4830
+ pageIndex?: number | undefined;
4831
+ status?: "failed" | "pending" | "running" | "success" | undefined;
4832
+ };
4833
+ headers: {};
4834
+ response: {
4835
+ 200: {
4836
+ data: {
4837
+ createdAt: Date;
4838
+ updatedAt: Date;
4839
+ id: string;
4840
+ fileId: string;
4841
+ status: "failed" | "pending" | "running" | "success";
4842
+ total: number;
4843
+ processed: number;
4844
+ success: number;
4845
+ failed: number;
4846
+ ignored: number;
4847
+ error: string | null;
4848
+ createdBy: string;
4849
+ startedAt: Date | null;
4850
+ finishedAt: Date | null;
4851
+ }[];
4852
+ pagination: {
4853
+ pageSize: number;
4854
+ pageIndex: number;
4855
+ total: number;
4856
+ totalPages: number;
4857
+ hasNextPage: boolean;
4858
+ };
4859
+ };
4860
+ 401: "Unauthorized";
4861
+ 403: "Forbidden: Admins only";
4862
+ 422: {
4863
+ type: 'validation';
4864
+ on: string;
4865
+ summary?: string;
4866
+ message?: string;
4867
+ found?: unknown;
4868
+ property?: string;
4869
+ expected?: string;
4870
+ };
4871
+ };
4872
+ };
4873
+ };
4874
+ };
4875
+ } & {
4876
+ ledger_account_import: {
4877
+ jobs: {
4878
+ ":id": {
4879
+ get: {
4880
+ body: {};
4881
+ params: {
4882
+ id: string;
4883
+ };
4884
+ query: {};
4885
+ headers: {};
4886
+ response: {
4887
+ 200: {
4888
+ createdAt: Date;
4889
+ updatedAt: Date;
4890
+ id: string;
4891
+ fileId: string;
4892
+ status: "failed" | "pending" | "running" | "success";
4893
+ total: number;
4894
+ processed: number;
4895
+ success: number;
4896
+ failed: number;
4897
+ ignored: number;
4898
+ error: string | null;
4899
+ createdBy: string;
4900
+ startedAt: Date | null;
4901
+ finishedAt: Date | null;
4902
+ };
4903
+ 401: "Unauthorized";
4904
+ 403: "Forbidden: Admins only";
4905
+ 422: {
4906
+ type: 'validation';
4907
+ on: string;
4908
+ summary?: string;
4909
+ message?: string;
4910
+ found?: unknown;
4911
+ property?: string;
4912
+ expected?: string;
4913
+ };
4914
+ };
4915
+ };
4916
+ };
4917
+ };
4918
+ };
4919
+ } & {
4920
+ ledger_account_import: {
4921
+ jobs: {
4922
+ ":id": {
4923
+ items: {
4924
+ get: {
4925
+ body: {};
4926
+ params: {
4927
+ id: string;
4928
+ };
4929
+ query: {
4930
+ limit?: number | undefined;
4931
+ offset?: number | undefined;
4932
+ pageSize?: number | undefined;
4933
+ pageIndex?: number | undefined;
4934
+ status?: "failed" | "ignored" | "success" | undefined;
4935
+ };
4936
+ headers: {};
4937
+ response: {
4938
+ 200: {
4939
+ data: {
4940
+ createdAt: Date;
4941
+ updatedAt: Date;
4942
+ id: string;
4943
+ jobId: string;
4944
+ rowNumber: number;
4945
+ phoneNumber: string | null;
4946
+ assetCode: string | null;
4947
+ assetCodeRaw: string | null;
4948
+ accountTypeKey: string | null;
4949
+ accountTypeKeyRaw: string | null;
4950
+ amount: string | null;
4951
+ memo: string | null;
4952
+ status: "failed" | "ignored" | "success";
4953
+ error: string | null;
4954
+ referenceId: string | null;
4955
+ userId: string | null;
4956
+ assetId: string | null;
4957
+ ledgerAccountTypeId: string | null;
4958
+ ledgerAccountId: string | null;
4959
+ ledgerEntryId: string | null;
4960
+ isIdempotent: boolean;
4961
+ }[];
4962
+ pagination: {
4963
+ pageSize: number;
4964
+ pageIndex: number;
4965
+ total: number;
4966
+ totalPages: number;
4967
+ hasNextPage: boolean;
4968
+ };
4969
+ };
4970
+ 401: "Unauthorized";
4971
+ 403: "Forbidden: Admins only";
4972
+ 422: {
4973
+ type: 'validation';
4974
+ on: string;
4975
+ summary?: string;
4976
+ message?: string;
4977
+ found?: unknown;
4978
+ property?: string;
4979
+ expected?: string;
4980
+ };
4981
+ };
4982
+ };
4983
+ };
4984
+ };
4985
+ };
4986
+ };
4987
+ } & {
4988
+ ledger_account_import: {
4989
+ template: {
4990
+ get: {
4991
+ body: {};
4992
+ params: {};
4993
+ query: {};
4994
+ headers: {};
4995
+ response: {
4996
+ 200: ArrayBuffer;
4997
+ 401: "Unauthorized";
4998
+ 403: "Forbidden: Admins only";
4999
+ 422: {
5000
+ type: 'validation';
5001
+ on: string;
5002
+ summary?: string;
5003
+ message?: string;
5004
+ found?: unknown;
5005
+ property?: string;
5006
+ expected?: string;
5007
+ };
5008
+ };
5009
+ };
5010
+ };
5011
+ };
5012
+ };
5013
+ } & {
5014
+ admin: {
5015
+ ledger: {};
5016
+ } & {
5017
+ ledger: {
5018
+ entries: {
5019
+ get: {
5020
+ body: {};
5021
+ params: {};
5022
+ query: {
5023
+ accountId?: string | undefined;
5024
+ assetId?: string | undefined;
5025
+ bizType?: "asset_convert_order_pay_debit" | "asset_convert_order_target_credit" | "deposit_credit" | "internal_transfer_in" | "internal_transfer_out" | "lock_activity_reward_payout" | "manual_decrease" | "manual_increase" | "trade_market_buy_base_transfer" | "trade_market_buy_quote_transfer" | "trade_market_sell_base_transfer" | "trade_market_sell_quote_transfer" | "transfer_in" | "transfer_out" | "welfare_cycle_daily_yield_payout" | "welfare_cycle_maturity_principal_return" | "welfare_cycle_maturity_yield_payout" | "welfare_cycle_subscribe_transfer" | "withdraw_debit" | "withdraw_freeze" | "withdraw_release" | undefined;
5026
+ changeDirection?: "decrease" | "increase" | undefined;
5027
+ endDate?: Date | undefined;
5028
+ limit?: number | undefined;
5029
+ offset?: number | undefined;
5030
+ operatorId?: string | null | undefined;
5031
+ pageIndex?: number | undefined;
5032
+ pageSize?: number | undefined;
5033
+ referenceId?: string | undefined;
5034
+ referenceType?: "asset_convert_order" | "deposit_order" | "internal_transfer_order" | "lock_activity_participation" | "manual_adjustment" | "trade_market_order" | "transfer_order" | "welfare_cycle_daily_payout" | "welfare_cycle_maturity_settlement" | "welfare_cycle_subscription" | "withdraw_order" | undefined;
5035
+ startDate?: Date | undefined;
5036
+ userId?: string | undefined;
5037
+ };
5038
+ headers: {};
5039
+ response: {
5040
+ 200: {
5041
+ data: {
5042
+ amount: string;
5043
+ asset: {
5044
+ id: string;
5045
+ code: string;
5046
+ name: string;
5047
+ category: "CRYPTO" | "FIAT" | "POINT" | "RWA";
5048
+ symbol: string | null;
5049
+ precision: number;
5050
+ isActive: boolean;
5051
+ };
5052
+ assetId: string;
5053
+ bizType: "asset_convert_order_pay_debit" | "asset_convert_order_target_credit" | "deposit_credit" | "internal_transfer_in" | "internal_transfer_out" | "lock_activity_reward_payout" | "manual_decrease" | "manual_increase" | "trade_market_buy_base_transfer" | "trade_market_buy_quote_transfer" | "trade_market_sell_base_transfer" | "trade_market_sell_quote_transfer" | "transfer_in" | "transfer_out" | "welfare_cycle_daily_yield_payout" | "welfare_cycle_maturity_principal_return" | "welfare_cycle_maturity_yield_payout" | "welfare_cycle_subscribe_transfer" | "withdraw_debit" | "withdraw_freeze" | "withdraw_release";
5054
+ createdAt: Date;
5055
+ fromAccount?: {
5056
+ asset: {
5057
+ id: string;
5058
+ code: string;
5059
+ name: string;
5060
+ category: "CRYPTO" | "FIAT" | "POINT" | "RWA";
5061
+ symbol: string | null;
5062
+ precision: number;
5063
+ isActive: boolean;
5064
+ };
5065
+ assetId: string;
5066
+ available: string;
5067
+ id: string;
5068
+ ledgerAccountType: {
5069
+ id: string;
5070
+ key: string;
5071
+ name: string;
5072
+ isActive: boolean;
5073
+ };
5074
+ ledgerAccountTypeId: string;
5075
+ locked: string;
5076
+ status: "active" | "disabled" | "frozen";
5077
+ user: {
5078
+ id: string;
5079
+ email: string;
5080
+ username: string | null;
5081
+ displayUsername: string | null;
5082
+ phoneNumber: string | null;
5083
+ banned: boolean | null;
5084
+ };
5085
+ userId: string;
5086
+ } | undefined;
5087
+ fromAccountId: string | null;
5088
+ fromAvailableAfter: string | null;
5089
+ fromAvailableBefore: string | null;
5090
+ fromLockedAfter: string | null;
5091
+ fromLockedBefore: string | null;
5092
+ id: string;
5093
+ idempotencyKey: string;
4438
5094
  memo: string | null;
4439
5095
  operator?: {
4440
5096
  id: string;
@@ -4446,7 +5102,7 @@ export declare const adminRouter: Elysia<"/admin", {
4446
5102
  } | undefined;
4447
5103
  operatorId: string | null;
4448
5104
  referenceId: string;
4449
- referenceType: "asset_convert_order" | "deposit_order" | "internal_transfer_order" | "manual_adjustment" | "trade_market_order" | "transfer_order" | "welfare_cycle_daily_payout" | "welfare_cycle_maturity_settlement" | "welfare_cycle_subscription" | "withdraw_order";
5105
+ referenceType: "asset_convert_order" | "deposit_order" | "internal_transfer_order" | "lock_activity_participation" | "manual_adjustment" | "trade_market_order" | "transfer_order" | "welfare_cycle_daily_payout" | "welfare_cycle_maturity_settlement" | "welfare_cycle_subscription" | "withdraw_order";
4450
5106
  toAccount?: {
4451
5107
  asset: {
4452
5108
  id: string;
@@ -6985,8 +7641,185 @@ export declare const adminRouter: Elysia<"/admin", {
6985
7641
  hasNextPage: boolean;
6986
7642
  };
6987
7643
  };
6988
- 401: "Unauthorized";
6989
- 403: "Forbidden: Admins only";
7644
+ 401: "Unauthorized";
7645
+ 403: "Forbidden: Admins only";
7646
+ 422: {
7647
+ type: 'validation';
7648
+ on: string;
7649
+ summary?: string;
7650
+ message?: string;
7651
+ found?: unknown;
7652
+ property?: string;
7653
+ expected?: string;
7654
+ };
7655
+ };
7656
+ };
7657
+ };
7658
+ };
7659
+ };
7660
+ } & {
7661
+ admin: {
7662
+ news_categories: {
7663
+ post: {
7664
+ body: {
7665
+ description?: string | null | undefined;
7666
+ iconFileId?: string | undefined;
7667
+ isActive?: boolean | undefined;
7668
+ name: string;
7669
+ slug?: string | null | undefined;
7670
+ sortOrder?: number | undefined;
7671
+ };
7672
+ params: {};
7673
+ query: unknown;
7674
+ headers: unknown;
7675
+ response: {
7676
+ 200: {
7677
+ createdAt: Date;
7678
+ updatedAt: Date;
7679
+ id: string;
7680
+ name: string;
7681
+ description: string | null;
7682
+ slug: string | null;
7683
+ icon: string | null;
7684
+ sortOrder: number;
7685
+ isActive: boolean;
7686
+ };
7687
+ 422: {
7688
+ type: 'validation';
7689
+ on: string;
7690
+ summary?: string;
7691
+ message?: string;
7692
+ found?: unknown;
7693
+ property?: string;
7694
+ expected?: string;
7695
+ };
7696
+ };
7697
+ };
7698
+ };
7699
+ } & {
7700
+ news_categories: {
7701
+ get: {
7702
+ body: unknown;
7703
+ params: {};
7704
+ query: {
7705
+ limit?: number | undefined;
7706
+ offset?: number | undefined;
7707
+ pageSize?: number | undefined;
7708
+ pageIndex?: number | undefined;
7709
+ isActive?: boolean | undefined;
7710
+ };
7711
+ headers: unknown;
7712
+ response: {
7713
+ 200: {
7714
+ data: {
7715
+ id: string;
7716
+ name: string;
7717
+ description: string | null;
7718
+ slug: string | null;
7719
+ icon: string | null;
7720
+ sortOrder: number;
7721
+ isActive: boolean;
7722
+ }[];
7723
+ pagination: {
7724
+ pageSize: number;
7725
+ pageIndex: number;
7726
+ total: number;
7727
+ totalPages: number;
7728
+ hasNextPage: boolean;
7729
+ };
7730
+ };
7731
+ 422: {
7732
+ type: 'validation';
7733
+ on: string;
7734
+ summary?: string;
7735
+ message?: string;
7736
+ found?: unknown;
7737
+ property?: string;
7738
+ expected?: string;
7739
+ };
7740
+ };
7741
+ };
7742
+ };
7743
+ } & {
7744
+ news_categories: {
7745
+ ":id": {
7746
+ get: {
7747
+ body: unknown;
7748
+ params: {
7749
+ id: string;
7750
+ };
7751
+ query: unknown;
7752
+ headers: unknown;
7753
+ response: {
7754
+ 200: {
7755
+ createdAt: Date;
7756
+ description: string | null;
7757
+ icon: string | null;
7758
+ id: string;
7759
+ isActive: boolean;
7760
+ name: string;
7761
+ slug: string | null;
7762
+ sortOrder: number;
7763
+ updatedAt: Date;
7764
+ };
7765
+ 422: {
7766
+ type: 'validation';
7767
+ on: string;
7768
+ summary?: string;
7769
+ message?: string;
7770
+ found?: unknown;
7771
+ property?: string;
7772
+ expected?: string;
7773
+ };
7774
+ };
7775
+ };
7776
+ };
7777
+ };
7778
+ } & {
7779
+ news_categories: {
7780
+ ":id": {
7781
+ patch: {
7782
+ body: {
7783
+ description?: string | null | undefined;
7784
+ iconFileId?: string | undefined;
7785
+ isActive?: boolean | undefined;
7786
+ name?: string | undefined;
7787
+ slug?: string | null | undefined;
7788
+ sortOrder?: number | undefined;
7789
+ };
7790
+ params: {
7791
+ id: string;
7792
+ };
7793
+ query: unknown;
7794
+ headers: unknown;
7795
+ response: {
7796
+ 422: {
7797
+ type: 'validation';
7798
+ on: string;
7799
+ summary?: string;
7800
+ message?: string;
7801
+ found?: unknown;
7802
+ property?: string;
7803
+ expected?: string;
7804
+ };
7805
+ };
7806
+ };
7807
+ };
7808
+ };
7809
+ } & {
7810
+ news_categories: {
7811
+ ":id": {
7812
+ delete: {
7813
+ body: unknown;
7814
+ params: {
7815
+ id: string;
7816
+ };
7817
+ query: unknown;
7818
+ headers: unknown;
7819
+ response: {
7820
+ 200: {
7821
+ success: boolean;
7822
+ };
6990
7823
  422: {
6991
7824
  type: 'validation';
6992
7825
  on: string;
@@ -7003,31 +7836,34 @@ export declare const adminRouter: Elysia<"/admin", {
7003
7836
  };
7004
7837
  } & {
7005
7838
  admin: {
7006
- news_categories: {
7839
+ news: {};
7840
+ } & {
7841
+ news: {
7007
7842
  post: {
7008
7843
  body: {
7009
- description?: string | null | undefined;
7010
- iconFileId?: string | undefined;
7011
- isActive?: boolean | undefined;
7012
- name: string;
7013
- slug?: string | null | undefined;
7844
+ attachmentIds?: string[] | null | undefined;
7845
+ categoryId?: string | undefined;
7846
+ content: string;
7847
+ expiresAt?: string | Date | null | undefined;
7848
+ externalUrl?: string | null | undefined;
7849
+ hasVideo?: boolean | undefined;
7850
+ isHot?: boolean | undefined;
7851
+ isPinned?: boolean | undefined;
7852
+ publishedAt?: string | Date | null | undefined;
7853
+ requireReadConfirmation?: boolean | undefined;
7854
+ scope?: string[] | undefined;
7014
7855
  sortOrder?: number | undefined;
7856
+ status?: "archived" | "draft" | "published" | undefined;
7857
+ summary?: string | null | undefined;
7858
+ thumbnailId?: string | null | undefined;
7859
+ title: string;
7015
7860
  };
7016
7861
  params: {};
7017
- query: unknown;
7018
- headers: unknown;
7862
+ query: {};
7863
+ headers: {};
7019
7864
  response: {
7020
- 200: {
7021
- createdAt: Date;
7022
- updatedAt: Date;
7023
- id: string;
7024
- name: string;
7025
- description: string | null;
7026
- slug: string | null;
7027
- icon: string | null;
7028
- sortOrder: number;
7029
- isActive: boolean;
7030
- };
7865
+ 401: "Unauthorized";
7866
+ 403: "Forbidden: Admins only";
7031
7867
  422: {
7032
7868
  type: 'validation';
7033
7869
  on: string;
@@ -7041,28 +7877,57 @@ export declare const adminRouter: Elysia<"/admin", {
7041
7877
  };
7042
7878
  };
7043
7879
  } & {
7044
- news_categories: {
7880
+ news: {
7045
7881
  get: {
7046
- body: unknown;
7882
+ body: {};
7047
7883
  params: {};
7048
7884
  query: {
7885
+ categoryId?: string | undefined;
7886
+ isPinned?: boolean | undefined;
7049
7887
  limit?: number | undefined;
7050
7888
  offset?: number | undefined;
7051
- pageSize?: number | undefined;
7052
7889
  pageIndex?: number | undefined;
7053
- isActive?: boolean | undefined;
7890
+ pageSize?: number | undefined;
7891
+ requireReadConfirmation?: boolean | undefined;
7892
+ status?: "archived" | "draft" | "published" | undefined;
7054
7893
  };
7055
- headers: unknown;
7894
+ headers: {};
7056
7895
  response: {
7057
7896
  200: {
7058
7897
  data: {
7898
+ attachmentIds: string[] | null;
7899
+ category: {
7900
+ createdAt: Date;
7901
+ description: string | null;
7902
+ icon: string | null;
7903
+ id: string;
7904
+ isActive: boolean;
7905
+ name: string;
7906
+ slug: string | null;
7907
+ sortOrder: number;
7908
+ updatedAt: Date;
7909
+ };
7910
+ categoryId: string;
7911
+ content: string;
7912
+ createdAt: Date;
7913
+ createdBy: string;
7914
+ deletedAt: Date | null;
7915
+ expiresAt: Date | null;
7916
+ externalUrl: string | null;
7917
+ hasVideo: boolean;
7059
7918
  id: string;
7060
- name: string;
7061
- description: string | null;
7062
- slug: string | null;
7063
- icon: string | null;
7919
+ isHot: boolean;
7920
+ isPinned: boolean;
7921
+ publishedAt: Date | null;
7922
+ requireReadConfirmation: boolean;
7923
+ scope: string[];
7064
7924
  sortOrder: number;
7065
- isActive: boolean;
7925
+ status: "archived" | "draft" | "published";
7926
+ summary: string | null;
7927
+ thumbnailId: string | null;
7928
+ title: string;
7929
+ updatedAt: Date;
7930
+ viewCount: number;
7066
7931
  }[];
7067
7932
  pagination: {
7068
7933
  pageSize: number;
@@ -7072,6 +7937,8 @@ export declare const adminRouter: Elysia<"/admin", {
7072
7937
  hasNextPage: boolean;
7073
7938
  };
7074
7939
  };
7940
+ 401: "Unauthorized";
7941
+ 403: "Forbidden: Admins only";
7075
7942
  422: {
7076
7943
  type: 'validation';
7077
7944
  on: string;
@@ -7085,27 +7952,85 @@ export declare const adminRouter: Elysia<"/admin", {
7085
7952
  };
7086
7953
  };
7087
7954
  } & {
7088
- news_categories: {
7955
+ news: {
7089
7956
  ":id": {
7090
7957
  get: {
7091
- body: unknown;
7958
+ body: {};
7092
7959
  params: {
7093
7960
  id: string;
7094
7961
  };
7095
- query: unknown;
7096
- headers: unknown;
7962
+ query: {};
7963
+ headers: {};
7097
7964
  response: {
7098
7965
  200: {
7966
+ attachmentIds: string[] | null;
7967
+ category: {
7968
+ createdAt: Date;
7969
+ description: string | null;
7970
+ icon: string | null;
7971
+ id: string;
7972
+ isActive: boolean;
7973
+ name: string;
7974
+ slug: string | null;
7975
+ sortOrder: number;
7976
+ updatedAt: Date;
7977
+ };
7978
+ categoryId: string;
7979
+ content: string;
7099
7980
  createdAt: Date;
7100
- description: string | null;
7101
- icon: string | null;
7981
+ createdBy: string;
7982
+ deletedAt: Date | null;
7983
+ expiresAt: Date | null;
7984
+ externalUrl: string | null;
7985
+ hasVideo: boolean;
7102
7986
  id: string;
7103
- isActive: boolean;
7104
- name: string;
7105
- slug: string | null;
7987
+ isHot: boolean;
7988
+ isPinned: boolean;
7989
+ publishedAt: Date | null;
7990
+ requireReadConfirmation: boolean;
7991
+ scope: string[];
7106
7992
  sortOrder: number;
7993
+ status: "archived" | "draft" | "published";
7994
+ summary: string | null;
7995
+ thumbnail: {
7996
+ accessControl: "private" | "public" | "restricted" | null;
7997
+ archivedAt: Date | null;
7998
+ businessId: string | null;
7999
+ businessMetadata: string | null;
8000
+ businessType: "app_video" | "avatar" | "bank_verification" | "contract" | "cover_image" | "export_report" | "financial_report" | "kyc_document" | "ledger_account_import" | "news_attachment" | "notification_attachment" | "other" | "transaction_receipt";
8001
+ createdAt: Date;
8002
+ deletedAt: Date | null;
8003
+ downloadCount: number | null;
8004
+ fileExtension: string | null;
8005
+ fileHash: string | null;
8006
+ fileName: string | null;
8007
+ fileSize: number | null;
8008
+ id: string;
8009
+ isVerified: boolean | null;
8010
+ lastDownloadedAt: Date | null;
8011
+ mimeType: string | null;
8012
+ ownerId: string;
8013
+ publicUrl: string | null;
8014
+ s3Bucket: string;
8015
+ s3ETag: string | null;
8016
+ s3Key: string;
8017
+ s3Region: string;
8018
+ status: "active" | "archived" | "pending_deletion" | "uploading" | null;
8019
+ thumbnailUrl: string | null;
8020
+ updatedAt: Date;
8021
+ uploadCompletedAt: Date | null;
8022
+ uploadIpAddress: string | null;
8023
+ verificationNote: string | null;
8024
+ verifiedAt: Date | null;
8025
+ verifiedBy: string | null;
8026
+ } | null;
8027
+ thumbnailId: string | null;
8028
+ title: string;
7107
8029
  updatedAt: Date;
8030
+ viewCount: number;
7108
8031
  };
8032
+ 401: "Unauthorized";
8033
+ 403: "Forbidden: Admins only";
7109
8034
  422: {
7110
8035
  type: 'validation';
7111
8036
  on: string;
@@ -7120,23 +8045,64 @@ export declare const adminRouter: Elysia<"/admin", {
7120
8045
  };
7121
8046
  };
7122
8047
  } & {
7123
- news_categories: {
8048
+ news: {
7124
8049
  ":id": {
7125
8050
  patch: {
7126
8051
  body: {
7127
- description?: string | null | undefined;
7128
- iconFileId?: string | undefined;
7129
- isActive?: boolean | undefined;
7130
- name?: string | undefined;
7131
- slug?: string | null | undefined;
8052
+ attachmentIds?: string[] | null | undefined;
8053
+ categoryId?: string | undefined;
8054
+ content?: string | undefined;
8055
+ expiresAt?: string | Date | null | undefined;
8056
+ externalUrl?: string | null | undefined;
8057
+ hasVideo?: boolean | undefined;
8058
+ isHot?: boolean | undefined;
8059
+ isPinned?: boolean | undefined;
8060
+ publishedAt?: string | Date | null | undefined;
8061
+ requireReadConfirmation?: boolean | undefined;
8062
+ scope?: string[] | undefined;
7132
8063
  sortOrder?: number | undefined;
8064
+ status?: "archived" | "draft" | "published" | undefined;
8065
+ summary?: string | null | undefined;
8066
+ thumbnailId?: string | null | undefined;
8067
+ title?: string | undefined;
7133
8068
  };
7134
8069
  params: {
7135
8070
  id: string;
7136
8071
  };
7137
- query: unknown;
7138
- headers: unknown;
8072
+ query: {};
8073
+ headers: {};
8074
+ response: {
8075
+ 401: "Unauthorized";
8076
+ 403: "Forbidden: Admins only";
8077
+ 422: {
8078
+ type: 'validation';
8079
+ on: string;
8080
+ summary?: string;
8081
+ message?: string;
8082
+ found?: unknown;
8083
+ property?: string;
8084
+ expected?: string;
8085
+ };
8086
+ };
8087
+ };
8088
+ };
8089
+ };
8090
+ } & {
8091
+ news: {
8092
+ ":id": {
8093
+ delete: {
8094
+ body: {};
8095
+ params: {
8096
+ id: string;
8097
+ };
8098
+ query: {};
8099
+ headers: {};
7139
8100
  response: {
8101
+ 200: {
8102
+ success: boolean;
8103
+ };
8104
+ 401: "Unauthorized";
8105
+ 403: "Forbidden: Admins only";
7140
8106
  422: {
7141
8107
  type: 'validation';
7142
8108
  on: string;
@@ -7151,28 +8117,83 @@ export declare const adminRouter: Elysia<"/admin", {
7151
8117
  };
7152
8118
  };
7153
8119
  } & {
7154
- news_categories: {
8120
+ news: {
8121
+ ":id": {
8122
+ pin: {
8123
+ post: {
8124
+ body: {
8125
+ isPinned: boolean;
8126
+ sortOrder?: number | undefined;
8127
+ };
8128
+ params: {
8129
+ id: string;
8130
+ };
8131
+ query: {};
8132
+ headers: {};
8133
+ response: {
8134
+ 401: "Unauthorized";
8135
+ 403: "Forbidden: Admins only";
8136
+ 422: {
8137
+ type: 'validation';
8138
+ on: string;
8139
+ summary?: string;
8140
+ message?: string;
8141
+ found?: unknown;
8142
+ property?: string;
8143
+ expected?: string;
8144
+ };
8145
+ };
8146
+ };
8147
+ };
8148
+ };
8149
+ };
8150
+ } & {
8151
+ news: {
7155
8152
  ":id": {
7156
- delete: {
7157
- body: unknown;
7158
- params: {
7159
- id: string;
8153
+ hot: {
8154
+ post: {
8155
+ body: {
8156
+ isHot: boolean;
8157
+ };
8158
+ params: {
8159
+ id: string;
8160
+ };
8161
+ query: {};
8162
+ headers: {};
8163
+ response: {
8164
+ 401: "Unauthorized";
8165
+ 403: "Forbidden: Admins only";
8166
+ 422: {
8167
+ type: 'validation';
8168
+ on: string;
8169
+ summary?: string;
8170
+ message?: string;
8171
+ found?: unknown;
8172
+ property?: string;
8173
+ expected?: string;
8174
+ };
8175
+ };
7160
8176
  };
7161
- query: unknown;
7162
- headers: unknown;
8177
+ };
8178
+ };
8179
+ };
8180
+ } & {
8181
+ news: {
8182
+ stats: {
8183
+ get: {
8184
+ body: {};
8185
+ params: {};
8186
+ query: {};
8187
+ headers: {};
7163
8188
  response: {
7164
8189
  200: {
7165
- success: boolean;
7166
- };
7167
- 422: {
7168
- type: 'validation';
7169
- on: string;
7170
- summary?: string;
7171
- message?: string;
7172
- found?: unknown;
7173
- property?: string;
7174
- expected?: string;
8190
+ total: number;
8191
+ published: number;
8192
+ pinned: number;
8193
+ requireConfirmation: number;
7175
8194
  };
8195
+ 401: "Unauthorized";
8196
+ 403: "Forbidden: Admins only";
7176
8197
  };
7177
8198
  };
7178
8199
  };
@@ -7180,32 +8201,56 @@ export declare const adminRouter: Elysia<"/admin", {
7180
8201
  };
7181
8202
  } & {
7182
8203
  admin: {
7183
- news: {};
8204
+ content_videos: {};
7184
8205
  } & {
7185
- news: {
8206
+ content_videos: {
7186
8207
  post: {
7187
8208
  body: {
7188
- title: string;
7189
- summary?: string | null | undefined;
7190
- content: string;
7191
- categoryId?: string | undefined;
7192
- status?: "archived" | "draft" | "published" | undefined;
7193
- scope?: string[] | undefined;
7194
- isPinned?: boolean | undefined;
7195
- isHot?: boolean | undefined;
7196
- hasVideo?: boolean | undefined;
8209
+ coverFileId?: string | undefined;
8210
+ description?: string | null | undefined;
8211
+ durationSeconds?: number | null | undefined;
8212
+ isEnabled?: boolean | undefined;
8213
+ publishedAt?: string | Date | null | undefined;
7197
8214
  sortOrder?: number | undefined;
7198
- requireReadConfirmation?: boolean | undefined;
7199
- externalUrl?: string | null | undefined;
7200
- publishedAt?: Date | null | undefined;
7201
- expiresAt?: Date | null | undefined;
7202
- thumbnailId?: string | null | undefined;
7203
- attachmentIds?: string[] | null | undefined;
8215
+ status?: "archived" | "draft" | "published" | undefined;
8216
+ title: string;
8217
+ videoFileId: string;
7204
8218
  };
7205
8219
  params: {};
7206
8220
  query: {};
7207
8221
  headers: {};
7208
8222
  response: {
8223
+ 200: {
8224
+ coverFile?: {
8225
+ id: string;
8226
+ fileName: string | null;
8227
+ mimeType: string | null;
8228
+ fileSize: number | null;
8229
+ publicUrl: string | null;
8230
+ } | undefined;
8231
+ coverFileId: string | null;
8232
+ coverUrl?: string | undefined;
8233
+ createdAt: Date;
8234
+ createdBy: string;
8235
+ description: string | null;
8236
+ durationSeconds: number | null;
8237
+ id: string;
8238
+ isEnabled: boolean;
8239
+ publishedAt: Date | null;
8240
+ sortOrder: number;
8241
+ status: "archived" | "draft" | "published";
8242
+ title: string;
8243
+ updatedAt: Date;
8244
+ videoFile?: {
8245
+ id: string;
8246
+ fileName: string | null;
8247
+ mimeType: string | null;
8248
+ fileSize: number | null;
8249
+ publicUrl: string | null;
8250
+ } | undefined;
8251
+ videoFileId: string;
8252
+ videoUrl?: string | undefined;
8253
+ };
7209
8254
  401: "Unauthorized";
7210
8255
  403: "Forbidden: Admins only";
7211
8256
  422: {
@@ -7221,57 +8266,52 @@ export declare const adminRouter: Elysia<"/admin", {
7221
8266
  };
7222
8267
  };
7223
8268
  } & {
7224
- news: {
8269
+ content_videos: {
7225
8270
  get: {
7226
8271
  body: {};
7227
8272
  params: {};
7228
8273
  query: {
7229
- categoryId?: string | undefined;
7230
- isPinned?: boolean | undefined;
8274
+ isEnabled?: boolean | undefined;
8275
+ keyword?: string | undefined;
7231
8276
  limit?: number | undefined;
7232
8277
  offset?: number | undefined;
7233
8278
  pageIndex?: number | undefined;
7234
8279
  pageSize?: number | undefined;
7235
- requireReadConfirmation?: boolean | undefined;
7236
8280
  status?: "archived" | "draft" | "published" | undefined;
7237
8281
  };
7238
8282
  headers: {};
7239
8283
  response: {
7240
8284
  200: {
7241
8285
  data: {
7242
- attachmentIds: string[] | null;
7243
- category: {
7244
- createdAt: Date;
7245
- description: string | null;
7246
- icon: string | null;
8286
+ coverFile?: {
7247
8287
  id: string;
7248
- isActive: boolean;
7249
- name: string;
7250
- slug: string | null;
7251
- sortOrder: number;
7252
- updatedAt: Date;
7253
- };
7254
- categoryId: string;
7255
- content: string;
8288
+ fileName: string | null;
8289
+ mimeType: string | null;
8290
+ fileSize: number | null;
8291
+ publicUrl: string | null;
8292
+ } | undefined;
8293
+ coverFileId: string | null;
8294
+ coverUrl?: string | undefined;
7256
8295
  createdAt: Date;
7257
8296
  createdBy: string;
7258
- deletedAt: Date | null;
7259
- expiresAt: Date | null;
7260
- externalUrl: string | null;
7261
- hasVideo: boolean;
8297
+ description: string | null;
8298
+ durationSeconds: number | null;
7262
8299
  id: string;
7263
- isHot: boolean;
7264
- isPinned: boolean;
8300
+ isEnabled: boolean;
7265
8301
  publishedAt: Date | null;
7266
- requireReadConfirmation: boolean;
7267
- scope: string[];
7268
8302
  sortOrder: number;
7269
8303
  status: "archived" | "draft" | "published";
7270
- summary: string | null;
7271
- thumbnailId: string | null;
7272
8304
  title: string;
7273
8305
  updatedAt: Date;
7274
- viewCount: number;
8306
+ videoFile?: {
8307
+ id: string;
8308
+ fileName: string | null;
8309
+ mimeType: string | null;
8310
+ fileSize: number | null;
8311
+ publicUrl: string | null;
8312
+ } | undefined;
8313
+ videoFileId: string;
8314
+ videoUrl?: string | undefined;
7275
8315
  }[];
7276
8316
  pagination: {
7277
8317
  pageSize: number;
@@ -7296,7 +8336,7 @@ export declare const adminRouter: Elysia<"/admin", {
7296
8336
  };
7297
8337
  };
7298
8338
  } & {
7299
- news: {
8339
+ content_videos: {
7300
8340
  ":id": {
7301
8341
  get: {
7302
8342
  body: {};
@@ -7307,115 +8347,36 @@ export declare const adminRouter: Elysia<"/admin", {
7307
8347
  headers: {};
7308
8348
  response: {
7309
8349
  200: {
7310
- attachmentIds: string[] | null;
7311
- category: {
7312
- createdAt: Date;
7313
- description: string | null;
7314
- icon: string | null;
8350
+ coverFile?: {
7315
8351
  id: string;
7316
- isActive: boolean;
7317
- name: string;
7318
- slug: string | null;
7319
- sortOrder: number;
7320
- updatedAt: Date;
7321
- };
7322
- categoryId: string;
7323
- content: string;
7324
- createdAt: Date;
7325
- createdBy: string;
7326
- deletedAt: Date | null;
7327
- expiresAt: Date | null;
7328
- externalUrl: string | null;
7329
- hasVideo: boolean;
7330
- id: string;
7331
- isHot: boolean;
7332
- isPinned: boolean;
7333
- publishedAt: Date | null;
7334
- requireReadConfirmation: boolean;
7335
- scope: string[];
7336
- sortOrder: number;
7337
- status: "archived" | "draft" | "published";
7338
- summary: string | null;
7339
- thumbnail: {
7340
- accessControl: "private" | "public" | "restricted" | null;
7341
- archivedAt: Date | null;
7342
- businessId: string | null;
7343
- businessMetadata: string | null;
7344
- businessType: "avatar" | "bank_verification" | "contract" | "cover_image" | "export_report" | "financial_report" | "kyc_document" | "ledger_account_import" | "news_attachment" | "notification_attachment" | "other" | "transaction_receipt";
7345
- createdAt: Date;
7346
- deletedAt: Date | null;
7347
- downloadCount: number | null;
7348
- fileExtension: string | null;
7349
- fileHash: string | null;
7350
8352
  fileName: string | null;
7351
- fileSize: number | null;
7352
- id: string;
7353
- isVerified: boolean | null;
7354
- lastDownloadedAt: Date | null;
7355
8353
  mimeType: string | null;
7356
- ownerId: string;
8354
+ fileSize: number | null;
7357
8355
  publicUrl: string | null;
7358
- s3Bucket: string;
7359
- s3ETag: string | null;
7360
- s3Key: string;
7361
- s3Region: string;
7362
- status: "active" | "archived" | "pending_deletion" | "uploading" | null;
7363
- thumbnailUrl: string | null;
7364
- updatedAt: Date;
7365
- uploadCompletedAt: Date | null;
7366
- uploadIpAddress: string | null;
7367
- verificationNote: string | null;
7368
- verifiedAt: Date | null;
7369
- verifiedBy: string | null;
7370
- } | null;
7371
- thumbnailId: string | null;
7372
- title: string;
7373
- updatedAt: Date;
7374
- viewCount: number;
7375
- };
7376
- 401: "Unauthorized";
7377
- 403: "Forbidden: Admins only";
7378
- 422: {
7379
- type: 'validation';
7380
- on: string;
7381
- summary?: string;
7382
- message?: string;
7383
- found?: unknown;
7384
- property?: string;
7385
- expected?: string;
7386
- };
7387
- };
7388
- };
7389
- };
7390
- };
7391
- } & {
7392
- news: {
7393
- ":id": {
7394
- patch: {
7395
- body: {
7396
- title?: string | undefined;
7397
- summary?: string | null | undefined;
7398
- content?: string | undefined;
7399
- categoryId?: string | undefined;
7400
- status?: "archived" | "draft" | "published" | undefined;
7401
- scope?: string[] | undefined;
7402
- isPinned?: boolean | undefined;
7403
- isHot?: boolean | undefined;
7404
- hasVideo?: boolean | undefined;
7405
- sortOrder?: number | undefined;
7406
- requireReadConfirmation?: boolean | undefined;
7407
- externalUrl?: string | null | undefined;
7408
- publishedAt?: Date | null | undefined;
7409
- expiresAt?: Date | null | undefined;
7410
- thumbnailId?: string | null | undefined;
7411
- attachmentIds?: string[] | null | undefined;
7412
- };
7413
- params: {
7414
- id: string;
7415
- };
7416
- query: {};
7417
- headers: {};
7418
- response: {
8356
+ } | undefined;
8357
+ coverFileId: string | null;
8358
+ coverUrl?: string | undefined;
8359
+ createdAt: Date;
8360
+ createdBy: string;
8361
+ description: string | null;
8362
+ durationSeconds: number | null;
8363
+ id: string;
8364
+ isEnabled: boolean;
8365
+ publishedAt: Date | null;
8366
+ sortOrder: number;
8367
+ status: "archived" | "draft" | "published";
8368
+ title: string;
8369
+ updatedAt: Date;
8370
+ videoFile?: {
8371
+ id: string;
8372
+ fileName: string | null;
8373
+ mimeType: string | null;
8374
+ fileSize: number | null;
8375
+ publicUrl: string | null;
8376
+ } | undefined;
8377
+ videoFileId: string;
8378
+ videoUrl?: string | undefined;
8379
+ };
7419
8380
  401: "Unauthorized";
7420
8381
  403: "Forbidden: Admins only";
7421
8382
  422: {
@@ -7432,10 +8393,20 @@ export declare const adminRouter: Elysia<"/admin", {
7432
8393
  };
7433
8394
  };
7434
8395
  } & {
7435
- news: {
8396
+ content_videos: {
7436
8397
  ":id": {
7437
- delete: {
7438
- body: {};
8398
+ patch: {
8399
+ body: {
8400
+ coverFileId?: string | undefined;
8401
+ description?: string | null | undefined;
8402
+ durationSeconds?: number | null | undefined;
8403
+ isEnabled?: boolean | undefined;
8404
+ publishedAt?: string | Date | null | undefined;
8405
+ sortOrder?: number | undefined;
8406
+ status?: "archived" | "draft" | "published" | undefined;
8407
+ title?: string | undefined;
8408
+ videoFileId?: string | undefined;
8409
+ };
7439
8410
  params: {
7440
8411
  id: string;
7441
8412
  };
@@ -7443,7 +8414,35 @@ export declare const adminRouter: Elysia<"/admin", {
7443
8414
  headers: {};
7444
8415
  response: {
7445
8416
  200: {
7446
- success: boolean;
8417
+ coverFile?: {
8418
+ id: string;
8419
+ fileName: string | null;
8420
+ mimeType: string | null;
8421
+ fileSize: number | null;
8422
+ publicUrl: string | null;
8423
+ } | undefined;
8424
+ coverFileId: string | null;
8425
+ coverUrl?: string | undefined;
8426
+ createdAt: Date;
8427
+ createdBy: string;
8428
+ description: string | null;
8429
+ durationSeconds: number | null;
8430
+ id: string;
8431
+ isEnabled: boolean;
8432
+ publishedAt: Date | null;
8433
+ sortOrder: number;
8434
+ status: "archived" | "draft" | "published";
8435
+ title: string;
8436
+ updatedAt: Date;
8437
+ videoFile?: {
8438
+ id: string;
8439
+ fileName: string | null;
8440
+ mimeType: string | null;
8441
+ fileSize: number | null;
8442
+ publicUrl: string | null;
8443
+ } | undefined;
8444
+ videoFileId: string;
8445
+ videoUrl?: string | undefined;
7447
8446
  };
7448
8447
  401: "Unauthorized";
7449
8448
  403: "Forbidden: Admins only";
@@ -7461,20 +8460,48 @@ export declare const adminRouter: Elysia<"/admin", {
7461
8460
  };
7462
8461
  };
7463
8462
  } & {
7464
- news: {
8463
+ content_videos: {
7465
8464
  ":id": {
7466
- pin: {
8465
+ publish: {
7467
8466
  post: {
7468
- body: {
7469
- isPinned: boolean;
7470
- sortOrder?: number | undefined;
7471
- };
8467
+ body: {};
7472
8468
  params: {
7473
8469
  id: string;
7474
8470
  };
7475
8471
  query: {};
7476
8472
  headers: {};
7477
8473
  response: {
8474
+ 200: {
8475
+ coverFile?: {
8476
+ id: string;
8477
+ fileName: string | null;
8478
+ mimeType: string | null;
8479
+ fileSize: number | null;
8480
+ publicUrl: string | null;
8481
+ } | undefined;
8482
+ coverFileId: string | null;
8483
+ coverUrl?: string | undefined;
8484
+ createdAt: Date;
8485
+ createdBy: string;
8486
+ description: string | null;
8487
+ durationSeconds: number | null;
8488
+ id: string;
8489
+ isEnabled: boolean;
8490
+ publishedAt: Date | null;
8491
+ sortOrder: number;
8492
+ status: "archived" | "draft" | "published";
8493
+ title: string;
8494
+ updatedAt: Date;
8495
+ videoFile?: {
8496
+ id: string;
8497
+ fileName: string | null;
8498
+ mimeType: string | null;
8499
+ fileSize: number | null;
8500
+ publicUrl: string | null;
8501
+ } | undefined;
8502
+ videoFileId: string;
8503
+ videoUrl?: string | undefined;
8504
+ };
7478
8505
  401: "Unauthorized";
7479
8506
  403: "Forbidden: Admins only";
7480
8507
  422: {
@@ -7492,19 +8519,48 @@ export declare const adminRouter: Elysia<"/admin", {
7492
8519
  };
7493
8520
  };
7494
8521
  } & {
7495
- news: {
8522
+ content_videos: {
7496
8523
  ":id": {
7497
- hot: {
8524
+ archive: {
7498
8525
  post: {
7499
- body: {
7500
- isHot: boolean;
7501
- };
8526
+ body: {};
7502
8527
  params: {
7503
8528
  id: string;
7504
8529
  };
7505
8530
  query: {};
7506
8531
  headers: {};
7507
8532
  response: {
8533
+ 200: {
8534
+ coverFile?: {
8535
+ id: string;
8536
+ fileName: string | null;
8537
+ mimeType: string | null;
8538
+ fileSize: number | null;
8539
+ publicUrl: string | null;
8540
+ } | undefined;
8541
+ coverFileId: string | null;
8542
+ coverUrl?: string | undefined;
8543
+ createdAt: Date;
8544
+ createdBy: string;
8545
+ description: string | null;
8546
+ durationSeconds: number | null;
8547
+ id: string;
8548
+ isEnabled: boolean;
8549
+ publishedAt: Date | null;
8550
+ sortOrder: number;
8551
+ status: "archived" | "draft" | "published";
8552
+ title: string;
8553
+ updatedAt: Date;
8554
+ videoFile?: {
8555
+ id: string;
8556
+ fileName: string | null;
8557
+ mimeType: string | null;
8558
+ fileSize: number | null;
8559
+ publicUrl: string | null;
8560
+ } | undefined;
8561
+ videoFileId: string;
8562
+ videoUrl?: string | undefined;
8563
+ };
7508
8564
  401: "Unauthorized";
7509
8565
  403: "Forbidden: Admins only";
7510
8566
  422: {
@@ -7522,22 +8578,30 @@ export declare const adminRouter: Elysia<"/admin", {
7522
8578
  };
7523
8579
  };
7524
8580
  } & {
7525
- news: {
7526
- stats: {
7527
- get: {
8581
+ content_videos: {
8582
+ ":id": {
8583
+ delete: {
7528
8584
  body: {};
7529
- params: {};
8585
+ params: {
8586
+ id: string;
8587
+ };
7530
8588
  query: {};
7531
8589
  headers: {};
7532
8590
  response: {
7533
8591
  200: {
7534
- total: number;
7535
- published: number;
7536
- pinned: number;
7537
- requireConfirmation: number;
8592
+ success: boolean;
7538
8593
  };
7539
8594
  401: "Unauthorized";
7540
8595
  403: "Forbidden: Admins only";
8596
+ 422: {
8597
+ type: 'validation';
8598
+ on: string;
8599
+ summary?: string;
8600
+ message?: string;
8601
+ found?: unknown;
8602
+ property?: string;
8603
+ expected?: string;
8604
+ };
7541
8605
  };
7542
8606
  };
7543
8607
  };
@@ -7951,7 +9015,7 @@ export declare const adminRouter: Elysia<"/admin", {
7951
9015
  offset?: number | undefined;
7952
9016
  pageSize?: number | undefined;
7953
9017
  pageIndex?: number | undefined;
7954
- businessType?: "avatar" | "bank_verification" | "contract" | "cover_image" | "export_report" | "financial_report" | "kyc_document" | "ledger_account_import" | "news_attachment" | "notification_attachment" | "other" | "transaction_receipt" | undefined;
9018
+ businessType?: "app_video" | "avatar" | "bank_verification" | "contract" | "cover_image" | "export_report" | "financial_report" | "kyc_document" | "ledger_account_import" | "news_attachment" | "notification_attachment" | "other" | "transaction_receipt" | undefined;
7955
9019
  businessId?: string | undefined;
7956
9020
  status?: "active" | "archived" | "pending_deletion" | "uploading" | null | undefined;
7957
9021
  accessControl?: "private" | "public" | "restricted" | null | undefined;
@@ -7965,7 +9029,7 @@ export declare const adminRouter: Elysia<"/admin", {
7965
9029
  archivedAt: Date | null;
7966
9030
  businessId: string | null;
7967
9031
  businessMetadata: string | null;
7968
- businessType: "avatar" | "bank_verification" | "contract" | "cover_image" | "export_report" | "financial_report" | "kyc_document" | "ledger_account_import" | "news_attachment" | "notification_attachment" | "other" | "transaction_receipt";
9032
+ businessType: "app_video" | "avatar" | "bank_verification" | "contract" | "cover_image" | "export_report" | "financial_report" | "kyc_document" | "ledger_account_import" | "news_attachment" | "notification_attachment" | "other" | "transaction_receipt";
7969
9033
  createdAt: Date;
7970
9034
  deletedAt: Date | null;
7971
9035
  downloadCount: number | null;
@@ -8736,41 +9800,303 @@ export declare const adminRouter: Elysia<"/admin", {
8736
9800
  updatedAt: Date;
8737
9801
  };
8738
9802
  planId: string;
8739
- pricePerShareSnapshot: string;
8740
- pricingAssetIdSnapshot: string;
8741
- pricingAssetSnapshot: {
8742
- id: string;
8743
- code: string;
8744
- name: string;
8745
- category: "CRYPTO" | "FIAT" | "POINT" | "RWA";
8746
- symbol: string | null;
8747
- precision: number;
8748
- isActive: boolean;
8749
- };
8750
- rightsAssetIdSnapshot: string;
8751
- rightsAssetSnapshot: {
8752
- id: string;
8753
- code: string;
8754
- name: string;
8755
- category: "CRYPTO" | "FIAT" | "POINT" | "RWA";
8756
- symbol: string | null;
8757
- precision: number;
8758
- isActive: boolean;
8759
- };
8760
- rightsPerShareSnapshot: string;
8761
- shares: number;
8762
- sourcePricingAccount: {
9803
+ pricePerShareSnapshot: string;
9804
+ pricingAssetIdSnapshot: string;
9805
+ pricingAssetSnapshot: {
9806
+ id: string;
9807
+ code: string;
9808
+ name: string;
9809
+ category: "CRYPTO" | "FIAT" | "POINT" | "RWA";
9810
+ symbol: string | null;
9811
+ precision: number;
9812
+ isActive: boolean;
9813
+ };
9814
+ rightsAssetIdSnapshot: string;
9815
+ rightsAssetSnapshot: {
9816
+ id: string;
9817
+ code: string;
9818
+ name: string;
9819
+ category: "CRYPTO" | "FIAT" | "POINT" | "RWA";
9820
+ symbol: string | null;
9821
+ precision: number;
9822
+ isActive: boolean;
9823
+ };
9824
+ rightsPerShareSnapshot: string;
9825
+ shares: number;
9826
+ sourcePricingAccount: {
9827
+ id: string;
9828
+ userId: string;
9829
+ assetId: string;
9830
+ ledgerAccountTypeId: string;
9831
+ status: "active" | "disabled" | "frozen";
9832
+ };
9833
+ sourcePricingAccountId: string;
9834
+ startDate: Date;
9835
+ status: "active" | "cancelled" | "matured" | "pending" | "settled";
9836
+ totalPricingAmount: string;
9837
+ totalRightsPrincipal: string;
9838
+ updatedAt: Date;
9839
+ user: {
9840
+ id: string;
9841
+ email: string;
9842
+ username: string | null;
9843
+ displayUsername: string | null;
9844
+ phoneNumber: string | null;
9845
+ banned: boolean | null;
9846
+ };
9847
+ userId: string;
9848
+ }[];
9849
+ pagination: {
9850
+ pageSize: number;
9851
+ pageIndex: number;
9852
+ total: number;
9853
+ totalPages: number;
9854
+ hasNextPage: boolean;
9855
+ };
9856
+ };
9857
+ 401: "Unauthorized";
9858
+ 403: "Forbidden: Admins only";
9859
+ 422: {
9860
+ type: 'validation';
9861
+ on: string;
9862
+ summary?: string;
9863
+ message?: string;
9864
+ found?: unknown;
9865
+ property?: string;
9866
+ expected?: string;
9867
+ };
9868
+ };
9869
+ };
9870
+ };
9871
+ };
9872
+ } & {
9873
+ welfare_cycle: {
9874
+ "daily-payouts": {
9875
+ get: {
9876
+ body: {};
9877
+ params: {};
9878
+ query: {
9879
+ limit?: number | undefined;
9880
+ offset?: number | undefined;
9881
+ pageIndex?: number | undefined;
9882
+ pageSize?: number | undefined;
9883
+ planId?: string | undefined;
9884
+ status?: "completed" | "failed" | "pending" | undefined;
9885
+ userId?: string | undefined;
9886
+ };
9887
+ headers: {};
9888
+ response: {
9889
+ 200: {
9890
+ data: {
9891
+ amount: string;
9892
+ createdAt: Date;
9893
+ id: string;
9894
+ idempotencyKey: string;
9895
+ ledgerEntry?: {
9896
+ id: string;
9897
+ bizType: string;
9898
+ amount: string;
9899
+ referenceId: string;
9900
+ referenceType: string;
9901
+ createdAt: Date;
9902
+ } | undefined;
9903
+ ledgerEntryId: string | null;
9904
+ payoutDate: string;
9905
+ plan: {
9906
+ coverImageUrl: string | null;
9907
+ createdAt: Date;
9908
+ cycleDays: number;
9909
+ dailyPayoutAccountType: {
9910
+ id: string;
9911
+ key: string;
9912
+ name: string;
9913
+ isActive: boolean;
9914
+ };
9915
+ dailyPayoutAccountTypeId: string;
9916
+ dailyYieldRate: string;
9917
+ description: string | null;
9918
+ id: string;
9919
+ maturitySettlementAccountType: {
9920
+ id: string;
9921
+ key: string;
9922
+ name: string;
9923
+ isActive: boolean;
9924
+ };
9925
+ maturitySettlementAccountTypeId: string;
9926
+ maturityYieldRate: string;
9927
+ maxSharesPerOrder: number | null;
9928
+ minShares: number;
9929
+ name: string;
9930
+ pricePerShare: string;
9931
+ pricingAsset: {
9932
+ id: string;
9933
+ code: string;
9934
+ name: string;
9935
+ category: "CRYPTO" | "FIAT" | "POINT" | "RWA";
9936
+ symbol: string | null;
9937
+ precision: number;
9938
+ isActive: boolean;
9939
+ };
9940
+ pricingAssetId: string;
9941
+ rightsAsset: {
9942
+ id: string;
9943
+ code: string;
9944
+ name: string;
9945
+ category: "CRYPTO" | "FIAT" | "POINT" | "RWA";
9946
+ symbol: string | null;
9947
+ precision: number;
9948
+ isActive: boolean;
9949
+ };
9950
+ rightsAssetId: string;
9951
+ rightsPerShare: string;
9952
+ saleEndAt: Date | null;
9953
+ saleStartAt: Date | null;
9954
+ sourcePricingAccountType: {
9955
+ id: string;
9956
+ key: string;
9957
+ name: string;
9958
+ isActive: boolean;
9959
+ };
9960
+ sourcePricingAccountTypeId: string;
9961
+ status: "active" | "draft" | "ended" | "paused";
9962
+ updatedAt: Date;
9963
+ };
9964
+ planId: string;
9965
+ status: "completed" | "failed" | "pending";
9966
+ subscription: {
9967
+ createdAt: Date;
9968
+ cycleDaysSnapshot: number;
9969
+ dailyPayoutReceiveAccount: {
9970
+ id: string;
9971
+ userId: string;
9972
+ assetId: string;
9973
+ ledgerAccountTypeId: string;
9974
+ status: "active" | "disabled" | "frozen";
9975
+ };
9976
+ dailyPayoutReceiveAccountId: string;
9977
+ dailyYieldRateSnapshot: string;
8763
9978
  id: string;
9979
+ idempotencyKey: string;
9980
+ lastPayoutDate: Date | null;
9981
+ maturityDate: Date;
9982
+ maturitySettlementReceiveAccount: {
9983
+ id: string;
9984
+ userId: string;
9985
+ assetId: string;
9986
+ ledgerAccountTypeId: string;
9987
+ status: "active" | "disabled" | "frozen";
9988
+ };
9989
+ maturitySettlementReceiveAccountId: string;
9990
+ maturityYieldRateSnapshot: string;
9991
+ nextPayoutDate: Date | null;
9992
+ orderNo: string;
9993
+ plan: {
9994
+ coverImageUrl: string | null;
9995
+ createdAt: Date;
9996
+ cycleDays: number;
9997
+ dailyPayoutAccountType: {
9998
+ id: string;
9999
+ key: string;
10000
+ name: string;
10001
+ isActive: boolean;
10002
+ };
10003
+ dailyPayoutAccountTypeId: string;
10004
+ dailyYieldRate: string;
10005
+ description: string | null;
10006
+ id: string;
10007
+ maturitySettlementAccountType: {
10008
+ id: string;
10009
+ key: string;
10010
+ name: string;
10011
+ isActive: boolean;
10012
+ };
10013
+ maturitySettlementAccountTypeId: string;
10014
+ maturityYieldRate: string;
10015
+ maxSharesPerOrder: number | null;
10016
+ minShares: number;
10017
+ name: string;
10018
+ pricePerShare: string;
10019
+ pricingAsset: {
10020
+ id: string;
10021
+ code: string;
10022
+ name: string;
10023
+ category: "CRYPTO" | "FIAT" | "POINT" | "RWA";
10024
+ symbol: string | null;
10025
+ precision: number;
10026
+ isActive: boolean;
10027
+ };
10028
+ pricingAssetId: string;
10029
+ rightsAsset: {
10030
+ id: string;
10031
+ code: string;
10032
+ name: string;
10033
+ category: "CRYPTO" | "FIAT" | "POINT" | "RWA";
10034
+ symbol: string | null;
10035
+ precision: number;
10036
+ isActive: boolean;
10037
+ };
10038
+ rightsAssetId: string;
10039
+ rightsPerShare: string;
10040
+ saleEndAt: Date | null;
10041
+ saleStartAt: Date | null;
10042
+ sourcePricingAccountType: {
10043
+ id: string;
10044
+ key: string;
10045
+ name: string;
10046
+ isActive: boolean;
10047
+ };
10048
+ sourcePricingAccountTypeId: string;
10049
+ status: "active" | "draft" | "ended" | "paused";
10050
+ updatedAt: Date;
10051
+ };
10052
+ planId: string;
10053
+ pricePerShareSnapshot: string;
10054
+ pricingAssetIdSnapshot: string;
10055
+ pricingAssetSnapshot: {
10056
+ id: string;
10057
+ code: string;
10058
+ name: string;
10059
+ category: "CRYPTO" | "FIAT" | "POINT" | "RWA";
10060
+ symbol: string | null;
10061
+ precision: number;
10062
+ isActive: boolean;
10063
+ };
10064
+ rightsAssetIdSnapshot: string;
10065
+ rightsAssetSnapshot: {
10066
+ id: string;
10067
+ code: string;
10068
+ name: string;
10069
+ category: "CRYPTO" | "FIAT" | "POINT" | "RWA";
10070
+ symbol: string | null;
10071
+ precision: number;
10072
+ isActive: boolean;
10073
+ };
10074
+ rightsPerShareSnapshot: string;
10075
+ shares: number;
10076
+ sourcePricingAccount: {
10077
+ id: string;
10078
+ userId: string;
10079
+ assetId: string;
10080
+ ledgerAccountTypeId: string;
10081
+ status: "active" | "disabled" | "frozen";
10082
+ };
10083
+ sourcePricingAccountId: string;
10084
+ startDate: Date;
10085
+ status: "active" | "cancelled" | "matured" | "pending" | "settled";
10086
+ totalPricingAmount: string;
10087
+ totalRightsPrincipal: string;
10088
+ updatedAt: Date;
10089
+ user: {
10090
+ id: string;
10091
+ email: string;
10092
+ username: string | null;
10093
+ displayUsername: string | null;
10094
+ phoneNumber: string | null;
10095
+ banned: boolean | null;
10096
+ };
8764
10097
  userId: string;
8765
- assetId: string;
8766
- ledgerAccountTypeId: string;
8767
- status: "active" | "disabled" | "frozen";
8768
10098
  };
8769
- sourcePricingAccountId: string;
8770
- startDate: Date;
8771
- status: "active" | "cancelled" | "matured" | "pending" | "settled";
8772
- totalPricingAmount: string;
8773
- totalRightsPrincipal: string;
10099
+ subscriptionId: string;
8774
10100
  updatedAt: Date;
8775
10101
  user: {
8776
10102
  id: string;
@@ -8807,7 +10133,7 @@ export declare const adminRouter: Elysia<"/admin", {
8807
10133
  };
8808
10134
  } & {
8809
10135
  welfare_cycle: {
8810
- "daily-payouts": {
10136
+ "maturity-settlements": {
8811
10137
  get: {
8812
10138
  body: {};
8813
10139
  params: {};
@@ -8824,20 +10150,10 @@ export declare const adminRouter: Elysia<"/admin", {
8824
10150
  response: {
8825
10151
  200: {
8826
10152
  data: {
8827
- amount: string;
8828
10153
  createdAt: Date;
8829
10154
  id: string;
8830
10155
  idempotencyKey: string;
8831
- ledgerEntry?: {
8832
- id: string;
8833
- bizType: string;
8834
- amount: string;
8835
- referenceId: string;
8836
- referenceType: string;
8837
- createdAt: Date;
8838
- } | undefined;
8839
- ledgerEntryId: string | null;
8840
- payoutDate: string;
10156
+ maturityYieldAmount: string;
8841
10157
  plan: {
8842
10158
  coverImageUrl: string | null;
8843
10159
  createdAt: Date;
@@ -8898,6 +10214,17 @@ export declare const adminRouter: Elysia<"/admin", {
8898
10214
  updatedAt: Date;
8899
10215
  };
8900
10216
  planId: string;
10217
+ principalLedgerEntry?: {
10218
+ id: string;
10219
+ bizType: string;
10220
+ amount: string;
10221
+ referenceId: string;
10222
+ referenceType: string;
10223
+ createdAt: Date;
10224
+ } | undefined;
10225
+ principalLedgerEntryId: string | null;
10226
+ principalReturnAmount: string;
10227
+ settlementDate: Date;
8901
10228
  status: "completed" | "failed" | "pending";
8902
10229
  subscription: {
8903
10230
  createdAt: Date;
@@ -9043,6 +10370,15 @@ export declare const adminRouter: Elysia<"/admin", {
9043
10370
  banned: boolean | null;
9044
10371
  };
9045
10372
  userId: string;
10373
+ yieldLedgerEntry?: {
10374
+ id: string;
10375
+ bizType: string;
10376
+ amount: string;
10377
+ referenceId: string;
10378
+ referenceType: string;
10379
+ createdAt: Date;
10380
+ } | undefined;
10381
+ yieldLedgerEntryId: string | null;
9046
10382
  }[];
9047
10383
  pagination: {
9048
10384
  pageSize: number;
@@ -9068,55 +10404,406 @@ export declare const adminRouter: Elysia<"/admin", {
9068
10404
  };
9069
10405
  };
9070
10406
  } & {
9071
- welfare_cycle: {
9072
- "maturity-settlements": {
10407
+ welfare_cycle: {
10408
+ jobs: {
10409
+ "run-daily-payout": {
10410
+ post: {
10411
+ body: {
10412
+ subscriptionIds?: string[] | undefined;
10413
+ payoutDate?: Date | undefined;
10414
+ };
10415
+ params: {};
10416
+ query: {};
10417
+ headers: {};
10418
+ response: {
10419
+ 200: {
10420
+ successCount: number;
10421
+ processedIds: string[];
10422
+ };
10423
+ 401: "Unauthorized";
10424
+ 403: "Forbidden: Admins only";
10425
+ 422: {
10426
+ type: 'validation';
10427
+ on: string;
10428
+ summary?: string;
10429
+ message?: string;
10430
+ found?: unknown;
10431
+ property?: string;
10432
+ expected?: string;
10433
+ };
10434
+ };
10435
+ };
10436
+ };
10437
+ };
10438
+ };
10439
+ } & {
10440
+ welfare_cycle: {
10441
+ jobs: {
10442
+ "run-maturity-settlement": {
10443
+ post: {
10444
+ body: {
10445
+ subscriptionIds?: string[] | undefined;
10446
+ settlementDate?: Date | undefined;
10447
+ limit?: number | undefined;
10448
+ };
10449
+ params: {};
10450
+ query: {};
10451
+ headers: {};
10452
+ response: {
10453
+ 200: {
10454
+ successCount: number;
10455
+ processedIds: string[];
10456
+ };
10457
+ 401: "Unauthorized";
10458
+ 403: "Forbidden: Admins only";
10459
+ 422: {
10460
+ type: 'validation';
10461
+ on: string;
10462
+ summary?: string;
10463
+ message?: string;
10464
+ found?: unknown;
10465
+ property?: string;
10466
+ expected?: string;
10467
+ };
10468
+ };
10469
+ };
10470
+ };
10471
+ };
10472
+ };
10473
+ };
10474
+ } & {
10475
+ admin: {
10476
+ lock_activity: {};
10477
+ } & {
10478
+ lock_activity: {
10479
+ activities: {
10480
+ post: {
10481
+ body: {
10482
+ coverImageFileId: string;
10483
+ description?: string | null | undefined;
10484
+ endAt: Date;
10485
+ isVisibleOnFrontend?: boolean | undefined;
10486
+ rewardAssetId: string;
10487
+ rewardCnyEquivalent: string;
10488
+ sortOrder?: number | undefined;
10489
+ startAt: Date;
10490
+ status?: "active" | "cancelled" | "draft" | "ended" | undefined;
10491
+ title: string;
10492
+ };
10493
+ params: {};
10494
+ query: {};
10495
+ headers: {};
10496
+ response: {
10497
+ 200: {
10498
+ coverImageFile?: {
10499
+ id: string;
10500
+ fileName: string | null;
10501
+ mimeType: string | null;
10502
+ fileSize: number | null;
10503
+ publicUrl: string | null;
10504
+ } | undefined;
10505
+ coverImageFileId: string | null;
10506
+ coverImageUrl: string;
10507
+ createdAt: Date;
10508
+ description: string | null;
10509
+ endAt: Date;
10510
+ id: string;
10511
+ isVisibleOnFrontend: boolean;
10512
+ receiveAccountType: {
10513
+ id: string;
10514
+ key: string;
10515
+ name: string;
10516
+ isActive: boolean;
10517
+ };
10518
+ rewardAsset: {
10519
+ id: string;
10520
+ code: string;
10521
+ name: string;
10522
+ category: "CRYPTO" | "FIAT" | "POINT" | "RWA";
10523
+ symbol: string | null;
10524
+ precision: number;
10525
+ isActive: boolean;
10526
+ };
10527
+ rewardAssetId: string;
10528
+ rewardCnyEquivalent: string;
10529
+ sortOrder: number;
10530
+ startAt: Date;
10531
+ status: "active" | "cancelled" | "draft" | "ended";
10532
+ title: string;
10533
+ updatedAt: Date;
10534
+ };
10535
+ 401: "Unauthorized";
10536
+ 403: "Forbidden: Admins only";
10537
+ 422: {
10538
+ type: 'validation';
10539
+ on: string;
10540
+ summary?: string;
10541
+ message?: string;
10542
+ found?: unknown;
10543
+ property?: string;
10544
+ expected?: string;
10545
+ };
10546
+ };
10547
+ };
10548
+ };
10549
+ };
10550
+ } & {
10551
+ lock_activity: {
10552
+ activities: {
10553
+ ":id": {
10554
+ patch: {
10555
+ body: {
10556
+ coverImageFileId?: string | undefined;
10557
+ description?: string | null | undefined;
10558
+ endAt?: Date | undefined;
10559
+ isVisibleOnFrontend?: boolean | undefined;
10560
+ rewardAssetId?: string | undefined;
10561
+ rewardCnyEquivalent?: string | undefined;
10562
+ sortOrder?: number | undefined;
10563
+ startAt?: Date | undefined;
10564
+ status?: "active" | "cancelled" | "draft" | "ended" | undefined;
10565
+ title?: string | undefined;
10566
+ };
10567
+ params: {
10568
+ id: string;
10569
+ };
10570
+ query: {};
10571
+ headers: {};
10572
+ response: {
10573
+ 200: {
10574
+ coverImageFile?: {
10575
+ id: string;
10576
+ fileName: string | null;
10577
+ mimeType: string | null;
10578
+ fileSize: number | null;
10579
+ publicUrl: string | null;
10580
+ } | undefined;
10581
+ coverImageFileId: string | null;
10582
+ coverImageUrl: string;
10583
+ createdAt: Date;
10584
+ description: string | null;
10585
+ endAt: Date;
10586
+ id: string;
10587
+ isVisibleOnFrontend: boolean;
10588
+ receiveAccountType: {
10589
+ id: string;
10590
+ key: string;
10591
+ name: string;
10592
+ isActive: boolean;
10593
+ };
10594
+ rewardAsset: {
10595
+ id: string;
10596
+ code: string;
10597
+ name: string;
10598
+ category: "CRYPTO" | "FIAT" | "POINT" | "RWA";
10599
+ symbol: string | null;
10600
+ precision: number;
10601
+ isActive: boolean;
10602
+ };
10603
+ rewardAssetId: string;
10604
+ rewardCnyEquivalent: string;
10605
+ sortOrder: number;
10606
+ startAt: Date;
10607
+ status: "active" | "cancelled" | "draft" | "ended";
10608
+ title: string;
10609
+ updatedAt: Date;
10610
+ };
10611
+ 401: "Unauthorized";
10612
+ 403: "Forbidden: Admins only";
10613
+ 422: {
10614
+ type: 'validation';
10615
+ on: string;
10616
+ summary?: string;
10617
+ message?: string;
10618
+ found?: unknown;
10619
+ property?: string;
10620
+ expected?: string;
10621
+ };
10622
+ };
10623
+ };
10624
+ };
10625
+ };
10626
+ };
10627
+ } & {
10628
+ lock_activity: {
10629
+ activities: {
10630
+ ":id": {
10631
+ get: {
10632
+ body: {};
10633
+ params: {
10634
+ id: string;
10635
+ };
10636
+ query: {};
10637
+ headers: {};
10638
+ response: {
10639
+ 200: {
10640
+ coverImageFile?: {
10641
+ id: string;
10642
+ fileName: string | null;
10643
+ mimeType: string | null;
10644
+ fileSize: number | null;
10645
+ publicUrl: string | null;
10646
+ } | undefined;
10647
+ coverImageFileId: string | null;
10648
+ coverImageUrl: string;
10649
+ createdAt: Date;
10650
+ description: string | null;
10651
+ endAt: Date;
10652
+ id: string;
10653
+ isVisibleOnFrontend: boolean;
10654
+ receiveAccountType: {
10655
+ id: string;
10656
+ key: string;
10657
+ name: string;
10658
+ isActive: boolean;
10659
+ };
10660
+ rewardAsset: {
10661
+ id: string;
10662
+ code: string;
10663
+ name: string;
10664
+ category: "CRYPTO" | "FIAT" | "POINT" | "RWA";
10665
+ symbol: string | null;
10666
+ precision: number;
10667
+ isActive: boolean;
10668
+ };
10669
+ rewardAssetId: string;
10670
+ rewardCnyEquivalent: string;
10671
+ sortOrder: number;
10672
+ startAt: Date;
10673
+ status: "active" | "cancelled" | "draft" | "ended";
10674
+ title: string;
10675
+ updatedAt: Date;
10676
+ };
10677
+ 401: "Unauthorized";
10678
+ 403: "Forbidden: Admins only";
10679
+ 422: {
10680
+ type: 'validation';
10681
+ on: string;
10682
+ summary?: string;
10683
+ message?: string;
10684
+ found?: unknown;
10685
+ property?: string;
10686
+ expected?: string;
10687
+ };
10688
+ };
10689
+ };
10690
+ };
10691
+ };
10692
+ };
10693
+ } & {
10694
+ lock_activity: {
10695
+ activities: {
9073
10696
  get: {
9074
10697
  body: {};
9075
10698
  params: {};
9076
10699
  query: {
10700
+ isVisibleOnFrontend?: boolean | undefined;
10701
+ keyword?: string | undefined;
9077
10702
  limit?: number | undefined;
9078
10703
  offset?: number | undefined;
9079
10704
  pageIndex?: number | undefined;
9080
10705
  pageSize?: number | undefined;
9081
- planId?: string | undefined;
9082
- status?: "completed" | "failed" | "pending" | undefined;
9083
- userId?: string | undefined;
10706
+ status?: "active" | "cancelled" | "draft" | "ended" | undefined;
9084
10707
  };
9085
10708
  headers: {};
9086
10709
  response: {
9087
10710
  200: {
9088
10711
  data: {
10712
+ coverImageFile?: {
10713
+ id: string;
10714
+ fileName: string | null;
10715
+ mimeType: string | null;
10716
+ fileSize: number | null;
10717
+ publicUrl: string | null;
10718
+ } | undefined;
10719
+ coverImageFileId: string | null;
10720
+ coverImageUrl: string;
9089
10721
  createdAt: Date;
10722
+ description: string | null;
10723
+ endAt: Date;
9090
10724
  id: string;
9091
- idempotencyKey: string;
9092
- maturityYieldAmount: string;
9093
- plan: {
9094
- coverImageUrl: string | null;
9095
- createdAt: Date;
9096
- cycleDays: number;
9097
- dailyPayoutAccountType: {
9098
- id: string;
9099
- key: string;
9100
- name: string;
9101
- isActive: boolean;
9102
- };
9103
- dailyPayoutAccountTypeId: string;
9104
- dailyYieldRate: string;
10725
+ isVisibleOnFrontend: boolean;
10726
+ receiveAccountType: {
10727
+ id: string;
10728
+ key: string;
10729
+ name: string;
10730
+ isActive: boolean;
10731
+ };
10732
+ rewardAsset: {
10733
+ id: string;
10734
+ code: string;
10735
+ name: string;
10736
+ category: "CRYPTO" | "FIAT" | "POINT" | "RWA";
10737
+ symbol: string | null;
10738
+ precision: number;
10739
+ isActive: boolean;
10740
+ };
10741
+ rewardAssetId: string;
10742
+ rewardCnyEquivalent: string;
10743
+ sortOrder: number;
10744
+ startAt: Date;
10745
+ status: "active" | "cancelled" | "draft" | "ended";
10746
+ title: string;
10747
+ updatedAt: Date;
10748
+ }[];
10749
+ pagination: {
10750
+ pageSize: number;
10751
+ pageIndex: number;
10752
+ total: number;
10753
+ totalPages: number;
10754
+ hasNextPage: boolean;
10755
+ };
10756
+ };
10757
+ 401: "Unauthorized";
10758
+ 403: "Forbidden: Admins only";
10759
+ 422: {
10760
+ type: 'validation';
10761
+ on: string;
10762
+ summary?: string;
10763
+ message?: string;
10764
+ found?: unknown;
10765
+ property?: string;
10766
+ expected?: string;
10767
+ };
10768
+ };
10769
+ };
10770
+ };
10771
+ };
10772
+ } & {
10773
+ lock_activity: {
10774
+ activities: {
10775
+ ":id": {
10776
+ activate: {
10777
+ post: {
10778
+ body: {};
10779
+ params: {
10780
+ id: string;
10781
+ };
10782
+ query: {};
10783
+ headers: {};
10784
+ response: {
10785
+ 200: {
10786
+ coverImageFile?: {
10787
+ id: string;
10788
+ fileName: string | null;
10789
+ mimeType: string | null;
10790
+ fileSize: number | null;
10791
+ publicUrl: string | null;
10792
+ } | undefined;
10793
+ coverImageFileId: string | null;
10794
+ coverImageUrl: string;
10795
+ createdAt: Date;
9105
10796
  description: string | null;
10797
+ endAt: Date;
9106
10798
  id: string;
9107
- maturitySettlementAccountType: {
10799
+ isVisibleOnFrontend: boolean;
10800
+ receiveAccountType: {
9108
10801
  id: string;
9109
10802
  key: string;
9110
10803
  name: string;
9111
10804
  isActive: boolean;
9112
10805
  };
9113
- maturitySettlementAccountTypeId: string;
9114
- maturityYieldRate: string;
9115
- maxSharesPerOrder: number | null;
9116
- minShares: number;
9117
- name: string;
9118
- pricePerShare: string;
9119
- pricingAsset: {
10806
+ rewardAsset: {
9120
10807
  id: string;
9121
10808
  code: string;
9122
10809
  name: string;
@@ -9125,143 +10812,134 @@ export declare const adminRouter: Elysia<"/admin", {
9125
10812
  precision: number;
9126
10813
  isActive: boolean;
9127
10814
  };
9128
- pricingAssetId: string;
9129
- rightsAsset: {
10815
+ rewardAssetId: string;
10816
+ rewardCnyEquivalent: string;
10817
+ sortOrder: number;
10818
+ startAt: Date;
10819
+ status: "active" | "cancelled" | "draft" | "ended";
10820
+ title: string;
10821
+ updatedAt: Date;
10822
+ };
10823
+ 401: "Unauthorized";
10824
+ 403: "Forbidden: Admins only";
10825
+ 422: {
10826
+ type: 'validation';
10827
+ on: string;
10828
+ summary?: string;
10829
+ message?: string;
10830
+ found?: unknown;
10831
+ property?: string;
10832
+ expected?: string;
10833
+ };
10834
+ };
10835
+ };
10836
+ };
10837
+ };
10838
+ };
10839
+ };
10840
+ } & {
10841
+ lock_activity: {
10842
+ activities: {
10843
+ ":id": {
10844
+ end: {
10845
+ post: {
10846
+ body: {};
10847
+ params: {
10848
+ id: string;
10849
+ };
10850
+ query: {};
10851
+ headers: {};
10852
+ response: {
10853
+ 200: {
10854
+ coverImageFile?: {
9130
10855
  id: string;
9131
- code: string;
10856
+ fileName: string | null;
10857
+ mimeType: string | null;
10858
+ fileSize: number | null;
10859
+ publicUrl: string | null;
10860
+ } | undefined;
10861
+ coverImageFileId: string | null;
10862
+ coverImageUrl: string;
10863
+ createdAt: Date;
10864
+ description: string | null;
10865
+ endAt: Date;
10866
+ id: string;
10867
+ isVisibleOnFrontend: boolean;
10868
+ receiveAccountType: {
10869
+ id: string;
10870
+ key: string;
9132
10871
  name: string;
9133
- category: "CRYPTO" | "FIAT" | "POINT" | "RWA";
9134
- symbol: string | null;
9135
- precision: number;
9136
10872
  isActive: boolean;
9137
10873
  };
9138
- rightsAssetId: string;
9139
- rightsPerShare: string;
9140
- saleEndAt: Date | null;
9141
- saleStartAt: Date | null;
9142
- sourcePricingAccountType: {
10874
+ rewardAsset: {
9143
10875
  id: string;
9144
- key: string;
10876
+ code: string;
9145
10877
  name: string;
10878
+ category: "CRYPTO" | "FIAT" | "POINT" | "RWA";
10879
+ symbol: string | null;
10880
+ precision: number;
9146
10881
  isActive: boolean;
9147
10882
  };
9148
- sourcePricingAccountTypeId: string;
9149
- status: "active" | "draft" | "ended" | "paused";
10883
+ rewardAssetId: string;
10884
+ rewardCnyEquivalent: string;
10885
+ sortOrder: number;
10886
+ startAt: Date;
10887
+ status: "active" | "cancelled" | "draft" | "ended";
10888
+ title: string;
9150
10889
  updatedAt: Date;
9151
10890
  };
9152
- planId: string;
9153
- principalLedgerEntry?: {
9154
- id: string;
9155
- bizType: string;
9156
- amount: string;
9157
- referenceId: string;
9158
- referenceType: string;
9159
- createdAt: Date;
9160
- } | undefined;
9161
- principalLedgerEntryId: string | null;
9162
- principalReturnAmount: string;
9163
- settlementDate: Date;
9164
- status: "completed" | "failed" | "pending";
9165
- subscription: {
9166
- createdAt: Date;
9167
- cycleDaysSnapshot: number;
9168
- dailyPayoutReceiveAccount: {
10891
+ 401: "Unauthorized";
10892
+ 403: "Forbidden: Admins only";
10893
+ 422: {
10894
+ type: 'validation';
10895
+ on: string;
10896
+ summary?: string;
10897
+ message?: string;
10898
+ found?: unknown;
10899
+ property?: string;
10900
+ expected?: string;
10901
+ };
10902
+ };
10903
+ };
10904
+ };
10905
+ };
10906
+ };
10907
+ };
10908
+ } & {
10909
+ lock_activity: {
10910
+ activities: {
10911
+ ":id": {
10912
+ cancel: {
10913
+ post: {
10914
+ body: {};
10915
+ params: {
10916
+ id: string;
10917
+ };
10918
+ query: {};
10919
+ headers: {};
10920
+ response: {
10921
+ 200: {
10922
+ coverImageFile?: {
9169
10923
  id: string;
9170
- userId: string;
9171
- assetId: string;
9172
- ledgerAccountTypeId: string;
9173
- status: "active" | "disabled" | "frozen";
9174
- };
9175
- dailyPayoutReceiveAccountId: string;
9176
- dailyYieldRateSnapshot: string;
10924
+ fileName: string | null;
10925
+ mimeType: string | null;
10926
+ fileSize: number | null;
10927
+ publicUrl: string | null;
10928
+ } | undefined;
10929
+ coverImageFileId: string | null;
10930
+ coverImageUrl: string;
10931
+ createdAt: Date;
10932
+ description: string | null;
10933
+ endAt: Date;
9177
10934
  id: string;
9178
- idempotencyKey: string;
9179
- lastPayoutDate: Date | null;
9180
- maturityDate: Date;
9181
- maturitySettlementReceiveAccount: {
9182
- id: string;
9183
- userId: string;
9184
- assetId: string;
9185
- ledgerAccountTypeId: string;
9186
- status: "active" | "disabled" | "frozen";
9187
- };
9188
- maturitySettlementReceiveAccountId: string;
9189
- maturityYieldRateSnapshot: string;
9190
- nextPayoutDate: Date | null;
9191
- orderNo: string;
9192
- plan: {
9193
- coverImageUrl: string | null;
9194
- createdAt: Date;
9195
- cycleDays: number;
9196
- dailyPayoutAccountType: {
9197
- id: string;
9198
- key: string;
9199
- name: string;
9200
- isActive: boolean;
9201
- };
9202
- dailyPayoutAccountTypeId: string;
9203
- dailyYieldRate: string;
9204
- description: string | null;
9205
- id: string;
9206
- maturitySettlementAccountType: {
9207
- id: string;
9208
- key: string;
9209
- name: string;
9210
- isActive: boolean;
9211
- };
9212
- maturitySettlementAccountTypeId: string;
9213
- maturityYieldRate: string;
9214
- maxSharesPerOrder: number | null;
9215
- minShares: number;
9216
- name: string;
9217
- pricePerShare: string;
9218
- pricingAsset: {
9219
- id: string;
9220
- code: string;
9221
- name: string;
9222
- category: "CRYPTO" | "FIAT" | "POINT" | "RWA";
9223
- symbol: string | null;
9224
- precision: number;
9225
- isActive: boolean;
9226
- };
9227
- pricingAssetId: string;
9228
- rightsAsset: {
9229
- id: string;
9230
- code: string;
9231
- name: string;
9232
- category: "CRYPTO" | "FIAT" | "POINT" | "RWA";
9233
- symbol: string | null;
9234
- precision: number;
9235
- isActive: boolean;
9236
- };
9237
- rightsAssetId: string;
9238
- rightsPerShare: string;
9239
- saleEndAt: Date | null;
9240
- saleStartAt: Date | null;
9241
- sourcePricingAccountType: {
9242
- id: string;
9243
- key: string;
9244
- name: string;
9245
- isActive: boolean;
9246
- };
9247
- sourcePricingAccountTypeId: string;
9248
- status: "active" | "draft" | "ended" | "paused";
9249
- updatedAt: Date;
9250
- };
9251
- planId: string;
9252
- pricePerShareSnapshot: string;
9253
- pricingAssetIdSnapshot: string;
9254
- pricingAssetSnapshot: {
10935
+ isVisibleOnFrontend: boolean;
10936
+ receiveAccountType: {
9255
10937
  id: string;
9256
- code: string;
10938
+ key: string;
9257
10939
  name: string;
9258
- category: "CRYPTO" | "FIAT" | "POINT" | "RWA";
9259
- symbol: string | null;
9260
- precision: number;
9261
10940
  isActive: boolean;
9262
10941
  };
9263
- rightsAssetIdSnapshot: string;
9264
- rightsAssetSnapshot: {
10942
+ rewardAsset: {
9265
10943
  id: string;
9266
10944
  code: string;
9267
10945
  name: string;
@@ -9270,51 +10948,177 @@ export declare const adminRouter: Elysia<"/admin", {
9270
10948
  precision: number;
9271
10949
  isActive: boolean;
9272
10950
  };
9273
- rightsPerShareSnapshot: string;
9274
- shares: number;
9275
- sourcePricingAccount: {
9276
- id: string;
9277
- userId: string;
9278
- assetId: string;
9279
- ledgerAccountTypeId: string;
9280
- status: "active" | "disabled" | "frozen";
9281
- };
9282
- sourcePricingAccountId: string;
9283
- startDate: Date;
9284
- status: "active" | "cancelled" | "matured" | "pending" | "settled";
9285
- totalPricingAmount: string;
9286
- totalRightsPrincipal: string;
10951
+ rewardAssetId: string;
10952
+ rewardCnyEquivalent: string;
10953
+ sortOrder: number;
10954
+ startAt: Date;
10955
+ status: "active" | "cancelled" | "draft" | "ended";
10956
+ title: string;
9287
10957
  updatedAt: Date;
9288
- user: {
9289
- id: string;
9290
- email: string;
9291
- username: string | null;
9292
- displayUsername: string | null;
9293
- phoneNumber: string | null;
9294
- banned: boolean | null;
9295
- };
9296
- userId: string;
9297
10958
  };
9298
- subscriptionId: string;
10959
+ 401: "Unauthorized";
10960
+ 403: "Forbidden: Admins only";
10961
+ 422: {
10962
+ type: 'validation';
10963
+ on: string;
10964
+ summary?: string;
10965
+ message?: string;
10966
+ found?: unknown;
10967
+ property?: string;
10968
+ expected?: string;
10969
+ };
10970
+ };
10971
+ };
10972
+ };
10973
+ };
10974
+ };
10975
+ };
10976
+ } & {
10977
+ lock_activity: {
10978
+ participations: {
10979
+ get: {
10980
+ body: {};
10981
+ params: {};
10982
+ query: {
10983
+ activityId?: string | undefined;
10984
+ activityKeyword?: string | undefined;
10985
+ inviteCode?: string | undefined;
10986
+ inviterMatched?: boolean | undefined;
10987
+ keyword?: string | undefined;
10988
+ limit?: number | undefined;
10989
+ offset?: number | undefined;
10990
+ pageIndex?: number | undefined;
10991
+ pageSize?: number | undefined;
10992
+ status?: "rejected" | "reward_issued" | "submitted" | "under_review" | undefined;
10993
+ submittedAtFrom?: string | undefined;
10994
+ submittedAtTo?: string | undefined;
10995
+ userId?: string | undefined;
10996
+ };
10997
+ headers: {};
10998
+ response: {
10999
+ 200: {
11000
+ data: {
11001
+ activity: {
11002
+ id: string;
11003
+ title: string;
11004
+ startAt: Date;
11005
+ endAt: Date;
11006
+ status: "active" | "cancelled" | "draft" | "ended";
11007
+ };
11008
+ activityId: string;
11009
+ adminRemark: string | null;
11010
+ createdAt: Date;
11011
+ id: string;
11012
+ inviteCode: string;
11013
+ inviter?: {
11014
+ id: string;
11015
+ email: string;
11016
+ username: string | null;
11017
+ } | undefined;
11018
+ inviterMatched: boolean;
11019
+ inviterUserId: string | null;
11020
+ rejectReason: string | null;
11021
+ reviewedAt: Date | null;
11022
+ rewardIssuedAt: Date | null;
11023
+ status: "rejected" | "reward_issued" | "submitted" | "under_review";
11024
+ submittedAt: Date;
9299
11025
  updatedAt: Date;
9300
11026
  user: {
9301
11027
  id: string;
9302
11028
  email: string;
9303
11029
  username: string | null;
9304
- displayUsername: string | null;
9305
- phoneNumber: string | null;
9306
- banned: boolean | null;
11030
+ profile?: {
11031
+ uid: string;
11032
+ country: string | null;
11033
+ referralCode: string | null;
11034
+ } | undefined;
9307
11035
  };
9308
11036
  userId: string;
9309
- yieldLedgerEntry?: {
11037
+ }[];
11038
+ pagination: {
11039
+ pageSize: number;
11040
+ pageIndex: number;
11041
+ total: number;
11042
+ totalPages: number;
11043
+ hasNextPage: boolean;
11044
+ };
11045
+ };
11046
+ 401: "Unauthorized";
11047
+ 403: "Forbidden: Admins only";
11048
+ 422: {
11049
+ type: 'validation';
11050
+ on: string;
11051
+ summary?: string;
11052
+ message?: string;
11053
+ found?: unknown;
11054
+ property?: string;
11055
+ expected?: string;
11056
+ };
11057
+ };
11058
+ };
11059
+ };
11060
+ };
11061
+ } & {
11062
+ lock_activity: {
11063
+ "invitation-records": {
11064
+ get: {
11065
+ body: {};
11066
+ params: {};
11067
+ query: {
11068
+ activityId?: string | undefined;
11069
+ activityKeyword?: string | undefined;
11070
+ inviteCode?: string | undefined;
11071
+ inviterMatched?: boolean | undefined;
11072
+ keyword?: string | undefined;
11073
+ limit?: number | undefined;
11074
+ offset?: number | undefined;
11075
+ pageIndex?: number | undefined;
11076
+ pageSize?: number | undefined;
11077
+ status?: "rejected" | "reward_issued" | "submitted" | "under_review" | undefined;
11078
+ submittedAtFrom?: string | undefined;
11079
+ submittedAtTo?: string | undefined;
11080
+ userId?: string | undefined;
11081
+ };
11082
+ headers: {};
11083
+ response: {
11084
+ 200: {
11085
+ data: {
11086
+ activity: {
9310
11087
  id: string;
9311
- bizType: string;
9312
- amount: string;
9313
- referenceId: string;
9314
- referenceType: string;
9315
- createdAt: Date;
11088
+ title: string;
11089
+ startAt: Date;
11090
+ endAt: Date;
11091
+ status: "active" | "cancelled" | "draft" | "ended";
11092
+ };
11093
+ activityId: string;
11094
+ adminRemark: string | null;
11095
+ createdAt: Date;
11096
+ id: string;
11097
+ inviteCode: string;
11098
+ inviter?: {
11099
+ id: string;
11100
+ email: string;
11101
+ username: string | null;
9316
11102
  } | undefined;
9317
- yieldLedgerEntryId: string | null;
11103
+ inviterMatched: boolean;
11104
+ inviterUserId: string | null;
11105
+ rejectReason: string | null;
11106
+ reviewedAt: Date | null;
11107
+ rewardIssuedAt: Date | null;
11108
+ status: "rejected" | "reward_issued" | "submitted" | "under_review";
11109
+ submittedAt: Date;
11110
+ updatedAt: Date;
11111
+ user: {
11112
+ id: string;
11113
+ email: string;
11114
+ username: string | null;
11115
+ profile?: {
11116
+ uid: string;
11117
+ country: string | null;
11118
+ referralCode: string | null;
11119
+ } | undefined;
11120
+ };
11121
+ userId: string;
9318
11122
  }[];
9319
11123
  pagination: {
9320
11124
  pageSize: number;
@@ -9340,21 +11144,120 @@ export declare const adminRouter: Elysia<"/admin", {
9340
11144
  };
9341
11145
  };
9342
11146
  } & {
9343
- welfare_cycle: {
9344
- jobs: {
9345
- "run-daily-payout": {
9346
- post: {
9347
- body: {
9348
- subscriptionIds?: string[] | undefined;
9349
- payoutDate?: Date | undefined;
11147
+ lock_activity: {
11148
+ participations: {
11149
+ post: {
11150
+ body: {
11151
+ activityId: string;
11152
+ userId: string;
11153
+ inviteCode: string;
11154
+ };
11155
+ params: {};
11156
+ query: {};
11157
+ headers: {};
11158
+ response: {
11159
+ 200: {
11160
+ activity: {
11161
+ id: string;
11162
+ title: string;
11163
+ startAt: Date;
11164
+ endAt: Date;
11165
+ status: "active" | "cancelled" | "draft" | "ended";
11166
+ };
11167
+ activityId: string;
11168
+ adminRemark: string | null;
11169
+ createdAt: Date;
11170
+ id: string;
11171
+ inviteCode: string;
11172
+ inviter?: {
11173
+ id: string;
11174
+ email: string;
11175
+ username: string | null;
11176
+ } | undefined;
11177
+ inviterMatched: boolean;
11178
+ inviterUserId: string | null;
11179
+ rejectReason: string | null;
11180
+ reviewedAt: Date | null;
11181
+ rewardIssuedAt: Date | null;
11182
+ status: "rejected" | "reward_issued" | "submitted" | "under_review";
11183
+ submittedAt: Date;
11184
+ updatedAt: Date;
11185
+ user: {
11186
+ id: string;
11187
+ email: string;
11188
+ username: string | null;
11189
+ profile?: {
11190
+ uid: string;
11191
+ country: string | null;
11192
+ referralCode: string | null;
11193
+ } | undefined;
11194
+ };
11195
+ userId: string;
11196
+ };
11197
+ 401: "Unauthorized";
11198
+ 403: "Forbidden: Admins only";
11199
+ 422: {
11200
+ type: 'validation';
11201
+ on: string;
11202
+ summary?: string;
11203
+ message?: string;
11204
+ found?: unknown;
11205
+ property?: string;
11206
+ expected?: string;
11207
+ };
11208
+ };
11209
+ };
11210
+ };
11211
+ };
11212
+ } & {
11213
+ lock_activity: {
11214
+ participations: {
11215
+ ":id": {
11216
+ get: {
11217
+ body: {};
11218
+ params: {
11219
+ id: string;
9350
11220
  };
9351
- params: {};
9352
11221
  query: {};
9353
11222
  headers: {};
9354
11223
  response: {
9355
11224
  200: {
9356
- successCount: number;
9357
- processedIds: string[];
11225
+ activity: {
11226
+ id: string;
11227
+ title: string;
11228
+ startAt: Date;
11229
+ endAt: Date;
11230
+ status: "active" | "cancelled" | "draft" | "ended";
11231
+ };
11232
+ activityId: string;
11233
+ adminRemark: string | null;
11234
+ createdAt: Date;
11235
+ id: string;
11236
+ inviteCode: string;
11237
+ inviter?: {
11238
+ id: string;
11239
+ email: string;
11240
+ username: string | null;
11241
+ } | undefined;
11242
+ inviterMatched: boolean;
11243
+ inviterUserId: string | null;
11244
+ rejectReason: string | null;
11245
+ reviewedAt: Date | null;
11246
+ rewardIssuedAt: Date | null;
11247
+ status: "rejected" | "reward_issued" | "submitted" | "under_review";
11248
+ submittedAt: Date;
11249
+ updatedAt: Date;
11250
+ user: {
11251
+ id: string;
11252
+ email: string;
11253
+ username: string | null;
11254
+ profile?: {
11255
+ uid: string;
11256
+ country: string | null;
11257
+ referralCode: string | null;
11258
+ } | undefined;
11259
+ };
11260
+ userId: string;
9358
11261
  };
9359
11262
  401: "Unauthorized";
9360
11263
  403: "Forbidden: Admins only";
@@ -9373,22 +11276,58 @@ export declare const adminRouter: Elysia<"/admin", {
9373
11276
  };
9374
11277
  };
9375
11278
  } & {
9376
- welfare_cycle: {
9377
- jobs: {
9378
- "run-maturity-settlement": {
9379
- post: {
11279
+ lock_activity: {
11280
+ participations: {
11281
+ ":id": {
11282
+ patch: {
9380
11283
  body: {
9381
- subscriptionIds?: string[] | undefined;
9382
- settlementDate?: Date | undefined;
9383
- limit?: number | undefined;
11284
+ status?: "rejected" | "reward_issued" | "submitted" | "under_review" | undefined;
11285
+ rejectReason?: string | null | undefined;
11286
+ adminRemark?: string | null | undefined;
11287
+ };
11288
+ params: {
11289
+ id: string;
9384
11290
  };
9385
- params: {};
9386
11291
  query: {};
9387
11292
  headers: {};
9388
11293
  response: {
9389
11294
  200: {
9390
- successCount: number;
9391
- processedIds: string[];
11295
+ activity: {
11296
+ id: string;
11297
+ title: string;
11298
+ startAt: Date;
11299
+ endAt: Date;
11300
+ status: "active" | "cancelled" | "draft" | "ended";
11301
+ };
11302
+ activityId: string;
11303
+ adminRemark: string | null;
11304
+ createdAt: Date;
11305
+ id: string;
11306
+ inviteCode: string;
11307
+ inviter?: {
11308
+ id: string;
11309
+ email: string;
11310
+ username: string | null;
11311
+ } | undefined;
11312
+ inviterMatched: boolean;
11313
+ inviterUserId: string | null;
11314
+ rejectReason: string | null;
11315
+ reviewedAt: Date | null;
11316
+ rewardIssuedAt: Date | null;
11317
+ status: "rejected" | "reward_issued" | "submitted" | "under_review";
11318
+ submittedAt: Date;
11319
+ updatedAt: Date;
11320
+ user: {
11321
+ id: string;
11322
+ email: string;
11323
+ username: string | null;
11324
+ profile?: {
11325
+ uid: string;
11326
+ country: string | null;
11327
+ referralCode: string | null;
11328
+ } | undefined;
11329
+ };
11330
+ userId: string;
9392
11331
  };
9393
11332
  401: "Unauthorized";
9394
11333
  403: "Forbidden: Admins only";
@@ -9406,6 +11345,77 @@ export declare const adminRouter: Elysia<"/admin", {
9406
11345
  };
9407
11346
  };
9408
11347
  };
11348
+ } & {
11349
+ lock_activity: {
11350
+ participations: {
11351
+ ":id": {
11352
+ "issue-reward": {
11353
+ post: {
11354
+ body: {};
11355
+ params: {
11356
+ id: string;
11357
+ };
11358
+ query: {};
11359
+ headers: {};
11360
+ response: {
11361
+ 200: {
11362
+ activity: {
11363
+ id: string;
11364
+ title: string;
11365
+ startAt: Date;
11366
+ endAt: Date;
11367
+ status: "active" | "cancelled" | "draft" | "ended";
11368
+ };
11369
+ activityId: string;
11370
+ adminRemark: string | null;
11371
+ createdAt: Date;
11372
+ id: string;
11373
+ inviteCode: string;
11374
+ inviter?: {
11375
+ id: string;
11376
+ email: string;
11377
+ username: string | null;
11378
+ } | undefined;
11379
+ inviterMatched: boolean;
11380
+ inviterUserId: string | null;
11381
+ isIdempotent: boolean;
11382
+ ledgerEntryId: string;
11383
+ rejectReason: string | null;
11384
+ reviewedAt: Date | null;
11385
+ rewardAmount: string;
11386
+ rewardIssuedAt: Date | null;
11387
+ status: "rejected" | "reward_issued" | "submitted" | "under_review";
11388
+ submittedAt: Date;
11389
+ updatedAt: Date;
11390
+ user: {
11391
+ id: string;
11392
+ email: string;
11393
+ username: string | null;
11394
+ profile?: {
11395
+ uid: string;
11396
+ country: string | null;
11397
+ referralCode: string | null;
11398
+ } | undefined;
11399
+ };
11400
+ userId: string;
11401
+ };
11402
+ 401: "Unauthorized";
11403
+ 403: "Forbidden: Admins only";
11404
+ 422: {
11405
+ type: 'validation';
11406
+ on: string;
11407
+ summary?: string;
11408
+ message?: string;
11409
+ found?: unknown;
11410
+ property?: string;
11411
+ expected?: string;
11412
+ };
11413
+ };
11414
+ };
11415
+ };
11416
+ };
11417
+ };
11418
+ };
9409
11419
  };
9410
11420
  } & {
9411
11421
  admin: {