@devx-commerce/plugin-form-responses 0.0.2-beta.10 → 0.0.2-beta.12

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.
@@ -17,6 +17,24 @@ async function GET(req, res) {
17
17
  id: id,
18
18
  },
19
19
  });
20
+ if (formResponse.product) {
21
+ const { data: productVariant } = await query.graph({
22
+ entity: "product_variant",
23
+ fields: [
24
+ "id",
25
+ "title",
26
+ "product.handle",
27
+ "product.id",
28
+ "product.title",
29
+ ],
30
+ filters: {
31
+ id: formResponse.product,
32
+ },
33
+ });
34
+ if (productVariant) {
35
+ formResponse.product = productVariant[0];
36
+ }
37
+ }
20
38
  return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)({
21
39
  formResponse,
22
40
  }));
@@ -45,4 +63,4 @@ async function DELETE(req, res) {
45
63
  workflow,
46
64
  }));
47
65
  }
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2Zvcm0tcmVzcG9uc2UvW2lkXS9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWVBLGtCQTZCQztBQUVELGtCQWlCQztBQUVELHdCQWVDO0FBNUVELCtEQUlzQztBQUN0Qyw2RUFHdUQ7QUFHaEQsS0FBSyxVQUFVLEdBQUcsQ0FDdkIsR0FBK0IsRUFDL0IsR0FBbUI7SUFFbkIsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDekMsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUM7SUFDMUIsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFM0MsSUFBSSxDQUFDO1FBQ0gsTUFBTSxFQUNKLElBQUksRUFBRSxDQUFDLFlBQVksQ0FBQyxHQUNyQixHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztZQUNwQixNQUFNLEVBQUUsZ0JBQWdCO1lBQ3hCLE1BQU0sRUFBRSxHQUFHLENBQUMsV0FBVyxDQUFDLE1BQU07WUFDOUIsT0FBTyxFQUFFO2dCQUNQLEVBQUUsRUFBRSxFQUFFO2FBQ1A7U0FDRixDQUFDLENBQUM7UUFFSCxPQUFPLElBQUEsOEJBQWUsRUFDcEIsR0FBRyxFQUNILElBQUEsb0NBQXFCLEVBQUM7WUFDcEIsWUFBWTtTQUNiLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixNQUFNLENBQUMsS0FBSyxDQUFDLHFDQUFxQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ3pELE9BQU8sSUFBQSw4QkFBZSxFQUFDLEdBQUcsRUFBRSxJQUFBLGtDQUFtQixFQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDOUUsQ0FBQztBQUNILENBQUM7QUFFTSxLQUFLLFVBQVUsR0FBRyxDQUN2QixHQUF1RCxFQUN2RCxHQUFtQjtJQUVuQixNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQztJQUMxQixNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsYUFBYSxDQUFDO0lBRS9CLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLElBQUEsc0NBQTBCLEVBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUNqRSxLQUFLLEVBQUUsRUFBRSxHQUFHLElBQUksRUFBRSxFQUFFLEVBQUU7S0FDdkIsQ0FBQyxDQUFDO0lBRUgsT0FBTyxJQUFBLDhCQUFlLEVBQ3BCLEdBQUcsRUFDSCxJQUFBLG9DQUFxQixFQUFDO1FBQ3BCLE1BQU07S0FDUCxDQUFDLENBQ0gsQ0FBQztBQUNKLENBQUM7QUFFTSxLQUFLLFVBQVUsTUFBTSxDQUMxQixHQUErQixFQUMvQixHQUFtQjtJQUVuQixNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQztJQUMxQixNQUFNLFFBQVEsR0FBRyxJQUFBLHNDQUEwQixFQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDekQsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFO0tBQ2QsQ0FBQyxDQUFDO0lBRUgsT0FBTyxJQUFBLDhCQUFlLEVBQ3BCLEdBQUcsRUFDSCxJQUFBLG9DQUFxQixFQUFDO1FBQ3BCLFFBQVE7S0FDVCxDQUFDLENBQ0gsQ0FBQztBQUNKLENBQUMifQ==
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2Zvcm0tcmVzcG9uc2UvW2lkXS9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWVBLGtCQWlEQztBQUVELGtCQWlCQztBQUVELHdCQWVDO0FBaEdELCtEQUlzQztBQUN0Qyw2RUFHdUQ7QUFHaEQsS0FBSyxVQUFVLEdBQUcsQ0FDdkIsR0FBK0IsRUFDL0IsR0FBbUI7SUFFbkIsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDekMsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUM7SUFDMUIsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFM0MsSUFBSSxDQUFDO1FBQ0gsTUFBTSxFQUNKLElBQUksRUFBRSxDQUFDLFlBQVksQ0FBQyxHQUNyQixHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztZQUNwQixNQUFNLEVBQUUsZ0JBQWdCO1lBQ3hCLE1BQU0sRUFBRSxHQUFHLENBQUMsV0FBVyxDQUFDLE1BQU07WUFDOUIsT0FBTyxFQUFFO2dCQUNQLEVBQUUsRUFBRSxFQUFFO2FBQ1A7U0FDRixDQUFDLENBQUM7UUFFSCxJQUFJLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN6QixNQUFNLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztnQkFDakQsTUFBTSxFQUFFLGlCQUFpQjtnQkFDekIsTUFBTSxFQUFFO29CQUNOLElBQUk7b0JBQ0osT0FBTztvQkFDUCxnQkFBZ0I7b0JBQ2hCLFlBQVk7b0JBQ1osZUFBZTtpQkFDaEI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLEVBQUUsRUFBRSxZQUFZLENBQUMsT0FBTztpQkFDekI7YUFDRixDQUFDLENBQUM7WUFFSCxJQUFJLGNBQWMsRUFBRSxDQUFDO2dCQUNuQixZQUFZLENBQUMsT0FBTyxHQUFHLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMzQyxDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sSUFBQSw4QkFBZSxFQUNwQixHQUFHLEVBQ0gsSUFBQSxvQ0FBcUIsRUFBQztZQUNwQixZQUFZO1NBQ2IsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE1BQU0sQ0FBQyxLQUFLLENBQUMscUNBQXFDLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDekQsT0FBTyxJQUFBLDhCQUFlLEVBQUMsR0FBRyxFQUFFLElBQUEsa0NBQW1CLEVBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM5RSxDQUFDO0FBQ0gsQ0FBQztBQUVNLEtBQUssVUFBVSxHQUFHLENBQ3ZCLEdBQXVELEVBQ3ZELEdBQW1CO0lBRW5CLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDO0lBQzFCLE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxhQUFhLENBQUM7SUFFL0IsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sSUFBQSxzQ0FBMEIsRUFBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQ2pFLEtBQUssRUFBRSxFQUFFLEdBQUcsSUFBSSxFQUFFLEVBQUUsRUFBRTtLQUN2QixDQUFDLENBQUM7SUFFSCxPQUFPLElBQUEsOEJBQWUsRUFDcEIsR0FBRyxFQUNILElBQUEsb0NBQXFCLEVBQUM7UUFDcEIsTUFBTTtLQUNQLENBQUMsQ0FDSCxDQUFDO0FBQ0osQ0FBQztBQUVNLEtBQUssVUFBVSxNQUFNLENBQzFCLEdBQStCLEVBQy9CLEdBQW1CO0lBRW5CLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDO0lBQzFCLE1BQU0sUUFBUSxHQUFHLElBQUEsc0NBQTBCLEVBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUN6RCxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUU7S0FDZCxDQUFDLENBQUM7SUFFSCxPQUFPLElBQUEsOEJBQWUsRUFDcEIsR0FBRyxFQUNILElBQUEsb0NBQXFCLEVBQUM7UUFDcEIsUUFBUTtLQUNULENBQUMsQ0FDSCxDQUFDO0FBQ0osQ0FBQyJ9
@@ -17,6 +17,7 @@ exports.AdminFormResponseFields = [
17
17
  "state",
18
18
  "current_business_details",
19
19
  "business_budget",
20
+ "product",
20
21
  "created_at",
21
22
  "updated_at",
22
23
  ];
