@devx-commerce/plugin-product-reviews-svaraa 3.3.0-beta.1

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 (150) hide show
  1. package/.medusa/server/plugins/product-reviews/src/api/store/product-reviews/middlewares.d.ts +175 -0
  2. package/.medusa/server/plugins/product-reviews/src/api/store/product-reviews/middlewares.js +75 -0
  3. package/.medusa/server/src/admin/index.js +20 -0
  4. package/.medusa/server/src/admin/index.mjs +21 -0
  5. package/.medusa/server/src/api/admin/product-review-stats/middlewares.d.ts +118 -0
  6. package/.medusa/server/src/api/admin/product-review-stats/middlewares.js +46 -0
  7. package/.medusa/server/src/api/admin/product-review-stats/refresh/route.d.ts +2 -0
  8. package/.medusa/server/src/api/admin/product-review-stats/refresh/route.js +19 -0
  9. package/.medusa/server/src/api/admin/product-review-stats/route.d.ts +2 -0
  10. package/.medusa/server/src/api/admin/product-review-stats/route.js +16 -0
  11. package/.medusa/server/src/api/admin/product-reviews/[id]/response/middlewares.d.ts +11 -0
  12. package/.medusa/server/src/api/admin/product-reviews/[id]/response/middlewares.js +26 -0
  13. package/.medusa/server/src/api/admin/product-reviews/[id]/response/route.d.ts +5 -0
  14. package/.medusa/server/src/api/admin/product-reviews/[id]/response/route.js +66 -0
  15. package/.medusa/server/src/api/admin/product-reviews/[id]/route.d.ts +3 -0
  16. package/.medusa/server/src/api/admin/product-reviews/[id]/route.js +30 -0
  17. package/.medusa/server/src/api/admin/product-reviews/[id]/status/middlewares.d.ts +11 -0
  18. package/.medusa/server/src/api/admin/product-reviews/[id]/status/middlewares.js +16 -0
  19. package/.medusa/server/src/api/admin/product-reviews/[id]/status/route.d.ts +3 -0
  20. package/.medusa/server/src/api/admin/product-reviews/[id]/status/route.js +15 -0
  21. package/.medusa/server/src/api/admin/product-reviews/bulk-upload/route.d.ts +3 -0
  22. package/.medusa/server/src/api/admin/product-reviews/bulk-upload/route.js +28 -0
  23. package/.medusa/server/src/api/admin/product-reviews/config/route.d.ts +4 -0
  24. package/.medusa/server/src/api/admin/product-reviews/config/route.js +33 -0
  25. package/.medusa/server/src/api/admin/product-reviews/delete/route.d.ts +3 -0
  26. package/.medusa/server/src/api/admin/product-reviews/delete/route.js +14 -0
  27. package/.medusa/server/src/api/admin/product-reviews/middlewares.d.ts +149 -0
  28. package/.medusa/server/src/api/admin/product-reviews/middlewares.js +84 -0
  29. package/.medusa/server/src/api/admin/product-reviews/route.d.ts +4 -0
  30. package/.medusa/server/src/api/admin/product-reviews/route.js +62 -0
  31. package/.medusa/server/src/api/admin/product-reviews/validators.d.ts +87 -0
  32. package/.medusa/server/src/api/admin/product-reviews/validators.js +25 -0
  33. package/.medusa/server/src/api/middlewares.d.ts +2 -0
  34. package/.medusa/server/src/api/middlewares.js +21 -0
  35. package/.medusa/server/src/api/store/product-review-stats/middlewares.d.ts +118 -0
  36. package/.medusa/server/src/api/store/product-review-stats/middlewares.js +44 -0
  37. package/.medusa/server/src/api/store/product-review-stats/route.d.ts +2 -0
  38. package/.medusa/server/src/api/store/product-review-stats/route.js +16 -0
  39. package/.medusa/server/src/api/store/product-reviews/[id]/route.d.ts +3 -0
  40. package/.medusa/server/src/api/store/product-reviews/[id]/route.js +20 -0
  41. package/.medusa/server/src/api/store/product-reviews/eligibility/route.d.ts +3 -0
  42. package/.medusa/server/src/api/store/product-reviews/eligibility/route.js +25 -0
  43. package/.medusa/server/src/api/store/product-reviews/middlewares.d.ts +322 -0
  44. package/.medusa/server/src/api/store/product-reviews/middlewares.js +139 -0
  45. package/.medusa/server/src/api/store/product-reviews/route.d.ts +4 -0
  46. package/.medusa/server/src/api/store/product-reviews/route.js +42 -0
  47. package/.medusa/server/src/jobs/refresh-all-product-review-stats.d.ts +9 -0
  48. package/.medusa/server/src/jobs/refresh-all-product-review-stats.js +43 -0
  49. package/.medusa/server/src/lib/api-response.d.ts +75 -0
  50. package/.medusa/server/src/lib/api-response.js +102 -0
  51. package/.medusa/server/src/links/product-review-product.d.ts +2 -0
  52. package/.medusa/server/src/links/product-review-product.js +14 -0
  53. package/.medusa/server/src/links/product-review-stats-product.d.ts +2 -0
  54. package/.medusa/server/src/links/product-review-stats-product.js +13 -0
  55. package/.medusa/server/src/modules/product-review/index.d.ts +77 -0
  56. package/.medusa/server/src/modules/product-review/index.js +13 -0
  57. package/.medusa/server/src/modules/product-review/migrations/Migration20250408075709.d.ts +5 -0
  58. package/.medusa/server/src/modules/product-review/migrations/Migration20250408075709.js +27 -0
  59. package/.medusa/server/src/modules/product-review/migrations/Migration20250425092433.d.ts +5 -0
  60. package/.medusa/server/src/modules/product-review/migrations/Migration20250425092433.js +31 -0
  61. package/.medusa/server/src/modules/product-review/migrations/Migration20250428134029.d.ts +5 -0
  62. package/.medusa/server/src/modules/product-review/migrations/Migration20250428134029.js +20 -0
  63. package/.medusa/server/src/modules/product-review/migrations/Migration20250430123125.d.ts +5 -0
  64. package/.medusa/server/src/modules/product-review/migrations/Migration20250430123125.js +25 -0
  65. package/.medusa/server/src/modules/product-review/migrations/Migration20250501112941.d.ts +5 -0
  66. package/.medusa/server/src/modules/product-review/migrations/Migration20250501112941.js +16 -0
  67. package/.medusa/server/src/modules/product-review/migrations/Migration20250612122020.d.ts +5 -0
  68. package/.medusa/server/src/modules/product-review/migrations/Migration20250612122020.js +14 -0
  69. package/.medusa/server/src/modules/product-review/models/index.d.ts +6 -0
  70. package/.medusa/server/src/modules/product-review/models/index.js +14 -0
  71. package/.medusa/server/src/modules/product-review/models/product-review-config.d.ts +5 -0
  72. package/.medusa/server/src/modules/product-review/models/product-review-config.js +10 -0
  73. package/.medusa/server/src/modules/product-review/models/product-review-response.d.ts +24 -0
  74. package/.medusa/server/src/modules/product-review/models/product-review-response.js +14 -0
  75. package/.medusa/server/src/modules/product-review/models/product-review-stats.d.ts +11 -0
  76. package/.medusa/server/src/modules/product-review/models/product-review-stats.js +16 -0
  77. package/.medusa/server/src/modules/product-review/models/product-review.d.ts +29 -0
  78. package/.medusa/server/src/modules/product-review/models/product-review.js +34 -0
  79. package/.medusa/server/src/modules/product-review/models/review-associated-media.d.ts +29 -0
  80. package/.medusa/server/src/modules/product-review/models/review-associated-media.js +14 -0
  81. package/.medusa/server/src/modules/product-review/service.d.ts +145 -0
  82. package/.medusa/server/src/modules/product-review/service.js +211 -0
  83. package/.medusa/server/src/modules/product-review/types/common.d.ts +7 -0
  84. package/.medusa/server/src/modules/product-review/types/common.js +3 -0
  85. package/.medusa/server/src/modules/product-review/types/index.d.ts +2 -0
  86. package/.medusa/server/src/modules/product-review/types/index.js +19 -0
  87. package/.medusa/server/src/modules/product-review/types/mutations.d.ts +36 -0
  88. package/.medusa/server/src/modules/product-review/types/mutations.js +3 -0
  89. package/.medusa/server/src/subscribers/product-review-bulk-upload.d.ts +8 -0
  90. package/.medusa/server/src/subscribers/product-review-bulk-upload.js +132 -0
  91. package/.medusa/server/src/utils/types/product-reviews.d.ts +110 -0
  92. package/.medusa/server/src/utils/types/product-reviews.js +3 -0
  93. package/.medusa/server/src/workflows/customer/find-or-create-customer.d.ts +14 -0
  94. package/.medusa/server/src/workflows/customer/find-or-create-customer.js +106 -0
  95. package/.medusa/server/src/workflows/order/steps/validate-order-item-exists.d.ts +12 -0
  96. package/.medusa/server/src/workflows/order/steps/validate-order-item-exists.js +37 -0
  97. package/.medusa/server/src/workflows/product/steps/validate-product-exists.d.ts +10 -0
  98. package/.medusa/server/src/workflows/product/steps/validate-product-exists.js +28 -0
  99. package/.medusa/server/src/workflows/product-reviews/steps/check-review-eligibility.d.ts +15 -0
  100. package/.medusa/server/src/workflows/product-reviews/steps/check-review-eligibility.js +78 -0
  101. package/.medusa/server/src/workflows/product-reviews/steps/create-product-review-response.d.ts +37 -0
  102. package/.medusa/server/src/workflows/product-reviews/steps/create-product-review-response.js +17 -0
  103. package/.medusa/server/src/workflows/product-reviews/steps/create-product-reviews.d.ts +40 -0
  104. package/.medusa/server/src/workflows/product-reviews/steps/create-product-reviews.js +79 -0
  105. package/.medusa/server/src/workflows/product-reviews/steps/delete-product-review-responses.d.ts +6 -0
  106. package/.medusa/server/src/workflows/product-reviews/steps/delete-product-review-responses.js +23 -0
  107. package/.medusa/server/src/workflows/product-reviews/steps/delete-review-step.d.ts +4 -0
  108. package/.medusa/server/src/workflows/product-reviews/steps/delete-review-step.js +13 -0
  109. package/.medusa/server/src/workflows/product-reviews/steps/download-and-parse-csv.d.ts +6 -0
  110. package/.medusa/server/src/workflows/product-reviews/steps/download-and-parse-csv.js +63 -0
  111. package/.medusa/server/src/workflows/product-reviews/steps/recalculate-product-review-stats.d.ts +16 -0
  112. package/.medusa/server/src/workflows/product-reviews/steps/recalculate-product-review-stats.js +15 -0
  113. package/.medusa/server/src/workflows/product-reviews/steps/throw-error-step.d.ts +3 -0
  114. package/.medusa/server/src/workflows/product-reviews/steps/throw-error-step.js +9 -0
  115. package/.medusa/server/src/workflows/product-reviews/steps/update-product-review-config.d.ts +5 -0
  116. package/.medusa/server/src/workflows/product-reviews/steps/update-product-review-config.js +38 -0
  117. package/.medusa/server/src/workflows/product-reviews/steps/update-product-review-response.d.ts +3 -0
  118. package/.medusa/server/src/workflows/product-reviews/steps/update-product-review-response.js +36 -0
  119. package/.medusa/server/src/workflows/product-reviews/steps/update-product-review.d.ts +53 -0
  120. package/.medusa/server/src/workflows/product-reviews/steps/update-product-review.js +65 -0
  121. package/.medusa/server/src/workflows/product-reviews/steps/validate-review-csv-headers.d.ts +10 -0
  122. package/.medusa/server/src/workflows/product-reviews/steps/validate-review-csv-headers.js +55 -0
  123. package/.medusa/server/src/workflows/product-reviews/steps/verify-purchase-history.d.ts +10 -0
  124. package/.medusa/server/src/workflows/product-reviews/steps/verify-purchase-history.js +70 -0
  125. package/.medusa/server/src/workflows/product-reviews/workflows/bulk-upload-product-reviews.d.ts +9 -0
  126. package/.medusa/server/src/workflows/product-reviews/workflows/bulk-upload-product-reviews.js +25 -0
  127. package/.medusa/server/src/workflows/product-reviews/workflows/check-review-eligibility.d.ts +2 -0
  128. package/.medusa/server/src/workflows/product-reviews/workflows/check-review-eligibility.js +10 -0
  129. package/.medusa/server/src/workflows/product-reviews/workflows/create-product-review-response.d.ts +36 -0
  130. package/.medusa/server/src/workflows/product-reviews/workflows/create-product-review-response.js +10 -0
  131. package/.medusa/server/src/workflows/product-reviews/workflows/create-product-review.d.ts +51 -0
  132. package/.medusa/server/src/workflows/product-reviews/workflows/create-product-review.js +43 -0
  133. package/.medusa/server/src/workflows/product-reviews/workflows/delete-product-review-responses.d.ts +5 -0
  134. package/.medusa/server/src/workflows/product-reviews/workflows/delete-product-review-responses.js +10 -0
  135. package/.medusa/server/src/workflows/product-reviews/workflows/delete-product-review.d.ts +3 -0
  136. package/.medusa/server/src/workflows/product-reviews/workflows/delete-product-review.js +10 -0
  137. package/.medusa/server/src/workflows/product-reviews/workflows/download-csv.d.ts +6 -0
  138. package/.medusa/server/src/workflows/product-reviews/workflows/download-csv.js +13 -0
  139. package/.medusa/server/src/workflows/product-reviews/workflows/refresh-product-review-stats.d.ts +17 -0
  140. package/.medusa/server/src/workflows/product-reviews/workflows/refresh-product-review-stats.js +10 -0
  141. package/.medusa/server/src/workflows/product-reviews/workflows/update-product-review-config.d.ts +6 -0
  142. package/.medusa/server/src/workflows/product-reviews/workflows/update-product-review-config.js +10 -0
  143. package/.medusa/server/src/workflows/product-reviews/workflows/update-product-review-responses.d.ts +2 -0
  144. package/.medusa/server/src/workflows/product-reviews/workflows/update-product-review-responses.js +10 -0
  145. package/.medusa/server/src/workflows/product-reviews/workflows/update-product-review.d.ts +52 -0
  146. package/.medusa/server/src/workflows/product-reviews/workflows/update-product-review.js +15 -0
  147. package/.medusa/server/src/workflows/product-reviews/workflows/verify-purchase-history.d.ts +12 -0
  148. package/.medusa/server/src/workflows/product-reviews/workflows/verify-purchase-history.js +10 -0
  149. package/README.md +205 -0
  150. package/package.json +104 -0
