@86d-app/reviews 0.0.22 → 0.0.24

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 (131) hide show
  1. package/dist/modules/reviews/src/__tests__/controllers.test.js +937 -0
  2. package/dist/modules/reviews/src/__tests__/endpoint-security.test.js +438 -0
  3. package/dist/modules/reviews/src/__tests__/new-features.test.js +467 -0
  4. package/dist/modules/reviews/src/__tests__/service-impl.test.js +1042 -0
  5. package/dist/modules/reviews/src/__tests__/store-endpoints.test.js +456 -0
  6. package/dist/{admin/components/index.d.ts → modules/reviews/src/admin/components/index.js} +0 -1
  7. package/dist/modules/reviews/src/admin/components/review-analytics.jsx +141 -0
  8. package/dist/modules/reviews/src/admin/components/review-list.jsx +181 -0
  9. package/dist/modules/reviews/src/admin/components/review-moderation.jsx +297 -0
  10. package/dist/modules/reviews/src/admin/endpoints/approve-review.js +11 -0
  11. package/dist/modules/reviews/src/admin/endpoints/delete-review.js +12 -0
  12. package/dist/modules/reviews/src/admin/endpoints/get-review.js +11 -0
  13. package/dist/modules/reviews/src/admin/endpoints/index.js +26 -0
  14. package/dist/modules/reviews/src/admin/endpoints/list-reports.js +19 -0
  15. package/dist/modules/reviews/src/admin/endpoints/list-review-requests.js +17 -0
  16. package/dist/modules/reviews/src/admin/endpoints/list-reviews.js +19 -0
  17. package/dist/modules/reviews/src/admin/endpoints/reject-review.js +11 -0
  18. package/dist/modules/reviews/src/admin/endpoints/respond-review.js +14 -0
  19. package/dist/modules/reviews/src/admin/endpoints/review-analytics.js +8 -0
  20. package/dist/modules/reviews/src/admin/endpoints/review-request-stats.js +6 -0
  21. package/dist/modules/reviews/src/admin/endpoints/send-review-request.js +31 -0
  22. package/dist/modules/reviews/src/admin/endpoints/update-report.js +14 -0
  23. package/dist/modules/reviews/src/index.js +57 -0
  24. package/dist/modules/reviews/src/schema.js +63 -0
  25. package/dist/modules/reviews/src/service-impl.js +349 -0
  26. package/dist/modules/reviews/src/service.js +1 -0
  27. package/dist/modules/reviews/src/store/components/_hooks.js +10 -0
  28. package/dist/modules/reviews/src/store/components/_utils.js +17 -0
  29. package/dist/modules/reviews/src/store/components/distribution-bars.jsx +5 -0
  30. package/dist/modules/reviews/src/store/components/index.jsx +17 -0
  31. package/dist/modules/reviews/src/store/components/product-reviews.jsx +94 -0
  32. package/dist/modules/reviews/src/store/components/review-card.jsx +44 -0
  33. package/dist/modules/reviews/src/store/components/review-form.jsx +39 -0
  34. package/dist/modules/reviews/src/store/components/reviews-summary.jsx +15 -0
  35. package/dist/modules/reviews/src/store/components/star-display.jsx +12 -0
  36. package/dist/modules/reviews/src/store/components/star-picker.jsx +7 -0
  37. package/dist/modules/reviews/src/store/endpoints/index.js +12 -0
  38. package/dist/modules/reviews/src/store/endpoints/list-my-reviews.js +29 -0
  39. package/dist/modules/reviews/src/store/endpoints/list-product-reviews.js +24 -0
  40. package/dist/modules/reviews/src/store/endpoints/mark-helpful.js +29 -0
  41. package/dist/modules/reviews/src/store/endpoints/report-review.js +30 -0
  42. package/dist/modules/reviews/src/store/endpoints/submit-review.js +46 -0
  43. package/package.json +1 -1
  44. package/src/__tests__/store-endpoints.test.ts +648 -0
  45. package/src/admin/components/review-list.tsx +3 -2
  46. package/src/admin/components/review-moderation.tsx +3 -2
  47. package/src/service-impl.ts +17 -26
  48. package/src/service.ts +18 -18
  49. package/src/store/components/_utils.ts +3 -2
  50. package/src/store/components/product-reviews.tsx +38 -6
  51. package/dist/__tests__/controllers.test.d.ts +0 -2
  52. package/dist/__tests__/controllers.test.d.ts.map +0 -1
  53. package/dist/__tests__/endpoint-security.test.d.ts +0 -2
  54. package/dist/__tests__/endpoint-security.test.d.ts.map +0 -1
  55. package/dist/__tests__/new-features.test.d.ts +0 -2
  56. package/dist/__tests__/new-features.test.d.ts.map +0 -1
  57. package/dist/__tests__/service-impl.test.d.ts +0 -2
  58. package/dist/__tests__/service-impl.test.d.ts.map +0 -1
  59. package/dist/admin/components/index.d.ts.map +0 -1
  60. package/dist/admin/components/review-analytics.d.ts +0 -2
  61. package/dist/admin/components/review-analytics.d.ts.map +0 -1
  62. package/dist/admin/components/review-list.d.ts +0 -2
  63. package/dist/admin/components/review-list.d.ts.map +0 -1
  64. package/dist/admin/components/review-moderation.d.ts +0 -6
  65. package/dist/admin/components/review-moderation.d.ts.map +0 -1
  66. package/dist/admin/endpoints/approve-review.d.ts +0 -16
  67. package/dist/admin/endpoints/approve-review.d.ts.map +0 -1
  68. package/dist/admin/endpoints/delete-review.d.ts +0 -16
  69. package/dist/admin/endpoints/delete-review.d.ts.map +0 -1
  70. package/dist/admin/endpoints/get-review.d.ts +0 -16
  71. package/dist/admin/endpoints/get-review.d.ts.map +0 -1
  72. package/dist/admin/endpoints/index.d.ts +0 -167
  73. package/dist/admin/endpoints/index.d.ts.map +0 -1
  74. package/dist/admin/endpoints/list-reports.d.ts +0 -17
  75. package/dist/admin/endpoints/list-reports.d.ts.map +0 -1
  76. package/dist/admin/endpoints/list-review-requests.d.ts +0 -11
  77. package/dist/admin/endpoints/list-review-requests.d.ts.map +0 -1
  78. package/dist/admin/endpoints/list-reviews.d.ts +0 -18
  79. package/dist/admin/endpoints/list-reviews.d.ts.map +0 -1
  80. package/dist/admin/endpoints/reject-review.d.ts +0 -16
  81. package/dist/admin/endpoints/reject-review.d.ts.map +0 -1
  82. package/dist/admin/endpoints/respond-review.d.ts +0 -19
  83. package/dist/admin/endpoints/respond-review.d.ts.map +0 -1
  84. package/dist/admin/endpoints/review-analytics.d.ts +0 -6
  85. package/dist/admin/endpoints/review-analytics.d.ts.map +0 -1
  86. package/dist/admin/endpoints/review-request-stats.d.ts +0 -6
  87. package/dist/admin/endpoints/review-request-stats.d.ts.map +0 -1
  88. package/dist/admin/endpoints/send-review-request.d.ts +0 -23
  89. package/dist/admin/endpoints/send-review-request.d.ts.map +0 -1
  90. package/dist/admin/endpoints/update-report.d.ts +0 -22
  91. package/dist/admin/endpoints/update-report.d.ts.map +0 -1
  92. package/dist/index.d.ts +0 -8
  93. package/dist/index.d.ts.map +0 -1
  94. package/dist/schema.d.ts +0 -136
  95. package/dist/schema.d.ts.map +0 -1
  96. package/dist/service-impl.d.ts +0 -6
  97. package/dist/service-impl.d.ts.map +0 -1
  98. package/dist/service.d.ts +0 -149
  99. package/dist/service.d.ts.map +0 -1
  100. package/dist/store/components/_hooks.d.ts +0 -6
  101. package/dist/store/components/_hooks.d.ts.map +0 -1
  102. package/dist/store/components/_utils.d.ts +0 -3
  103. package/dist/store/components/_utils.d.ts.map +0 -1
  104. package/dist/store/components/distribution-bars.d.ts +0 -5
  105. package/dist/store/components/distribution-bars.d.ts.map +0 -1
  106. package/dist/store/components/index.d.ts +0 -18
  107. package/dist/store/components/index.d.ts.map +0 -1
  108. package/dist/store/components/product-reviews.d.ts +0 -5
  109. package/dist/store/components/product-reviews.d.ts.map +0 -1
  110. package/dist/store/components/review-card.d.ts +0 -18
  111. package/dist/store/components/review-card.d.ts.map +0 -1
  112. package/dist/store/components/review-form.d.ts +0 -5
  113. package/dist/store/components/review-form.d.ts.map +0 -1
  114. package/dist/store/components/reviews-summary.d.ts +0 -4
  115. package/dist/store/components/reviews-summary.d.ts.map +0 -1
  116. package/dist/store/components/star-display.d.ts +0 -5
  117. package/dist/store/components/star-display.d.ts.map +0 -1
  118. package/dist/store/components/star-picker.d.ts +0 -5
  119. package/dist/store/components/star-picker.d.ts.map +0 -1
  120. package/dist/store/endpoints/index.d.ts +0 -116
  121. package/dist/store/endpoints/index.d.ts.map +0 -1
  122. package/dist/store/endpoints/list-my-reviews.d.ts +0 -30
  123. package/dist/store/endpoints/list-my-reviews.d.ts.map +0 -1
  124. package/dist/store/endpoints/list-product-reviews.d.ts +0 -23
  125. package/dist/store/endpoints/list-product-reviews.d.ts.map +0 -1
  126. package/dist/store/endpoints/mark-helpful.d.ts +0 -18
  127. package/dist/store/endpoints/mark-helpful.d.ts.map +0 -1
  128. package/dist/store/endpoints/report-review.d.ts +0 -27
  129. package/dist/store/endpoints/report-review.d.ts.map +0 -1
  130. package/dist/store/endpoints/submit-review.d.ts +0 -25
  131. package/dist/store/endpoints/submit-review.d.ts.map +0 -1
