@b2y/ecommerce-common 1.3.5 → 1.3.7

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 (96) hide show
  1. package/.idea/ecommerce-common.iml +11 -11
  2. package/.idea/modules.xml +7 -7
  3. package/.idea/vcs.xml +5 -5
  4. package/README.md +4 -4
  5. package/constants/AppConstants.js +15 -15
  6. package/constants/ReportConstants.js +14 -14
  7. package/constants/StatusMessageConstants.js +61 -61
  8. package/controller/LocationController.js +144 -144
  9. package/controller/SubscriptionAbstractController.js +91 -91
  10. package/controller/TenantAbstractController.js +152 -152
  11. package/controller/TenantSettingsAbstractController.js +243 -243
  12. package/dbconnection/Connect.js +498 -498
  13. package/enum/AccessModeEnum.js +8 -8
  14. package/enum/ActionByTypeEnum.js +4 -4
  15. package/enum/AddressTypeEnum.js +6 -6
  16. package/enum/BillingCycleEnum.js +5 -5
  17. package/enum/BooleanEnum.js +4 -4
  18. package/enum/BulkImportStatusEnum.js +6 -6
  19. package/enum/EntityTypeEnum.js +12 -11
  20. package/enum/FeatureTypeEnum.js +6 -6
  21. package/enum/GenderEnum.js +7 -7
  22. package/enum/NotificationStatusEnum.js +5 -5
  23. package/enum/NotificationTypeEnum.js +9 -9
  24. package/enum/OrderActionStatusEnum.js +7 -7
  25. package/enum/OrderStatusEnum.js +7 -7
  26. package/enum/PackageBoxTypeEnum.js +6 -6
  27. package/enum/PaymentMethodEnum.js +6 -6
  28. package/enum/PaymentStatusEnum.js +6 -6
  29. package/enum/PaymentTypeEnum.js +6 -6
  30. package/enum/PlatformEnum.js +4 -4
  31. package/enum/ReasonTypeEnum.js +6 -6
  32. package/enum/RegistrationStatusEnum.js +5 -5
  33. package/enum/SortByEnum.js +7 -7
  34. package/enum/SubscriptionStatusEnum.js +7 -7
  35. package/index.js +28 -28
  36. package/model/Address.js +95 -95
  37. package/model/AttributeType.js +50 -50
  38. package/model/AttributeValue.js +64 -64
  39. package/model/Banner.js +78 -78
  40. package/model/Brand.js +76 -76
  41. package/model/Cart.js +76 -76
  42. package/model/Category.js +72 -72
  43. package/model/CategoryAttributeType.js +62 -62
  44. package/model/Colour.js +52 -52
  45. package/model/Customer.js +94 -94
  46. package/model/DeviceToken.js +51 -51
  47. package/model/Document.js +73 -73
  48. package/model/DynamicUIComponent.js +52 -52
  49. package/model/Feedback.js +79 -79
  50. package/model/Inventory.js +87 -87
  51. package/model/NotificationHistory.js +67 -67
  52. package/model/Order.js +84 -84
  53. package/model/OrderActionReason.js +99 -99
  54. package/model/OrderItem.js +98 -98
  55. package/model/OrderItemHistory.js +69 -69
  56. package/model/OrderStatus.js +48 -48
  57. package/model/PackagingBox.js +78 -78
  58. package/model/Payment.js +101 -101
  59. package/model/PaymentMethod.js +36 -36
  60. package/model/PaymentStatus.js +36 -36
  61. package/model/PaymentType.js +36 -36
  62. package/model/Permission.js +55 -55
  63. package/model/Product.js +97 -97
  64. package/model/ProductGroup.js +48 -48
  65. package/model/ProductImport.js +55 -55
  66. package/model/ProductImportFailureAudits.js +57 -57
  67. package/model/ProductSpecification.js +65 -65
  68. package/model/ProductVariant.js +111 -111
  69. package/model/ProductVariantAttribute.js +58 -58
  70. package/model/ReasonContextMapping.js +70 -70
  71. package/model/ReasonMaster.js +74 -74
  72. package/model/Role.js +61 -61
  73. package/model/RolePermissionMapping.js +63 -63
  74. package/model/SpecificationType.js +41 -41
  75. package/model/Store.js +99 -99
  76. package/model/StoreUserMapping.js +44 -44
  77. package/model/SubscriptionFeature.js +53 -53
  78. package/model/SubscriptionPlan.js +70 -70
  79. package/model/SubscriptionPlanFeature.js +48 -48
  80. package/model/Tenant.js +91 -91
  81. package/model/TenantSettings.js +47 -47
  82. package/model/TenantSubscription.js +73 -73
  83. package/model/User.js +132 -132
  84. package/model/WishList.js +62 -62
  85. package/package.json +30 -30
  86. package/scripts/QueryBuilder.js +162 -162
  87. package/utility/AppUtil.js +65 -65
  88. package/utility/DateUtil.js +55 -55
  89. package/utility/ExcelUtil.js +125 -125
  90. package/utility/LocationUtility.js +130 -130
  91. package/utility/OrderTimeFilterUtil.js +88 -88
  92. package/utility/PdfUtil.js +64 -64
  93. package/utility/QueryUtil.js +261 -261
  94. package/utility/Razorpay.js +65 -65
  95. package/utility/ResolveAccessMode.js +61 -61
  96. package/utility/VariantPriceUtil.js +54 -54