@@ -44,4 +45,4 @@ const handleSearchMiddleware = (req, res, next) => {
44
45
  next();
45
46
  };
46
47
  exports.handleSearchMiddleware = handleSearchMiddleware;
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwaS9hZG1pbi9mb3JtLXJlc3BvbnNlL3F1ZXJ5LWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFNYSxRQUFBLHVCQUF1QixHQUFHO0lBQ3JDLElBQUk7SUFDSixRQUFRO0lBQ1IsTUFBTTtJQUNOLE1BQU07SUFDTixXQUFXO0lBQ1gsZUFBZTtJQUNmLE9BQU87SUFDUCxNQUFNO0lBQ04scUJBQXFCO0lBQ3JCLFVBQVU7SUFDVixTQUFTO0lBQ1QsWUFBWTtJQUNaLE9BQU87SUFDUCwwQkFBMEI7SUFDMUIsaUJBQWlCO0lBQ2pCLFlBQVk7SUFDWixZQUFZO0NBQ2IsQ0FBQztBQUVXLFFBQUEsb0JBQW9CLEdBQUc7SUFDbEMsSUFBSSxFQUFFO1FBQ0osUUFBUSxFQUFFLCtCQUF1QjtRQUNqQyxNQUFNLEVBQUUsSUFBSTtLQUNiO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsUUFBUSxFQUFFLCtCQUF1QjtRQUNqQyxNQUFNLEVBQUUsSUFBSTtLQUNiO0NBQ0YsQ0FBQztBQUVLLE1BQU0sc0JBQXNCLEdBQUcsQ0FDcEMsR0FBa0IsRUFDbEIsR0FBbUIsRUFDbkIsSUFBd0IsRUFDeEIsRUFBRTtJQUNGLE1BQU0sRUFBRSxDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUMsY0FBYyxJQUFJLEVBQUUsQ0FBQztJQUV2QyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ04sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEdBQUcsR0FBRyxDQUFDLGdCQUFnQixJQUFJLEVBQUUsQ0FBQztZQUNqRCxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEdBQUc7Z0JBQzFCLEVBQUUsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDdkMsRUFBRSxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNuQyxFQUFFLElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUU7YUFDL0IsQ0FBQyxDQUFDO1FBQ0wsT0FBTyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBQ0QsSUFBSSxFQUFFLENBQUM7QUFDVCxDQUFDLENBQUM7QUFqQlcsUUFBQSxzQkFBc0IsMEJBaUJqQyJ9
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwaS9hZG1pbi9mb3JtLXJlc3BvbnNlL3F1ZXJ5LWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFNYSxRQUFBLHVCQUF1QixHQUFHO0lBQ3JDLElBQUk7SUFDSixRQUFRO0lBQ1IsTUFBTTtJQUNOLE1BQU07SUFDTixXQUFXO0lBQ1gsZUFBZTtJQUNmLE9BQU87SUFDUCxNQUFNO0lBQ04scUJBQXFCO0lBQ3JCLFVBQVU7SUFDVixTQUFTO0lBQ1QsWUFBWTtJQUNaLE9BQU87SUFDUCwwQkFBMEI7SUFDMUIsaUJBQWlCO0lBQ2pCLFNBQVM7SUFDVCxZQUFZO0lBQ1osWUFBWTtDQUNiLENBQUM7QUFFVyxRQUFBLG9CQUFvQixHQUFHO0lBQ2xDLElBQUksRUFBRTtRQUNKLFFBQVEsRUFBRSwrQkFBdUI7UUFDakMsTUFBTSxFQUFFLElBQUk7S0FDYjtJQUNELFFBQVEsRUFBRTtRQUNSLFFBQVEsRUFBRSwrQkFBdUI7UUFDakMsTUFBTSxFQUFFLElBQUk7S0FDYjtDQUNGLENBQUM7QUFFSyxNQUFNLHNCQUFzQixHQUFHLENBQ3BDLEdBQWtCLEVBQ2xCLEdBQW1CLEVBQ25CLElBQXdCLEVBQ3hCLEVBQUU7SUFDRixNQUFNLEVBQUUsQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDLGNBQWMsSUFBSSxFQUFFLENBQUM7SUFFdkMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNOLENBQUMsR0FBRyxDQUFDLGdCQUFnQixHQUFHLEdBQUcsQ0FBQyxnQkFBZ0IsSUFBSSxFQUFFLENBQUM7WUFDakQsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxHQUFHO2dCQUMxQixFQUFFLGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ3ZDLEVBQUUsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDbkMsRUFBRSxJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFO2FBQy9CLENBQUMsQ0FBQztRQUNMLE9BQU8sR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUNELElBQUksRUFBRSxDQUFDO0FBQ1QsQ0FBQyxDQUFDO0FBakJXLFFBQUEsc0JBQXNCLDBCQWlCakMifQ==
@@ -12,8 +12,44 @@ async function GET(req, res) {
12
12
  filters: req.filterableFields,
13
13
  pagination: req.queryConfig.pagination,
14
14
  });