@@ -1,116 +0,0 @@
1
- export declare const storeEndpoints: {
2
- "/reviews": import("better-call").StrictEndpoint<"/reviews", {
3
- method: "POST";
4
- body: import("zod").ZodObject<{
5
- productId: import("zod").ZodString;
6
- authorName: import("zod").ZodPipe<import("zod").ZodString, import("zod").ZodTransform<string, string>>;
7
- authorEmail: import("zod").ZodString;
8
- rating: import("zod").ZodNumber;
9
- title: import("zod").ZodOptional<import("zod").ZodPipe<import("zod").ZodString, import("zod").ZodTransform<string, string>>>;
10
- body: import("zod").ZodPipe<import("zod").ZodString, import("zod").ZodTransform<string, string>>;
11
- images: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
12
- url: import("zod").ZodString;
13
- caption: import("zod").ZodOptional<import("zod").ZodPipe<import("zod").ZodString, import("zod").ZodTransform<string, string>>>;
14
- }, import("zod/v4/core").$strip>>>;
15
- }, import("zod/v4/core").$strip>;
16
- }, {
17
- error: string;
18
- status: number;
19
- review?: never;
20
- } | {
21
- review: import("../..").Review;
22
- error?: never;
23
- status?: never;
24
- }>;
25
- "/reviews/me": import("better-call").StrictEndpoint<"/reviews/me", {
26
- method: "GET";
27
- query: import("zod").ZodObject<{
28
- page: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodCoercedNumber<unknown>>>;
29
- limit: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodCoercedNumber<unknown>>>;
30
- status: import("zod").ZodOptional<import("zod").ZodEnum<{
31
- pending: "pending";
32
- approved: "approved";
33
- rejected: "rejected";
34
- }>>;
35
- }, import("zod/v4/core").$strip>;
36
- }, {
37
- error: string;
38
- status: number;
39
- reviews?: never;
40
- total?: never;
41
- page?: never;
42
- limit?: never;
43
- pages?: never;
44
- } | {
45
- reviews: import("../..").Review[];
46
- total: number;
47
- page: number;
48
- limit: number;
49
- pages: number;
50
- error?: never;
51
- status?: never;
52
- }>;
53
- "/reviews/products/:productId": import("better-call").StrictEndpoint<"/reviews/products/:productId", {
54
- method: "GET";
55
- params: import("zod").ZodObject<{
56
- productId: import("zod").ZodString;
57
- }, import("zod/v4/core").$strip>;
58
- query: import("zod").ZodObject<{
59
- take: import("zod").ZodOptional<import("zod").ZodCoercedNumber<unknown>>;
60
- skip: import("zod").ZodOptional<import("zod").ZodCoercedNumber<unknown>>;
61
- sortBy: import("zod").ZodOptional<import("zod").ZodEnum<{
62
- recent: "recent";
63
- oldest: "oldest";
64
- highest: "highest";
65
- lowest: "lowest";
66
- helpful: "helpful";
67
- }>>;
68
- }, import("zod/v4/core").$strip>;
69
- }, {
70
- reviews: import("../..").Review[];
71
- summary: import("../..").RatingSummary;
72
- total: number;
73
- }>;
74
- "/reviews/:id/helpful": import("better-call").StrictEndpoint<"/reviews/:id/helpful", {
75
- method: "POST";
76
- params: import("zod").ZodObject<{
77
- id: import("zod").ZodString;
78
- }, import("zod/v4/core").$strip>;
79
- }, {
80
- error: string;
81
- status: number;
82
- helpfulCount?: never;
83
- alreadyVoted?: never;
84
- } | {
85
- helpfulCount: number;
86
- alreadyVoted: boolean;
87
- error?: never;
88
- status?: never;
89
- }>;
90
- "/reviews/:id/report": import("better-call").StrictEndpoint<"/reviews/:id/report", {
91
- method: "POST";
92
- params: import("zod").ZodObject<{
93
- id: import("zod").ZodString;
94
- }, import("zod/v4/core").$strip>;
95
- body: import("zod").ZodObject<{
96
- reason: import("zod").ZodEnum<{
97
- spam: "spam";
98
- offensive: "offensive";
99
- fake: "fake";
100
- irrelevant: "irrelevant";
101
- harassment: "harassment";
102
- other: "other";
103
- }>;
104
- details: import("zod").ZodOptional<import("zod").ZodPipe<import("zod").ZodString, import("zod").ZodTransform<string, string>>>;
105
- }, import("zod/v4/core").$strip>;
106
- }, {
107
- error: string;
108
- status: number;
109
- report?: never;
110
- } | {
111
- report: import("../..").ReviewReport;
112
- error?: never;
113
- status?: never;
114
- }>;
115
- };
116
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/store/endpoints/index.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAM1B,CAAC"}
@@ -1,30 +0,0 @@
1
- import { z } from "@86d-app/core";
2
- export declare const listMyReviews: import("better-call").StrictEndpoint<"/reviews/me", {
3
- method: "GET";
4
- query: z.ZodObject<{
5
- page: z.ZodDefault<z.ZodOptional<z.ZodCoercedNumber<unknown>>>;
6
- limit: z.ZodDefault<z.ZodOptional<z.ZodCoercedNumber<unknown>>>;
7
- status: z.ZodOptional<z.ZodEnum<{
8
- pending: "pending";
9
- approved: "approved";
10
- rejected: "rejected";
11
- }>>;
12
- }, z.core.$strip>;
13
- }, {
14
- error: string;
15
- status: number;
16
- reviews?: never;
17
- total?: never;
18
- page?: never;
19
- limit?: never;
20
- pages?: never;
21
- } | {
22
- reviews: import("../..").Review[];
23
- total: number;
24
- page: number;
25
- limit: number;
26
- pages: number;
27
- error?: never;
28
- status?: never;
29
- }>;
30
- //# sourceMappingURL=list-my-reviews.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list-my-reviews.d.ts","sourceRoot":"","sources":["../../../src/store/endpoints/list-my-reviews.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,CAAC,EAAE,MAAM,eAAe,CAAC;AAGvD,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkCzB,CAAC"}
@@ -1,23 +0,0 @@
1
- import { z } from "@86d-app/core";
2
- export declare const listProductReviews: import("better-call").StrictEndpoint<"/reviews/products/:productId", {
3
- method: "GET";
4
- params: z.ZodObject<{
5
- productId: z.ZodString;
6
- }, z.core.$strip>;
7
- query: z.ZodObject<{
8
- take: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
9
- skip: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
10
- sortBy: z.ZodOptional<z.ZodEnum<{
11
- recent: "recent";
12
- oldest: "oldest";
13
- highest: "highest";
14
- lowest: "lowest";
15
- helpful: "helpful";
16
- }>>;
17
- }, z.core.$strip>;
18
- }, {
19
- reviews: import("../..").Review[];
20
- summary: import("../..").RatingSummary;
21
- total: number;
22
- }>;
23
- //# sourceMappingURL=list-product-reviews.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list-product-reviews.d.ts","sourceRoot":"","sources":["../../../src/store/endpoints/list-product-reviews.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,CAAC,EAAE,MAAM,eAAe,CAAC;AAGvD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;EA0B9B,CAAC"}
@@ -1,18 +0,0 @@
1
- import { z } from "@86d-app/core";
2
- export declare const markHelpful: import("better-call").StrictEndpoint<"/reviews/:id/helpful", {
3
- method: "POST";
4
- params: z.ZodObject<{
5
- id: z.ZodString;
6
- }, z.core.$strip>;
7
- }, {
8
- error: string;
9
- status: number;
10
- helpfulCount?: never;
11
- alreadyVoted?: never;
12
- } | {
13
- helpfulCount: number;
14
- alreadyVoted: boolean;
15
- error?: never;
16
- status?: never;
17
- }>;
18
- //# sourceMappingURL=mark-helpful.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mark-helpful.d.ts","sourceRoot":"","sources":["../../../src/store/endpoints/mark-helpful.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,CAAC,EAAE,MAAM,eAAe,CAAC;AAGvD,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;EA+BvB,CAAC"}
@@ -1,27 +0,0 @@
1
- import { z } from "@86d-app/core";
2
- export declare const reportReview: import("better-call").StrictEndpoint<"/reviews/:id/report", {
3
- method: "POST";
4
- params: z.ZodObject<{
5
- id: z.ZodString;
6
- }, z.core.$strip>;
7
- body: z.ZodObject<{
8
- reason: z.ZodEnum<{
9
- spam: "spam";
10
- offensive: "offensive";
11
- fake: "fake";
12
- irrelevant: "irrelevant";
13
- harassment: "harassment";
14
- other: "other";
15
- }>;
16
- details: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
17
- }, z.core.$strip>;
18
- }, {
19
- error: string;
20
- status: number;
21
- report?: never;
22
- } | {
23
- report: import("../..").ReviewReport;
24
- error?: never;
25
- status?: never;
26
- }>;
27
- //# sourceMappingURL=report-review.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"report-review.d.ts","sourceRoot":"","sources":["../../../src/store/endpoints/report-review.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqC,CAAC,EAAE,MAAM,eAAe,CAAC;AAGrE,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;EAkCxB,CAAC"}
@@ -1,25 +0,0 @@
1
- import { z } from "@86d-app/core";
2
- export declare const submitReview: import("better-call").StrictEndpoint<"/reviews", {
3
- method: "POST";
4
- body: z.ZodObject<{
5
- productId: z.ZodString;
6
- authorName: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
7
- authorEmail: z.ZodString;
8
- rating: z.ZodNumber;
9
- title: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
10
- body: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
11
- images: z.ZodOptional<z.ZodArray<z.ZodObject<{
12
- url: z.ZodString;
13
- caption: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
14
- }, z.core.$strip>>>;
15
- }, z.core.$strip>;
16
- }, {
17
- error: string;
18
- status: number;
19
- review?: never;
20
- } | {
21
- review: import("../..").Review;
22
- error?: never;
23
- status?: never;
24
- }>;
25
- //# sourceMappingURL=submit-review.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"submit-review.d.ts","sourceRoot":"","sources":["../../../src/store/endpoints/submit-review.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqC,CAAC,EAAE,MAAM,eAAe,CAAC;AAQrE,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;EAkDxB,CAAC"}