@r2wa-org/eden 0.0.103 → 0.0.104

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.
@@ -2703,6 +2703,7 @@ export declare const auth: import("better-auth").Auth<{
2703
2703
  readonly 'referral:relation'?: ("bind" | "list" | "read")[] | undefined;
2704
2704
  readonly 'shipping_address:item'?: ("create" | "delete" | "list" | "read" | "update")[] | undefined;
2705
2705
  readonly 'team:member'?: ("list" | "read" | "stats")[] | undefined;
2706
+ readonly 'team:milestoneReward'?: "read"[] | undefined;
2706
2707
  readonly 'team:milestoneRewardPlan'?: ("create" | "delete" | "read" | "update")[] | undefined;
2707
2708
  readonly 'team:milestoneRewardRule'?: ("create" | "delete" | "list" | "read" | "update")[] | undefined;
2708
2709
  readonly 'trade_market:market'?: ("create" | "delete" | "list" | "read" | "update")[] | undefined;
@@ -2792,7 +2793,7 @@ export declare const auth: import("better-auth").Auth<{
2792
2793
  };
2793
2794
  options: NoInfer<{
2794
2795
  ac: {
2795
- newRole<K extends "admin:user-profile" | "asset-type:type" | "asset:item" | "asset_convert_product:order" | "asset_convert_product:product" | "asset_price:admin" | "asset_price:price" | "checkIn:admin" | "checkIn:checkIn" | "checkIn:rewardPlan" | "checkIn:rewardRule" | "content_video:video" | "deposit:order" | "deposit:review" | "kyc:admin" | "kyc:method" | "ledger-account:account" | "ledger-account:type" | "ledger:entry" | "ledger_account:import" | "market_data:admin" | "market_data:kline" | "market_data:ticker" | "market_pricing:strategy" | "news:category" | "news:news" | "notification:admin" | "notification:notification" | "receipt_method:item" | "referral:depth-config" | "referral:relation" | "session" | "shipping_address:item" | "team:member" | "team:milestoneRewardPlan" | "team:milestoneRewardRule" | "trade_market:market" | "trade_market:order" | "transfer:order" | "user" | "user:profile" | "user:referral" | "wallet:container" | "wallet:type" | "welfare_cycle:payout" | "welfare_cycle:plan" | "welfare_cycle:subscription" | "withdraw:manage" | "withdraw:review">(statements: import("better-auth/plugins").Subset<K, {
2796
+ newRole<K extends "admin:user-profile" | "asset-type:type" | "asset:item" | "asset_convert_product:order" | "asset_convert_product:product" | "asset_price:admin" | "asset_price:price" | "checkIn:admin" | "checkIn:checkIn" | "checkIn:rewardPlan" | "checkIn:rewardRule" | "content_video:video" | "deposit:order" | "deposit:review" | "kyc:admin" | "kyc:method" | "ledger-account:account" | "ledger-account:type" | "ledger:entry" | "ledger_account:import" | "market_data:admin" | "market_data:kline" | "market_data:ticker" | "market_pricing:strategy" | "news:category" | "news:news" | "notification:admin" | "notification:notification" | "receipt_method:item" | "referral:depth-config" | "referral:relation" | "session" | "shipping_address:item" | "team:member" | "team:milestoneReward" | "team:milestoneRewardPlan" | "team:milestoneRewardRule" | "trade_market:market" | "trade_market:order" | "transfer:order" | "user" | "user:profile" | "user:referral" | "wallet:container" | "wallet:type" | "welfare_cycle:payout" | "welfare_cycle:plan" | "welfare_cycle:subscription" | "withdraw:manage" | "withdraw:review">(statements: import("better-auth/plugins").Subset<K, {
2796
2797
  readonly user: readonly ["create", "list", "set-role", "ban", "impersonate", "impersonate-admins", "delete", "set-password", "get", "update"];
2797
2798
  readonly session: readonly ["list", "revoke", "delete"];
2798
2799
  readonly 'asset_convert_product:product': readonly ['create', 'read', 'update', 'list'];
@@ -2825,6 +2826,7 @@ export declare const auth: import("better-auth").Auth<{
2825
2826
  readonly 'referral:relation': readonly ['bind', 'read', 'list'];
2826
2827
  readonly 'shipping_address:item': readonly ['create', 'read', 'update', 'delete', 'list'];
2827
2828
  readonly 'team:member': readonly ['read', 'list', 'stats'];
2829
+ readonly 'team:milestoneReward': readonly ['read'];
2828
2830
  readonly 'team:milestoneRewardPlan': readonly ['create', 'read', 'update', 'delete'];
2829
2831
  readonly 'team:milestoneRewardRule': readonly ['create', 'read', 'update', 'delete', 'list'];
2830
2832
  readonly 'trade_market:market': readonly ['create', 'read', 'update', 'delete', 'list'];
@@ -2877,6 +2879,7 @@ export declare const auth: import("better-auth").Auth<{
2877
2879
  readonly 'referral:relation': readonly ['bind', 'read', 'list'];
2878
2880
  readonly 'shipping_address:item': readonly ['create', 'read', 'update', 'delete', 'list'];
2879
2881
  readonly 'team:member': readonly ['read', 'list', 'stats'];
2882
+ readonly 'team:milestoneReward': readonly ['read'];
2880
2883
  readonly 'team:milestoneRewardPlan': readonly ['create', 'read', 'update', 'delete'];
2881
2884
  readonly 'team:milestoneRewardRule': readonly ['create', 'read', 'update', 'delete', 'list'];
2882
2885
  readonly 'trade_market:market': readonly ['create', 'read', 'update', 'delete', 'list'];
@@ -2929,6 +2932,7 @@ export declare const auth: import("better-auth").Auth<{
2929
2932
  readonly 'referral:relation': readonly ['bind', 'read', 'list'];
2930
2933
  readonly 'shipping_address:item': readonly ['create', 'read', 'update', 'delete', 'list'];
2931
2934
  readonly 'team:member': readonly ['read', 'list', 'stats'];
2935
+ readonly 'team:milestoneReward': readonly ['read'];
2932
2936
  readonly 'team:milestoneRewardPlan': readonly ['create', 'read', 'update', 'delete'];
2933
2937
  readonly 'team:milestoneRewardRule': readonly ['create', 'read', 'update', 'delete', 'list'];
2934
2938
  readonly 'trade_market:market': readonly ['create', 'read', 'update', 'delete', 'list'];
@@ -2980,6 +2984,7 @@ export declare const auth: import("better-auth").Auth<{
2980
2984
  readonly 'referral:relation': readonly ['bind', 'read', 'list'];
2981
2985
  readonly 'shipping_address:item': readonly ['create', 'read', 'update', 'delete', 'list'];
2982
2986
  readonly 'team:member': readonly ['read', 'list', 'stats'];
2987
+ readonly 'team:milestoneReward': readonly ['read'];
2983
2988
  readonly 'team:milestoneRewardPlan': readonly ['create', 'read', 'update', 'delete'];
2984
2989
  readonly 'team:milestoneRewardRule': readonly ['create', 'read', 'update', 'delete', 'list'];
2985
2990
  readonly 'trade_market:market': readonly ['create', 'read', 'update', 'delete', 'list'];
@@ -3032,6 +3037,7 @@ export declare const auth: import("better-auth").Auth<{
3032
3037
  readonly 'referral:relation': readonly ['bind', 'read', 'list'];
3033
3038
  readonly 'shipping_address:item': readonly ['create', 'read', 'update', 'delete', 'list'];
3034
3039
  readonly 'team:member': readonly ['read', 'list', 'stats'];
3040
+ readonly 'team:milestoneReward': readonly ['read'];
3035
3041
  readonly 'team:milestoneRewardPlan': readonly ['create', 'read', 'update', 'delete'];
3036
3042
  readonly 'team:milestoneRewardRule': readonly ['create', 'read', 'update', 'delete', 'list'];
3037
3043
  readonly 'trade_market:market': readonly ['create', 'read', 'update', 'delete', 'list'];
@@ -1,5 +1,5 @@
1
1
  export declare const ac: {
2
- newRole<K extends "admin:user-profile" | "asset-type:type" | "asset:item" | "asset_convert_product:order" | "asset_convert_product:product" | "asset_price:admin" | "asset_price:price" | "checkIn:admin" | "checkIn:checkIn" | "checkIn:rewardPlan" | "checkIn:rewardRule" | "content_video:video" | "deposit:order" | "deposit:review" | "kyc:admin" | "kyc:method" | "ledger-account:account" | "ledger-account:type" | "ledger:entry" | "ledger_account:import" | "market_data:admin" | "market_data:kline" | "market_data:ticker" | "market_pricing:strategy" | "news:category" | "news:news" | "notification:admin" | "notification:notification" | "receipt_method:item" | "referral:depth-config" | "referral:relation" | "session" | "shipping_address:item" | "team:member" | "team:milestoneRewardPlan" | "team:milestoneRewardRule" | "trade_market:market" | "trade_market:order" | "transfer:order" | "user" | "user:profile" | "user:referral" | "wallet:container" | "wallet:type" | "welfare_cycle:payout" | "welfare_cycle:plan" | "welfare_cycle:subscription" | "withdraw:manage" | "withdraw:review">(statements: import("better-auth/plugins").Subset<K, {
2
+ newRole<K extends "admin:user-profile" | "asset-type:type" | "asset:item" | "asset_convert_product:order" | "asset_convert_product:product" | "asset_price:admin" | "asset_price:price" | "checkIn:admin" | "checkIn:checkIn" | "checkIn:rewardPlan" | "checkIn:rewardRule" | "content_video:video" | "deposit:order" | "deposit:review" | "kyc:admin" | "kyc:method" | "ledger-account:account" | "ledger-account:type" | "ledger:entry" | "ledger_account:import" | "market_data:admin" | "market_data:kline" | "market_data:ticker" | "market_pricing:strategy" | "news:category" | "news:news" | "notification:admin" | "notification:notification" | "receipt_method:item" | "referral:depth-config" | "referral:relation" | "session" | "shipping_address:item" | "team:member" | "team:milestoneReward" | "team:milestoneRewardPlan" | "team:milestoneRewardRule" | "trade_market:market" | "trade_market:order" | "transfer:order" | "user" | "user:profile" | "user:referral" | "wallet:container" | "wallet:type" | "welfare_cycle:payout" | "welfare_cycle:plan" | "welfare_cycle:subscription" | "withdraw:manage" | "withdraw:review">(statements: import("better-auth/plugins").Subset<K, {
3
3
  readonly user: readonly ["create", "list", "set-role", "ban", "impersonate", "impersonate-admins", "delete", "set-password", "get", "update"];
4
4
  readonly session: readonly ["list", "revoke", "delete"];
5
5
  readonly 'asset_convert_product:product': readonly ['create', 'read', 'update', 'list'];
@@ -32,6 +32,7 @@ export declare const ac: {
32
32
  readonly 'referral:relation': readonly ['bind', 'read', 'list'];
33
33
  readonly 'shipping_address:item': readonly ['create', 'read', 'update', 'delete', 'list'];
34
34
  readonly 'team:member': readonly ['read', 'list', 'stats'];
35
+ readonly 'team:milestoneReward': readonly ['read'];
35
36
  readonly 'team:milestoneRewardPlan': readonly ['create', 'read', 'update', 'delete'];
36
37
  readonly 'team:milestoneRewardRule': readonly ['create', 'read', 'update', 'delete', 'list'];
37
38
  readonly 'trade_market:market': readonly ['create', 'read', 'update', 'delete', 'list'];
@@ -84,6 +85,7 @@ export declare const ac: {
84
85
  readonly 'referral:relation': readonly ['bind', 'read', 'list'];
85
86
  readonly 'shipping_address:item': readonly ['create', 'read', 'update', 'delete', 'list'];
86
87
  readonly 'team:member': readonly ['read', 'list', 'stats'];
88
+ readonly 'team:milestoneReward': readonly ['read'];
87
89
  readonly 'team:milestoneRewardPlan': readonly ['create', 'read', 'update', 'delete'];
88
90
  readonly 'team:milestoneRewardRule': readonly ['create', 'read', 'update', 'delete', 'list'];
89
91
  readonly 'trade_market:market': readonly ['create', 'read', 'update', 'delete', 'list'];
@@ -136,6 +138,7 @@ export declare const ac: {
136
138
  readonly 'referral:relation': readonly ['bind', 'read', 'list'];
137
139
  readonly 'shipping_address:item': readonly ['create', 'read', 'update', 'delete', 'list'];
138
140
  readonly 'team:member': readonly ['read', 'list', 'stats'];
141
+ readonly 'team:milestoneReward': readonly ['read'];
139
142
  readonly 'team:milestoneRewardPlan': readonly ['create', 'read', 'update', 'delete'];
140
143
  readonly 'team:milestoneRewardRule': readonly ['create', 'read', 'update', 'delete', 'list'];
141
144
  readonly 'trade_market:market': readonly ['create', 'read', 'update', 'delete', 'list'];
@@ -187,6 +190,7 @@ export declare const ac: {
187
190
  readonly 'referral:relation': readonly ['bind', 'read', 'list'];
188
191
  readonly 'shipping_address:item': readonly ['create', 'read', 'update', 'delete', 'list'];
189
192
  readonly 'team:member': readonly ['read', 'list', 'stats'];
193
+ readonly 'team:milestoneReward': readonly ['read'];
190
194
  readonly 'team:milestoneRewardPlan': readonly ['create', 'read', 'update', 'delete'];
191
195
  readonly 'team:milestoneRewardRule': readonly ['create', 'read', 'update', 'delete', 'list'];
192
196
  readonly 'trade_market:market': readonly ['create', 'read', 'update', 'delete', 'list'];
@@ -239,6 +243,7 @@ export declare const ac: {
239
243
  readonly 'referral:relation': readonly ['bind', 'read', 'list'];
240
244
  readonly 'shipping_address:item': readonly ['create', 'read', 'update', 'delete', 'list'];
241
245
  readonly 'team:member': readonly ['read', 'list', 'stats'];
246
+ readonly 'team:milestoneReward': readonly ['read'];
242
247
  readonly 'team:milestoneRewardPlan': readonly ['create', 'read', 'update', 'delete'];
243
248
  readonly 'team:milestoneRewardRule': readonly ['create', 'read', 'update', 'delete', 'list'];
244
249
  readonly 'trade_market:market': readonly ['create', 'read', 'update', 'delete', 'list'];
@@ -33,6 +33,7 @@ export declare const authAdmin: {
33
33
  readonly 'referral:relation': readonly ['bind', 'read', 'list'];
34
34
  readonly 'shipping_address:item': readonly ['create', 'read', 'update', 'delete', 'list'];
35
35
  readonly 'team:member': readonly ['read', 'list', 'stats'];
36
+ readonly 'team:milestoneReward': readonly ['read'];
36
37
  readonly 'team:milestoneRewardPlan': readonly ['create', 'read', 'update', 'delete'];
37
38
  readonly 'team:milestoneRewardRule': readonly ['create', 'read', 'update', 'delete', 'list'];
38
39
  readonly 'trade_market:market': readonly ['create', 'read', 'update', 'delete', 'list'];
@@ -85,6 +86,7 @@ export declare const authAdmin: {
85
86
  readonly 'referral:relation': readonly ['bind', 'read', 'list'];
86
87
  readonly 'shipping_address:item': readonly ['create', 'read', 'update', 'delete', 'list'];
87
88
  readonly 'team:member': readonly ['read', 'list', 'stats'];
89
+ readonly 'team:milestoneReward': readonly ['read'];
88
90
  readonly 'team:milestoneRewardPlan': readonly ['create', 'read', 'update', 'delete'];
89
91
  readonly 'team:milestoneRewardRule': readonly ['create', 'read', 'update', 'delete', 'list'];
90
92
  readonly 'trade_market:market': readonly ['create', 'read', 'update', 'delete', 'list'];
@@ -136,6 +138,7 @@ export declare const authAdmin: {
136
138
  readonly 'referral:relation': readonly ['bind', 'read', 'list'];
137
139
  readonly 'shipping_address:item': readonly ['create', 'read', 'update', 'delete', 'list'];
138
140
  readonly 'team:member': readonly ['read', 'list', 'stats'];
141
+ readonly 'team:milestoneReward': readonly ['read'];
139
142
  readonly 'team:milestoneRewardPlan': readonly ['create', 'read', 'update', 'delete'];
140
143
  readonly 'team:milestoneRewardRule': readonly ['create', 'read', 'update', 'delete', 'list'];
141
144
  readonly 'trade_market:market': readonly ['create', 'read', 'update', 'delete', 'list'];
@@ -190,6 +193,7 @@ export declare const authUser: {
190
193
  readonly 'referral:relation': readonly ['bind', 'read', 'list'];
191
194
  readonly 'shipping_address:item': readonly ['create', 'read', 'update', 'delete', 'list'];
192
195
  readonly 'team:member': readonly ['read', 'list', 'stats'];
196
+ readonly 'team:milestoneReward': readonly ['read'];
193
197
  readonly 'team:milestoneRewardPlan': readonly ['create', 'read', 'update', 'delete'];
194
198
  readonly 'team:milestoneRewardRule': readonly ['create', 'read', 'update', 'delete', 'list'];
195
199
  readonly 'trade_market:market': readonly ['create', 'read', 'update', 'delete', 'list'];
@@ -242,6 +246,7 @@ export declare const authUser: {
242
246
  readonly 'referral:relation': readonly ['bind', 'read', 'list'];
243
247
  readonly 'shipping_address:item': readonly ['create', 'read', 'update', 'delete', 'list'];
244
248
  readonly 'team:member': readonly ['read', 'list', 'stats'];
249
+ readonly 'team:milestoneReward': readonly ['read'];
245
250
  readonly 'team:milestoneRewardPlan': readonly ['create', 'read', 'update', 'delete'];
246
251
  readonly 'team:milestoneRewardRule': readonly ['create', 'read', 'update', 'delete', 'list'];
247
252
  readonly 'trade_market:market': readonly ['create', 'read', 'update', 'delete', 'list'];
@@ -293,6 +298,7 @@ export declare const authUser: {
293
298
  readonly 'referral:relation': readonly ['bind', 'read', 'list'];
294
299
  readonly 'shipping_address:item': readonly ['create', 'read', 'update', 'delete', 'list'];
295
300
  readonly 'team:member': readonly ['read', 'list', 'stats'];
301
+ readonly 'team:milestoneReward': readonly ['read'];
296
302
  readonly 'team:milestoneRewardPlan': readonly ['create', 'read', 'update', 'delete'];
297
303
  readonly 'team:milestoneRewardRule': readonly ['create', 'read', 'update', 'delete', 'list'];
298
304
  readonly 'trade_market:market': readonly ['create', 'read', 'update', 'delete', 'list'];
@@ -352,6 +358,7 @@ export declare const superAdmin: {
352
358
  readonly 'referral:relation': readonly ['bind', 'read', 'list'];
353
359
  readonly 'shipping_address:item': readonly ['create', 'read', 'update', 'delete', 'list'];
354
360
  readonly 'team:member': readonly ['read', 'list', 'stats'];
361
+ readonly 'team:milestoneReward': readonly ['read'];
355
362
  readonly 'team:milestoneRewardPlan': readonly ['create', 'read', 'update', 'delete'];
356
363
  readonly 'team:milestoneRewardRule': readonly ['create', 'read', 'update', 'delete', 'list'];
357
364
  readonly 'trade_market:market': readonly ['create', 'read', 'update', 'delete', 'list'];
@@ -404,6 +411,7 @@ export declare const superAdmin: {
404
411
  readonly 'referral:relation': readonly ['bind', 'read', 'list'];
405
412
  readonly 'shipping_address:item': readonly ['create', 'read', 'update', 'delete', 'list'];
406
413
  readonly 'team:member': readonly ['read', 'list', 'stats'];
414
+ readonly 'team:milestoneReward': readonly ['read'];
407
415
  readonly 'team:milestoneRewardPlan': readonly ['create', 'read', 'update', 'delete'];
408
416
  readonly 'team:milestoneRewardRule': readonly ['create', 'read', 'update', 'delete', 'list'];
409
417
  readonly 'trade_market:market': readonly ['create', 'read', 'update', 'delete', 'list'];
@@ -455,6 +463,7 @@ export declare const superAdmin: {
455
463
  readonly 'referral:relation': readonly ['bind', 'read', 'list'];
456
464
  readonly 'shipping_address:item': readonly ['create', 'read', 'update', 'delete', 'list'];
457
465
  readonly 'team:member': readonly ['read', 'list', 'stats'];
466
+ readonly 'team:milestoneReward': readonly ['read'];
458
467
  readonly 'team:milestoneRewardPlan': readonly ['create', 'read', 'update', 'delete'];
459
468
  readonly 'team:milestoneRewardRule': readonly ['create', 'read', 'update', 'delete', 'list'];
460
469
  readonly 'trade_market:market': readonly ['create', 'read', 'update', 'delete', 'list'];
@@ -514,6 +523,7 @@ export declare const user: {
514
523
  readonly 'referral:relation': readonly ['bind', 'read', 'list'];
515
524
  readonly 'shipping_address:item': readonly ['create', 'read', 'update', 'delete', 'list'];
516
525
  readonly 'team:member': readonly ['read', 'list', 'stats'];
526
+ readonly 'team:milestoneReward': readonly ['read'];
517
527
  readonly 'team:milestoneRewardPlan': readonly ['create', 'read', 'update', 'delete'];
518
528
  readonly 'team:milestoneRewardRule': readonly ['create', 'read', 'update', 'delete', 'list'];
519
529
  readonly 'trade_market:market': readonly ['create', 'read', 'update', 'delete', 'list'];
@@ -566,6 +576,7 @@ export declare const user: {
566
576
  readonly 'referral:relation': readonly ['bind', 'read', 'list'];
567
577
  readonly 'shipping_address:item': readonly ['create', 'read', 'update', 'delete', 'list'];
568
578
  readonly 'team:member': readonly ['read', 'list', 'stats'];
579
+ readonly 'team:milestoneReward': readonly ['read'];
569
580
  readonly 'team:milestoneRewardPlan': readonly ['create', 'read', 'update', 'delete'];
570
581
  readonly 'team:milestoneRewardRule': readonly ['create', 'read', 'update', 'delete', 'list'];
571
582
  readonly 'trade_market:market': readonly ['create', 'read', 'update', 'delete', 'list'];
@@ -617,6 +628,7 @@ export declare const user: {
617
628
  readonly 'referral:relation': readonly ['bind', 'read', 'list'];
618
629
  readonly 'shipping_address:item': readonly ['create', 'read', 'update', 'delete', 'list'];
619
630
  readonly 'team:member': readonly ['read', 'list', 'stats'];
631
+ readonly 'team:milestoneReward': readonly ['read'];
620
632
  readonly 'team:milestoneRewardPlan': readonly ['create', 'read', 'update', 'delete'];
621
633
  readonly 'team:milestoneRewardRule': readonly ['create', 'read', 'update', 'delete', 'list'];
622
634
  readonly 'trade_market:market': readonly ['create', 'read', 'update', 'delete', 'list'];
@@ -676,6 +688,7 @@ export declare const admin: {
676
688
  readonly 'referral:relation': readonly ['bind', 'read', 'list'];
677
689
  readonly 'shipping_address:item': readonly ['create', 'read', 'update', 'delete', 'list'];
678
690
  readonly 'team:member': readonly ['read', 'list', 'stats'];
691
+ readonly 'team:milestoneReward': readonly ['read'];
679
692
  readonly 'team:milestoneRewardPlan': readonly ['create', 'read', 'update', 'delete'];
680
693
  readonly 'team:milestoneRewardRule': readonly ['create', 'read', 'update', 'delete', 'list'];
681
694
  readonly 'trade_market:market': readonly ['create', 'read', 'update', 'delete', 'list'];
@@ -728,6 +741,7 @@ export declare const admin: {
728
741
  readonly 'referral:relation': readonly ['bind', 'read', 'list'];
729
742
  readonly 'shipping_address:item': readonly ['create', 'read', 'update', 'delete', 'list'];
730
743
  readonly 'team:member': readonly ['read', 'list', 'stats'];
744
+ readonly 'team:milestoneReward': readonly ['read'];
731
745
  readonly 'team:milestoneRewardPlan': readonly ['create', 'read', 'update', 'delete'];
732
746
  readonly 'team:milestoneRewardRule': readonly ['create', 'read', 'update', 'delete', 'list'];
733
747
  readonly 'trade_market:market': readonly ['create', 'read', 'update', 'delete', 'list'];
@@ -779,6 +793,7 @@ export declare const admin: {
779
793
  readonly 'referral:relation': readonly ['bind', 'read', 'list'];
780
794
  readonly 'shipping_address:item': readonly ['create', 'read', 'update', 'delete', 'list'];
781
795
  readonly 'team:member': readonly ['read', 'list', 'stats'];
796
+ readonly 'team:milestoneReward': readonly ['read'];
782
797
  readonly 'team:milestoneRewardPlan': readonly ['create', 'read', 'update', 'delete'];
783
798
  readonly 'team:milestoneRewardRule': readonly ['create', 'read', 'update', 'delete', 'list'];
784
799
  readonly 'trade_market:market': readonly ['create', 'read', 'update', 'delete', 'list'];
@@ -35,7 +35,19 @@ export declare const checkInRouter: Elysia<"/checkIns", {
35
35
  headers: import("elysia").HTTPHeaders;
36
36
  status?: number | keyof import("elysia").StatusMap;
37
37
  redirect?: string;
38
- cookie?: Record<string, import("elysia/cookies").ElysiaCookie>;
38
+ cookie?: Record<string, {
39
+ domain?: string | undefined;
40
+ expires?: Date | undefined;
41
+ httpOnly?: boolean | undefined;
42
+ maxAge?: number | undefined;
43
+ path?: string | undefined;
44
+ priority?: 'low' | 'medium' | 'high' | undefined;
45
+ partitioned?: boolean | undefined;
46
+ sameSite?: true | false | 'lax' | 'strict' | 'none' | undefined;
47
+ secure?: boolean | undefined;
48
+ secrets?: string | null | (string | null)[];
49
+ value?: unknown;
50
+ }>;
39
51
  };
40
52
  path: string;
41
53
  route: string;
@@ -35,19 +35,7 @@ export declare const depositRouter: Elysia<"/deposit", {
35
35
  headers: import("elysia").HTTPHeaders;
36
36
  status?: number | keyof import("elysia").StatusMap;
37
37
  redirect?: string;
38
- cookie?: Record<string, {
39
- domain?: string | undefined;
40
- expires?: Date | undefined;
41
- httpOnly?: boolean | undefined;
42
- maxAge?: number | undefined;
43
- path?: string | undefined;
44
- priority?: 'low' | 'medium' | 'high' | undefined;
45
- partitioned?: boolean | undefined;
46
- sameSite?: true | false | 'lax' | 'strict' | 'none' | undefined;
47
- secure?: boolean | undefined;
48
- secrets?: string | null | (string | null)[];
49
- value?: unknown;
50
- }>;
38
+ cookie?: Record<string, import("elysia/cookies").ElysiaCookie>;
51
39
  };
52
40
  path: string;
53
41
  route: string;
@@ -35,7 +35,19 @@ export declare const fileStorageRouter: Elysia<"/file_storage", {
35
35
  headers: import("elysia").HTTPHeaders;
36
36
  status?: number | keyof import("elysia").StatusMap;
37
37
  redirect?: string;
38
- cookie?: Record<string, import("elysia/cookies").ElysiaCookie>;
38
+ cookie?: Record<string, {
39
+ domain?: string | undefined;
40
+ expires?: Date | undefined;
41
+ httpOnly?: boolean | undefined;
42
+ maxAge?: number | undefined;
43
+ path?: string | undefined;
44
+ priority?: 'low' | 'medium' | 'high' | undefined;
45
+ partitioned?: boolean | undefined;
46
+ sameSite?: true | false | 'lax' | 'strict' | 'none' | undefined;
47
+ secure?: boolean | undefined;
48
+ secrets?: string | null | (string | null)[];
49
+ value?: unknown;
50
+ }>;
39
51
  };
40
52
  path: string;
41
53
  route: string;
package/dist/index.d.ts CHANGED
@@ -17383,6 +17383,60 @@ declare const app: Elysia<"/api", {
17383
17383
  } & {
17384
17384
  api: {
17385
17385
  team: {};
17386
+ } & {
17387
+ team: {
17388
+ "milestone-reward-plans": {};
17389
+ } & {
17390
+ "milestone-reward-plans": {
17391
+ get: {
17392
+ body: {};
17393
+ params: {};
17394
+ query: {};
17395
+ headers: {};
17396
+ response: {
17397
+ 200: {
17398
+ id: string;
17399
+ name: string;
17400
+ maxDepth: number;
17401
+ platformAsset: {
17402
+ id: string;
17403
+ code: string;
17404
+ name: string;
17405
+ iconUrl: string;
17406
+ symbol: string | null;
17407
+ precision: number;
17408
+ };
17409
+ valueAddedAsset: {
17410
+ id: string;
17411
+ code: string;
17412
+ name: string;
17413
+ iconUrl: string;
17414
+ symbol: string | null;
17415
+ precision: number;
17416
+ };
17417
+ rules: {
17418
+ id: string;
17419
+ thresholdMemberCount: number;
17420
+ platformRewardAmount: string;
17421
+ valueAddedRewardAmount: string;
17422
+ rewardDescription: string | null;
17423
+ sortOrder: number;
17424
+ }[];
17425
+ } | null;
17426
+ 401: "Unauthorized";
17427
+ 422: {
17428
+ type: 'validation';
17429
+ on: string;
17430
+ summary?: string;
17431
+ message?: string;
17432
+ found?: unknown;
17433
+ property?: string;
17434
+ expected?: string;
17435
+ };
17436
+ };
17437
+ };
17438
+ };
17439
+ };
17386
17440
  } & {
17387
17441
  team: {
17388
17442
  dashboard: {
@@ -2,6 +2,10 @@ export type { TeamAdminMemberListQueryType, TeamAdminSummaryResponseType, } from
2
2
  export * from './milestone-reward/admin/reward.dto.schemas';
3
3
  export { AdminTeamMilestoneRewardConfigService } from './milestone-reward/admin/reward.service';
4
4
  export { teamMilestoneRewardPlanAdminRouter } from './milestone-reward/admin/reward.router';
5
+ export * from './milestone-reward/user/reward.dto.schemas';
6
+ export { UserTeamMilestoneRewardService } from './milestone-reward/user/reward.service';
7
+ export { teamMilestoneRewardUserRouter } from './milestone-reward/user/reward.router';
8
+ export { InternalTeamMilestoneRewardService } from './milestone-reward/internal/reward.service';
5
9
  export * from './milestone-reward/errors';
6
10
  export * from './milestone-reward/constants';
7
11
  export * from './milestone-reward/reward.db.schemas';
@@ -0,0 +1,38 @@
1
+ export declare abstract class InternalTeamMilestoneRewardService {
2
+ static sortRules<T extends {
3
+ sortOrder: number;
4
+ thresholdMemberCount: number;
5
+ }>(rules: T[]): T[];
6
+ /** 查询已启用的团队里程碑奖励方案(含已启用规则),未配置或未启用时返回 null */
7
+ static getActivePlan(): Promise<{
8
+ id: string;
9
+ name: string;
10
+ maxDepth: number;
11
+ platformAsset: {
12
+ code: string;
13
+ iconUrl: string;
14
+ id: string;
15
+ isActive: boolean;
16
+ name: string;
17
+ precision: number;
18
+ symbol: string | null;
19
+ };
20
+ valueAddedAsset: {
21
+ code: string;
22
+ iconUrl: string;
23
+ id: string;
24
+ isActive: boolean;
25
+ name: string;
26
+ precision: number;
27
+ symbol: string | null;
28
+ };
29
+ rules: {
30
+ id: string;
31
+ thresholdMemberCount: number;
32
+ platformRewardAmount: string;
33
+ valueAddedRewardAmount: string;
34
+ rewardDescription: string | null;
35
+ sortOrder: number;
36
+ }[];
37
+ } | null>;
38
+ }
@@ -0,0 +1,66 @@
1
+ export declare const teamMilestoneRewardRuleAppResponseSchema: import("@sinclair/typebox").TObject<{
2
+ id: import("@sinclair/typebox").TString;
3
+ thresholdMemberCount: import("@sinclair/typebox").TInteger;
4
+ platformRewardAmount: import("@sinclair/typebox").TString;
5
+ valueAddedRewardAmount: import("@sinclair/typebox").TString;
6
+ rewardDescription: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
7
+ sortOrder: import("@sinclair/typebox").TInteger;
8
+ }>;
9
+ export declare const teamMilestoneRewardPlanAppResponseSchema: import("@sinclair/typebox").TObject<{
10
+ id: import("@sinclair/typebox").TString;
11
+ name: import("@sinclair/typebox").TString;
12
+ maxDepth: import("@sinclair/typebox").TInteger;
13
+ platformAsset: import("@sinclair/typebox").TObject<{
14
+ id: import("@sinclair/typebox").TString;
15
+ code: import("@sinclair/typebox").TString;
16
+ name: import("@sinclair/typebox").TString;
17
+ iconUrl: import("@sinclair/typebox").TString;
18
+ symbol: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
19
+ precision: import("@sinclair/typebox").TInteger;
20
+ }>;
21
+ valueAddedAsset: import("@sinclair/typebox").TObject<{
22
+ id: import("@sinclair/typebox").TString;
23
+ code: import("@sinclair/typebox").TString;
24
+ name: import("@sinclair/typebox").TString;
25
+ iconUrl: import("@sinclair/typebox").TString;
26
+ symbol: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
27
+ precision: import("@sinclair/typebox").TInteger;
28
+ }>;
29
+ rules: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
30
+ id: import("@sinclair/typebox").TString;
31
+ thresholdMemberCount: import("@sinclair/typebox").TInteger;
32
+ platformRewardAmount: import("@sinclair/typebox").TString;
33
+ valueAddedRewardAmount: import("@sinclair/typebox").TString;
34
+ rewardDescription: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
35
+ sortOrder: import("@sinclair/typebox").TInteger;
36
+ }>>;
37
+ }>;
38
+ export declare const teamMilestoneRewardPlanAppNullableResponseSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
39
+ id: import("@sinclair/typebox").TString;
40
+ name: import("@sinclair/typebox").TString;
41
+ maxDepth: import("@sinclair/typebox").TInteger;
42
+ platformAsset: import("@sinclair/typebox").TObject<{
43
+ id: import("@sinclair/typebox").TString;
44
+ code: import("@sinclair/typebox").TString;
45
+ name: import("@sinclair/typebox").TString;
46
+ iconUrl: import("@sinclair/typebox").TString;
47
+ symbol: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
48
+ precision: import("@sinclair/typebox").TInteger;
49
+ }>;
50
+ valueAddedAsset: import("@sinclair/typebox").TObject<{
51
+ id: import("@sinclair/typebox").TString;
52
+ code: import("@sinclair/typebox").TString;
53
+ name: import("@sinclair/typebox").TString;
54
+ iconUrl: import("@sinclair/typebox").TString;
55
+ symbol: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
56
+ precision: import("@sinclair/typebox").TInteger;
57
+ }>;
58
+ rules: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
59
+ id: import("@sinclair/typebox").TString;
60
+ thresholdMemberCount: import("@sinclair/typebox").TInteger;
61
+ platformRewardAmount: import("@sinclair/typebox").TString;
62
+ valueAddedRewardAmount: import("@sinclair/typebox").TString;
63
+ rewardDescription: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
64
+ sortOrder: import("@sinclair/typebox").TInteger;
65
+ }>>;
66
+ }>, import("@sinclair/typebox").TNull]>;
@@ -0,0 +1,476 @@
1
+ import Elysia from 'elysia';
2
+ export declare const teamMilestoneRewardUserRouter: Elysia<"/milestone-reward-plans", {
3
+ decorator: {};
4
+ store: {};
5
+ derive: {};
6
+ resolve: {};
7
+ }, {
8
+ typebox: {};
9
+ error: {};
10
+ }, {
11
+ schema: {};
12
+ standaloneSchema: {};
13
+ macro: {};
14
+ macroFn: {};
15
+ parser: {};
16
+ response: {};
17
+ } & {
18
+ schema: {};
19
+ standaloneSchema: {};
20
+ macro: Partial<{
21
+ readonly auth: boolean;
22
+ readonly admin: boolean;
23
+ }>;
24
+ macroFn: {
25
+ readonly auth: {
26
+ readonly resolve: ({ status, request: { headers } }: {
27
+ body: unknown;
28
+ query: Record<string, string>;
29
+ params: {};
30
+ headers: Record<string, string | undefined>;
31
+ cookie: Record<string, import("elysia").Cookie<unknown>>;
32
+ server: import("elysia/universal/server").Server | null;
33
+ redirect: import("elysia").redirect;
34
+ set: {
35
+ headers: import("elysia").HTTPHeaders;
36
+ status?: number | keyof import("elysia").StatusMap;
37
+ redirect?: string;
38
+ cookie?: Record<string, import("elysia/cookies").ElysiaCookie>;
39
+ };
40
+ path: string;
41
+ route: string;
42
+ request: Request;
43
+ store: {};
44
+ status: <const Code extends number | keyof import("elysia").StatusMap, const T = Code extends 100 | 101 | 102 | 103 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 300 | 301 | 302 | 303 | 304 | 307 | 308 | 400 | 401 | 402 | 403 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 418 | 420 | 421 | 422 | 423 | 424 | 425 | 426 | 428 | 429 | 431 | 451 | 500 | 501 | 502 | 503 | 504 | 505 | 506 | 507 | 508 | 510 | 511 ? {
45
+ readonly 100: "Continue";
46
+ readonly 101: "Switching Protocols";
47
+ readonly 102: "Processing";
48
+ readonly 103: "Early Hints";
49
+ readonly 200: "OK";
50
+ readonly 201: "Created";
51
+ readonly 202: "Accepted";
52
+ readonly 203: "Non-Authoritative Information";
53
+ readonly 204: "No Content";
54
+ readonly 205: "Reset Content";
55
+ readonly 206: "Partial Content";
56
+ readonly 207: "Multi-Status";
57
+ readonly 208: "Already Reported";
58
+ readonly 300: "Multiple Choices";
59
+ readonly 301: "Moved Permanently";
60
+ readonly 302: "Found";
61
+ readonly 303: "See Other";
62
+ readonly 304: "Not Modified";
63
+ readonly 307: "Temporary Redirect";
64
+ readonly 308: "Permanent Redirect";
65
+ readonly 400: "Bad Request";
66
+ readonly 401: "Unauthorized";
67
+ readonly 402: "Payment Required";
68
+ readonly 403: "Forbidden";
69
+ readonly 404: "Not Found";
70
+ readonly 405: "Method Not Allowed";
71
+ readonly 406: "Not Acceptable";
72
+ readonly 407: "Proxy Authentication Required";
73
+ readonly 408: "Request Timeout";
74
+ readonly 409: "Conflict";
75
+ readonly 410: "Gone";
76
+ readonly 411: "Length Required";
77
+ readonly 412: "Precondition Failed";
78
+ readonly 413: "Payload Too Large";
79
+ readonly 414: "URI Too Long";
80
+ readonly 415: "Unsupported Media Type";
81
+ readonly 416: "Range Not Satisfiable";
82
+ readonly 417: "Expectation Failed";
83
+ readonly 418: "I'm a teapot";
84
+ readonly 420: "Enhance Your Calm";
85
+ readonly 421: "Misdirected Request";
86
+ readonly 422: "Unprocessable Content";
87
+ readonly 423: "Locked";
88
+ readonly 424: "Failed Dependency";
89
+ readonly 425: "Too Early";
90
+ readonly 426: "Upgrade Required";
91
+ readonly 428: "Precondition Required";
92
+ readonly 429: "Too Many Requests";
93
+ readonly 431: "Request Header Fields Too Large";
94
+ readonly 451: "Unavailable For Legal Reasons";
95
+ readonly 500: "Internal Server Error";
96
+ readonly 501: "Not Implemented";
97
+ readonly 502: "Bad Gateway";
98
+ readonly 503: "Service Unavailable";
99
+ readonly 504: "Gateway Timeout";
100
+ readonly 505: "HTTP Version Not Supported";
101
+ readonly 506: "Variant Also Negotiates";
102
+ readonly 507: "Insufficient Storage";
103
+ readonly 508: "Loop Detected";
104
+ readonly 510: "Not Extended";
105
+ readonly 511: "Network Authentication Required";
106
+ }[Code] : Code>(code: Code, response?: T) => import("elysia").ElysiaCustomStatusResponse<Code, T, Code extends "Continue" | "Switching Protocols" | "Processing" | "Early Hints" | "OK" | "Created" | "Accepted" | "Non-Authoritative Information" | "No Content" | "Reset Content" | "Partial Content" | "Multi-Status" | "Already Reported" | "Multiple Choices" | "Moved Permanently" | "Found" | "See Other" | "Not Modified" | "Temporary Redirect" | "Permanent Redirect" | "Bad Request" | "Unauthorized" | "Payment Required" | "Forbidden" | "Not Found" | "Method Not Allowed" | "Not Acceptable" | "Proxy Authentication Required" | "Request Timeout" | "Conflict" | "Gone" | "Length Required" | "Precondition Failed" | "Payload Too Large" | "URI Too Long" | "Unsupported Media Type" | "Range Not Satisfiable" | "Expectation Failed" | "I'm a teapot" | "Enhance Your Calm" | "Misdirected Request" | "Unprocessable Content" | "Locked" | "Failed Dependency" | "Too Early" | "Upgrade Required" | "Precondition Required" | "Too Many Requests" | "Request Header Fields Too Large" | "Unavailable For Legal Reasons" | "Internal Server Error" | "Not Implemented" | "Bad Gateway" | "Service Unavailable" | "Gateway Timeout" | "HTTP Version Not Supported" | "Variant Also Negotiates" | "Insufficient Storage" | "Loop Detected" | "Not Extended" | "Network Authentication Required" ? {
107
+ readonly Continue: 100;
108
+ readonly 'Switching Protocols': 101;
109
+ readonly Processing: 102;
110
+ readonly 'Early Hints': 103;
111
+ readonly OK: 200;
112
+ readonly Created: 201;
113
+ readonly Accepted: 202;
114
+ readonly 'Non-Authoritative Information': 203;
115
+ readonly 'No Content': 204;
116
+ readonly 'Reset Content': 205;
117
+ readonly 'Partial Content': 206;
118
+ readonly 'Multi-Status': 207;
119
+ readonly 'Already Reported': 208;
120
+ readonly 'Multiple Choices': 300;
121
+ readonly 'Moved Permanently': 301;
122
+ readonly Found: 302;
123
+ readonly 'See Other': 303;
124
+ readonly 'Not Modified': 304;
125
+ readonly 'Temporary Redirect': 307;
126
+ readonly 'Permanent Redirect': 308;
127
+ readonly 'Bad Request': 400;
128
+ readonly Unauthorized: 401;
129
+ readonly 'Payment Required': 402;
130
+ readonly Forbidden: 403;
131
+ readonly 'Not Found': 404;
132
+ readonly 'Method Not Allowed': 405;
133
+ readonly 'Not Acceptable': 406;
134
+ readonly 'Proxy Authentication Required': 407;
135
+ readonly 'Request Timeout': 408;
136
+ readonly Conflict: 409;
137
+ readonly Gone: 410;
138
+ readonly 'Length Required': 411;
139
+ readonly 'Precondition Failed': 412;
140
+ readonly 'Payload Too Large': 413;
141
+ readonly 'URI Too Long': 414;
142
+ readonly 'Unsupported Media Type': 415;
143
+ readonly 'Range Not Satisfiable': 416;
144
+ readonly 'Expectation Failed': 417;
145
+ readonly "I'm a teapot": 418;
146
+ readonly 'Enhance Your Calm': 420;
147
+ readonly 'Misdirected Request': 421;
148
+ readonly 'Unprocessable Content': 422;
149
+ readonly Locked: 423;
150
+ readonly 'Failed Dependency': 424;
151
+ readonly 'Too Early': 425;
152
+ readonly 'Upgrade Required': 426;
153
+ readonly 'Precondition Required': 428;
154
+ readonly 'Too Many Requests': 429;
155
+ readonly 'Request Header Fields Too Large': 431;
156
+ readonly 'Unavailable For Legal Reasons': 451;
157
+ readonly 'Internal Server Error': 500;
158
+ readonly 'Not Implemented': 501;
159
+ readonly 'Bad Gateway': 502;
160
+ readonly 'Service Unavailable': 503;
161
+ readonly 'Gateway Timeout': 504;
162
+ readonly 'HTTP Version Not Supported': 505;
163
+ readonly 'Variant Also Negotiates': 506;
164
+ readonly 'Insufficient Storage': 507;
165
+ readonly 'Loop Detected': 508;
166
+ readonly 'Not Extended': 510;
167
+ readonly 'Network Authentication Required': 511;
168
+ }[Code] : Code>;
169
+ }) => Promise<import("elysia").ElysiaCustomStatusResponse<401, any, 401> | {
170
+ user: {
171
+ id: string;
172
+ createdAt: Date;
173
+ updatedAt: Date;
174
+ email: string;
175
+ emailVerified: boolean;
176
+ name: string;
177
+ image?: string | null | undefined;
178
+ banExpires?: Date | null | undefined;
179
+ banReason?: string | null | undefined;
180
+ banned: boolean | null | undefined;
181
+ displayUsername?: string | null | undefined;
182
+ phoneNumber?: string | null | undefined;
183
+ phoneNumberVerified?: boolean | null | undefined;
184
+ role?: string | null | undefined;
185
+ twoFactorEnabled: boolean | null | undefined;
186
+ username?: string | null | undefined;
187
+ };
188
+ session: {
189
+ id: string;
190
+ createdAt: Date;
191
+ updatedAt: Date;
192
+ userId: string;
193
+ expiresAt: Date;
194
+ token: string;
195
+ ipAddress?: string | null | undefined;
196
+ userAgent?: string | null | undefined;
197
+ impersonatedBy?: string | null | undefined;
198
+ };
199
+ }>;
200
+ };
201
+ readonly admin: {
202
+ readonly resolve: ({ status, request: { headers } }: {
203
+ body: unknown;
204
+ query: Record<string, string>;
205
+ params: {};
206
+ headers: Record<string, string | undefined>;
207
+ cookie: Record<string, import("elysia").Cookie<unknown>>;
208
+ server: import("elysia/universal/server").Server | null;
209
+ redirect: import("elysia").redirect;
210
+ set: {
211
+ headers: import("elysia").HTTPHeaders;
212
+ status?: number | keyof import("elysia").StatusMap;
213
+ redirect?: string;
214
+ cookie?: Record<string, import("elysia/cookies").ElysiaCookie>;
215
+ };
216
+ path: string;
217
+ route: string;
218
+ request: Request;
219
+ store: {};
220
+ status: <const Code extends number | keyof import("elysia").StatusMap, const T = Code extends 100 | 101 | 102 | 103 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 300 | 301 | 302 | 303 | 304 | 307 | 308 | 400 | 401 | 402 | 403 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 418 | 420 | 421 | 422 | 423 | 424 | 425 | 426 | 428 | 429 | 431 | 451 | 500 | 501 | 502 | 503 | 504 | 505 | 506 | 507 | 508 | 510 | 511 ? {
221
+ readonly 100: "Continue";
222
+ readonly 101: "Switching Protocols";
223
+ readonly 102: "Processing";
224
+ readonly 103: "Early Hints";
225
+ readonly 200: "OK";
226
+ readonly 201: "Created";
227
+ readonly 202: "Accepted";
228
+ readonly 203: "Non-Authoritative Information";
229
+ readonly 204: "No Content";
230
+ readonly 205: "Reset Content";
231
+ readonly 206: "Partial Content";
232
+ readonly 207: "Multi-Status";
233
+ readonly 208: "Already Reported";
234
+ readonly 300: "Multiple Choices";
235
+ readonly 301: "Moved Permanently";
236
+ readonly 302: "Found";
237
+ readonly 303: "See Other";
238
+ readonly 304: "Not Modified";
239
+ readonly 307: "Temporary Redirect";
240
+ readonly 308: "Permanent Redirect";
241
+ readonly 400: "Bad Request";
242
+ readonly 401: "Unauthorized";
243
+ readonly 402: "Payment Required";
244
+ readonly 403: "Forbidden";
245
+ readonly 404: "Not Found";
246
+ readonly 405: "Method Not Allowed";
247
+ readonly 406: "Not Acceptable";
248
+ readonly 407: "Proxy Authentication Required";
249
+ readonly 408: "Request Timeout";
250
+ readonly 409: "Conflict";
251
+ readonly 410: "Gone";
252
+ readonly 411: "Length Required";
253
+ readonly 412: "Precondition Failed";
254
+ readonly 413: "Payload Too Large";
255
+ readonly 414: "URI Too Long";
256
+ readonly 415: "Unsupported Media Type";
257
+ readonly 416: "Range Not Satisfiable";
258
+ readonly 417: "Expectation Failed";
259
+ readonly 418: "I'm a teapot";
260
+ readonly 420: "Enhance Your Calm";
261
+ readonly 421: "Misdirected Request";
262
+ readonly 422: "Unprocessable Content";
263
+ readonly 423: "Locked";
264
+ readonly 424: "Failed Dependency";
265
+ readonly 425: "Too Early";
266
+ readonly 426: "Upgrade Required";
267
+ readonly 428: "Precondition Required";
268
+ readonly 429: "Too Many Requests";
269
+ readonly 431: "Request Header Fields Too Large";
270
+ readonly 451: "Unavailable For Legal Reasons";
271
+ readonly 500: "Internal Server Error";
272
+ readonly 501: "Not Implemented";
273
+ readonly 502: "Bad Gateway";
274
+ readonly 503: "Service Unavailable";
275
+ readonly 504: "Gateway Timeout";
276
+ readonly 505: "HTTP Version Not Supported";
277
+ readonly 506: "Variant Also Negotiates";
278
+ readonly 507: "Insufficient Storage";
279
+ readonly 508: "Loop Detected";
280
+ readonly 510: "Not Extended";
281
+ readonly 511: "Network Authentication Required";
282
+ }[Code] : Code>(code: Code, response?: T) => import("elysia").ElysiaCustomStatusResponse<Code, T, Code extends "Continue" | "Switching Protocols" | "Processing" | "Early Hints" | "OK" | "Created" | "Accepted" | "Non-Authoritative Information" | "No Content" | "Reset Content" | "Partial Content" | "Multi-Status" | "Already Reported" | "Multiple Choices" | "Moved Permanently" | "Found" | "See Other" | "Not Modified" | "Temporary Redirect" | "Permanent Redirect" | "Bad Request" | "Unauthorized" | "Payment Required" | "Forbidden" | "Not Found" | "Method Not Allowed" | "Not Acceptable" | "Proxy Authentication Required" | "Request Timeout" | "Conflict" | "Gone" | "Length Required" | "Precondition Failed" | "Payload Too Large" | "URI Too Long" | "Unsupported Media Type" | "Range Not Satisfiable" | "Expectation Failed" | "I'm a teapot" | "Enhance Your Calm" | "Misdirected Request" | "Unprocessable Content" | "Locked" | "Failed Dependency" | "Too Early" | "Upgrade Required" | "Precondition Required" | "Too Many Requests" | "Request Header Fields Too Large" | "Unavailable For Legal Reasons" | "Internal Server Error" | "Not Implemented" | "Bad Gateway" | "Service Unavailable" | "Gateway Timeout" | "HTTP Version Not Supported" | "Variant Also Negotiates" | "Insufficient Storage" | "Loop Detected" | "Not Extended" | "Network Authentication Required" ? {
283
+ readonly Continue: 100;
284
+ readonly 'Switching Protocols': 101;
285
+ readonly Processing: 102;
286
+ readonly 'Early Hints': 103;
287
+ readonly OK: 200;
288
+ readonly Created: 201;
289
+ readonly Accepted: 202;
290
+ readonly 'Non-Authoritative Information': 203;
291
+ readonly 'No Content': 204;
292
+ readonly 'Reset Content': 205;
293
+ readonly 'Partial Content': 206;
294
+ readonly 'Multi-Status': 207;
295
+ readonly 'Already Reported': 208;
296
+ readonly 'Multiple Choices': 300;
297
+ readonly 'Moved Permanently': 301;
298
+ readonly Found: 302;
299
+ readonly 'See Other': 303;
300
+ readonly 'Not Modified': 304;
301
+ readonly 'Temporary Redirect': 307;
302
+ readonly 'Permanent Redirect': 308;
303
+ readonly 'Bad Request': 400;
304
+ readonly Unauthorized: 401;
305
+ readonly 'Payment Required': 402;
306
+ readonly Forbidden: 403;
307
+ readonly 'Not Found': 404;
308
+ readonly 'Method Not Allowed': 405;
309
+ readonly 'Not Acceptable': 406;
310
+ readonly 'Proxy Authentication Required': 407;
311
+ readonly 'Request Timeout': 408;
312
+ readonly Conflict: 409;
313
+ readonly Gone: 410;
314
+ readonly 'Length Required': 411;
315
+ readonly 'Precondition Failed': 412;
316
+ readonly 'Payload Too Large': 413;
317
+ readonly 'URI Too Long': 414;
318
+ readonly 'Unsupported Media Type': 415;
319
+ readonly 'Range Not Satisfiable': 416;
320
+ readonly 'Expectation Failed': 417;
321
+ readonly "I'm a teapot": 418;
322
+ readonly 'Enhance Your Calm': 420;
323
+ readonly 'Misdirected Request': 421;
324
+ readonly 'Unprocessable Content': 422;
325
+ readonly Locked: 423;
326
+ readonly 'Failed Dependency': 424;
327
+ readonly 'Too Early': 425;
328
+ readonly 'Upgrade Required': 426;
329
+ readonly 'Precondition Required': 428;
330
+ readonly 'Too Many Requests': 429;
331
+ readonly 'Request Header Fields Too Large': 431;
332
+ readonly 'Unavailable For Legal Reasons': 451;
333
+ readonly 'Internal Server Error': 500;
334
+ readonly 'Not Implemented': 501;
335
+ readonly 'Bad Gateway': 502;
336
+ readonly 'Service Unavailable': 503;
337
+ readonly 'Gateway Timeout': 504;
338
+ readonly 'HTTP Version Not Supported': 505;
339
+ readonly 'Variant Also Negotiates': 506;
340
+ readonly 'Insufficient Storage': 507;
341
+ readonly 'Loop Detected': 508;
342
+ readonly 'Not Extended': 510;
343
+ readonly 'Network Authentication Required': 511;
344
+ }[Code] : Code>;
345
+ }) => Promise<import("elysia").ElysiaCustomStatusResponse<401, any, 401> | import("elysia").ElysiaCustomStatusResponse<403, "Forbidden: Admins only", 403> | {
346
+ user: {
347
+ id: string;
348
+ createdAt: Date;
349
+ updatedAt: Date;
350
+ email: string;
351
+ emailVerified: boolean;
352
+ name: string;
353
+ image?: string | null | undefined;
354
+ banExpires?: Date | null | undefined;
355
+ banReason?: string | null | undefined;
356
+ banned: boolean | null | undefined;
357
+ displayUsername?: string | null | undefined;
358
+ phoneNumber?: string | null | undefined;
359
+ phoneNumberVerified?: boolean | null | undefined;
360
+ role?: string | null | undefined;
361
+ twoFactorEnabled: boolean | null | undefined;
362
+ username?: string | null | undefined;
363
+ };
364
+ session: {
365
+ id: string;
366
+ createdAt: Date;
367
+ updatedAt: Date;
368
+ userId: string;
369
+ expiresAt: Date;
370
+ token: string;
371
+ ipAddress?: string | null | undefined;
372
+ userAgent?: string | null | undefined;
373
+ impersonatedBy?: string | null | undefined;
374
+ };
375
+ }>;
376
+ };
377
+ };
378
+ parser: {};
379
+ response: {};
380
+ }, {
381
+ "milestone-reward-plans": {};
382
+ } & {
383
+ "milestone-reward-plans": {
384
+ get: {
385
+ body: {};
386
+ params: {};
387
+ query: {};
388
+ headers: {};
389
+ response: {
390
+ 200: {
391
+ id: string;
392
+ name: string;
393
+ maxDepth: number;
394
+ platformAsset: {
395
+ id: string;
396
+ code: string;
397
+ name: string;
398
+ iconUrl: string;
399
+ symbol: string | null;
400
+ precision: number;
401
+ };
402
+ valueAddedAsset: {
403
+ id: string;
404
+ code: string;
405
+ name: string;
406
+ iconUrl: string;
407
+ symbol: string | null;
408
+ precision: number;
409
+ };
410
+ rules: {
411
+ id: string;
412
+ thresholdMemberCount: number;
413
+ platformRewardAmount: string;
414
+ valueAddedRewardAmount: string;
415
+ rewardDescription: string | null;
416
+ sortOrder: number;
417
+ }[];
418
+ } | null;
419
+ 401: "Unauthorized";
420
+ 422: {
421
+ type: 'validation';
422
+ on: string;
423
+ summary?: string;
424
+ message?: string;
425
+ found?: unknown;
426
+ property?: string;
427
+ expected?: string;
428
+ };
429
+ };
430
+ };
431
+ };
432
+ }, {
433
+ derive: {};
434
+ resolve: {};
435
+ schema: {};
436
+ standaloneSchema: {};
437
+ response: {};
438
+ }, {
439
+ derive: {};
440
+ resolve: {
441
+ user: {
442
+ id: string;
443
+ createdAt: Date;
444
+ updatedAt: Date;
445
+ email: string;
446
+ emailVerified: boolean;
447
+ name: string;
448
+ image?: string | null | undefined;
449
+ banExpires?: Date | null | undefined;
450
+ banReason?: string | null | undefined;
451
+ banned: boolean | null | undefined;
452
+ displayUsername?: string | null | undefined;
453
+ phoneNumber?: string | null | undefined;
454
+ phoneNumberVerified?: boolean | null | undefined;
455
+ role?: string | null | undefined;
456
+ twoFactorEnabled: boolean | null | undefined;
457
+ username?: string | null | undefined;
458
+ };
459
+ session: {
460
+ id: string;
461
+ createdAt: Date;
462
+ updatedAt: Date;
463
+ userId: string;
464
+ expiresAt: Date;
465
+ token: string;
466
+ ipAddress?: string | null | undefined;
467
+ userAgent?: string | null | undefined;
468
+ impersonatedBy?: string | null | undefined;
469
+ };
470
+ };
471
+ schema: {};
472
+ standaloneSchema: {};
473
+ response: {
474
+ 401: "Unauthorized";
475
+ };
476
+ }>;
@@ -0,0 +1,33 @@
1
+ export declare abstract class UserTeamMilestoneRewardService {
2
+ static getActivePlan(): Promise<{
3
+ id: string;
4
+ name: string;
5
+ maxDepth: number;
6
+ platformAsset: {
7
+ code: string;
8
+ iconUrl: string;
9
+ id: string;
10
+ isActive: boolean;
11
+ name: string;
12
+ precision: number;
13
+ symbol: string | null;
14
+ };
15
+ valueAddedAsset: {
16
+ code: string;
17
+ iconUrl: string;
18
+ id: string;
19
+ isActive: boolean;
20
+ name: string;
21
+ precision: number;
22
+ symbol: string | null;
23
+ };
24
+ rules: {
25
+ id: string;
26
+ thresholdMemberCount: number;
27
+ platformRewardAmount: string;
28
+ valueAddedRewardAmount: string;
29
+ rewardDescription: string | null;
30
+ sortOrder: number;
31
+ }[];
32
+ } | null>;
33
+ }
@@ -3,6 +3,7 @@
3
3
  */
4
4
  export declare const teamPermissions: {
5
5
  readonly 'team:member': readonly ['read', 'list', 'stats'];
6
+ readonly 'team:milestoneReward': readonly ['read'];
6
7
  readonly 'team:milestoneRewardPlan': readonly ['create', 'read', 'update', 'delete'];
7
8
  readonly 'team:milestoneRewardRule': readonly ['create', 'read', 'update', 'delete', 'list'];
8
9
  };
@@ -379,6 +379,60 @@ export declare const teamRouter: Elysia<"/team", {
379
379
  response: {};
380
380
  }, {
381
381
  team: {};
382
+ } & {
383
+ team: {
384
+ "milestone-reward-plans": {};
385
+ } & {
386
+ "milestone-reward-plans": {
387
+ get: {
388
+ body: {};
389
+ params: {};
390
+ query: {};
391
+ headers: {};
392
+ response: {
393
+ 200: {
394
+ id: string;
395
+ name: string;
396
+ maxDepth: number;
397
+ platformAsset: {
398
+ id: string;
399
+ code: string;
400
+ name: string;
401
+ iconUrl: string;
402
+ symbol: string | null;
403
+ precision: number;
404
+ };
405
+ valueAddedAsset: {
406
+ id: string;
407
+ code: string;
408
+ name: string;
409
+ iconUrl: string;
410
+ symbol: string | null;
411
+ precision: number;
412
+ };
413
+ rules: {
414
+ id: string;
415
+ thresholdMemberCount: number;
416
+ platformRewardAmount: string;
417
+ valueAddedRewardAmount: string;
418
+ rewardDescription: string | null;
419
+ sortOrder: number;
420
+ }[];
421
+ } | null;
422
+ 401: "Unauthorized";
423
+ 422: {
424
+ type: 'validation';
425
+ on: string;
426
+ summary?: string;
427
+ message?: string;
428
+ found?: unknown;
429
+ property?: string;
430
+ expected?: string;
431
+ };
432
+ };
433
+ };
434
+ };
435
+ };
382
436
  } & {
383
437
  team: {
384
438
  dashboard: {
@@ -731,4 +785,10 @@ export declare const teamRouter: Elysia<"/team", {
731
785
  response: {
732
786
  401: "Unauthorized";
733
787
  };
788
+ } & {
789
+ derive: {};
790
+ resolve: {};
791
+ schema: {};
792
+ standaloneSchema: {};
793
+ response: {};
734
794
  }>;
@@ -35,19 +35,7 @@ export declare const userSecurityRouter: Elysia<"/user", {
35
35
  headers: import("elysia").HTTPHeaders;
36
36
  status?: number | keyof import("elysia").StatusMap;
37
37
  redirect?: string;
38
- cookie?: Record<string, {
39
- domain?: string | undefined;
40
- expires?: Date | undefined;
41
- httpOnly?: boolean | undefined;
42
- maxAge?: number | undefined;
43
- path?: string | undefined;
44
- priority?: 'low' | 'medium' | 'high' | undefined;
45
- partitioned?: boolean | undefined;
46
- sameSite?: true | false | 'lax' | 'strict' | 'none' | undefined;
47
- secure?: boolean | undefined;
48
- secrets?: string | null | (string | null)[];
49
- value?: unknown;
50
- }>;
38
+ cookie?: Record<string, import("elysia/cookies").ElysiaCookie>;
51
39
  };
52
40
  path: string;
53
41
  route: string;
@@ -35,19 +35,7 @@ export declare const walletTypeRouter: Elysia<"/wallet_types", {
35
35
  headers: import("elysia").HTTPHeaders;
36
36
  status?: number | keyof import("elysia").StatusMap;
37
37
  redirect?: string;
38
- cookie?: Record<string, {
39
- domain?: string | undefined;
40
- expires?: Date | undefined;
41
- httpOnly?: boolean | undefined;
42
- maxAge?: number | undefined;
43
- path?: string | undefined;
44
- priority?: 'low' | 'medium' | 'high' | undefined;
45
- partitioned?: boolean | undefined;
46
- sameSite?: true | false | 'lax' | 'strict' | 'none' | undefined;
47
- secure?: boolean | undefined;
48
- secrets?: string | null | (string | null)[];
49
- value?: unknown;
50
- }>;
38
+ cookie?: Record<string, import("elysia/cookies").ElysiaCookie>;
51
39
  };
52
40
  path: string;
53
41
  route: string;
@@ -35,7 +35,19 @@ export declare const welfareCycleAdminRouter: Elysia<"/welfare_cycle", {
35
35
  headers: import("elysia").HTTPHeaders;
36
36
  status?: number | keyof import("elysia").StatusMap;
37
37
  redirect?: string;
38
- cookie?: Record<string, import("elysia/cookies").ElysiaCookie>;
38
+ cookie?: Record<string, {
39
+ domain?: string | undefined;
40
+ expires?: Date | undefined;
41
+ httpOnly?: boolean | undefined;
42
+ maxAge?: number | undefined;
43
+ path?: string | undefined;
44
+ priority?: 'low' | 'medium' | 'high' | undefined;
45
+ partitioned?: boolean | undefined;
46
+ sameSite?: true | false | 'lax' | 'strict' | 'none' | undefined;
47
+ secure?: boolean | undefined;
48
+ secrets?: string | null | (string | null)[];
49
+ value?: unknown;
50
+ }>;
39
51
  };
40
52
  path: string;
41
53
  route: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@r2wa-org/eden",
3
- "version": "0.0.103",
3
+ "version": "0.0.104",
4
4
  "description": "Elysia API type definitions for Eden Treaty",
5
5
  "files": [
6
6
  "dist"