15
+ // Collect all product variant IDs from form responses
16
+ const productVariantIds = new Set();
17
+ formResponses.forEach((response) => {
18
+ if (response.product) {
19
+ productVariantIds.add(response.product);
20
+ }
21
+ });
22
+ // Fetch product variant data if any product IDs exist
23
+ let productVariantDataMap = new Map();
24
+ if (productVariantIds.size > 0) {
25
+ const productVariantQueryOptions = {
26
+ entity: "product_variant",
27
+ fields: [
28
+ "id",
29
+ "title",
30
+ "product.handle",
31
+ "product.id",
32
+ "product.title",
33
+ ],
34
+ filters: {
35
+ id: [...productVariantIds],
36
+ },
37
+ };
38
+ const { data: productVariantResults } = await query.graph(productVariantQueryOptions);
39
+ productVariantDataMap = new Map(productVariantResults.map((variant) => [variant.id, variant]));
40
+ }
41
+ // Populate product field with actual product variant data
42
+ const populatedFormResponses = formResponses.map((response) => {
43
+ if (response.product && productVariantDataMap.has(response.product)) {
44
+ return {
45
+ ...response,
46
+ product: productVariantDataMap.get(response.product),
47
+ };
48
+ }
49
+ return response;
50
+ });
15
51
  return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)({
16
- formResponses,
52
+ formResponses: populatedFormResponses,
17
53
  count: metadata?.count,
18
54
  offset: metadata?.skip,
19
55
  limit: metadata?.take,
@@ -24,4 +60,4 @@ async function GET(req, res) {
24
60
  return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(error.message, 500, error));
25
61
  }
26
62
  }
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2Zvcm0tcmVzcG9uc2Uvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFVQSxrQkErQkM7QUFyQ0QsNERBSW1DO0FBRTVCLEtBQUssVUFBVSxHQUFHLENBQ3ZCLEdBQStCLEVBQy9CLEdBQW1CO0lBRW5CLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3pDLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRTNDLElBQUksQ0FBQztRQUNILE1BQU0sRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztZQUMxRCxNQUFNLEVBQUUsZ0JBQWdCO1lBQ3hCLE1BQU0sRUFBRSxHQUFHLENBQUMsV0FBVyxDQUFDLE1BQU07WUFDOUIsT0FBTyxFQUFFLEdBQUcsQ0FBQyxnQkFBZ0I7WUFDN0IsVUFBVSxFQUFFLEdBQUcsQ0FBQyxXQUFXLENBQUMsVUFBVTtTQUN2QyxDQUFDLENBQUM7UUFFSCxPQUFPLElBQUEsOEJBQWUsRUFDcEIsR0FBRyxFQUNILElBQUEsb0NBQXFCLEVBQUM7WUFDcEIsYUFBYTtZQUNiLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSztZQUN0QixNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUk7WUFDdEIsS0FBSyxFQUFFLFFBQVEsRUFBRSxJQUFJO1NBQ3RCLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixNQUFNLENBQUMsS0FBSyxDQUNWLCtDQUErQyxFQUMvQyxLQUFLLENBQUMsT0FBTyxDQUNkLENBQUM7UUFDRixPQUFPLElBQUEsOEJBQWUsRUFBQyxHQUFHLEVBQUUsSUFBQSxrQ0FBbUIsRUFBQyxLQUFLLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzlFLENBQUM7QUFDSCxDQUFDIn0=
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2Zvcm0tcmVzcG9uc2Uvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFVQSxrQkE0RUM7QUFsRkQsNERBSW1DO0FBRTVCLEtBQUssVUFBVSxHQUFHLENBQ3ZCLEdBQStCLEVBQy9CLEdBQW1CO0lBRW5CLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3pDLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRTNDLElBQUksQ0FBQztRQUNILE1BQU0sRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztZQUMxRCxNQUFNLEVBQUUsZ0JBQWdCO1lBQ3hCLE1BQU0sRUFBRSxHQUFHLENBQUMsV0FBVyxDQUFDLE1BQU07WUFDOUIsT0FBTyxFQUFFLEdBQUcsQ0FBQyxnQkFBZ0I7WUFDN0IsVUFBVSxFQUFFLEdBQUcsQ0FBQyxXQUFXLENBQUMsVUFBVTtTQUN2QyxDQUFDLENBQUM7UUFFSCxzREFBc0Q7UUFDdEQsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFDO1FBQzVDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNqQyxJQUFJLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDckIsaUJBQWlCLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMxQyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxzREFBc0Q7UUFDdEQsSUFBSSxxQkFBcUIsR0FBRyxJQUFJLEdBQUcsRUFBZSxDQUFDO1FBQ25ELElBQUksaUJBQWlCLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQy9CLE1BQU0sMEJBQTBCLEdBQUc7Z0JBQ2pDLE1BQU0sRUFBRSxpQkFBaUI7Z0JBQ3pCLE1BQU0sRUFBRTtvQkFDTixJQUFJO29CQUNKLE9BQU87b0JBQ1AsZ0JBQWdCO29CQUNoQixZQUFZO29CQUNaLGVBQWU7aUJBQ2hCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxFQUFFLEVBQUUsQ0FBQyxHQUFHLGlCQUFpQixDQUFDO2lCQUMzQjthQUNGLENBQUM7WUFFRixNQUFNLEVBQUUsSUFBSSxFQUFFLHFCQUFxQixFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUN2RCwwQkFBMEIsQ0FDM0IsQ0FBQztZQUVGLHFCQUFxQixHQUFHLElBQUksR0FBRyxDQUM3QixxQkFBcUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUM5RCxDQUFDO1FBQ0osQ0FBQztRQUVELDBEQUEwRDtRQUMxRCxNQUFNLHNCQUFzQixHQUFHLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUM1RCxJQUFJLFFBQVEsQ0FBQyxPQUFPLElBQUkscUJBQXFCLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUNwRSxPQUFPO29CQUNMLEdBQUcsUUFBUTtvQkFDWCxPQUFPLEVBQUUscUJBQXFCLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUM7aUJBQ3JELENBQUM7WUFDSixDQUFDO1lBQ0QsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLElBQUEsOEJBQWUsRUFDcEIsR0FBRyxFQUNILElBQUEsb0NBQXFCLEVBQUM7WUFDcEIsYUFBYSxFQUFFLHNCQUFzQjtZQUNyQyxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUs7WUFDdEIsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJO1lBQ3RCLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSTtTQUN0QixDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsTUFBTSxDQUFDLEtBQUssQ0FDViwrQ0FBK0MsRUFDL0MsS0FBSyxDQUFDLE9BQU8sQ0FDZCxDQUFDO1FBQ0YsT0FBTyxJQUFBLDhCQUFlLEVBQUMsR0FBRyxFQUFFLElBQUEsa0NBQW1CLEVBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM5RSxDQUFDO0FBQ0gsQ0FBQyJ9
@@ -5,6 +5,8 @@ const validators_1 = require("./store/form-response/validators");
5
5
  const query_config_1 = require("./admin/form-response/query-config");
6
6
  const validators_2 = require("./admin/form-response/validators");
7
7
  const validators_3 = require("./store/newsletter-signup/validators");
8
+ const validators_4 = require("./store/slot-listing/validators");
9
+ const query_config_2 = require("./store/slot-listing/query-config");
8
10
  exports.default = (0, framework_1.defineMiddlewares)({
9
11
  routes: [
10
12
  {
@@ -15,6 +17,11 @@ exports.default = (0, framework_1.defineMiddlewares)({
15
17
  (0, framework_1.validateAndTransformBody)(validators_1.createFormResponseSchema),
16
18
  ],
17
19
  },
20
+ {
21
+ matcher: "/store/slot-listing",
22
+ method: "GET",
23
+ middlewares: [(0, framework_1.validateAndTransformQuery)(validators_4.GetSlotParams, query_config_2.slotListingQueryConfig.list)],
24
+ },
18
25
  {
19
26
  matcher: "/admin/form-response",
20
27
  method: "GET",
@@ -47,4 +54,4 @@ exports.default = (0, framework_1.defineMiddlewares)({
47
54
  },
48
55
  ],
49
56
  });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBpL21pZGRsZXdhcmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsbURBSTZCO0FBQzdCLGlFQUE0RTtBQUM1RSxxRUFHNEM7QUFDNUMsaUVBRzBDO0FBQzFDLHFFQUFvRjtBQUdwRixrQkFBZSxJQUFBLDZCQUFpQixFQUFDO0lBQy9CLE1BQU0sRUFBRTtRQUNOO1lBQ0UsTUFBTSxFQUFFLE1BQU07WUFDZCxPQUFPLEVBQUUsc0JBQXNCO1lBQy9CLFdBQVcsRUFBRTtnQkFDWCxZQUFZO2dCQUNaLElBQUEsb0NBQXdCLEVBQUMscUNBQXdCLENBQUM7YUFDbkQ7U0FDRjtRQUNEO1lBQ0UsT0FBTyxFQUFFLHNCQUFzQjtZQUMvQixNQUFNLEVBQUUsS0FBSztZQUNiLFdBQVcsRUFBRTtnQkFDWCxJQUFBLHFDQUF5QixFQUN2QixrQ0FBcUIsRUFDckIsbUNBQW9CLENBQUMsSUFBSSxDQUMxQjtnQkFDRCxxQ0FBc0I7YUFDdkI7U0FDRjtRQUNEO1lBQ0UsT0FBTyxFQUFFLDBCQUEwQjtZQUNuQyxNQUFNLEVBQUUsS0FBSztZQUNiLFdBQVcsRUFBRTtnQkFDWCxJQUFBLHFDQUF5QixFQUN2QixrQ0FBcUIsRUFDckIsbUNBQW9CLENBQUMsUUFBUSxDQUM5QjthQUNGO1NBQ0Y7UUFDRDtZQUNFLE9BQU8sRUFBRSwwQkFBMEI7WUFDbkMsTUFBTSxFQUFFLEtBQUs7WUFDYixXQUFXLEVBQUUsQ0FBQyxJQUFBLG9DQUF3QixFQUFDLG1DQUFzQixDQUFDLENBQUM7U0FDaEU7UUFDRDtZQUNFLE9BQU8sRUFBRSwwQkFBMEI7WUFDbkMsTUFBTSxFQUFFLE1BQU07WUFDZCxXQUFXLEVBQUUsQ0FBQyxJQUFBLG9DQUF3QixFQUFDLHlDQUE0QixDQUFDLENBQUM7U0FDdEU7UUFDRDtZQUNFLE9BQU8sRUFBRSwwQkFBMEI7WUFDbkMsTUFBTSxFQUFFLEtBQUs7WUFDYixXQUFXLEVBQUUsQ0FBQyxxQ0FBc0IsQ0FBQztTQUN0QztLQUNGO0NBQ0YsQ0FBQyxDQUFDIn0=
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBpL21pZGRsZXdhcmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsbURBSTZCO0FBQzdCLGlFQUE0RTtBQUM1RSxxRUFHNEM7QUFDNUMsaUVBRzBDO0FBQzFDLHFFQUFvRjtBQUNwRixnRUFBOEQ7QUFDOUQsb0VBQXlFO0FBRXpFLGtCQUFlLElBQUEsNkJBQWlCLEVBQUM7SUFDL0IsTUFBTSxFQUFFO1FBQ047WUFDRSxNQUFNLEVBQUUsTUFBTTtZQUNkLE9BQU8sRUFBRSxzQkFBc0I7WUFDL0IsV0FBVyxFQUFFO2dCQUNYLFlBQVk7Z0JBQ1osSUFBQSxvQ0FBd0IsRUFBQyxxQ0FBd0IsQ0FBQzthQUNuRDtTQUNGO1FBQ0Q7WUFDRSxPQUFPLEVBQUUscUJBQXFCO1lBQzlCLE1BQU0sRUFBRSxLQUFLO1lBQ2IsV0FBVyxFQUFFLENBQUMsSUFBQSxxQ0FBeUIsRUFBQywwQkFBYSxFQUFDLHFDQUFzQixDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3BGO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsc0JBQXNCO1lBQy9CLE1BQU0sRUFBRSxLQUFLO1lBQ2IsV0FBVyxFQUFFO2dCQUNYLElBQUEscUNBQXlCLEVBQ3ZCLGtDQUFxQixFQUNyQixtQ0FBb0IsQ0FBQyxJQUFJLENBQzFCO2dCQUNELHFDQUFzQjthQUN2QjtTQUNGO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsMEJBQTBCO1lBQ25DLE1BQU0sRUFBRSxLQUFLO1lBQ2IsV0FBVyxFQUFFO2dCQUNYLElBQUEscUNBQXlCLEVBQ3ZCLGtDQUFxQixFQUNyQixtQ0FBb0IsQ0FBQyxRQUFRLENBQzlCO2FBQ0Y7U0FDRjtRQUNEO1lBQ0UsT0FBTyxFQUFFLDBCQUEwQjtZQUNuQyxNQUFNLEVBQUUsS0FBSztZQUNiLFdBQVcsRUFBRSxDQUFDLElBQUEsb0NBQXdCLEVBQUMsbUNBQXNCLENBQUMsQ0FBQztTQUNoRTtRQUNEO1lBQ0UsT0FBTyxFQUFFLDBCQUEwQjtZQUNuQyxNQUFNLEVBQUUsTUFBTTtZQUNkLFdBQVcsRUFBRSxDQUFDLElBQUEsb0NBQXdCLEVBQUMseUNBQTRCLENBQUMsQ0FBQztTQUN0RTtRQUNEO1lBQ0UsT0FBTyxFQUFFLDBCQUEwQjtZQUNuQyxNQUFNLEVBQUUsS0FBSztZQUNiLFdBQVcsRUFBRSxDQUFDLHFDQUFzQixDQUFDO1NBQ3RDO0tBQ0Y7Q0FDRixDQUFDLENBQUMifQ==
@@ -11,8 +11,8 @@ async function POST(req, res) {
11
11
  return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)({ formResponse }, `Form ${formResponse.id} created successfully`));
12
12
  }
13
13
  catch (error) {
14
- logger.error("Error creating form response", error.message);
14
+ console.log(error);
15
15
  return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(error.message, 500, error));
16
16
  }
