@mercurjs/core 2.3.2-canary.0 → 2.3.2-canary.2

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 (138) hide show
  1. package/.medusa/server/src/api/admin/campaigns/middlewares.js +9 -1
  2. package/.medusa/server/src/api/admin/collections/middlewares.js +33 -1
  3. package/.medusa/server/src/api/admin/collections/validators.d.ts +10 -10
  4. package/.medusa/server/src/api/admin/commission-rates/middlewares.js +39 -1
  5. package/.medusa/server/src/api/admin/commission-rates/validators.d.ts +14 -14
  6. package/.medusa/server/src/api/admin/customer-groups/middlewares.js +9 -1
  7. package/.medusa/server/src/api/admin/inventory-items/middlewares.js +9 -1
  8. package/.medusa/server/src/api/admin/members/middlewares.js +9 -1
  9. package/.medusa/server/src/api/admin/members/validators.d.ts +2 -2
  10. package/.medusa/server/src/api/admin/middlewares.js +6 -1
  11. package/.medusa/server/src/api/admin/offers/middlewares.js +23 -3
  12. package/.medusa/server/src/api/admin/offers/validators.d.ts +4 -4
  13. package/.medusa/server/src/api/admin/order-groups/middlewares.js +15 -1
  14. package/.medusa/server/src/api/admin/order-groups/validators.d.ts +12 -12
  15. package/.medusa/server/src/api/admin/orders/middlewares.js +9 -1
  16. package/.medusa/server/src/api/admin/payouts/middlewares.js +15 -1
  17. package/.medusa/server/src/api/admin/payouts/validators.d.ts +6 -6
  18. package/.medusa/server/src/api/admin/price-lists/middlewares.js +9 -1
  19. package/.medusa/server/src/api/admin/product-attributes/middlewares.js +53 -3
  20. package/.medusa/server/src/api/admin/product-attributes/validators.d.ts +12 -12
  21. package/.medusa/server/src/api/admin/product-categories/middlewares.js +45 -1
  22. package/.medusa/server/src/api/admin/product-categories/validators.d.ts +12 -12
  23. package/.medusa/server/src/api/admin/product-changes/middlewares.js +15 -1
  24. package/.medusa/server/src/api/admin/products/middlewares.js +101 -3
  25. package/.medusa/server/src/api/admin/products/validators.d.ts +36 -36
  26. package/.medusa/server/src/api/admin/promotions/middlewares.js +21 -1
  27. package/.medusa/server/src/api/admin/reservations/middlewares.js +11 -3
  28. package/.medusa/server/src/api/admin/reservations/validators.d.ts +6 -6
  29. package/.medusa/server/src/api/admin/reviews/middlewares.js +33 -1
  30. package/.medusa/server/src/api/admin/reviews/validators.d.ts +6 -6
  31. package/.medusa/server/src/api/admin/sellers/middlewares.js +117 -1
  32. package/.medusa/server/src/api/admin/sellers/validators.d.ts +20 -20
  33. package/.medusa/server/src/api/admin/shipping-options/middlewares.js +9 -1
  34. package/.medusa/server/src/api/admin/shipping-profiles/middlewares.js +9 -1
  35. package/.medusa/server/src/api/admin/stock-locations/middlewares.js +9 -1
  36. package/.medusa/server/src/api/store/offers/validators.d.ts +14 -14
  37. package/.medusa/server/src/api/store/order-groups/validators.d.ts +4 -4
  38. package/.medusa/server/src/api/store/product-attributes/validators.d.ts +8 -8
  39. package/.medusa/server/src/api/store/product-categories/validators.d.ts +8 -8
  40. package/.medusa/server/src/api/store/products/validators.d.ts +10 -10
  41. package/.medusa/server/src/api/store/sellers/validators.d.ts +4 -4
  42. package/.medusa/server/src/api/utils/ensure-seller-middleware.js +13 -8
  43. package/.medusa/server/src/api/utils/index.d.ts +2 -0
  44. package/.medusa/server/src/api/utils/index.js +3 -1
  45. package/.medusa/server/src/api/utils/policy-resources.d.ts +59 -0
  46. package/.medusa/server/src/api/utils/policy-resources.js +64 -0
  47. package/.medusa/server/src/api/utils/resolve-admin-roles-middleware.d.ts +19 -0
  48. package/.medusa/server/src/api/utils/resolve-admin-roles-middleware.js +55 -0
  49. package/.medusa/server/src/api/vendor/campaigns/middlewares.js +39 -1
  50. package/.medusa/server/src/api/vendor/campaigns/validators.d.ts +14 -14
  51. package/.medusa/server/src/api/vendor/claims/middlewares.js +129 -1
  52. package/.medusa/server/src/api/vendor/claims/validators.d.ts +8 -8
  53. package/.medusa/server/src/api/vendor/collections/middlewares.js +21 -1
  54. package/.medusa/server/src/api/vendor/collections/validators.d.ts +10 -10
  55. package/.medusa/server/src/api/vendor/currencies/middlewares.js +15 -1
  56. package/.medusa/server/src/api/vendor/currencies/validators.d.ts +4 -4
  57. package/.medusa/server/src/api/vendor/customer-groups/middlewares.js +39 -1
  58. package/.medusa/server/src/api/vendor/customer-groups/validators.d.ts +8 -8
  59. package/.medusa/server/src/api/vendor/customers/middlewares.js +21 -1
  60. package/.medusa/server/src/api/vendor/customers/validators.d.ts +4 -4
  61. package/.medusa/server/src/api/vendor/exchanges/middlewares.js +105 -1
  62. package/.medusa/server/src/api/vendor/exchanges/validators.d.ts +6 -6
  63. package/.medusa/server/src/api/vendor/fulfillment-providers/middlewares.js +9 -1
  64. package/.medusa/server/src/api/vendor/fulfillment-sets/middlewares.js +33 -1
  65. package/.medusa/server/src/api/vendor/fulfillment-sets/validators.d.ts +16 -16
  66. package/.medusa/server/src/api/vendor/inventory-items/middlewares.js +69 -1
  67. package/.medusa/server/src/api/vendor/inventory-items/validators.d.ts +16 -16
  68. package/.medusa/server/src/api/vendor/members/middlewares.js +15 -1
  69. package/.medusa/server/src/api/vendor/offers/middlewares.js +45 -1
  70. package/.medusa/server/src/api/vendor/offers/validators.d.ts +23 -23
  71. package/.medusa/server/src/api/vendor/order-edits/middlewares.js +69 -1
  72. package/.medusa/server/src/api/vendor/orders/middlewares.js +63 -1
  73. package/.medusa/server/src/api/vendor/orders/validators.d.ts +12 -12
  74. package/.medusa/server/src/api/vendor/payments/middlewares.js +33 -1
  75. package/.medusa/server/src/api/vendor/payments/validators.d.ts +6 -6
  76. package/.medusa/server/src/api/vendor/payout-accounts/middlewares.js +27 -1
  77. package/.medusa/server/src/api/vendor/payouts/middlewares.js +15 -1
  78. package/.medusa/server/src/api/vendor/payouts/validators.d.ts +6 -6
  79. package/.medusa/server/src/api/vendor/price-lists/middlewares.js +51 -1
  80. package/.medusa/server/src/api/vendor/price-lists/validators.d.ts +16 -16
  81. package/.medusa/server/src/api/vendor/price-preferences/middlewares.js +15 -1
  82. package/.medusa/server/src/api/vendor/price-preferences/validators.d.ts +2 -2
  83. package/.medusa/server/src/api/vendor/product-attributes/middlewares.js +17 -3
  84. package/.medusa/server/src/api/vendor/product-attributes/validators.d.ts +12 -12
  85. package/.medusa/server/src/api/vendor/product-categories/middlewares.js +21 -1
  86. package/.medusa/server/src/api/vendor/product-categories/validators.d.ts +12 -12
  87. package/.medusa/server/src/api/vendor/product-tags/middlewares.js +15 -1
  88. package/.medusa/server/src/api/vendor/product-tags/validators.d.ts +6 -6
  89. package/.medusa/server/src/api/vendor/product-types/middlewares.js +15 -1
  90. package/.medusa/server/src/api/vendor/product-types/validators.d.ts +2 -2
  91. package/.medusa/server/src/api/vendor/product-variants/middlewares.js +9 -1
  92. package/.medusa/server/src/api/vendor/product-variants/validators.d.ts +18 -18
  93. package/.medusa/server/src/api/vendor/products/middlewares.js +79 -5
  94. package/.medusa/server/src/api/vendor/products/validators.d.ts +36 -36
  95. package/.medusa/server/src/api/vendor/promotions/middlewares.js +69 -1
  96. package/.medusa/server/src/api/vendor/promotions/validators.d.ts +127 -127
  97. package/.medusa/server/src/api/vendor/refund-reasons/middlewares.js +15 -1
  98. package/.medusa/server/src/api/vendor/refund-reasons/validators.d.ts +6 -6
  99. package/.medusa/server/src/api/vendor/regions/middlewares.js +15 -1
  100. package/.medusa/server/src/api/vendor/regions/validators.d.ts +10 -10
  101. package/.medusa/server/src/api/vendor/reservations/middlewares.js +39 -7
  102. package/.medusa/server/src/api/vendor/reservations/validators.d.ts +14 -14
  103. package/.medusa/server/src/api/vendor/return-reasons/middlewares.js +15 -1
  104. package/.medusa/server/src/api/vendor/return-reasons/validators.d.ts +6 -6
  105. package/.medusa/server/src/api/vendor/returns/middlewares.js +135 -1
  106. package/.medusa/server/src/api/vendor/returns/validators.d.ts +14 -14
  107. package/.medusa/server/src/api/vendor/reviews/middlewares.js +21 -1
  108. package/.medusa/server/src/api/vendor/reviews/validators.d.ts +4 -4
  109. package/.medusa/server/src/api/vendor/sales-channels/middlewares.js +21 -1
  110. package/.medusa/server/src/api/vendor/sellers/middlewares.js +14 -1
  111. package/.medusa/server/src/api/vendor/shipping-option-types/middlewares.js +15 -1
  112. package/.medusa/server/src/api/vendor/shipping-option-types/validators.d.ts +6 -6
  113. package/.medusa/server/src/api/vendor/shipping-options/middlewares.js +39 -1
  114. package/.medusa/server/src/api/vendor/shipping-options/validators.d.ts +12 -12
  115. package/.medusa/server/src/api/vendor/shipping-profiles/middlewares.js +33 -1
  116. package/.medusa/server/src/api/vendor/shipping-profiles/validators.d.ts +14 -14
  117. package/.medusa/server/src/api/vendor/stock-locations/middlewares.js +51 -1
  118. package/.medusa/server/src/api/vendor/stock-locations/validators.d.ts +10 -10
  119. package/.medusa/server/src/api/vendor/stores/validators.d.ts +4 -4
  120. package/.medusa/server/src/api/vendor/uploads/middlewares.js +9 -1
  121. package/.medusa/server/src/modules/seller/utils/ensure-seller-default-roles.js +47 -5
  122. package/.medusa/server/src/policies/commission.d.ts +1 -0
  123. package/.medusa/server/src/policies/commission.js +12 -0
  124. package/.medusa/server/src/policies/offer.d.ts +1 -0
  125. package/.medusa/server/src/policies/offer.js +7 -0
  126. package/.medusa/server/src/policies/payout.d.ts +1 -0
  127. package/.medusa/server/src/policies/payout.js +7 -0
  128. package/.medusa/server/src/policies/product-attribute.d.ts +1 -0
  129. package/.medusa/server/src/policies/product-attribute.js +7 -0
  130. package/.medusa/server/src/policies/product-edit.d.ts +1 -0
  131. package/.medusa/server/src/policies/product-edit.js +7 -0
  132. package/.medusa/server/src/policies/review.d.ts +1 -0
  133. package/.medusa/server/src/policies/review.js +7 -0
  134. package/.medusa/server/src/policies/seller.js +8 -17
  135. package/.medusa/server/src/utils/generate-resource-policies.d.ts +7 -0
  136. package/.medusa/server/src/utils/generate-resource-policies.js +30 -0
  137. package/.medusa/server/src/with-mercur.js +6 -2
  138. package/package.json +3 -3