@@ -0,0 +1,175 @@
1
+ import { type MiddlewareRoute } from "@medusajs/framework";
2
+ import { z } from "zod";
3
+ import { QueryConfig } from "@medusajs/types";
4
+ import { ProductReview } from "../../../../../../src/modules/product-review/types";
5
+ export declare const listStoreProductReviewsQuerySchema: z.ZodObject<{
6
+ offset: z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodNumber>>, number, unknown>;
7
+ limit: z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodNumber>>, number, unknown>;
8
+ fields: z.ZodOptional<z.ZodString>;
9
+ order: z.ZodOptional<z.ZodString> | z.ZodDefault<z.ZodOptional<z.ZodString>>;
10
+ id: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
11
+ is_admin_verified: z.ZodOptional<z.ZodBoolean>;
12
+ product_id: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
13
+ order_id: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
14
+ rating: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodArray<z.ZodNumber, "many">]>>;
15
+ created_at: z.ZodOptional<z.ZodUnion<[any, z.ZodObject<{
16
+ $eq: any;
17
+ $ne: any;
18
+ $in: any;
19
+ $nin: any;
20
+ $like: any;
21
+ $ilike: any;
22
+ $re: any;
23
+ $contains: any;
24
+ $gt: any;
25
+ $gte: any;
26
+ $lt: any;
27
+ $lte: any;
28
+ }, "strip", z.ZodTypeAny, {
29
+ $eq?: any;
30
+ $ne?: any;
31
+ $in?: any;
32
+ $nin?: any;
33
+ $like?: any;
34
+ $ilike?: any;
35
+ $re?: any;
36
+ $contains?: any;
37
+ $gt?: any;
38
+ $gte?: any;
39
+ $lt?: any;
40
+ $lte?: any;
41
+ }, {
42
+ $eq?: any;
43
+ $ne?: any;
44
+ $in?: any;
45
+ $nin?: any;
46
+ $like?: any;
47
+ $ilike?: any;
48
+ $re?: any;
49
+ $contains?: any;
50
+ $gt?: any;
51
+ $gte?: any;
52
+ $lt?: any;
53
+ $lte?: any;
54
+ }>]>>;
55
+ updated_at: z.ZodOptional<z.ZodUnion<[any, z.ZodObject<{
56
+ $eq: any;
57
+ $ne: any;
58
+ $in: any;
59
+ $nin: any;
60
+ $like: any;
61
+ $ilike: any;
62
+ $re: any;
63
+ $contains: any;
64
+ $gt: any;
65
+ $gte: any;
66
+ $lt: any;
67
+ $lte: any;
68
+ }, "strip", z.ZodTypeAny, {
69
+ $eq?: any;
70
+ $ne?: any;
71
+ $in?: any;
72
+ $nin?: any;
73
+ $like?: any;
74
+ $ilike?: any;
75
+ $re?: any;
76
+ $contains?: any;
77
+ $gt?: any;
78
+ $gte?: any;
79
+ $lt?: any;
80
+ $lte?: any;
81
+ }, {
82
+ $eq?: any;
83
+ $ne?: any;
84
+ $in?: any;
85
+ $nin?: any;
86
+ $like?: any;
87
+ $ilike?: any;
88
+ $re?: any;
89
+ $contains?: any;
90
+ $gt?: any;
91
+ $gte?: any;
92
+ $lt?: any;
93
+ $lte?: any;
94
+ }>]>>;
95
+ }, "strip", z.ZodTypeAny, {
96
+ offset: number;
97
+ limit: number;
98
+ fields?: string | undefined;
99
+ order?: string | undefined;
100
+ id?: string | string[] | undefined;
101
+ is_admin_verified?: boolean | undefined;
102
+ product_id?: string | string[] | undefined;
103
+ order_id?: string | string[] | undefined;
104
+ rating?: number | number[] | undefined;
105
+ created_at?: any;
106
+ updated_at?: any;
107
+ }, {
108
+ offset?: unknown;
109
+ limit?: unknown;
110
+ fields?: string | undefined;
111
+ order?: string | undefined;
112
+ id?: string | string[] | undefined;
113
+ is_admin_verified?: boolean | undefined;
114
+ product_id?: string | string[] | undefined;
115
+ order_id?: string | string[] | undefined;
116
+ rating?: number | number[] | undefined;
117
+ created_at?: any;
118
+ updated_at?: any;
119
+ }>;
120
+ export declare const upsertProductReviewsSchema: z.ZodObject<{
121
+ reviews: z.ZodArray<z.ZodObject<{
122
+ order_id: z.ZodString;
123
+ order_line_item_id: z.ZodString;
124
+ rating: z.ZodNumber;
125
+ content: z.ZodString;
126
+ images: z.ZodArray<z.ZodObject<{
127
+ key: z.ZodString;
128
+ }, "strip", z.ZodTypeAny, {
129
+ key: string;
130
+ }, {
131
+ key: string;
132
+ }>, "many">;
133
+ }, "strip", z.ZodTypeAny, {
134
+ rating: number;
135
+ content: string;
136
+ images: {
137
+ key: string;
138
+ }[];
139
+ order_id: string;
140
+ order_line_item_id: string;
141
+ }, {
142
+ rating: number;
143
+ content: string;
144
+ images: {
145
+ key: string;
146
+ }[];
147
+ order_id: string;
148
+ order_line_item_id: string;
149
+ }>, "many">;
150
+ }, "strip", z.ZodTypeAny, {
151
+ reviews: {
152
+ rating: number;
153
+ content: string;
154
+ images: {
155
+ key: string;
156
+ }[];
157
+ order_id: string;
158
+ order_line_item_id: string;
159
+ }[];
160
+ }, {
161
+ reviews: {
162
+ rating: number;
163
+ content: string;
164
+ images: {
165
+ key: string;
166
+ }[];
167
+ order_id: string;
168
+ order_line_item_id: string;
169
+ }[];
170
+ }>;
171
+ export type UpsertProductReviewsSchema = z.infer<typeof upsertProductReviewsSchema>;
172
+ export declare const defaultStoreProductReviewFields: string[];
173
+ export declare const allowedStoreProductReviewFields: string[];
174
+ export declare const defaultStoreReviewsQueryConfig: QueryConfig<ProductReview>;
175
+ export declare const storeProductReviewRoutesMiddlewares: MiddlewareRoute[];
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.storeProductReviewRoutesMiddlewares = exports.defaultStoreReviewsQueryConfig = exports.allowedStoreProductReviewFields = exports.defaultStoreProductReviewFields = exports.upsertProductReviewsSchema = exports.listStoreProductReviewsQuerySchema = void 0;
4
+ const framework_1 = require("@medusajs/framework");
5
+ const validators_1 = require("@medusajs/medusa/api/utils/validators");
6
+ const zod_1 = require("zod");
7
+ exports.listStoreProductReviewsQuerySchema = (0, validators_1.createFindParams)({
8
+ offset: 0,
9
+ limit: 50,
10
+ }).merge(zod_1.z.object({
11
+ id: zod_1.z.union([zod_1.z.string(), zod_1.z.array(zod_1.z.string())]).optional(),
12
+ is_admin_verified: zod_1.z.boolean().optional(),
13
+ product_id: zod_1.z.union([zod_1.z.string(), zod_1.z.array(zod_1.z.string())]).optional(),
14
+ order_id: zod_1.z.union([zod_1.z.string(), zod_1.z.array(zod_1.z.string())]).optional(),
15
+ rating: zod_1.z
16
+ .union([zod_1.z.number().max(5).min(1), zod_1.z.array(zod_1.z.number().max(5).min(1))])
17
+ .optional(),
18
+ created_at: (0, validators_1.createOperatorMap)().optional(),
19
+ updated_at: (0, validators_1.createOperatorMap)().optional(),
20
+ }));
21
+ exports.upsertProductReviewsSchema = zod_1.z.object({
22
+ reviews: zod_1.z.array(zod_1.z.object({
23
+ order_id: zod_1.z.string(),
24
+ order_line_item_id: zod_1.z.string(),
25
+ rating: zod_1.z.number().max(5).min(1),
26
+ content: zod_1.z.string(),
27
+ images: zod_1.z.array(zod_1.z.object({ key: zod_1.z.string() })),
28
+ })),
29
+ });
30
+ exports.defaultStoreProductReviewFields = [
31
+ "id",
32
+ "is_admin_verified",
33
+ "product_id",
34
+ "name",
35
+ "rating",
36
+ "content",
37
+ "created_at",
38
+ "updated_at",
39
+ "response.*",
40
+ "images.*",
41
+ ];
42
+ exports.allowedStoreProductReviewFields = [
43
+ "id",
44
+ "is_admin_verified",
45
+ "product_id",
46
+ "name",
47
+ "rating",
48
+ "content",
49
+ "created_at",
50
+ "updated_at",
51
+ "response",
52
+ "images",
53
+ "product.*",
54
+ ];
55
+ exports.defaultStoreReviewsQueryConfig = {
56
+ allowed: [...exports.allowedStoreProductReviewFields],
57
+ defaults: [...exports.defaultStoreProductReviewFields],
58
+ defaultLimit: 50,
59
+ isList: true,
60
+ };
61
+ exports.storeProductReviewRoutesMiddlewares = [
62
+ {
63
+ matcher: "/store/product-reviews",
64
+ method: "GET",
65
+ middlewares: [
66
+ (0, framework_1.validateAndTransformQuery)(exports.listStoreProductReviewsQuerySchema, exports.defaultStoreReviewsQueryConfig),
67
+ ],
68
+ },
69
+ {
70
+ matcher: "/store/product-reviews",
71
+ method: "POST",
72
+ middlewares: [(0, framework_1.validateAndTransformBody)(exports.upsertProductReviewsSchema)],
73
+ },
74
+ ];
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wbHVnaW5zL3Byb2R1Y3QtcmV2aWV3cy9zcmMvYXBpL3N0b3JlL3Byb2R1Y3QtcmV2aWV3cy9taWRkbGV3YXJlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtREFJNkI7QUFDN0Isc0VBRytDO0FBQy9DLDZCQUF3QjtBQUlYLFFBQUEsa0NBQWtDLEdBQUcsSUFBQSw2QkFBZ0IsRUFBQztJQUNqRSxNQUFNLEVBQUUsQ0FBQztJQUNULEtBQUssRUFBRSxFQUFFO0NBQ1YsQ0FBQyxDQUFDLEtBQUssQ0FDTixPQUFDLENBQUMsTUFBTSxDQUFDO0lBQ1AsRUFBRSxFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQ3pELGlCQUFpQixFQUFFLE9BQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDekMsVUFBVSxFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQ2pFLFFBQVEsRUFBRSxPQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUMvRCxNQUFNLEVBQUUsT0FBQztTQUNOLEtBQUssQ0FBQyxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3BFLFFBQVEsRUFBRTtJQUNiLFVBQVUsRUFBRSxJQUFBLDhCQUFpQixHQUFFLENBQUMsUUFBUSxFQUFFO0lBQzFDLFVBQVUsRUFBRSxJQUFBLDhCQUFpQixHQUFFLENBQUMsUUFBUSxFQUFFO0NBQzNDLENBQUMsQ0FDSCxDQUFDO0FBRVcsUUFBQSwwQkFBMEIsR0FBRyxPQUFDLENBQUMsTUFBTSxDQUFDO0lBQ2pELE9BQU8sRUFBRSxPQUFDLENBQUMsS0FBSyxDQUNkLE9BQUMsQ0FBQyxNQUFNLENBQUM7UUFDUCxRQUFRLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtRQUNwQixrQkFBa0IsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO1FBQzlCLE1BQU0sRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDaEMsT0FBTyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7UUFDbkIsTUFBTSxFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUMsT0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEdBQUcsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0tBQy9DLENBQUMsQ0FDSDtDQUNGLENBQUMsQ0FBQztBQU1VLFFBQUEsK0JBQStCLEdBQUc7SUFDN0MsSUFBSTtJQUNKLG1CQUFtQjtJQUNuQixZQUFZO0lBQ1osTUFBTTtJQUNOLFFBQVE7SUFDUixTQUFTO0lBQ1QsWUFBWTtJQUNaLFlBQVk7SUFDWixZQUFZO0lBQ1osVUFBVTtDQUNYLENBQUM7QUFFVyxRQUFBLCtCQUErQixHQUFHO0lBQzdDLElBQUk7SUFDSixtQkFBbUI7SUFDbkIsWUFBWTtJQUNaLE1BQU07SUFDTixRQUFRO0lBQ1IsU0FBUztJQUNULFlBQVk7SUFDWixZQUFZO0lBQ1osVUFBVTtJQUNWLFFBQVE7SUFDUixXQUFXO0NBQ1osQ0FBQztBQUVXLFFBQUEsOEJBQThCLEdBQStCO0lBQ3hFLE9BQU8sRUFBRSxDQUFDLEdBQUcsdUNBQStCLENBQUM7SUFDN0MsUUFBUSxFQUFFLENBQUMsR0FBRyx1Q0FBK0IsQ0FBQztJQUM5QyxZQUFZLEVBQUUsRUFBRTtJQUNoQixNQUFNLEVBQUUsSUFBSTtDQUNiLENBQUM7QUFFVyxRQUFBLG1DQUFtQyxHQUFzQjtJQUNwRTtRQUNFLE9BQU8sRUFBRSx3QkFBd0I7UUFDakMsTUFBTSxFQUFFLEtBQUs7UUFDYixXQUFXLEVBQUU7WUFDWCxJQUFBLHFDQUF5QixFQUN2QiwwQ0FBa0MsRUFDbEMsc0NBQThCLENBQy9CO1NBQ0Y7S0FDRjtJQUNEO1FBQ0UsT0FBTyxFQUFFLHdCQUF3QjtRQUNqQyxNQUFNLEVBQUUsTUFBTTtRQUNkLFdBQVcsRUFBRSxDQUFDLElBQUEsb0NBQXdCLEVBQUMsa0NBQTBCLENBQUMsQ0FBQztLQUNwRTtDQUNGLENBQUMifQ==
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ const widgetModule = { widgets: [] };
3
+ const routeModule = {
4
+ routes: []
5
+ };
6
+ const menuItemModule = {
7
+ menuItems: []
8
+ };
9
+ const formModule = { customFields: {} };
10
+ const displayModule = {
11
+ displays: {}
12
+ };
13
+ const plugin = {
14
+ widgetModule,
15
+ routeModule,
16
+ menuItemModule,
17
+ formModule,
18
+ displayModule
19
+ };
20
+ module.exports = plugin;
@@ -0,0 +1,21 @@
1
+ const widgetModule = { widgets: [] };
2
+ const routeModule = {
3
+ routes: []
4
+ };
5
+ const menuItemModule = {
6
+ menuItems: []
7
+ };
8
+ const formModule = { customFields: {} };
9
+ const displayModule = {
10
+ displays: {}
11
+ };
12
+ const plugin = {
13
+ widgetModule,
14
+ routeModule,
15
+ menuItemModule,
16
+ formModule,
17
+ displayModule
18
+ };
19
+ export {
20
+ plugin as default
21
+ };
@@ -0,0 +1,118 @@
1
+ import { type MiddlewareRoute } from "@medusajs/framework";
2
+ import { z } from "zod";
3
+ export declare const listAdminProductReviewStatsQuerySchema: z.ZodObject<{
4
+ offset: z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodNumber>>, number, unknown>;
5
+ limit: z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodNumber>>, number, unknown>;
6
+ fields: z.ZodOptional<z.ZodString>;
7
+ order: z.ZodOptional<z.ZodString> | z.ZodDefault<z.ZodOptional<z.ZodString>>;
8
+ id: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
9
+ product_id: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
10
+ average_rating: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodArray<z.ZodNumber, "many">]>>;
11
+ created_at: z.ZodOptional<z.ZodUnion<[any, z.ZodObject<{
12
+ $eq: any;
13
+ $ne: any;
14
+ $in: any;
15
+ $nin: any;
16
+ $like: any;
17
+ $ilike: any;
18
+ $re: any;
19
+ $contains: any;
20
+ $gt: any;
21
+ $gte: any;
22
+ $lt: any;
23
+ $lte: any;
24
+ }, "strip", z.ZodTypeAny, {
25
+ $eq?: any;
26
+ $ne?: any;
27
+ $in?: any;
28
+ $nin?: any;
29
+ $like?: any;
30
+ $ilike?: any;
31
+ $re?: any;
32
+ $contains?: any;
33
+ $gt?: any;
34
+ $gte?: any;
35
+ $lt?: any;
36
+ $lte?: any;
37
+ }, {
38
+ $eq?: any;
39
+ $ne?: any;
40
+ $in?: any;
41
+ $nin?: any;
42
+ $like?: any;
43
+ $ilike?: any;
44
+ $re?: any;
45
+ $contains?: any;
46
+ $gt?: any;
47
+ $gte?: any;
48
+ $lt?: any;
49
+ $lte?: any;
50
+ }>]>>;
51
+ updated_at: z.ZodOptional<z.ZodUnion<[any, z.ZodObject<{
52
+ $eq: any;
53
+ $ne: any;
54
+ $in: any;
55
+ $nin: any;
56
+ $like: any;
57
+ $ilike: any;
58
+ $re: any;
59
+ $contains: any;
60
+ $gt: any;
61
+ $gte: any;
62
+ $lt: any;
63
+ $lte: any;
64
+ }, "strip", z.ZodTypeAny, {
65
+ $eq?: any;
66
+ $ne?: any;
67
+ $in?: any;
68
+ $nin?: any;
69
+ $like?: any;
70
+ $ilike?: any;
71
+ $re?: any;
72
+ $contains?: any;
73
+ $gt?: any;
74
+ $gte?: any;
75
+ $lt?: any;
76
+ $lte?: any;
77
+ }, {
78
+ $eq?: any;
79
+ $ne?: any;
80
+ $in?: any;
81
+ $nin?: any;
82
+ $like?: any;
83
+ $ilike?: any;
84
+ $re?: any;
85
+ $contains?: any;
86
+ $gt?: any;
87
+ $gte?: any;
88
+ $lt?: any;
89
+ $lte?: any;
90
+ }>]>>;
91
+ }, "strip", z.ZodTypeAny, {
92
+ offset: number;
93
+ limit: number;
94
+ fields?: string | undefined;
95
+ order?: string | undefined;
96
+ id?: string | string[] | undefined;
97
+ product_id?: string | string[] | undefined;
98
+ average_rating?: number | number[] | undefined;
99
+ created_at?: any;
100
+ updated_at?: any;
101
+ }, {
102
+ offset?: unknown;
103
+ limit?: unknown;
104
+ fields?: string | undefined;
105
+ order?: string | undefined;
106
+ id?: string | string[] | undefined;
107
+ product_id?: string | string[] | undefined;
108
+ average_rating?: number | number[] | undefined;
109
+ created_at?: any;
110
+ updated_at?: any;
111
+ }>;
112
+ export declare const defaultAdminProductReviewStatFields: string[];
113
+ export declare const defaultProductReviewStatsQueryConfig: {
114
+ defaults: string[];
115
+ defaultLimit: number;
116
+ isList: boolean;
117
+ };
118
+ export declare const adminProductReviewStatRoutesMiddlewares: MiddlewareRoute[];
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.adminProductReviewStatRoutesMiddlewares = exports.defaultProductReviewStatsQueryConfig = exports.defaultAdminProductReviewStatFields = exports.listAdminProductReviewStatsQuerySchema = void 0;
4
+ const framework_1 = require("@medusajs/framework");
5
+ const validators_1 = require("@medusajs/medusa/api/utils/validators");
6
+ const zod_1 = require("zod");
7
+ exports.listAdminProductReviewStatsQuerySchema = (0, validators_1.createFindParams)({
8
+ offset: 0,
9
+ limit: 50,
10
+ }).merge(zod_1.z.object({
11
+ id: zod_1.z.union([zod_1.z.string(), zod_1.z.array(zod_1.z.string())]).optional(),
12
+ product_id: zod_1.z.union([zod_1.z.string(), zod_1.z.array(zod_1.z.string())]).optional(),
13
+ average_rating: zod_1.z
14
+ .union([zod_1.z.number().max(5).min(1), zod_1.z.array(zod_1.z.number().max(5).min(1))])
15
+ .optional(),
16
+ created_at: (0, validators_1.createOperatorMap)().optional(),
17
+ updated_at: (0, validators_1.createOperatorMap)().optional(),
18
+ }));
19
+ exports.defaultAdminProductReviewStatFields = [
20
+ "id",
21
+ "product_id",
22
+ "average_rating",
23
+ "review_count",
24
+ "rating_count_1",
25
+ "rating_count_2",
26
+ "rating_count_3",
27
+ "rating_count_4",
28
+ "rating_count_5",
29
+ "created_at",
30
+ "updated_at",
31
+ ];
32
+ exports.defaultProductReviewStatsQueryConfig = {
33
+ defaults: [...exports.defaultAdminProductReviewStatFields],
34
+ defaultLimit: 50,
35
+ isList: true,
36
+ };
37
+ exports.adminProductReviewStatRoutesMiddlewares = [
38
+ {
39
+ matcher: "/admin/product-review-stats",
40
+ method: "GET",
41
+ middlewares: [
42
+ (0, framework_1.validateAndTransformQuery)(exports.listAdminProductReviewStatsQuerySchema, exports.defaultProductReviewStatsQueryConfig),
43
+ ],
44
+ },
45
+ ];
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3Byb2R1Y3QtcmV2aWV3LXN0YXRzL21pZGRsZXdhcmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1EQUc2QjtBQUM3QixzRUFHK0M7QUFDL0MsNkJBQXdCO0FBRVgsUUFBQSxzQ0FBc0MsR0FBRyxJQUFBLDZCQUFnQixFQUFDO0lBQ3JFLE1BQU0sRUFBRSxDQUFDO0lBQ1QsS0FBSyxFQUFFLEVBQUU7Q0FDVixDQUFDLENBQUMsS0FBSyxDQUNOLE9BQUMsQ0FBQyxNQUFNLENBQUM7SUFDUCxFQUFFLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxPQUFDLENBQUMsS0FBSyxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDekQsVUFBVSxFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQ2pFLGNBQWMsRUFBRSxPQUFDO1NBQ2QsS0FBSyxDQUFDLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDcEUsUUFBUSxFQUFFO0lBQ2IsVUFBVSxFQUFFLElBQUEsOEJBQWlCLEdBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDMUMsVUFBVSxFQUFFLElBQUEsOEJBQWlCLEdBQUUsQ0FBQyxRQUFRLEVBQUU7Q0FDM0MsQ0FBQyxDQUNILENBQUM7QUFFVyxRQUFBLG1DQUFtQyxHQUFHO0lBQ2pELElBQUk7SUFDSixZQUFZO0lBQ1osZ0JBQWdCO0lBQ2hCLGNBQWM7SUFDZCxnQkFBZ0I7SUFDaEIsZ0JBQWdCO0lBQ2hCLGdCQUFnQjtJQUNoQixnQkFBZ0I7SUFDaEIsZ0JBQWdCO0lBQ2hCLFlBQVk7SUFDWixZQUFZO0NBQ2IsQ0FBQztBQUVXLFFBQUEsb0NBQW9DLEdBQUc7SUFDbEQsUUFBUSxFQUFFLENBQUMsR0FBRywyQ0FBbUMsQ0FBQztJQUNsRCxZQUFZLEVBQUUsRUFBRTtJQUNoQixNQUFNLEVBQUUsSUFBSTtDQUNiLENBQUM7QUFFVyxRQUFBLHVDQUF1QyxHQUFzQjtJQUN4RTtRQUNFLE9BQU8sRUFBRSw2QkFBNkI7UUFDdEMsTUFBTSxFQUFFLEtBQUs7UUFDYixXQUFXLEVBQUU7WUFDWCxJQUFBLHFDQUF5QixFQUN2Qiw4Q0FBc0MsRUFDdEMsNENBQW9DLENBQ3JDO1NBQ0Y7S0FDRjtDQUNGLENBQUMifQ==
@@ -0,0 +1,2 @@
1
+ import { AuthenticatedMedusaRequest, MedusaResponse } from "@medusajs/framework";
2
+ export declare const GET: (req: AuthenticatedMedusaRequest, res: MedusaResponse) => Promise<void>;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.GET = void 0;
7
+ const refresh_all_product_review_stats_1 = __importDefault(require("../../../../jobs/refresh-all-product-review-stats"));
8
+ const api_response_1 = require("../../../../lib/api-response");
9
+ const GET = async (req, res) => {
10
+ try {
11
+ (0, refresh_all_product_review_stats_1.default)(req.scope);
12
+ return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)({}, "Product review stats initiated successfully", api_response_1.HttpStatus.OK));
13
+ }
14
+ catch (error) {
15
+ return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(error.message || "Failed to refresh product review stats", api_response_1.HttpStatus.INTERNAL_SERVER_ERROR, api_response_1.ErrorCode.INTERNAL_ERROR, { stack: error.stack }));
16
+ }
17
+ };
18
+ exports.GET = GET;
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3Byb2R1Y3QtcmV2aWV3LXN0YXRzL3JlZnJlc2gvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBS0EseUhBQTZGO0FBQzdGLCtEQU1zQztBQUUvQixNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQ3RCLEdBQStCLEVBQy9CLEdBQW1CLEVBQ25CLEVBQUU7SUFDRixJQUFJLENBQUM7UUFDSCxJQUFBLDBDQUE0QixFQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV4QyxPQUFPLElBQUEsOEJBQWUsRUFDcEIsR0FBRyxFQUNILElBQUEsb0NBQXFCLEVBQ25CLEVBQUUsRUFDRiw2Q0FBNkMsRUFDN0MseUJBQVUsQ0FBQyxFQUFFLENBQ2QsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixPQUFPLElBQUEsOEJBQWUsRUFDcEIsR0FBRyxFQUNILElBQUEsa0NBQW1CLEVBQ2pCLEtBQUssQ0FBQyxPQUFPLElBQUksd0NBQXdDLEVBQ3pELHlCQUFVLENBQUMscUJBQXFCLEVBQ2hDLHdCQUFTLENBQUMsY0FBYyxFQUN4QixFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSyxFQUFFLENBQ3ZCLENBQ0YsQ0FBQztJQUNKLENBQUM7QUFDSCxDQUFDLENBQUM7QUExQlcsUUFBQSxHQUFHLE9BMEJkIn0=
@@ -0,0 +1,2 @@
1
+ import type { AuthenticatedMedusaRequest, MedusaResponse } from "@medusajs/framework";
2
+ export declare const GET: (req: AuthenticatedMedusaRequest, res: MedusaResponse) => Promise<void>;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GET = void 0;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ const api_response_1 = require("../../../lib/api-response");
6
+ const GET = async (req, res) => {
7
+ const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
8
+ const { data, metadata } = await query.graph({
9
+ entity: "product_review_stats",
10
+ ...req.queryConfig,
11
+ filters: req.filterableFields,
12
+ });
13
+ return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)({ data, metadata }, "Product review stats fetched successfully", api_response_1.HttpStatus.OK));
14
+ };
15
+ exports.GET = GET;
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3Byb2R1Y3QtcmV2aWV3LXN0YXRzL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBLHFEQUFzRTtBQUV0RSw0REFJbUM7QUFFNUIsTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUN0QixHQUErQixFQUMvQixHQUFtQixFQUNuQixFQUFFO0lBQ0YsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFakUsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDM0MsTUFBTSxFQUFFLHNCQUFzQjtRQUM5QixHQUFHLEdBQUcsQ0FBQyxXQUFXO1FBQ2xCLE9BQU8sRUFBRSxHQUFHLENBQUMsZ0JBQWdCO0tBQzlCLENBQUMsQ0FBQztJQUVILE9BQU8sSUFBQSw4QkFBZSxFQUNwQixHQUFHLEVBQ0gsSUFBQSxvQ0FBcUIsRUFDbkIsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEVBQ2xCLDJDQUEyQyxFQUMzQyx5QkFBVSxDQUFDLEVBQUUsQ0FDZCxDQUNGLENBQUM7QUFDSixDQUFDLENBQUM7QUFwQlcsUUFBQSxHQUFHLE9Bb0JkIn0=
@@ -0,0 +1,11 @@
1
+ import { z } from "zod";
2
+ import { MiddlewareRoute } from "@medusajs/framework";
3
+ export declare const createProductReviewResponseDTO: z.ZodObject<{
4
+ content: z.ZodString;
5
+ }, "strip", z.ZodTypeAny, {
6
+ content: string;
7
+ }, {
8
+ content: string;
9
+ }>;
10
+ export type CreateProductReviewResponseDTO = z.infer<typeof createProductReviewResponseDTO>;
11
+ export declare const adminProductReviewResponseRouteMiddlewares: MiddlewareRoute[];
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.adminProductReviewResponseRouteMiddlewares = exports.createProductReviewResponseDTO = void 0;
4
+ const zod_1 = require("zod");
5
+ const framework_1 = require("@medusajs/framework");
6
+ exports.createProductReviewResponseDTO = zod_1.z.object({
7
+ content: zod_1.z.string().min(1),
8
+ });
9
+ exports.adminProductReviewResponseRouteMiddlewares = [
10
+ {
11
+ matcher: "/admin/product-reviews/:id/response",
12
+ method: "POST",
13
+ middlewares: [(0, framework_1.validateAndTransformBody)(exports.createProductReviewResponseDTO)],
14
+ },
15
+ {
16
+ matcher: "/admin/product-reviews/:id/response",
17
+ method: "PUT",
18
+ middlewares: [(0, framework_1.validateAndTransformBody)(exports.createProductReviewResponseDTO)],
19
+ },
20
+ {
21
+ matcher: "/admin/product-reviews/:id/response",
22
+ method: "DELETE",
23
+ middlewares: [],
24
+ },
25
+ ];
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3Byb2R1Y3QtcmV2aWV3cy9baWRdL3Jlc3BvbnNlL21pZGRsZXdhcmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZCQUF3QjtBQUN4QixtREFBZ0Y7QUFFbkUsUUFBQSw4QkFBOEIsR0FBRyxPQUFDLENBQUMsTUFBTSxDQUFDO0lBQ3JELE9BQU8sRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztDQUMzQixDQUFDLENBQUM7QUFNVSxRQUFBLDBDQUEwQyxHQUFzQjtJQUMzRTtRQUNFLE9BQU8sRUFBRSxxQ0FBcUM7UUFDOUMsTUFBTSxFQUFFLE1BQU07UUFDZCxXQUFXLEVBQUUsQ0FBQyxJQUFBLG9DQUF3QixFQUFDLHNDQUE4QixDQUFDLENBQUM7S0FDeEU7SUFDRDtRQUNFLE9BQU8sRUFBRSxxQ0FBcUM7UUFDOUMsTUFBTSxFQUFFLEtBQUs7UUFDYixXQUFXLEVBQUUsQ0FBQyxJQUFBLG9DQUF3QixFQUFDLHNDQUE4QixDQUFDLENBQUM7S0FDeEU7SUFDRDtRQUNFLE9BQU8sRUFBRSxxQ0FBcUM7UUFDOUMsTUFBTSxFQUFFLFFBQVE7UUFDaEIsV0FBVyxFQUFFLEVBQUU7S0FDaEI7Q0FDRixDQUFDIn0=
@@ -0,0 +1,5 @@
1
+ import type { AuthenticatedMedusaRequest, MedusaResponse } from "@medusajs/framework";
2
+ import type { CreateProductReviewResponseDTO } from "./middlewares";
3
+ export declare const POST: (req: AuthenticatedMedusaRequest<CreateProductReviewResponseDTO>, res: MedusaResponse) => Promise<void>;
4
+ export declare const PUT: (req: AuthenticatedMedusaRequest<CreateProductReviewResponseDTO>, res: MedusaResponse) => Promise<void>;
5
+ export declare const DELETE: (req: AuthenticatedMedusaRequest, res: MedusaResponse) => Promise<void>;
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DELETE = exports.PUT = exports.POST = void 0;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ const api_response_1 = require("../../../../../lib/api-response");
6
+ const create_product_review_response_1 = require("../../../../../workflows/product-reviews/workflows/create-product-review-response");
7
+ const delete_product_review_responses_1 = require("../../../../../workflows/product-reviews/workflows/delete-product-review-responses");
8
+ const update_product_review_responses_1 = require("../../../../../workflows/product-reviews/workflows/update-product-review-responses");
9
+ const POST = async (req, res) => {
10
+ try {
11
+ const product_review_id = req.params.id;
12
+ const { result } = await (0, create_product_review_response_1.createProductReviewResponseWorkflow)(req.scope).run({
13
+ input: {
14
+ admin_user_id: req.auth_context.actor_id,
15
+ product_review_id,
16
+ content: req.validatedBody.content,
17
+ },
18
+ });
19
+ return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)({ result }, "Product review response created successfully", api_response_1.HttpStatus.OK));
20
+ }
21
+ catch (error) {
22
+ return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(error.message || "Failed to create product review response", api_response_1.HttpStatus.INTERNAL_SERVER_ERROR, api_response_1.ErrorCode.INTERNAL_ERROR, { stack: error.stack }));
23
+ }
24
+ };
25
+ exports.POST = POST;
26
+ const PUT = async (req, res) => {
27
+ try {
28
+ const product_review_id = req.params.id;
29
+ const query = req.scope.resolve("query");
30
+ const { data: [product_review_response], } = await query.graph({
31
+ entity: "product_review_response",
32
+ fields: ["*"],
33
+ filters: { product_review_id },
34
+ });
35
+ if (!product_review_response) {
36
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, "Product review response not found");
37
+ }
38
+ const { result } = await (0, update_product_review_responses_1.updateProductReviewResponseWorkflow)(req.scope).run({
39
+ input: {
40
+ admin_user_id: req.auth_context.actor_id,
41
+ product_review_id: product_review_response.product_review_id,
42
+ content: req.body.content,
43
+ },
44
+ });
45
+ return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)({ result }, "Product review response updated successfully", api_response_1.HttpStatus.OK));
46
+ }
47
+ catch (error) {
48
+ console.log("error: ", error);
49
+ return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(error.message || "Failed to update product review response", api_response_1.HttpStatus.INTERNAL_SERVER_ERROR, api_response_1.ErrorCode.INTERNAL_ERROR, { stack: error.stack }));
50
+ }
51
+ };
52
+ exports.PUT = PUT;
53
+ const DELETE = async (req, res) => {
54
+ try {
55
+ const product_review_id = req.params.id;
56
+ await (0, delete_product_review_responses_1.deleteProductReviewResponseWorkflow)(req.scope).run({
57
+ input: { id: product_review_id },
58
+ });
59
+ return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)({ id: product_review_id }, "Product review response deleted successfully", api_response_1.HttpStatus.OK));
60
+ }
61
+ catch (error) {
62
+ return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(error.message || "Failed to delete product review response", api_response_1.HttpStatus.INTERNAL_SERVER_ERROR, api_response_1.ErrorCode.INTERNAL_ERROR, { stack: error.stack }));
63
+ }
64
+ };
65
+ exports.DELETE = DELETE;
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3Byb2R1Y3QtcmV2aWV3cy9baWRdL3Jlc3BvbnNlL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBLHFEQUF3RDtBQUV4RCxrRUFNeUM7QUFDekMsc0lBQXdJO0FBQ3hJLHdJQUF5STtBQUN6SSx3SUFBeUk7QUFHbEksTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUN2QixHQUErRCxFQUMvRCxHQUFtQixFQUNuQixFQUFFO0lBQ0YsSUFBSSxDQUFDO1FBQ0gsTUFBTSxpQkFBaUIsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUV4QyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxJQUFBLG9FQUFtQyxFQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQ3pFO1lBQ0UsS0FBSyxFQUFFO2dCQUNMLGFBQWEsRUFBRSxHQUFHLENBQUMsWUFBWSxDQUFDLFFBQVE7Z0JBQ3hDLGlCQUFpQjtnQkFDakIsT0FBTyxFQUFFLEdBQUcsQ0FBQyxhQUFhLENBQUMsT0FBTzthQUNuQztTQUNGLENBQ0YsQ0FBQztRQUVGLE9BQU8sSUFBQSw4QkFBZSxFQUNwQixHQUFHLEVBQ0gsSUFBQSxvQ0FBcUIsRUFDbkIsRUFBRSxNQUFNLEVBQUUsRUFDViw4Q0FBOEMsRUFDOUMseUJBQVUsQ0FBQyxFQUFFLENBQ2QsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixPQUFPLElBQUEsOEJBQWUsRUFDcEIsR0FBRyxFQUNILElBQUEsa0NBQW1CLEVBQ2pCLEtBQUssQ0FBQyxPQUFPLElBQUksMENBQTBDLEVBQzNELHlCQUFVLENBQUMscUJBQXFCLEVBQ2hDLHdCQUFTLENBQUMsY0FBYyxFQUN4QixFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSyxFQUFF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
@@ -0,0 +1,3 @@
1
+ import { AuthenticatedMedusaRequest, MedusaResponse } from "@medusajs/framework";
2
+ export declare const GET: (req: AuthenticatedMedusaRequest, res: MedusaResponse) => Promise<void>;
3
+ export declare const DELETE: (req: AuthenticatedMedusaRequest, res: MedusaResponse) => Promise<void>;