17
17
  }
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL2Zvcm0tcmVzcG9uc2Uvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFZQSxvQkF1QkM7QUE5QkQsb0VBQThFO0FBQzlFLDREQUltQztBQUU1QixLQUFLLFVBQVUsSUFBSSxDQUN4QixHQUF1RCxFQUN2RCxHQUFtQjtJQUVuQixNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDO0lBQ3RCLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRTNDLElBQUksQ0FBQztRQUNILE1BQU0sRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLEdBQUcsTUFBTSxJQUFBLDBDQUEwQixFQUMvRCxHQUFHLENBQUMsS0FBSyxDQUNWLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFFdkIsT0FBTyxJQUFBLDhCQUFlLEVBQ3BCLEdBQUcsRUFDSCxJQUFBLG9DQUFxQixFQUNuQixFQUFFLFlBQVksRUFBRSxFQUNoQixRQUFRLFlBQVksQ0FBQyxFQUFFLHVCQUF1QixDQUMvQyxDQUNGLENBQUM7SUFDSixDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE1BQU0sQ0FBQyxLQUFLLENBQUMsOEJBQThCLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVELE9BQU8sSUFBQSw4QkFBZSxFQUFDLEdBQUcsRUFBRSxJQUFBLGtDQUFtQixFQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDOUUsQ0FBQztBQUNILENBQUMifQ==
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL2Zvcm0tcmVzcG9uc2Uvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFZQSxvQkF1QkM7QUE5QkQsb0VBQThFO0FBQzlFLDREQUltQztBQUU1QixLQUFLLFVBQVUsSUFBSSxDQUN4QixHQUF1RCxFQUN2RCxHQUFtQjtJQUVuQixNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDO0lBQ3RCLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRTNDLElBQUksQ0FBQztRQUNILE1BQU0sRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLEdBQUcsTUFBTSxJQUFBLDBDQUEwQixFQUMvRCxHQUFHLENBQUMsS0FBSyxDQUNWLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFFdkIsT0FBTyxJQUFBLDhCQUFlLEVBQ3BCLEdBQUcsRUFDSCxJQUFBLG9DQUFxQixFQUNuQixFQUFFLFlBQVksRUFBRSxFQUNoQixRQUFRLFlBQVksQ0FBQyxFQUFFLHVCQUF1QixDQUMvQyxDQUNGLENBQUM7SUFDSixDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkIsT0FBTyxJQUFBLDhCQUFlLEVBQUMsR0FBRyxFQUFFLElBQUEsa0NBQW1CLEVBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM5RSxDQUFDO0FBQ0gsQ0FBQyJ9
@@ -9,6 +9,7 @@ const requiredFieldsMap = {
9
9
  "mobile_number",
10
10
  "scheduled_date_time",
11
11
  "city",
12
+ "product",
12
13
  "page",
13
14
  ],