@@ -1,112 +1,112 @@
1
- const { DataTypes } = require('sequelize');
2
-
3
- module.exports = (sequelize) => {
4
- return sequelize.define('ProductVariant', {
5
- ProductVariantID: {
6
- type: DataTypes.UUID,
7
- primaryKey: true,
8
- allowNull: false,
9
- defaultValue: DataTypes.UUIDV4
10
- },
11
- TenantID: {
12
- type: DataTypes.UUID,
13
- allowNull: false,
14
- references: {
15
- model: 'Tenant',
16
- key: 'TenantID'
17
- },
18
- onDelete: 'CASCADE',
19
- onUpdate: 'CASCADE'
20
- },
21
- ProductID: {
22
- type: DataTypes.UUID,
23
- allowNull: false,
24
- references: {
25
- model: 'Product',
26
- key: 'ProductID'
27
- },
28
- onDelete: 'CASCADE',
29
- onUpdate: 'CASCADE'
30
- },
31
- SKU: {
32
- type: DataTypes.STRING(150),
33
- allowNull: false
34
- },
35
- Barcode: {
36
- type: DataTypes.STRING(100)
37
- },
38
- MRP: {
39
- type: DataTypes.DECIMAL(10, 2),
40
- allowNull: false
41
- },
42
- SellingPrice: {
43
- type: DataTypes.DECIMAL(10, 2),
44
- allowNull: false
45
- },
46
- DiscountPercentage: {
47
- type: DataTypes.DECIMAL(5, 2),
48
- allowNull: false
49
- },
50
- IsActive: {
51
- type: DataTypes.BOOLEAN,
52
- defaultValue: true
53
- },
54
- Weight: {
55
- type: DataTypes.DECIMAL(10, 2),
56
- allowNull: false
57
- },
58
- Unit: {
59
- type: DataTypes.STRING(5),
60
- allowNull: false
61
- },
62
- CountryCode: {
63
- type: DataTypes.STRING(2),
64
- allowNull: true
65
- },
66
- HSCode: {
67
- type: DataTypes.STRING(10),
68
- allowNull: true
69
- },
70
- PackagingBoxID: {
71
- type: DataTypes.UUID,
72
- allowNull: false,
73
- references: {
74
- model: 'PackagingBox',
75
- key: 'PackagingBoxID'
76
- },
77
- onDelete: 'RESTRICT',
78
- onUpdate: 'CASCADE'
79
- },
80
- GroupByAttributeValue: {
81
- type: DataTypes.UUID,
82
- allowNull: true,
83
- references: {
84
- model: 'AttributeType',
85
- key: 'AttributeTypeID'
86
- },
87
- onDelete: 'SET NULL',
88
- onUpdate: 'CASCADE'
89
- },
90
- CreatedBy: {
91
- type: DataTypes.UUID,
92
- allowNull: false
93
- },
94
- CreatedAt: {
95
- type: DataTypes.DATE,
96
- allowNull: false,
97
- defaultValue: DataTypes.NOW
98
- },
99
- UpdatedBy: {
100
- type: DataTypes.UUID,
101
- allowNull: false
102
- },
103
- UpdatedAt: {
104
- type: DataTypes.DATE,
105
- allowNull: false,
106
- defaultValue: DataTypes.NOW
107
- }
108
- }, {
109
- tableName: 'ProductVariant',
110
- timestamps: false
111
- });
1
+ const { DataTypes } = require('sequelize');
2
+
3
+ module.exports = (sequelize) => {
4
+ return sequelize.define('ProductVariant', {
5
+ ProductVariantID: {
6
+ type: DataTypes.UUID,
7
+ primaryKey: true,
8
+ allowNull: false,
9
+ defaultValue: DataTypes.UUIDV4
10
+ },
11
+ TenantID: {
12
+ type: DataTypes.UUID,
13
+ allowNull: false,
14
+ references: {
15
+ model: 'Tenant',
16
+ key: 'TenantID'
17
+ },
18
+ onDelete: 'CASCADE',
19
+ onUpdate: 'CASCADE'
20
+ },
21
+ ProductID: {
22
+ type: DataTypes.UUID,
23
+ allowNull: false,
24
+ references: {
25
+ model: 'Product',
26
+ key: 'ProductID'
27
+ },
28
+ onDelete: 'CASCADE',
29
+ onUpdate: 'CASCADE'
30
+ },
31
+ SKU: {
32
+ type: DataTypes.STRING(150),
33
+ allowNull: false
34
+ },
35
+ Barcode: {
36
+ type: DataTypes.STRING(100)
37
+ },
38
+ MRP: {
39
+ type: DataTypes.DECIMAL(10, 2),
40
+ allowNull: false
41
+ },
42
+ SellingPrice: {
43
+ type: DataTypes.DECIMAL(10, 2),
44
+ allowNull: false
45
+ },
46
+ DiscountPercentage: {
47
+ type: DataTypes.DECIMAL(5, 2),
48
+ allowNull: false
49
+ },
50
+ IsActive: {
51
+ type: DataTypes.BOOLEAN,
52
+ defaultValue: true
53
+ },
54
+ Weight: {
55
+ type: DataTypes.DECIMAL(10, 2),
56
+ allowNull: false
57
+ },
58
+ Unit: {
59
+ type: DataTypes.STRING(5),
60
+ allowNull: false
61
+ },
62
+ CountryCode: {
63
+ type: DataTypes.STRING(2),
64
+ allowNull: true
65
+ },
66
+ HSCode: {
67
+ type: DataTypes.STRING(10),
68
+ allowNull: true
69
+ },
70
+ PackagingBoxID: {
71
+ type: DataTypes.UUID,
72
+ allowNull: false,
73
+ references: {
74
+ model: 'PackagingBox',
75
+ key: 'PackagingBoxID'
76
+ },
77
+ onDelete: 'RESTRICT',
78
+ onUpdate: 'CASCADE'
79
+ },
80
+ GroupByAttributeValue: {
81
+ type: DataTypes.UUID,
82
+ allowNull: true,
83
+ references: {
84
+ model: 'AttributeType',
85
+ key: 'AttributeTypeID'
86
+ },
87
+ onDelete: 'SET NULL',
88
+ onUpdate: 'CASCADE'
89
+ },
90
+ CreatedBy: {
91
+ type: DataTypes.UUID,
92
+ allowNull: false
93
+ },
94
+ CreatedAt: {
95
+ type: DataTypes.DATE,
96
+ allowNull: false,
97
+ defaultValue: DataTypes.NOW
98
+ },
99
+ UpdatedBy: {
100
+ type: DataTypes.UUID,
101
+ allowNull: false
102
+ },
103
+ UpdatedAt: {
104
+ type: DataTypes.DATE,
105
+ allowNull: false,
106
+ defaultValue: DataTypes.NOW
107
+ }
108
+ }, {
109
+ tableName: 'ProductVariant',
110
+ timestamps: false
111
+ });
112
112
  };
@@ -1,59 +1,59 @@
1
- const { DataTypes } = require('sequelize');
2
-
3
- module.exports = (sequelize) => {
4
- return sequelize.define('ProductVariantAttribute', {
5
- ProductVariantID: {
6
- type: DataTypes.UUID,
7
- primaryKey: true,
8
- allowNull: false,
9
- references: {
10
- model: 'ProductVariant',
11
- key: 'ProductVariantID'
12
- },
13
- onDelete: 'CASCADE',
14
- onUpdate: 'CASCADE'
15
- },
16
- AttributeValueID: {
17
- type: DataTypes.UUID,
18
- primaryKey: true,
19
- allowNull: false,
20
- references: {
21
- model: 'AttributeValue',
22
- key: 'AttributeValueID'
23
- },
24
- onDelete: 'CASCADE',
25
- onUpdate: 'CASCADE'
26
- },
27
- TenantID: {
28
- type: DataTypes.UUID,
29
- allowNull: false,
30
- references: {
31
- model: 'Tenant',
32
- key: 'TenantID'
33
- },
34
- onDelete: 'CASCADE',
35
- onUpdate: 'CASCADE'
36
- },
37
- CreatedBy: {
38
- type: DataTypes.UUID,
39
- allowNull: false
40
- },
41
- CreatedAt: {
42
- type: DataTypes.DATE,
43
- allowNull: false,
44
- defaultValue: DataTypes.NOW
45
- },
46
- UpdatedBy: {
47
- type: DataTypes.UUID,
48
- allowNull: false
49
- },
50
- UpdatedAt: {
51
- type: DataTypes.DATE,
52
- allowNull: false,
53
- defaultValue: DataTypes.NOW
54
- }
55
- }, {
56
- tableName: 'ProductVariantAttribute',
57
- timestamps: false
58
- });
1
+ const { DataTypes } = require('sequelize');
2
+
3
+ module.exports = (sequelize) => {
4
+ return sequelize.define('ProductVariantAttribute', {
5
+ ProductVariantID: {
6
+ type: DataTypes.UUID,
7
+ primaryKey: true,
8
+ allowNull: false,
9
+ references: {
10
+ model: 'ProductVariant',
11
+ key: 'ProductVariantID'
12
+ },
13
+ onDelete: 'CASCADE',
14
+ onUpdate: 'CASCADE'
15
+ },
16
+ AttributeValueID: {
17
+ type: DataTypes.UUID,
18
+ primaryKey: true,
19
+ allowNull: false,
20
+ references: {
21
+ model: 'AttributeValue',
22
+ key: 'AttributeValueID'
23
+ },
24
+ onDelete: 'CASCADE',
25
+ onUpdate: 'CASCADE'
26
+ },
27
+ TenantID: {
28
+ type: DataTypes.UUID,
29
+ allowNull: false,
30
+ references: {
31
+ model: 'Tenant',
32
+ key: 'TenantID'
33
+ },
34
+ onDelete: 'CASCADE',
35
+ onUpdate: 'CASCADE'
36
+ },
37
+ CreatedBy: {
38
+ type: DataTypes.UUID,
39
+ allowNull: false
40
+ },
41
+ CreatedAt: {
42
+ type: DataTypes.DATE,
43
+ allowNull: false,
44
+ defaultValue: DataTypes.NOW
45
+ },
46
+ UpdatedBy: {
47
+ type: DataTypes.UUID,
48
+ allowNull: false
49
+ },
50
+ UpdatedAt: {
51
+ type: DataTypes.DATE,
52
+ allowNull: false,
53
+ defaultValue: DataTypes.NOW
54
+ }
55
+ }, {
56
+ tableName: 'ProductVariantAttribute',
57
+ timestamps: false
58
+ });
59
59
  };
@@ -1,71 +1,71 @@
1
- const { DataTypes } = require('sequelize');
2
-
3
- module.exports = (sequelize) => {
4
- return sequelize.define('ReasonContextMapping', {
5
- ReasonContextMappingID: {
6
- type: DataTypes.UUID,
7
- primaryKey: true,
8
- allowNull: false,
9
- defaultValue: DataTypes.UUIDV4
10
- },
11
- TenantID: {
12
- type: DataTypes.UUID,
13
- allowNull: false,
14
- references: {
15
- model: 'Tenant',
16
- key: 'TenantID'
17
- },
18
- onDelete: 'CASCADE',
19
- onUpdate: 'CASCADE'
20
- },
21
- ReasonID: {
22
- type: DataTypes.UUID,
23
- allowNull: false,
24
- references: {
25
- model: 'ReasonMaster',
26
- key: 'ReasonID'
27
- },
28
- onDelete: 'CASCADE',
29
- onUpdate: 'CASCADE'
30
- },
31
- CategoryID: {
32
- type: DataTypes.UUID,
33
- allowNull: false,
34
- references: {
35
- model: 'Category',
36
- key: 'CategoryID'
37
- },
38
- onDelete: 'CASCADE',
39
- onUpdate: 'CASCADE'
40
- },
41
- SortOrder: {
42
- type: DataTypes.INTEGER,
43
- defaultValue: 0
44
- },
45
- IsActive: {
46
- type: DataTypes.BOOLEAN,
47
- defaultValue: true
48
- },
49
- CreatedBy: {
50
- type: DataTypes.UUID,
51
- allowNull: false
52
- },
53
- CreatedAt: {
54
- type: DataTypes.DATE,
55
- allowNull: false,
56
- defaultValue: DataTypes.NOW
57
- },
58
- UpdatedBy: {
59
- type: DataTypes.UUID,
60
- allowNull: false
61
- },
62
- UpdatedAt: {
63
- type: DataTypes.DATE,
64
- allowNull: false,
65
- defaultValue: DataTypes.NOW
66
- }
67
- }, {
68
- tableName: 'ReasonContextMapping',
69
- timestamps: false
70
- })
1
+ const { DataTypes } = require('sequelize');
2
+
3
+ module.exports = (sequelize) => {
4
+ return sequelize.define('ReasonContextMapping', {
5
+ ReasonContextMappingID: {
6
+ type: DataTypes.UUID,
7
+ primaryKey: true,
8
+ allowNull: false,
9
+ defaultValue: DataTypes.UUIDV4
10
+ },
11
+ TenantID: {
12
+ type: DataTypes.UUID,
13
+ allowNull: false,
14
+ references: {
15
+ model: 'Tenant',
16
+ key: 'TenantID'
17
+ },
18
+ onDelete: 'CASCADE',
19
+ onUpdate: 'CASCADE'
20
+ },
21
+ ReasonID: {
22
+ type: DataTypes.UUID,
23
+ allowNull: false,
24
+ references: {
25
+ model: 'ReasonMaster',
26
+ key: 'ReasonID'
27
+ },
28
+ onDelete: 'CASCADE',
29
+ onUpdate: 'CASCADE'
30
+ },
31
+ CategoryID: {
32
+ type: DataTypes.UUID,
33
+ allowNull: false,
34
+ references: {
35
+ model: 'Category',
36
+ key: 'CategoryID'
37
+ },
38
+ onDelete: 'CASCADE',
39
+ onUpdate: 'CASCADE'
40
+ },
41
+ SortOrder: {
42
+ type: DataTypes.INTEGER,
43
+ defaultValue: 0
44
+ },
45
+ IsActive: {
46
+ type: DataTypes.BOOLEAN,
47
+ defaultValue: true
48
+ },
49
+ CreatedBy: {
50
+ type: DataTypes.UUID,
51
+ allowNull: false
52
+ },
53
+ CreatedAt: {
54
+ type: DataTypes.DATE,
55
+ allowNull: false,
56
+ defaultValue: DataTypes.NOW
57
+ },
58
+ UpdatedBy: {
59
+ type: DataTypes.UUID,
60
+ allowNull: false
61
+ },
62
+ UpdatedAt: {
63
+ type: DataTypes.DATE,
64
+ allowNull: false,
65
+ defaultValue: DataTypes.NOW
66
+ }
67
+ }, {
68
+ tableName: 'ReasonContextMapping',
69
+ timestamps: false
70
+ })
71
71
  };
@@ -1,74 +1,74 @@
1
- const { DataTypes } = require('sequelize');
2
-
3
- module.exports = (sequelize) => {
4
- return sequelize.define('ReasonMaster', {
5
- ReasonID: {
6
- type: DataTypes.UUID,
7
- primaryKey: true,
8
- allowNull: false,
9
- defaultValue: DataTypes.UUIDV4
10
- },
11
- TenantID: {
12
- type: DataTypes.UUID,
13
- allowNull: false,
14
- references: {
15
- model: 'Tenant',
16
- key: 'TenantID'
17
- },
18
- onDelete: 'CASCADE',
19
- onUpdate: 'CASCADE'
20
- },
21
- ReasonType: {
22
- type: DataTypes.STRING(30),
23
- allowNull: false
24
- },
25
- ReasonCode: {
26
- type: DataTypes.STRING(50),
27
- allowNull: false
28
- },
29
- ReasonLabel: {
30
- type: DataTypes.STRING(255),
31
- allowNull: false
32
- },
33
- RequiresComment: {
34
- type: DataTypes.BOOLEAN,
35
- defaultValue: false
36
- },
37
- RequiresAttachment: {
38
- type: DataTypes.BOOLEAN,
39
- defaultValue: false
40
- },
41
- IsActive: {
42
- type: DataTypes.BOOLEAN,
43
- defaultValue: true
44
- },
45
- CreatedBy: {
46
- type: DataTypes.UUID,
47
- allowNull: false
48
- },
49
- CreatedAt: {
50
- type: DataTypes.DATE,
51
- allowNull: false,
52
- defaultValue: DataTypes.NOW
53
- },
54
- UpdatedBy: {
55
- type: DataTypes.UUID,
56
- allowNull: false
57
- },
58
- UpdatedAt: {
59
- type: DataTypes.DATE,
60
- allowNull: false,
61
- defaultValue: DataTypes.NOW
62
- }
63
- }, {
64
- tableName: 'ReasonMaster',
65
- timestamps: false,
66
- indexes: [
67
- {
68
- unique: true,
69
- fields: ['ReasonType', 'ReasonCode'],
70
- name: 'uq_reason_type_code'
71
- }
72
- ]
73
- })
74
- };
1
+ const { DataTypes } = require('sequelize');
2
+
3
+ module.exports = (sequelize) => {
4
+ return sequelize.define('ReasonMaster', {
5
+ ReasonID: {
6
+ type: DataTypes.UUID,
7
+ primaryKey: true,
8
+ allowNull: false,
9
+ defaultValue: DataTypes.UUIDV4
10
+ },
11
+ TenantID: {
12
+ type: DataTypes.UUID,
13
+ allowNull: false,
14
+ references: {
15
+ model: 'Tenant',
16
+ key: 'TenantID'
17
+ },
18
+ onDelete: 'CASCADE',
19
+ onUpdate: 'CASCADE'
20
+ },
21
+ ReasonType: {
22
+ type: DataTypes.STRING(30),
23
+ allowNull: false
24
+ },
25
+ ReasonCode: {
26
+ type: DataTypes.STRING(50),
27
+ allowNull: false
28
+ },
29
+ ReasonLabel: {
30
+ type: DataTypes.STRING(255),
31
+ allowNull: false
32
+ },
33
+ RequiresComment: {
34
+ type: DataTypes.BOOLEAN,
35
+ defaultValue: false
36
+ },
37
+ RequiresAttachment: {
38
+ type: DataTypes.BOOLEAN,
39
+ defaultValue: false
40
+ },
41
+ IsActive: {
42
+ type: DataTypes.BOOLEAN,
43
+ defaultValue: true
44
+ },
45
+ CreatedBy: {
46
+ type: DataTypes.UUID,
47
+ allowNull: false
48
+ },
49
+ CreatedAt: {
50
+ type: DataTypes.DATE,
51
+ allowNull: false,
52
+ defaultValue: DataTypes.NOW
53
+ },
54
+ UpdatedBy: {
55
+ type: DataTypes.UUID,
56
+ allowNull: false
57
+ },
58
+ UpdatedAt: {
59
+ type: DataTypes.DATE,
60
+ allowNull: false,
61
+ defaultValue: DataTypes.NOW
62
+ }
63
+ }, {
64
+ tableName: 'ReasonMaster',
65
+ timestamps: false,
66
+ indexes: [
67
+ {
68
+ unique: true,
69
+ fields: ['ReasonType', 'ReasonCode'],
70
+ name: 'uq_reason_type_code'
71
+ }
72
+ ]
73
+ })
74
+ };