@@ -32,10 +32,10 @@ export declare const StoreGetProductAttributesParams: z.ZodObject<{} & {
32
32
  $lt: any;
33
33
  $lte: any;
34
34
  }, z.core.$strip, z.ZodTypeAny, {
35
+ $nin?: any;
35
36
  $eq?: any;
36
37
  $ne?: any;
37
38
  $in?: any;
38
- $nin?: any;
39
39
  $like?: any;
40
40
  $ilike?: any;
41
41
  $re?: any;
@@ -45,10 +45,10 @@ export declare const StoreGetProductAttributesParams: z.ZodObject<{} & {
45
45
  $lt?: any;
46
46
  $lte?: any;
47
47
  }, {
48
+ $nin?: any;
48
49
  $eq?: any;
49
50
  $ne?: any;
50
51
  $in?: any;
51
- $nin?: any;
52
52
  $like?: any;
53
53
  $ilike?: any;
54
54
  $re?: any;
@@ -72,10 +72,10 @@ export declare const StoreGetProductAttributesParams: z.ZodObject<{} & {
72
72
  $lt: any;
73
73
  $lte: any;
74
74
  }, z.core.$strip, z.ZodTypeAny, {
75
+ $nin?: any;
75
76
  $eq?: any;
76
77
  $ne?: any;
77
78
  $in?: any;
78
- $nin?: any;
79
79
  $like?: any;
80
80
  $ilike?: any;
81
81
  $re?: any;
@@ -85,10 +85,10 @@ export declare const StoreGetProductAttributesParams: z.ZodObject<{} & {
85
85
  $lt?: any;
86
86
  $lte?: any;
87
87
  }, {
88
+ $nin?: any;
88
89
  $eq?: any;
89
90
  $ne?: any;
90
91
  $in?: any;
91
- $nin?: any;
92
92
  $like?: any;
93
93
  $ilike?: any;
94
94
  $re?: any;
@@ -140,10 +140,10 @@ export declare const StoreGetProductAttributesParams: z.ZodObject<{} & {
140
140
  $lt: any;
141
141
  $lte: any;
142
142
  }, z.core.$strip, z.ZodTypeAny, {
143
+ $nin?: any;
143
144
  $eq?: any;
144
145
  $ne?: any;
145
146
  $in?: any;
146
- $nin?: any;
147
147
  $like?: any;
148
148
  $ilike?: any;
149
149
  $re?: any;
@@ -153,10 +153,10 @@ export declare const StoreGetProductAttributesParams: z.ZodObject<{} & {
153
153
  $lt?: any;
154
154
  $lte?: any;
155
155
  }, {
156
+ $nin?: any;
156
157
  $eq?: any;
157
158
  $ne?: any;
158
159
  $in?: any;
159
- $nin?: any;
160
160
  $like?: any;
161
161
  $ilike?: any;
162
162
  $re?: any;
@@ -180,10 +180,10 @@ export declare const StoreGetProductAttributesParams: z.ZodObject<{} & {
180
180
  $lt: any;
181
181
  $lte: any;
182
182
  }, z.core.$strip, z.ZodTypeAny, {
183
+ $nin?: any;
183
184
  $eq?: any;
184
185
  $ne?: any;
185
186
  $in?: any;
186
- $nin?: any;
187
187
  $like?: any;
188
188
  $ilike?: any;
189
189
  $re?: any;
@@ -193,10 +193,10 @@ export declare const StoreGetProductAttributesParams: z.ZodObject<{} & {
193
193
  $lt?: any;
194
194
  $lte?: any;
195
195
  }, {
196
+ $nin?: any;
196
197
  $eq?: any;
197
198
  $ne?: any;
198
199
  $in?: any;
199
- $nin?: any;
200
200
  $like?: any;
201
201
  $ilike?: any;
202
202
  $re?: any;
@@ -40,10 +40,10 @@ export declare const StoreGetProductCategoriesParams: z.ZodObject<{} & {
40
40
  $lt: any;
41
41
  $lte: any;
42
42
  }, z.core.$strip, z.ZodTypeAny, {
43
+ $nin?: any;
43
44
  $eq?: any;
44
45
  $ne?: any;
45
46
  $in?: any;
46
- $nin?: any;
47
47
  $like?: any;
48
48
  $ilike?: any;
49
49
  $re?: any;
@@ -53,10 +53,10 @@ export declare const StoreGetProductCategoriesParams: z.ZodObject<{} & {
53
53
  $lt?: any;
54
54
  $lte?: any;
55
55
  }, {
56
+ $nin?: any;
56
57
  $eq?: any;
57
58
  $ne?: any;
58
59
  $in?: any;
59
- $nin?: any;
60
60
  $like?: any;
61
61
  $ilike?: any;
62
62
  $re?: any;
@@ -80,10 +80,10 @@ export declare const StoreGetProductCategoriesParams: z.ZodObject<{} & {
80
80
  $lt: any;
81
81
  $lte: any;
82
82
  }, z.core.$strip, z.ZodTypeAny, {
83
+ $nin?: any;
83
84
  $eq?: any;
84
85
  $ne?: any;
85
86
  $in?: any;
86
- $nin?: any;
87
87
  $like?: any;
88
88
  $ilike?: any;
89
89
  $re?: any;
@@ -93,10 +93,10 @@ export declare const StoreGetProductCategoriesParams: z.ZodObject<{} & {
93
93
  $lt?: any;
94
94
  $lte?: any;
95
95
  }, {
96
+ $nin?: any;
96
97
  $eq?: any;
97
98
  $ne?: any;
98
99
  $in?: any;
99
- $nin?: any;
100
100
  $like?: any;
101
101
  $ilike?: any;
102
102
  $re?: any;
@@ -148,10 +148,10 @@ export declare const StoreGetProductCategoriesParams: z.ZodObject<{} & {
148
148
  $lt: any;
149
149
  $lte: any;
150
150
  }, z.core.$strip, z.ZodTypeAny, {
151
+ $nin?: any;
151
152
  $eq?: any;
152
153
  $ne?: any;
153
154
  $in?: any;
154
- $nin?: any;
155
155
  $like?: any;
156
156
  $ilike?: any;
157
157
  $re?: any;
@@ -161,10 +161,10 @@ export declare const StoreGetProductCategoriesParams: z.ZodObject<{} & {
161
161
  $lt?: any;
162
162
  $lte?: any;
163
163
  }, {
164
+ $nin?: any;
164
165
  $eq?: any;
165
166
  $ne?: any;
166
167
  $in?: any;
167
- $nin?: any;
168
168
  $like?: any;
169
169
  $ilike?: any;
170
170
  $re?: any;
@@ -188,10 +188,10 @@ export declare const StoreGetProductCategoriesParams: z.ZodObject<{} & {
188
188
  $lt: any;
189
189
  $lte: any;
190
190
  }, z.core.$strip, z.ZodTypeAny, {
191
+ $nin?: any;
191
192
  $eq?: any;
192
193
  $ne?: any;
193
194
  $in?: any;
194
- $nin?: any;
195
195
  $like?: any;
196
196
  $ilike?: any;
197
197
  $re?: any;
@@ -201,10 +201,10 @@ export declare const StoreGetProductCategoriesParams: z.ZodObject<{} & {
201
201
  $lt?: any;
202
202
  $lte?: any;
203
203
  }, {
204
+ $nin?: any;
204
205
  $eq?: any;
205
206
  $ne?: any;
206
207
  $in?: any;
207
- $nin?: any;
208
208
  $like?: any;
209
209
  $ilike?: any;
210
210
  $re?: any;
@@ -6,13 +6,13 @@ export declare const StoreGetProductParams: z.ZodObject<{
6
6
  region_id: z.ZodOptional<z.ZodString>;
7
7
  currency_code: z.ZodOptional<z.ZodString>;
8
8
  }, "strip", z.ZodTypeAny, {
9
+ currency_code?: string | undefined;
9
10
  fields?: string | undefined;
10
11
  region_id?: string | undefined;
11
- currency_code?: string | undefined;
12
12
  }, {
13
+ currency_code?: string | undefined;
13
14
  fields?: string | undefined;
14
15
  region_id?: string | undefined;
15
- currency_code?: string | undefined;
16
16
  }>;
17
17
  export type StoreGetProductsParamsType = z.infer<typeof StoreGetProductsParams>;
18
18
  export declare const StoreGetProductsParams: z.ZodObject<{} & {
@@ -43,10 +43,10 @@ export declare const StoreGetProductsParams: z.ZodObject<{} & {
43
43
  $lt: any;
44
44
  $lte: any;
45
45
  }, z.core.$strip, z.ZodTypeAny, {
46
+ $nin?: any;
46
47
  $eq?: any;
47
48
  $ne?: any;
48
49
  $in?: any;
49
- $nin?: any;
50
50
  $like?: any;
51
51
  $ilike?: any;
52
52
  $re?: any;
@@ -56,10 +56,10 @@ export declare const StoreGetProductsParams: z.ZodObject<{} & {
56
56
  $lt?: any;
57
57
  $lte?: any;
58
58
  }, {
59
+ $nin?: any;
59
60
  $eq?: any;
60
61
  $ne?: any;
61
62
  $in?: any;
62
- $nin?: any;
63
63
  $like?: any;
64
64
  $ilike?: any;
65
65
  $re?: any;
@@ -83,10 +83,10 @@ export declare const StoreGetProductsParams: z.ZodObject<{} & {
83
83
  $lt: any;
84
84
  $lte: any;
85
85
  }, z.core.$strip, z.ZodTypeAny, {
86
+ $nin?: any;
86
87
  $eq?: any;
87
88
  $ne?: any;
88
89
  $in?: any;
89
- $nin?: any;
90
90
  $like?: any;
91
91
  $ilike?: any;
92
92
  $re?: any;
@@ -96,10 +96,10 @@ export declare const StoreGetProductsParams: z.ZodObject<{} & {
96
96
  $lt?: any;
97
97
  $lte?: any;
98
98
  }, {
99
+ $nin?: any;
99
100
  $eq?: any;
100
101
  $ne?: any;
101
102
  $in?: any;
102
- $nin?: any;
103
103
  $like?: any;
104
104
  $ilike?: any;
105
105
  $re?: any;
@@ -169,10 +169,10 @@ export declare const StoreGetProductsParams: z.ZodObject<{} & {
169
169
  $lt: any;
170
170
  $lte: any;
171
171
  }, z.core.$strip, z.ZodTypeAny, {
172
+ $nin?: any;
172
173
  $eq?: any;
173
174
  $ne?: any;
174
175
  $in?: any;
175
- $nin?: any;
176
176
  $like?: any;
177
177
  $ilike?: any;
178
178
  $re?: any;
@@ -182,10 +182,10 @@ export declare const StoreGetProductsParams: z.ZodObject<{} & {
182
182
  $lt?: any;
183
183
  $lte?: any;
184
184
  }, {
185
+ $nin?: any;
185
186
  $eq?: any;
186
187
  $ne?: any;
187
188
  $in?: any;
188
- $nin?: any;
189
189
  $like?: any;
190
190
  $ilike?: any;
191
191
  $re?: any;
@@ -209,10 +209,10 @@ export declare const StoreGetProductsParams: z.ZodObject<{} & {
209
209
  $lt: any;
210
210
  $lte: any;
211
211
  }, z.core.$strip, z.ZodTypeAny, {
212
+ $nin?: any;
212
213
  $eq?: any;
213
214
  $ne?: any;
214
215
  $in?: any;
215
- $nin?: any;
216
216
  $like?: any;
217
217
  $ilike?: any;
218
218
  $re?: any;
@@ -222,10 +222,10 @@ export declare const StoreGetProductsParams: z.ZodObject<{} & {
222
222
  $lt?: any;
223
223
  $lte?: any;
224
224
  }, {
225
+ $nin?: any;
225
226
  $eq?: any;
226
227
  $ne?: any;
227
228
  $in?: any;
228
- $nin?: any;
229
229
  $like?: any;
230
230
  $ilike?: any;
231
231
  $re?: any;
@@ -26,10 +26,10 @@ export declare const StoreGetSellersParams: z.ZodObject<{
26
26
  $lt: any;
27
27
  $lte: any;
28
28
  }, z.core.$strip, z.ZodTypeAny, {
29
+ $nin?: any;
29
30
  $eq?: any;
30
31
  $ne?: any;
31
32
  $in?: any;
32
- $nin?: any;
33
33
  $like?: any;
34
34
  $ilike?: any;
35
35
  $re?: any;
@@ -39,10 +39,10 @@ export declare const StoreGetSellersParams: z.ZodObject<{
39
39
  $lt?: any;
40
40
  $lte?: any;
41
41
  }, {
42
+ $nin?: any;
42
43
  $eq?: any;
43
44
  $ne?: any;
44
45
  $in?: any;
45
- $nin?: any;
46
46
  $like?: any;
47
47
  $ilike?: any;
48
48
  $re?: any;
@@ -66,10 +66,10 @@ export declare const StoreGetSellersParams: z.ZodObject<{
66
66
  $lt: any;
67
67
  $lte: any;
68
68
  }, z.core.$strip, z.ZodTypeAny, {
69
+ $nin?: any;
69
70
  $eq?: any;
70
71
  $ne?: any;
71
72
  $in?: any;
72
- $nin?: any;
73
73
  $like?: any;
74
74
  $ilike?: any;
75
75
  $re?: any;
@@ -79,10 +79,10 @@ export declare const StoreGetSellersParams: z.ZodObject<{
79
79
  $lt?: any;
80
80
  $lte?: any;
81
81
  }, {
82
+ $nin?: any;
82
83
  $eq?: any;
83
84
  $ne?: any;
84
85
  $in?: any;
85
- $nin?: any;
86
86
  $like?: any;
87
87
  $ilike?: any;
88
88
  $re?: any;
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ensureSellerMiddleware = ensureSellerMiddleware;
4
4
  const utils_1 = require("@medusajs/framework/utils");
5
+ const types_1 = require("@mercurjs/types");
5
6
  const ensure_seller_default_roles_1 = require("../../modules/seller/utils/ensure-seller-default-roles");
6
7
  const SELLER_ID_HEADER = "x-seller-id";
7
8
  async function ensureSellerMiddleware(req, res, next) {
@@ -28,14 +29,18 @@ async function ensureSellerMiddleware(req, res, next) {
28
29
  seller_member: sellerMember,
29
30
  currency_code: sellerMember.seller.currency_code,
30
31
  };
31
- if (sellerMember.role_id) {
32
- const rbacService = req.scope.resolve(utils_1.Modules.RBAC);
33
- await (0, ensure_seller_default_roles_1.ensureSellerDefaultRoles)(rbacService);
34
- req.auth_context.app_metadata = {
35
- ...req.auth_context.app_metadata,
36
- roles: [sellerMember.role_id],
37
- };
32
+ if (!utils_1.FeatureFlag.isFeatureEnabled("rbac")) {
33
+ return next();
38
34
  }
35
+ const rbacService = req.scope.resolve(utils_1.Modules.RBAC);
36
+ await (0, ensure_seller_default_roles_1.ensureSellerDefaultRoles)(rbacService);
37
+ req.auth_context.app_metadata = {
38
+ ...req.auth_context.app_metadata,
39
+ // Members predating RBAC have no role. Route policy checks reject an actor
40
+ // with an empty role list outright, so fall back to the administration role
41
+ // rather than locking them out of their own store.
42
+ roles: [sellerMember.role_id || types_1.SellerRole.SELLER_ADMINISTRATION],
43
+ };
39
44
  next();
40
45
  }
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5zdXJlLXNlbGxlci1taWRkbGV3YXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwaS91dGlscy9lbnN1cmUtc2VsbGVyLW1pZGRsZXdhcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFnQkEsd0RBNERDO0FBdkVELHFEQUlrQztBQUVsQyx3R0FBaUc7QUFHakcsTUFBTSxnQkFBZ0IsR0FBRyxhQUFhLENBQUE7QUFFL0IsS0FBSyxVQUFVLHNCQUFzQixDQUMxQyxHQUErQixFQUMvQixHQUFtQixFQUNuQixJQUF3QjtJQUV4QixJQUFJLFFBQVEsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLElBQUksR0FBRyxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUE7SUFFbEUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2QsT0FBTyxJQUFJLENBQ1QsSUFBSSxtQkFBVyxDQUNiLG1CQUFXLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFDN0IsR0FBRyxnQkFBZ0IsdUNBQXVDLENBQzNELENBQ0YsQ0FBQTtJQUNILENBQUM7SUFFRCxNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQTtJQUMxQyxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUVoRSxNQUFNLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FDL0M7UUFDRSxNQUFNLEVBQUUsZUFBZTtRQUN2QixNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsVUFBVSxDQUFDO1FBQy9ELE9BQU8sRUFBRTtZQUNQLFNBQVMsRUFBRSxRQUFRO1lBQ25CLFNBQVMsRUFBRSxRQUFRO1NBQ3BCO0tBQ0YsRUFDRCxFQUFFLEtBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUM1QixDQUFBO0lBRUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMxQixPQUFPLElBQUksQ0FDVCxJQUFJLG1CQUFXLENBQ2IsbUJBQVcsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUM3Qiw2Q0FBNkMsQ0FDOUMsQ0FDRixDQUFBO0lBQ0gsQ0FBQztJQUVELE1BQU0sWUFBWSxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUVyQyxHQUFHLENBQUMsY0FBYyxHQUFHO1FBQ25CLFNBQVMsRUFBRSxRQUFRO1FBQ25CLGFBQWEsRUFBRSxZQUFZO1FBQzNCLGFBQWEsRUFBRSxZQUFZLENBQUMsTUFBTSxDQUFDLGFBQWE7S0FDaEMsQ0FBQTtJQUVsQixJQUFJLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN6QixNQUFNLFdBQVcsR0FBdUIsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsZUFBTyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBRXZFLE1BQU0sSUFBQSxzREFBd0IsRUFBQyxXQUFXLENBQUMsQ0FBQTtRQUUzQyxHQUFHLENBQUMsWUFBWSxDQUFDLFlBQVksR0FBRztZQUM5QixHQUFHLEdBQUcsQ0FBQyxZQUFZLENBQUMsWUFBWTtZQUNoQyxLQUFLLEVBQUUsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDO1NBQzlCLENBQUE7SUFDSCxDQUFDO0lBRUQsSUFBSSxFQUFFLENBQUE7QUFDUixDQUFDIn0=
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5zdXJlLXNlbGxlci1taWRkbGV3YXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwaS91dGlscy9lbnN1cmUtc2VsbGVyLW1pZGRsZXdhcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFrQkEsd0RBaUVDO0FBOUVELHFEQUtrQztBQUVsQywyQ0FBNEM7QUFDNUMsd0dBQWlHO0FBR2pHLE1BQU0sZ0JBQWdCLEdBQUcsYUFBYSxDQUFBO0FBRS9CLEtBQUssVUFBVSxzQkFBc0IsQ0FDMUMsR0FBK0IsRUFDL0IsR0FBbUIsRUFDbkIsSUFBd0I7SUFFeEIsSUFBSSxRQUFRLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFBO0lBRWxFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNkLE9BQU8sSUFBSSxDQUNULElBQUksbUJBQVcsQ0FDYixtQkFBVyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQzdCLEdBQUcsZ0JBQWdCLHVDQUF1QyxDQUMzRCxDQUNGLENBQUE7SUFDSCxDQUFDO0lBRUQsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUE7SUFDMUMsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUE7SUFFaEUsTUFBTSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQy9DO1FBQ0UsTUFBTSxFQUFFLGVBQWU7UUFDdkIsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsQ0FBQztRQUMvRCxPQUFPLEVBQUU7WUFDUCxTQUFTLEVBQUUsUUFBUTtZQUNuQixTQUFTLEVBQUUsUUFBUTtTQUNwQjtLQUNGLEVBQ0QsRUFBRSxLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FDNUIsQ0FBQTtJQUVELElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDMUIsT0FBTyxJQUFJLENBQ1QsSUFBSSxtQkFBVyxDQUNiLG1CQUFXLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFDN0IsNkNBQTZDLENBQzlDLENBQ0YsQ0FBQTtJQUNILENBQUM7SUFFRCxNQUFNLFlBQVksR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFFckMsR0FBRyxDQUFDLGNBQWMsR0FBRztRQUNuQixTQUFTLEVBQUUsUUFBUTtRQUNuQixhQUFhLEVBQUUsWUFBWTtRQUMzQixhQUFhLEVBQUUsWUFBWSxDQUFDLE1BQU0sQ0FBQyxhQUFhO0tBQ2hDLENBQUE7SUFFbEIsSUFBSSxDQUFDLG1CQUFXLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUMxQyxPQUFPLElBQUksRUFBRSxDQUFBO0lBQ2YsQ0FBQztJQUVELE1BQU0sV0FBVyxHQUF1QixHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxlQUFPLENBQUMsSUFBSSxDQUFDLENBQUE7SUFFdkUsTUFBTSxJQUFBLHNEQUF3QixFQUFDLFdBQVcsQ0FBQyxDQUFBO0lBRTNDLEdBQUcsQ0FBQyxZQUFZLENBQUMsWUFBWSxHQUFHO1FBQzlCLEdBQUcsR0FBRyxDQUFDLFlBQVksQ0FBQyxZQUFZO1FBQ2hDLDJFQUEyRTtRQUMzRSw0RUFBNEU7UUFDNUUsbURBQW1EO1FBQ25ELEtBQUssRUFBRSxDQUFDLFlBQVksQ0FBQyxPQUFPLElBQUksa0JBQVUsQ0FBQyxxQkFBcUIsQ0FBQztLQUNsRSxDQUFBO0lBRUQsSUFBSSxFQUFFLENBQUE7QUFDUixDQUFDIn0=
@@ -1,6 +1,8 @@
1
1
  export * from "./unless-base-url";
2
2
  export * from "./scan-unauthenticated-routes";
3
3
  export * from "./ensure-seller-middleware";
4
+ export * from "./resolve-admin-roles-middleware";
5
+ export * from "./policy-resources";
4
6
  export * from "./filter-by-seller-id";
5
7
  export * from "./vendor-cors-middleware";
6
8
  export * from "./format-product-attributes";
@@ -17,10 +17,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./unless-base-url"), exports);
18
18
  __exportStar(require("./scan-unauthenticated-routes"), exports);
19
19
  __exportStar(require("./ensure-seller-middleware"), exports);
20
+ __exportStar(require("./resolve-admin-roles-middleware"), exports);
21
+ __exportStar(require("./policy-resources"), exports);
20
22
  __exportStar(require("./filter-by-seller-id"), exports);
21
23
  __exportStar(require("./vendor-cors-middleware"), exports);
22
24
  __exportStar(require("./format-product-attributes"), exports);
23
25
  __exportStar(require("./product-attribute-fields"), exports);
24
26
  __exportStar(require("./filter-attributes-by-category-link"), exports);
25
27
  __exportStar(require("./offers"), exports);
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3V0aWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBaUM7QUFDakMsZ0VBQTZDO0FBQzdDLDZEQUEwQztBQUMxQyx3REFBcUM7QUFDckMsMkRBQXdDO0FBQ3hDLDhEQUEyQztBQUMzQyw2REFBMEM7QUFDMUMsdUVBQW9EO0FBQ3BELDJDQUF3QiJ9
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3V0aWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBaUM7QUFDakMsZ0VBQTZDO0FBQzdDLDZEQUEwQztBQUMxQyxtRUFBZ0Q7QUFDaEQscURBQWtDO0FBQ2xDLHdEQUFxQztBQUNyQywyREFBd0M7QUFDeEMsOERBQTJDO0FBQzNDLDZEQUEwQztBQUMxQyx1RUFBb0Q7QUFDcEQsMkNBQXdCIn0=
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Resource names used in route `policies` declarations. Mercur-owned resources
3
+ * are declared in `src/policies/*`; the rest come from Medusa's own catalog.
4
+ *
5
+ * Keep the values in sync with those catalogs — an unknown resource name is
6
+ * not a type error, it silently never matches a granted policy.
7
+ */
8
+ export declare const PolicyResource: {
9
+ readonly seller: "seller";
10
+ readonly seller_member: "seller_member";
11
+ readonly member_invite: "member_invite";
12
+ readonly order_group: "order_group";
13
+ readonly offer: "offer";
14
+ readonly commission_rule: "commission_rule";
15
+ readonly commission_rate: "commission_rate";
16
+ readonly commission_line: "commission_line";
17
+ readonly payout: "payout";
18
+ readonly payout_account: "payout_account";
19
+ readonly product_attribute: "product_attribute";
20
+ readonly product_attribute_value: "product_attribute_value";
21
+ readonly product_change: "product_change";
22
+ readonly review: "review";
23
+ readonly product: "product";
24
+ readonly product_variant: "product_variant";
25
+ readonly product_option: "product_option";
26
+ readonly product_tag: "product_tag";
27
+ readonly product_type: "product_type";
28
+ readonly product_category: "product_category";
29
+ readonly product_collection: "product_collection";
30
+ readonly order: "order";
31
+ readonly order_change: "order_change";
32
+ readonly order_claim: "order_claim";
33
+ readonly order_exchange: "order_exchange";
34
+ readonly return: "return";
35
+ readonly return_reason: "return_reason";
36
+ readonly refund_reason: "refund_reason";
37
+ readonly customer: "customer";
38
+ readonly customer_group: "customer_group";
39
+ readonly inventory_item: "inventory_item";
40
+ readonly reservation_item: "reservation_item";
41
+ readonly stock_location: "stock_location";
42
+ readonly price_list: "price_list";
43
+ readonly price_preference: "price_preference";
44
+ readonly currency: "currency";
45
+ readonly promotion: "promotion";
46
+ readonly campaign: "campaign";
47
+ readonly region: "region";
48
+ readonly sales_channel: "sales_channel";
49
+ readonly store: "store";
50
+ readonly payment: "payment";
51
+ readonly shipping_option: "shipping_option";
52
+ readonly shipping_option_type: "shipping_option_type";
53
+ readonly shipping_profile: "shipping_profile";
54
+ readonly fulfillment: "fulfillment";
55
+ readonly fulfillment_provider: "fulfillment_provider";
56
+ readonly fulfillment_set: "fulfillment_set";
57
+ readonly file: "file";
58
+ };
59
+ export type PolicyResourceName = (typeof PolicyResource)[keyof typeof PolicyResource];
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PolicyResource = void 0;
4
+ /**
5
+ * Resource names used in route `policies` declarations. Mercur-owned resources
6
+ * are declared in `src/policies/*`; the rest come from Medusa's own catalog.
7
+ *
8
+ * Keep the values in sync with those catalogs — an unknown resource name is
9
+ * not a type error, it silently never matches a granted policy.
10
+ */
11
+ exports.PolicyResource = {
12
+ // Mercur
13
+ seller: "seller",
14
+ seller_member: "seller_member",
15
+ member_invite: "member_invite",
16
+ order_group: "order_group",
17
+ offer: "offer",
18
+ commission_rule: "commission_rule",
19
+ commission_rate: "commission_rate",
20
+ commission_line: "commission_line",
21
+ payout: "payout",
22
+ payout_account: "payout_account",
23
+ product_attribute: "product_attribute",
24
+ product_attribute_value: "product_attribute_value",
25
+ product_change: "product_change",
26
+ review: "review",
27
+ // Medusa
28
+ product: "product",
29
+ product_variant: "product_variant",
30
+ product_option: "product_option",
31
+ product_tag: "product_tag",
32
+ product_type: "product_type",
33
+ product_category: "product_category",
34
+ product_collection: "product_collection",
35
+ order: "order",
36
+ order_change: "order_change",
37
+ order_claim: "order_claim",
38
+ order_exchange: "order_exchange",
39
+ return: "return",
40
+ return_reason: "return_reason",
41
+ refund_reason: "refund_reason",
42
+ customer: "customer",
43
+ customer_group: "customer_group",
44
+ inventory_item: "inventory_item",
45
+ reservation_item: "reservation_item",
46
+ stock_location: "stock_location",
47
+ price_list: "price_list",
48
+ price_preference: "price_preference",
49
+ currency: "currency",
50
+ promotion: "promotion",
51
+ campaign: "campaign",
52
+ region: "region",
53
+ sales_channel: "sales_channel",
54
+ store: "store",
55
+ payment: "payment",
56
+ shipping_option: "shipping_option",
57
+ shipping_option_type: "shipping_option_type",
58
+ shipping_profile: "shipping_profile",
59
+ fulfillment: "fulfillment",
60
+ fulfillment_provider: "fulfillment_provider",
61
+ fulfillment_set: "fulfillment_set",
62
+ file: "file",
63
+ };
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9saWN5LXJlc291cmNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvdXRpbHMvcG9saWN5LXJlc291cmNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7Ozs7O0dBTUc7QUFDVSxRQUFBLGNBQWMsR0FBRztJQUM1QixTQUFTO0lBQ1QsTUFBTSxFQUFFLFFBQVE7SUFDaEIsYUFBYSxFQUFFLGVBQWU7SUFDOUIsYUFBYSxFQUFFLGVBQWU7SUFDOUIsV0FBVyxFQUFFLGFBQWE7SUFDMUIsS0FBSyxFQUFFLE9BQU87SUFDZCxlQUFlLEVBQUUsaUJBQWlCO0lBQ2xDLGVBQWUsRUFBRSxpQkFBaUI7SUFDbEMsZUFBZSxFQUFFLGlCQUFpQjtJQUNsQyxNQUFNLEVBQUUsUUFBUTtJQUNoQixjQUFjLEVBQUUsZ0JBQWdCO0lBQ2hDLGlCQUFpQixFQUFFLG1CQUFtQjtJQUN0Qyx1QkFBdUIsRUFBRSx5QkFBeUI7SUFDbEQsY0FBYyxFQUFFLGdCQUFnQjtJQUNoQyxNQUFNLEVBQUUsUUFBUTtJQUVoQixTQUFTO0lBQ1QsT0FBTyxFQUFFLFNBQVM7SUFDbEIsZUFBZSxFQUFFLGlCQUFpQjtJQUNsQyxjQUFjLEVBQUUsZ0JBQWdCO0lBQ2hDLFdBQVcsRUFBRSxhQUFhO0lBQzFCLFlBQVksRUFBRSxjQUFjO0lBQzVCLGdCQUFnQixFQUFFLGtCQUFrQjtJQUNwQyxrQkFBa0IsRUFBRSxvQkFBb0I7SUFDeEMsS0FBSyxFQUFFLE9BQU87SUFDZCxZQUFZLEVBQUUsY0FBYztJQUM1QixXQUFXLEVBQUUsYUFBYTtJQUMxQixjQUFjLEVBQUUsZ0JBQWdCO0lBQ2hDLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLGFBQWEsRUFBRSxlQUFlO0lBQzlCLGFBQWEsRUFBRSxlQUFlO0lBQzlCLFFBQVEsRUFBRSxVQUFVO0lBQ3BCLGNBQWMsRUFBRSxnQkFBZ0I7SUFDaEMsY0FBYyxFQUFFLGdCQUFnQjtJQUNoQyxnQkFBZ0IsRUFBRSxrQkFBa0I7SUFDcEMsY0FBYyxFQUFFLGdCQUFnQjtJQUNoQyxVQUFVLEVBQUUsWUFBWTtJQUN4QixnQkFBZ0IsRUFBRSxrQkFBa0I7SUFDcEMsUUFBUSxFQUFFLFVBQVU7SUFDcEIsU0FBUyxFQUFFLFdBQVc7SUFDdEIsUUFBUSxFQUFFLFVBQVU7SUFDcEIsTUFBTSxFQUFFLFFBQVE7SUFDaEIsYUFBYSxFQUFFLGVBQWU7SUFDOUIsS0FBSyxFQUFFLE9BQU87SUFDZCxPQUFPLEVBQUUsU0FBUztJQUNsQixlQUFlLEVBQUUsaUJBQWlCO0lBQ2xDLG9CQUFvQixFQUFFLHNCQUFzQjtJQUM1QyxnQkFBZ0IsRUFBRSxrQkFBa0I7SUFDcEMsV0FBVyxFQUFFLGFBQWE7SUFDMUIsb0JBQW9CLEVBQUUsc0JBQXNCO0lBQzVDLGVBQWUsRUFBRSxpQkFBaUI7SUFDbEMsSUFBSSxFQUFFLE1BQU07Q0FDSixDQUFBIn0=
@@ -0,0 +1,19 @@
1
+ import { MedusaNextFunction, MedusaResponse } from "@medusajs/framework";
2
+ import { AuthenticatedMedusaRequest } from "@medusajs/framework/http";
3
+ /**
4
+ * Seeded by the RBAC module's initial-data loader; holds the `*:*` policy.
5
+ */
6
+ export declare const SUPER_ADMIN_ROLE_ID = "role_super_admin";
7
+ /**
8
+ * Resolves the acting admin user's RBAC roles per request.
9
+ *
10
+ * Medusa bakes roles into the JWT at login, which means a role change only
11
+ * takes effect once the token is re-issued. Reading them here instead keeps
12
+ * enforcement current, and mirrors what `ensureSellerMiddleware` already does
13
+ * on the vendor side.
14
+ *
15
+ * A user with no roles falls back to super admin rather than being denied.
16
+ * Route policy checks reject an actor with an empty role list outright, so
17
+ * without this fallback every admin predating RBAC would lose access.
18
+ */
19
+ export declare function resolveAdminRolesMiddleware(req: AuthenticatedMedusaRequest, _res: MedusaResponse, next: MedusaNextFunction): Promise<void>;
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SUPER_ADMIN_ROLE_ID = void 0;
4
+ exports.resolveAdminRolesMiddleware = resolveAdminRolesMiddleware;
5
+ const utils_1 = require("@medusajs/framework/utils");
6
+ /**
7
+ * Seeded by the RBAC module's initial-data loader; holds the `*:*` policy.
8
+ */
9
+ exports.SUPER_ADMIN_ROLE_ID = "role_super_admin";
10
+ /**
11
+ * Resolves the acting admin user's RBAC roles per request.
12
+ *
13
+ * Medusa bakes roles into the JWT at login, which means a role change only
14
+ * takes effect once the token is re-issued. Reading them here instead keeps
15
+ * enforcement current, and mirrors what `ensureSellerMiddleware` already does
16
+ * on the vendor side.
17
+ *
18
+ * A user with no roles falls back to super admin rather than being denied.
19
+ * Route policy checks reject an actor with an empty role list outright, so
20
+ * without this fallback every admin predating RBAC would lose access.
21
+ */
22
+ async function resolveAdminRolesMiddleware(req, _res, next) {
23
+ const actorId = req.auth_context?.actor_id;
24
+ // Route policies are only enforced while the flag is on, so skip the lookup
25
+ // entirely otherwise — this runs on every admin request.
26
+ if (!actorId || !utils_1.FeatureFlag.isFeatureEnabled("rbac")) {
27
+ return next();
28
+ }
29
+ const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
30
+ let roles = [];
31
+ try {
32
+ const { data } = await query.graph({
33
+ entity: "user",
34
+ fields: ["rbac_roles.id"],
35
+ filters: { id: actorId },
36
+ }, { cache: { enable: true } });
37
+ roles = (data?.[0]?.rbac_roles ?? [])
38
+ .map((role) => role.id)
39
+ .filter(Boolean);
40
+ }
41
+ catch {
42
+ // The user <-> role link only exists while the rbac flag is on. Treat a
43
+ // failed lookup the same as "no roles assigned".
44
+ }
45
+ // The link is the source of truth, but fall back to whatever the token
46
+ // carries so callers that assign roles outside the link keep working.
47
+ const tokenRoles = req.auth_context.app_metadata?.roles ?? [];
48
+ const resolved = roles.length ? roles : tokenRoles;
49
+ req.auth_context.app_metadata = {
50
+ ...req.auth_context.app_metadata,
51
+ roles: resolved.length ? resolved : [exports.SUPER_ADMIN_ROLE_ID],
52
+ };
53
+ return next();
54
+ }
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZS1hZG1pbi1yb2xlcy1taWRkbGV3YXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwaS91dGlscy9yZXNvbHZlLWFkbWluLXJvbGVzLW1pZGRsZXdhcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBd0JBLGtFQThDQztBQXBFRCxxREFHa0M7QUFFbEM7O0dBRUc7QUFDVSxRQUFBLG1CQUFtQixHQUFHLGtCQUFrQixDQUFBO0FBRXJEOzs7Ozs7Ozs7OztHQVdHO0FBQ0ksS0FBSyxVQUFVLDJCQUEyQixDQUMvQyxHQUErQixFQUMvQixJQUFvQixFQUNwQixJQUF3QjtJQUV4QixNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsWUFBWSxFQUFFLFFBQVEsQ0FBQTtJQUUxQyw0RUFBNEU7SUFDNUUseURBQXlEO0lBQ3pELElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxtQkFBVyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDdEQsT0FBTyxJQUFJLEVBQUUsQ0FBQTtJQUNmLENBQUM7SUFFRCxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUVoRSxJQUFJLEtBQUssR0FBYSxFQUFFLENBQUE7SUFFeEIsSUFBSSxDQUFDO1FBQ0gsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FDaEM7WUFDRSxNQUFNLEVBQUUsTUFBTTtZQUNkLE1BQU0sRUFBRSxDQUFDLGVBQWUsQ0FBQztZQUN6QixPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFO1NBQ3pCLEVBQ0QsRUFBRSxLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FDNUIsQ0FBQTtRQUVELEtBQUssR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLFVBQVUsSUFBSSxFQUFFLENBQUM7YUFDbEMsR0FBRyxDQUFDLENBQUMsSUFBb0IsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQzthQUN0QyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDcEIsQ0FBQztJQUFDLE1BQU0sQ0FBQztRQUNQLHdFQUF3RTtRQUN4RSxpREFBaUQ7SUFDbkQsQ0FBQztJQUVELHVFQUF1RTtJQUN2RSxzRUFBc0U7SUFDdEUsTUFBTSxVQUFVLEdBQUksR0FBRyxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsS0FBa0IsSUFBSSxFQUFFLENBQUE7SUFDM0UsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUE7SUFFbEQsR0FBRyxDQUFDLFlBQVksQ0FBQyxZQUFZLEdBQUc7UUFDOUIsR0FBRyxHQUFHLENBQUMsWUFBWSxDQUFDLFlBQVk7UUFDaEMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQywyQkFBbUIsQ0FBQztLQUMxRCxDQUFBO0lBRUQsT0FBTyxJQUFJLEVBQUUsQ0FBQTtBQUNmLENBQUMifQ==