14
15
  [types_1.FormResponseType.STORE_VISIT]: [
@@ -16,6 +17,7 @@ const requiredFieldsMap = {
16
17
  "mobile_number",
17
18
  "scheduled_date_time",
18
19
  "store_id",
20
+ "product",
19
21
  "page",
20
22
  ],
21
23
  [types_1.FormResponseType.BOOK_YOUR_TRIAL]: [
@@ -23,6 +25,7 @@ const requiredFieldsMap = {
23
25
  "mobile_number",
24
26
  "scheduled_date_time",
25
27
  "store_id",
28
+ "product",
26
29
  "page",
27
30
  ],
28
31
  [types_1.FormResponseType.NEED_EXPERT_ASSISTANT]: [
@@ -109,12 +112,14 @@ exports.createFormResponseSchema = zod_1.z
109
112
  nominee_name: zod_1.z.string().optional(),
110
113
  address: zod_1.z.string().optional(),
111
114
  selected_goal: zod_1.z.string().optional(),
115
+ product: zod_1.z.string().optional(),
112
116
  })
113
117
  .superRefine((data, ctx) => {
114
118
  const isMissing = (field) => !data[field] ||
115
119
  data[field] === null ||
116
120
  data[field] === "";
117
121
  const requiredFields = requiredFieldsMap[data.type];
122
+ const notRequiredFields = ["product"];
118
123
  if (!requiredFields) {
119
124
  ctx.addIssue({
120
125
  code: zod_1.z.ZodIssueCode.custom,
@@ -125,12 +130,14 @@ exports.createFormResponseSchema = zod_1.z
125
130
  }
126
131
  requiredFields.forEach((field) => {
127
132
  if (isMissing(field)) {
128
- ctx.addIssue({
129
- code: zod_1.z.ZodIssueCode.custom,
130
- path: [field],
131
- message: `${field} is required`,
132
- });
133
+ if (!notRequiredFields.includes(field)) {
134
+ ctx.addIssue({
135
+ code: zod_1.z.ZodIssueCode.custom,
136
+ path: [field],
137
+ message: `${field} is required`,
138
+ });
139
+ }
133
140
  }
134
141
  });
135
142
  });
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvc3RvcmUvZm9ybS1yZXNwb25zZS92YWxpZGF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGtFQUlnRDtBQUNoRCw2QkFBd0I7QUFFeEIsTUFBTSxpQkFBaUIsR0FBdUM7SUFDNUQsQ0FBQyx3QkFBZ0IsQ0FBQyxZQUFZLENBQUMsRUFBRTtRQUMvQixXQUFXO1FBQ1gsZUFBZTtRQUNmLHFCQUFxQjtRQUNyQixNQUFNO1FBQ04sTUFBTTtLQUNQO0lBQ0QsQ0FBQyx3QkFBZ0IsQ0FBQyxXQUFXLENBQUMsRUFBRTtRQUM5QixXQUFXO1FBQ1gsZUFBZTtRQUNmLHFCQUFxQjtRQUNyQixVQUFVO1FBQ1YsTUFBTTtLQUNQO0lBQ0QsQ0FBQyx3QkFBZ0IsQ0FBQyxlQUFlLENBQUMsRUFBRTtRQUNsQyxXQUFXO1FBQ1gsZUFBZTtRQUNmLHFCQUFxQjtRQUNyQixVQUFVO1FBQ1YsTUFBTTtLQUNQO0lBQ0QsQ0FBQyx3QkFBZ0IsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFO1FBQ3hDLFdBQVc7UUFDWCxlQUFlO1FBQ2YsTUFBTTtRQUNOLE9BQU87UUFDUCxNQUFNO0tBQ1A7SUFDRCxDQUFDLHdCQUFnQixDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUM7SUFDakUsQ0FBQyx3QkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFO1FBQ3RDLFdBQVc7UUFDWCxlQUFlO1FBQ2YsT0FBTztRQUNQLFlBQVk7UUFDWixNQUFNO1FBQ04sT0FBTztRQUNQLE1BQU07S0FDUDtJQUNELENBQUMsd0JBQWdCLENBQUMsa0JBQWtCLENBQUMsRUFBRTtRQUNyQyxXQUFXO1FBQ1gsZUFBZTtRQUNmLE9BQU87UUFDUCwwQkFBMEI7UUFDMUIsaUJBQWlCO1FBQ2pCLE1BQU07UUFDTixPQUFPO1FBQ1AsTUFBTTtL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
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvc3RvcmUvZm9ybS1yZXNwb25zZS92YWxpZGF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGtFQUlnRDtBQUNoRCw2QkFBd0I7QUFFeEIsTUFBTSxpQkFBaUIsR0FBdUM7SUFDNUQsQ0FBQyx3QkFBZ0IsQ0FBQyxZQUFZLENBQUMsRUFBRTtRQUMvQixXQUFXO1FBQ1gsZUFBZTtRQUNmLHFCQUFxQjtRQUNyQixNQUFNO1FBQ04sU0FBUztRQUNULE1BQU07S0FDUDtJQUNELENBQUMsd0JBQWdCLENBQUMsV0FBVyxDQUFDLEVBQUU7UUFDOUIsV0FBVztRQUNYLGVBQWU7UUFDZixxQkFBcUI7UUFDckIsVUFBVTtRQUNWLFNBQVM7UUFDVCxNQUFNO0tBQ1A7SUFDRCxDQUFDLHdCQUFnQixDQUFDLGVBQWUsQ0FBQyxFQUFFO1FBQ2xDLFdBQVc7UUFDWCxlQUFlO1FBQ2YscUJBQXFCO1FBQ3JCLFVBQVU7UUFDVixTQUFTO1FBQ1QsTUFBTTtLQUNQO0lBQ0QsQ0FBQyx3QkFBZ0IsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFO1FBQ3hDLFdBQVc7UUFDWCxlQUFlO1FBQ2YsTUFBTTtRQUNOLE9BQU87UUFDUCxNQUFNO0tBQ1A7SUFDRCxDQUFDLHdCQUFnQixDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUM7SUFDakUsQ0FBQyx3QkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFO1FBQ3RDLFdBQVc7UUFDWCxlQUFlO1FBQ2YsT0FBTztRQUNQLFlBQVk7UUFDWixNQUFNO1FBQ04sT0FBTztRQUNQLE1BQU07S0FDUDtJQUNELENBQUMsd0JBQWdCLENBQUMsa0JBQWtCLENBQUMsRUFBRTtRQUNyQyxXQUFXO1FBQ1gsZUFBZTtRQUNmLE9BQU87UUFDUCwwQkFBMEI7UUFDMUIsaUJBQWlCO1FB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
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL3Nsb3QtbGlzdGluZy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.slotListingQueryConfig = void 0;
4
+ exports.slotListingQueryConfig = {
5
+ list: {
6
+ defaults: [], // or [] since we’re not fetching from DB
7
+ isList: true,
8
+ },
9
+ retrieve: {
10
+ defaults: [],
11
+ isList: false,
12
+ },
13
+ };
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwaS9zdG9yZS9zbG90LWxpc3RpbmcvcXVlcnktY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFhLFFBQUEsc0JBQXNCLEdBQUc7SUFDcEMsSUFBSSxFQUFFO1FBQ0osUUFBUSxFQUFFLEVBQUUsRUFBRSx5Q0FBeUM7UUFDdkQsTUFBTSxFQUFFLElBQUk7S0FDYjtJQUNELFFBQVEsRUFBRTtRQUNSLFFBQVEsRUFBRSxFQUFFO1FBQ1osTUFBTSxFQUFFLEtBQUs7S0FDZDtDQUNGLENBQUMifQ==
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GET = void 0;
4
+ const api_response_1 = require("../../../lib/api-response");
5
+ const form_response_1 = require("../../../modules/form-response");
6
+ const generateSlots = (type, date, now) => {
7
+ const slots = [];
8
+ const selectedDate = new Date(date);
9
+ if (type === "try_at_home") {
10
+ let start = new Date(date + "T11:30:00");
11
+ const end = new Date(date + "T19:30:00");
12
+ while (start <= end && slots.length < 4) {
13
+ slots.push(start.toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" }));
14
+ start.setHours(start.getHours() + 2);
15
+ }
16
+ }
17
+ if (type === "virtual_call") {
18
+ let start = new Date(date + "T11:30:00");
19
+ const end = new Date(date + "T20:00:00");
20
+ while (start <= end) {
21
+ if (selectedDate.toDateString() === now.toDateString()) {
22
+ const slotTime = new Date(start);
23
+ if (slotTime.getTime() <= now.getTime() + 60 * 60 * 1000) {
24
+ start.setMinutes(start.getMinutes() + 30);
25
+ continue;
26
+ }
27
+ }
28
+ slots.push(start.toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" }));
29
+ start.setMinutes(start.getMinutes() + 30);
30
+ }
31
+ }
32
+ if (type === "store_visit") {
33
+ let start = new Date(date + "T11:30:00");
34
+ const end = new Date(date + "T20:30:00");
35
+ while (start <= end) {
36
+ slots.push(start.toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" }));
37
+ start.setMinutes(start.getMinutes() + 30);
38
+ }
39
+ }
40
+ return slots;
41
+ };
42
+ const GET = async (req, res) => {
43
+ try {
44
+ const { date, type, store_id } = req.validatedQuery;
45
+ if (!date || !type) {
46
+ return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)({ slots: [], booking: [] }, "Please provide both date and type"));
47
+ }
48
+ const now = new Date();
49
+ let slots = generateSlots(type, date, now);
50
+ // 🔎 Get existing bookings for this date + type
51
+ const formService = req.scope.resolve(form_response_1.FORM_RESPONSE_MODULE);
52
+ const startOfDay = new Date(date);
53
+ startOfDay.setHours(0, 0, 0, 0);
54
+ const endOfDay = new Date(date);
55
+ endOfDay.setHours(23, 59, 59, 999);
56
+ const existing = await formService.listFormResponses({
57
+ type: type === "virtual_call"
58
+ ? "VIRTUAL_CALL"
59
+ : type === "store_visit"
60
+ ? "STORE_VISIT"
61
+ : type === "try_at_home"
62
+ ? "BOOK_YOUR_TRIAL"
63
+ : "",
64
+ scheduled_date_time: {
65
+ $gte: startOfDay.toISOString(),
66
+ $lte: endOfDay.toISOString(),
67
+ },
68
+ store_id: store_id,
69
+ });
70
+ // ⛔ Remove already booked slots
71
+ const bookedTimes = existing.map((b) => new Date(b.scheduled_date_time || "").toLocaleTimeString([], {
72
+ hour: "2-digit",
73
+ minute: "2-digit",
74
+ }));
75
+ slots = slots.filter((slot) => !bookedTimes.includes(slot));
76
+ return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)({ date, type, slots }, "Fetched appointment slots"));
77
+ }
78
+ catch (e) {
79
+ return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)({ slots: [], booking: [] }, `Error generating slots: ${e.message}`));
80
+ }
81
+ };
82
+ exports.GET = GET;
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL3Nsb3QtbGlzdGluZy9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFJQSw0REFHbUM7QUFDbkMsa0VBQXNFO0FBS3RFLE1BQU0sYUFBYSxHQUFHLENBQUMsSUFBYyxFQUFFLElBQVksRUFBRSxHQUFTLEVBQUUsRUFBRTtJQUNoRSxNQUFNLEtBQUssR0FBYSxFQUFFLENBQUM7SUFDM0IsTUFBTSxZQUFZLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFcEMsSUFBSSxJQUFJLEtBQUssYUFBYSxFQUFFLENBQUM7UUFDM0IsSUFBSSxLQUFLLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxHQUFHLFdBQVcsQ0FBQyxDQUFDO1FBQ3pDLE1BQU0sR0FBRyxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksR0FBRyxXQUFXLENBQUMsQ0FBQztRQUV6QyxPQUFPLEtBQUssSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN4QyxLQUFLLENBQUMsSUFBSSxDQUNSLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUNyRSxDQUFDO1lBQ0YsS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDdkMsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJLElBQUksS0FBSyxjQUFjLEVBQUUsQ0FBQztRQUM1QixJQUFJLEtBQUssR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLEdBQUcsV0FBVyxDQUFDLENBQUM7UUFDekMsTUFBTSxHQUFHLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxHQUFHLFdBQVcsQ0FBQyxDQUFDO1FBRXpD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
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GetSlotParams = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.GetSlotParams = zod_1.z.object({
6
+ date: zod_1.z
7
+ .string()
8
+ .regex(/^\d{4}-\d{2}-\d{2}$/, "Date must be in YYYY-MM-DD format"),
9
+ type: zod_1.z.enum(["try_at_home", "virtual_call", "store_visit"]),
10
+ store_id: zod_1.z.string()
11
+ });
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvc3RvcmUvc2xvdC1saXN0aW5nL3ZhbGlkYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkJBQXdCO0FBRVgsUUFBQSxhQUFhLEdBQUcsT0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNwQyxJQUFJLEVBQUUsT0FBQztTQUNKLE1BQU0sRUFBRTtTQUNSLEtBQUssQ0FBQyxxQkFBcUIsRUFBRSxtQ0FBbUMsQ0FBQztJQUNwRSxJQUFJLEVBQUUsT0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLGFBQWEsRUFBRSxjQUFjLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDNUQsUUFBUSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7Q0FDckIsQ0FBQyxDQUFDIn0=
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.formatDateToDDMMYYYY = void 0;
4
+ const formatDateToDDMMYYYY = (date) => {
5
+ const d = new Date(date);
6
+ const day = String(d.getDate()).padStart(2, "0");
7
+ const month = String(d.getMonth() + 1).padStart(2, "0");
8
+ const year = d.getFullYear();
9
+ return `${day}-${month}-${year}`;
10
+ };
11
+ exports.formatDateToDDMMYYYY = formatDateToDDMMYYYY;
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQU8sTUFBTSxvQkFBb0IsR0FBRyxDQUFDLElBQW1CLEVBQUUsRUFBRTtJQUMxRCxNQUFNLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNqRCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDeEQsTUFBTSxJQUFJLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzdCLE9BQU8sR0FBRyxHQUFHLElBQUksS0FBSyxJQUFJLElBQUksRUFBRSxDQUFDO0FBQ25DLENBQUMsQ0FBQTtBQU5ZLFFBQUEsb0JBQW9CLHdCQU1oQyJ9
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Migration20250715121353 = void 0;
3
+ exports.Migration20250818070635 = void 0;
4
4
  const migrations_1 = require("@mikro-orm/migrations");
5
- class Migration20250715121353 extends migrations_1.Migration {
5
+ class Migration20250818070635 extends migrations_1.Migration {
6
6
  async up() {
7
- this.addSql(`create table if not exists "form_responses" ("id" text not null, "type" text check ("type" in ('VIRTUAL_CALL', 'STORE_VISIT', 'BOOK_YOUR_TRIAL', 'NEED_EXPERT_ASSISTANT', 'GET_IN_TOUCH', 'TAKE_THE_FIRST_STEP', 'ENTER_YOUR_DETAILS', 'REQUEST_A_SERVICE', 'GB_PLANNER', 'NEWSLETTER_SIGNUP', 'GB_PLAN_INQUIRY', 'ORDER_KIT')) null, "page" text null, "full_name" text null, "mobile_number" text null, "email" text null, "city" text null, "scheduled_date_time" text null, "store_id" text null, "message" text null, "resume_url" text null, "state" text null, "current_business_details" text null, "status" text check ("status" in ('PENDING', 'RESOLVED')) not null default 'PENDING', "business_budget" text null, "selected_goal" text null, "address" text null, "nominee_name" text null, "relationship_with_nominee" text check ("relationship_with_nominee" in ('SPOUSE', 'CHILD', 'PARENT', 'OTHER')) null, "nationality" text check ("nationality" in ('INDIAN', 'NRI', 'FOREIGN_NATIONAL')) null, "created_at" timestamptz not null default now(), "updated_at" timestamptz not null default now(), "deleted_at" timestamptz null, constraint "form_responses_pkey" primary key ("id"));`);
7
+ this.addSql(`create table if not exists "form_responses" ("id" text not null, "type" text check ("type" in ('VIRTUAL_CALL', 'STORE_VISIT', 'BOOK_YOUR_TRIAL', 'NEED_EXPERT_ASSISTANT', 'GET_IN_TOUCH', 'TAKE_THE_FIRST_STEP', 'ENTER_YOUR_DETAILS', 'REQUEST_A_SERVICE', 'GB_PLANNER', 'NEWSLETTER_SIGNUP', 'GB_PLAN_INQUIRY', 'ORDER_KIT')) null, "page" text null, "full_name" text null, "mobile_number" text null, "email" text null, "city" text null, "scheduled_date_time" text null, "store_id" text null, "message" text null, "resume_url" text null, "state" text null, "current_business_details" text null, "status" text check ("status" in ('PENDING', 'RESOLVED')) not null default 'PENDING', "business_budget" text null, "selected_goal" text null, "address" text null, "nominee_name" text null, "relationship_with_nominee" text check ("relationship_with_nominee" in ('SPOUSE', 'CHILD', 'PARENT', 'OTHER')) null, "product" text null, "nationality" text check ("nationality" in ('INDIAN', 'NRI', 'FOREIGN_NATIONAL')) null, "created_at" timestamptz not null default now(), "updated_at" timestamptz not null default now(), "deleted_at" timestamptz null, constraint "form_responses_pkey" primary key ("id"));`);
8
8
  this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_form_responses_deleted_at" ON "form_responses" (deleted_at) WHERE deleted_at IS NULL;`);
9
9
  this.addSql(`create table if not exists "newsletter_subscriptions" ("id" text not null, "email" text not null, "name" text null, "created_at" timestamptz not null default now(), "updated_at" timestamptz not null default now(), "deleted_at" timestamptz null, constraint "newsletter_subscriptions_pkey" primary key ("id"));`);
10
10
  this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_newsletter_subscriptions_deleted_at" ON "newsletter_subscriptions" (deleted_at) WHERE deleted_at IS NULL;`);
@@ -14,5 +14,5 @@ class Migration20250715121353 extends migrations_1.Migration {
14
14
  this.addSql(`drop table if exists "newsletter_subscriptions" cascade;`);
15
15
  }
16
16
  }
17
- exports.Migration20250715121353 = Migration20250715121353;
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA3MTUxMjEzNTMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9mb3JtLXJlc3BvbnNlL21pZ3JhdGlvbnMvTWlncmF0aW9uMjAyNTA3MTUxMjEzNTMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsc0RBQWtEO0FBRWxELE1BQWEsdUJBQXdCLFNBQVEsc0JBQVM7SUFFM0MsS0FBSyxDQUFDLEVBQUU7UUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLDhvQ0FBOG9DLENBQUMsQ0FBQztRQUM1cEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyx1SEFBdUgsQ0FBQyxDQUFDO1FBRXJJLElBQUksQ0FBQyxNQUFNLENBQUMsc1RBQXNULENBQUMsQ0FBQztRQUNwVSxJQUFJLENBQUMsTUFBTSxDQUFDLDJJQUEySSxDQUFDLENBQUM7SUFDM0osQ0FBQztJQUVRLEtBQUssQ0FBQyxJQUFJO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsZ0RBQWdELENBQUMsQ0FBQztRQUU5RCxJQUFJLENBQUMsTUFBTSxDQUFDLDBEQUEwRCxDQUFDLENBQUM7SUFDMUUsQ0FBQztDQUVGO0FBaEJELDBEQWdCQyJ9
17
+ exports.Migration20250818070635 = Migration20250818070635;
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA4MTgwNzA2MzUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9mb3JtLXJlc3BvbnNlL21pZ3JhdGlvbnMvTWlncmF0aW9uMjAyNTA4MTgwNzA2MzUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsc0RBQWtEO0FBRWxELE1BQWEsdUJBQXdCLFNBQVEsc0JBQVM7SUFFM0MsS0FBSyxDQUFDLEVBQUU7UUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLG1xQ0FBbXFDLENBQUMsQ0FBQztRQUNqckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyx1SEFBdUgsQ0FBQyxDQUFDO1FBRXJJLElBQUksQ0FBQyxNQUFNLENBQUMsc1RBQXNULENBQUMsQ0FBQztRQUNwVSxJQUFJLENBQUMsTUFBTSxDQUFDLDJJQUEySSxDQUFDLENBQUM7SUFDM0osQ0FBQztJQUVRLEtBQUssQ0FBQyxJQUFJO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsZ0RBQWdELENBQUMsQ0FBQztRQUU5RCxJQUFJLENBQUMsTUFBTSxDQUFDLDBEQUEwRCxDQUFDLENBQUM7SUFDMUUsQ0FBQztDQUVGO0FBaEJELDBEQWdCQyJ9
@@ -23,6 +23,7 @@ exports.FormResponses = utils_1.model.define("form_responses", {
23
23
  address: utils_1.model.text().nullable(),
24
24
  nominee_name: utils_1.model.text().nullable(),
25
25
  relationship_with_nominee: utils_1.model.enum(types_1.RelationshipWithNominee).nullable(),
26
+ product: utils_1.model.text().nullable(),
26
27
  nationality: utils_1.model.enum(types_1.Nationality).nullable(),
27
28
  });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1yZXNwb25zZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9mb3JtLXJlc3BvbnNlL21vZGVscy9mb3JtLXJlc3BvbnNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBd0M7QUFDeEMsa0VBS2dEO0FBRW5DLFFBQUEsYUFBYSxHQUFHLGFBQUssQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLEVBQUU7SUFDMUQsRUFBRSxFQUFFLGFBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxVQUFVLEVBQUU7SUFDN0MsSUFBSSxFQUFFLGFBQUssQ0FBQyxJQUFJLENBQUMsd0JBQWdCLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDN0MsSUFBSSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDN0IsU0FBUyxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDbEMsYUFBYSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDdEMsS0FBSyxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDOUIsSUFBSSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDN0IsbUJBQW1CLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM1QyxRQUFRLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNqQyxPQUFPLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNoQyxVQUFVLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNuQyxLQUFLLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM5Qix3QkFBd0IsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ2pELE1BQU0sRUFBRSxhQUFLLENBQUMsSUFBSSxDQUFDLDBCQUFrQixDQUFDLENBQUMsT0FBTyxDQUFDLDBCQUFrQixDQUFDLE9BQU8sQ0FBQztJQUMxRSxlQUFlLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUN4QyxhQUFhLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUN0QyxPQUFPLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNoQyxZQUFZLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNyQyx5QkFBeUIsRUFBRSxhQUFLLENBQUMsSUFBSSxDQUFDLCtCQUF1QixDQUFDLENBQUMsUUFBUSxFQUFFO0lBQ3pFLFdBQVcsRUFBRSxhQUFLLENBQUMsSUFBSSxDQUFDLG1CQUFXLENBQUMsQ0FBQyxRQUFRLEVBQUU7Q0FDaEQsQ0FBQyxDQUFDIn0=
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1yZXNwb25zZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9mb3JtLXJlc3BvbnNlL21vZGVscy9mb3JtLXJlc3BvbnNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBd0M7QUFDeEMsa0VBS2dEO0FBRW5DLFFBQUEsYUFBYSxHQUFHLGFBQUssQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLEVBQUU7SUFDMUQsRUFBRSxFQUFFLGFBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxVQUFVLEVBQUU7SUFDN0MsSUFBSSxFQUFFLGFBQUssQ0FBQyxJQUFJLENBQUMsd0JBQWdCLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDN0MsSUFBSSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDN0IsU0FBUyxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDbEMsYUFBYSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDdEMsS0FBSyxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDOUIsSUFBSSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDN0IsbUJBQW1CLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM1QyxRQUFRLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNqQyxPQUFPLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNoQyxVQUFVLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNuQyxLQUFLLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM5Qix3QkFBd0IsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ2pELE1BQU0sRUFBRSxhQUFLLENBQUMsSUFBSSxDQUFDLDBCQUFrQixDQUFDLENBQUMsT0FBTyxDQUFDLDBCQUFrQixDQUFDLE9BQU8sQ0FBQztJQUMxRSxlQUFlLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUN4QyxhQUFhLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUN0QyxPQUFPLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNoQyxZQUFZLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNyQyx5QkFBeUIsRUFBRSxhQUFLLENBQUMsSUFBSSxDQUFDLCtCQUF1QixDQUFDLENBQUMsUUFBUSxFQUFFO0lBQ3pFLE9BQU8sRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ2hDLFdBQVcsRUFBRSxhQUFLLENBQUMsSUFBSSxDQUFDLG1CQUFXLENBQUMsQ0FBQyxRQUFRLEVBQUU7Q0FDaEQsQ0FBQyxDQUFDIn0=
@@ -3,12 +3,28 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createFormResponseStep = void 0;
4
4
  const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
5
  const form_response_1 = require("../../../modules/form-response");
6
+ const helper_1 = require("../../../lib/helper");
6
7
  exports.createFormResponseStep = (0, workflows_sdk_1.createStep)("create-form-response-step", async (data, { container }) => {
7
8
  const formService = container.resolve(form_response_1.FORM_RESPONSE_MODULE);
9
+ // find all records with same mobile
10
+ const existing = await formService.listFormResponses({
11
+ mobile_number: data.mobile_number,
12
+ });
13
+ if (existing.length > 0) {
14
+ // check if any record has the same date + same type
15
+ const sameDate = existing.find((res) => (0, helper_1.formatDateToDDMMYYYY)(res.scheduled_date_time || "") ===
16
+ (0, helper_1.formatDateToDDMMYYYY)(data.scheduled_date_time || "") &&
17
+ res.type === data.type);
18
+ if (sameDate) {
19
+ throw new Error(`❌ Your booking already exists for ${sameDate.scheduled_date_time}`);
20
+ }
21
+ const formResponse = await formService.createFormResponses(data);
22
+ return new workflows_sdk_1.StepResponse({ ...formResponse, __operation: "booking" }, formResponse.id);
23
+ }
8
24
  const formResponse = await formService.createFormResponses(data);
9
- return new workflows_sdk_1.StepResponse(formResponse, formResponse.id);
25
+ return new workflows_sdk_1.StepResponse({ ...formResponse, __operation: "create" }, formResponse.id);
10
26
  }, async (id, { container }) => {
11
27
  const formService = container.resolve(form_response_1.FORM_RESPONSE_MODULE);
12
28
  await formService.deleteFormResponses([id]);
13
29
  });
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWZvcm0tcmVzcG9uc2Utc3RlcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvZm9ybS1yZXNwb25zZS9zdGVwcy9jcmVhdGUtZm9ybS1yZXNwb25zZS1zdGVwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUE2RTtBQUU3RSxrRUFBc0U7QUFJekQsUUFBQSxzQkFBc0IsR0FBRyxJQUFBLDBCQUFVLEVBQzlDLDJCQUEyQixFQUMzQixLQUFLLEVBQUUsSUFBNEIsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDcEQsTUFBTSxXQUFXLEdBQ2YsU0FBUyxDQUFDLE9BQU8sQ0FBQyxvQ0FBb0IsQ0FBQyxDQUFDO0lBRTFDLE1BQU0sWUFBWSxHQUFHLE1BQU0sV0FBVyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBRWpFLE9BQU8sSUFBSSw0QkFBWSxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDekQsQ0FBQyxFQUNELEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQzFCLE1BQU0sV0FBVyxHQUNmLFNBQVMsQ0FBQyxPQUFPLENBQUMsb0NBQW9CLENBQUMsQ0FBQztJQUMxQyxNQUFNLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDOUMsQ0FBQyxDQUNGLENBQUMifQ==
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWZvcm0tcmVzcG9uc2Utc3RlcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvZm9ybS1yZXNwb25zZS9zdGVwcy9jcmVhdGUtZm9ybS1yZXNwb25zZS1zdGVwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUE2RTtBQUU3RSxrRUFBc0U7QUFFdEUsZ0RBQTJEO0FBRTlDLFFBQUEsc0JBQXNCLEdBQUcsSUFBQSwwQkFBVSxFQUM5QywyQkFBMkIsRUFDM0IsS0FBSyxFQUFFLElBQTRCLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQ3BELE1BQU0sV0FBVyxHQUNmLFNBQVMsQ0FBQyxPQUFPLENBQUMsb0NBQW9CLENBQUMsQ0FBQztJQUUxQyxvQ0FBb0M7SUFDcEMsTUFBTSxRQUFRLEdBQUcsTUFBTSxXQUFXLENBQUMsaUJBQWlCLENBQUM7UUFDbkQsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhO0tBQ2xDLENBQUMsQ0FBQztJQUVILElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUN4QixvREFBb0Q7UUFDcEQsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FDNUIsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUNOLElBQUEsNkJBQW9CLEVBQUMsR0FBRyxDQUFDLG1CQUFtQixJQUFJLEVBQUUsQ0FBQztZQUNuRCxJQUFBLDZCQUFvQixFQUFDLElBQUksQ0FBQyxtQkFBbUIsSUFBSSxFQUFFLENBQUM7WUFDcEQsR0FBRyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsSUFBSSxDQUN6QixDQUFDO1FBRUYsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNiLE1BQU0sSUFBSSxLQUFLLENBQ2IscUNBQXFDLFFBQVEsQ0FBQyxtQkFBbUIsRUFBRSxDQUNwRSxDQUFDO1FBQ0osQ0FBQztRQUVELE1BQU0sWUFBWSxHQUFHLE1BQU0sV0FBVyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBRWpFLE9BQU8sSUFBSSw0QkFBWSxDQUNyQixFQUFFLEdBQUcsWUFBWSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsRUFDM0MsWUFBWSxDQUFDLEVBQUUsQ0FDaEIsQ0FBQztJQUNKLENBQUM7SUFDRCxNQUFNLFlBQVksR0FBRyxNQUFNLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVqRSxPQUFPLElBQUksNEJBQVksQ0FDckIsRUFBRSxHQUFHLFlBQVksRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLEVBQzFDLFlBQVksQ0FBQyxFQUFFLENBQ2hCLENBQUM7QUFDSixDQUFDLEVBRUQsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDMUIsTUFBTSxXQUFXLEdBQ2YsU0FBUyxDQUFDLE9BQU8sQ0FBQyxvQ0FBb0IsQ0FBQyxDQUFDO0lBQzFDLE1BQU0sV0FBVyxDQUFDLG1CQUFtQixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM5QyxDQUFDLENBQ0YsQ0FBQyJ9
@@ -7,11 +7,14 @@ const core_flows_1 = require("@medusajs/medusa/core-flows");
7
7
  exports.createFormResponseWorkflow = (0, workflows_sdk_1.createWorkflow)("create-form-response-workflow", (input) => {
8
8
  const formResponse = (0, steps_1.createFormResponseStep)(input);
9
9
  (0, core_flows_1.emitEventStep)({
10
- eventName: "form-response.created",
10
+ eventName: "form-response",
11
11
  data: {
12
- formResponse,
12
+ operation: formResponse.__operation, // "create" or "booking"
13
+ data: formResponse,
13
14
  },
15
+ }).config({
16
+ name: "form-response-event",
14
17
  });
15
18
  return new workflows_sdk_1.WorkflowResponse(formResponse);
16
19
  });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWZvcm0tcmVzcG9uc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2Zvcm0tcmVzcG9uc2Uvd29ya2Zsb3dzL2NyZWF0ZS1mb3JtLXJlc3BvbnNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUcyQztBQUMzQyxvQ0FBa0Q7QUFFbEQsNERBQTREO0FBRS9DLFFBQUEsMEJBQTBCLEdBQUcsSUFBQSw4QkFBYyxFQUN0RCwrQkFBK0IsRUFDL0IsQ0FBQyxLQUE2QixFQUFFLEVBQUU7SUFDaEMsTUFBTSxZQUFZLEdBQUcsSUFBQSw4QkFBc0IsRUFBQyxLQUFLLENBQUMsQ0FBQztJQUVuRCxJQUFBLDBCQUFhLEVBQUM7UUFDWixTQUFTLEVBQUUsdUJBQXVCO1FBQ2xDLElBQUksRUFBRTtZQUNKLFlBQVk7U0FDYjtLQUNGLENBQUMsQ0FBQztJQUVILE9BQU8sSUFBSSxnQ0FBZ0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUM1QyxDQUFDLENBQ0YsQ0FBQyJ9
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWZvcm0tcmVzcG9uc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2Zvcm0tcmVzcG9uc2Uvd29ya2Zsb3dzL2NyZWF0ZS1mb3JtLXJlc3BvbnNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUcyQztBQUMzQyxvQ0FBa0Q7QUFFbEQsNERBQTREO0FBRS9DLFFBQUEsMEJBQTBCLEdBQUcsSUFBQSw4QkFBYyxFQUN0RCwrQkFBK0IsRUFDL0IsQ0FBQyxLQUE2QixFQUFFLEVBQUU7SUFDaEMsTUFBTSxZQUFZLEdBQUcsSUFBQSw4QkFBc0IsRUFBQyxLQUFLLENBQUMsQ0FBQztJQUVuRCxJQUFBLDBCQUFhLEVBQUM7UUFDWixTQUFTLEVBQUUsZUFBZTtRQUMxQixJQUFJLEVBQUU7WUFDSixTQUFTLEVBQUUsWUFBWSxDQUFDLFdBQVcsRUFBRSx3QkFBd0I7WUFDN0QsSUFBSSxFQUFFLFlBQVk7U0FDbkI7S0FDRixDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ1IsSUFBSSxFQUFFLHFCQUFxQjtLQUM1QixDQUFDLENBQUM7SUFFSCxPQUFPLElBQUksZ0NBQWdCLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDNUMsQ0FBQyxDQUNGLENBQUMifQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@devx-commerce/plugin-form-responses",
3
- "version": "0.0.2-beta.10",
3
+ "version": "0.0.2-beta.12",
4
4
  "description": "A starter for Medusa plugins.",
5
5
  "author": "Medusa (https://medusajs.com)",
6
6
  "license": "MIT",