@b2y/ecommerce-common 1.1.2 → 1.1.5

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 (80) hide show
  1. package/README.md +4 -4
  2. package/constants/AppConstants.js +6 -6
  3. package/constants/ReportConstants.js +14 -14
  4. package/constants/StatusMessageConstants.js +17 -17
  5. package/dbconnection/Connect.js +432 -432
  6. package/enum/AccessModeEnum.js +7 -7
  7. package/enum/AddressTypeEnum.js +6 -6
  8. package/enum/BillingCycleEnum.js +5 -5
  9. package/enum/BooleanEnum.js +4 -4
  10. package/enum/BulkImportStatusEnum.js +6 -6
  11. package/enum/EntityTypeEnum.js +11 -11
  12. package/enum/FeatureTypeEnum.js +6 -6
  13. package/enum/GenderEnum.js +7 -7
  14. package/enum/NotificationStatusEnum.js +5 -5
  15. package/enum/NotificationTypeEnum.js +9 -9
  16. package/enum/OrderStatusEnum.js +7 -7
  17. package/enum/PaymentMethodEnum.js +6 -6
  18. package/enum/PaymentStatusEnum.js +6 -6
  19. package/enum/PaymentTypeEnum.js +6 -6
  20. package/enum/PlatformEnum.js +4 -4
  21. package/enum/RegistrationStatusEnum.js +5 -5
  22. package/enum/SortByEnum.js +7 -7
  23. package/enum/SubscriptionStatusEnum.js +7 -7
  24. package/index.js +22 -22
  25. package/model/Address.js +95 -95
  26. package/model/AttributeType.js +50 -50
  27. package/model/AttributeValue.js +64 -64
  28. package/model/Banner.js +78 -78
  29. package/model/Brand.js +76 -76
  30. package/model/Cart.js +76 -76
  31. package/model/Category.js +72 -72
  32. package/model/CategoryAttributeType.js +62 -62
  33. package/model/Colour.js +52 -52
  34. package/model/Customer.js +94 -94
  35. package/model/DeviceToken.js +51 -51
  36. package/model/Document.js +73 -70
  37. package/model/DynamicUIComponent.js +52 -52
  38. package/model/Feedback.js +79 -79
  39. package/model/Inventory.js +83 -83
  40. package/model/NotificationHistory.js +67 -67
  41. package/model/Order.js +94 -94
  42. package/model/OrderItem.js +98 -98
  43. package/model/OrderItemHistory.js +69 -69
  44. package/model/OrderStatus.js +48 -48
  45. package/model/Payment.js +101 -101
  46. package/model/PaymentMethod.js +36 -36
  47. package/model/PaymentStatus.js +36 -36
  48. package/model/PaymentType.js +36 -36
  49. package/model/Permission.js +55 -55
  50. package/model/Product.js +87 -82
  51. package/model/ProductGroup.js +48 -48
  52. package/model/ProductImport.js +55 -56
  53. package/model/ProductImportFailureAudits.js +57 -57
  54. package/model/ProductSpecification.js +65 -65
  55. package/model/ProductVariant.js +75 -75
  56. package/model/ProductVariantAttribute.js +58 -58
  57. package/model/Role.js +61 -61
  58. package/model/RolePermissionMapping.js +63 -63
  59. package/model/SpecificationType.js +41 -41
  60. package/model/Store.js +99 -99
  61. package/model/StoreUserMapping.js +44 -44
  62. package/model/SubscriptionFeature.js +49 -49
  63. package/model/SubscriptionPlan.js +66 -66
  64. package/model/SubscriptionPlanFeature.js +48 -48
  65. package/model/Tenant.js +91 -91
  66. package/model/TenantSettings.js +47 -47
  67. package/model/TenantSubscription.js +73 -73
  68. package/model/User.js +132 -132
  69. package/model/WishList.js +62 -62
  70. package/package.json +29 -29
  71. package/utility/AppUtil.js +65 -65
  72. package/utility/DateUtil.js +55 -55
  73. package/utility/ExcelUtil.js +125 -125
  74. package/utility/LocationUtility.js +130 -130
  75. package/utility/OrderTimeFilterUtil.js +88 -88
  76. package/utility/PdfUtil.js +64 -64
  77. package/utility/QueryUtil.js +261 -261
  78. package/utility/Razorpay.js +65 -65
  79. package/utility/ResolveAccessMode.js +38 -38
  80. package/utility/VariantPriceUtil.js +54 -54
@@ -1,65 +1,65 @@
1
- const { DataTypes } = require('sequelize');
2
-
3
- module.exports = (sequelize) => {
4
- return sequelize.define('AttributeValue', {
5
- AttributeValueID: {
6
- type: DataTypes.UUID,
7
- primaryKey: true,
8
- allowNull: false,
9
- defaultValue: DataTypes.UUIDV4
10
- },
11
- AttributeTypeID: {
12
- type: DataTypes.UUID,
13
- allowNull: false,
14
- references: {
15
- model: 'AttributeType',
16
- key: 'AttributeTypeID'
17
- },
18
- onDelete: 'RESTRICT',
19
- onUpdate: 'CASCADE'
20
- },
21
- Value: {
22
- type: DataTypes.STRING(100),
23
- allowNull: false
24
- },
25
- Unit: {
26
- type: DataTypes.STRING(50)
27
- },
28
- IsActive: {
29
- type: DataTypes.BOOLEAN,
30
- defaultValue: true
31
- },
32
- CreatedBy: {
33
- type: DataTypes.UUID,
34
- allowNull: false
35
- },
36
- CreatedAt: {
37
- type: DataTypes.DATE,
38
- allowNull: false,
39
- defaultValue: DataTypes.NOW
40
- },
41
- UpdatedBy: {
42
- type: DataTypes.UUID,
43
- allowNull: false
44
- },
45
- UpdatedAt: {
46
- type: DataTypes.DATE,
47
- allowNull: false,
48
- defaultValue: DataTypes.NOW
49
- }
50
- }, {
51
- tableName: 'AttributeValue',
52
- indexes: [
53
- {
54
- name: "idx_attribute_unique_composite",
55
- unique: true,
56
- fields: [
57
- "AttributeTypeID",
58
- sequelize.literal('LOWER("Value")'),
59
- sequelize.literal('LOWER("Unit")')
60
- ]
61
- }
62
- ],
63
- timestamps: false
64
- });
1
+ const { DataTypes } = require('sequelize');
2
+
3
+ module.exports = (sequelize) => {
4
+ return sequelize.define('AttributeValue', {
5
+ AttributeValueID: {
6
+ type: DataTypes.UUID,
7
+ primaryKey: true,
8
+ allowNull: false,
9
+ defaultValue: DataTypes.UUIDV4
10
+ },
11
+ AttributeTypeID: {
12
+ type: DataTypes.UUID,
13
+ allowNull: false,
14
+ references: {
15
+ model: 'AttributeType',
16
+ key: 'AttributeTypeID'
17
+ },
18
+ onDelete: 'RESTRICT',
19
+ onUpdate: 'CASCADE'
20
+ },
21
+ Value: {
22
+ type: DataTypes.STRING(100),
23
+ allowNull: false
24
+ },
25
+ Unit: {
26
+ type: DataTypes.STRING(50)
27
+ },
28
+ IsActive: {
29
+ type: DataTypes.BOOLEAN,
30
+ defaultValue: true
31
+ },
32
+ CreatedBy: {
33
+ type: DataTypes.UUID,
34
+ allowNull: false
35
+ },
36
+ CreatedAt: {
37
+ type: DataTypes.DATE,
38
+ allowNull: false,
39
+ defaultValue: DataTypes.NOW
40
+ },
41
+ UpdatedBy: {
42
+ type: DataTypes.UUID,
43
+ allowNull: false
44
+ },
45
+ UpdatedAt: {
46
+ type: DataTypes.DATE,
47
+ allowNull: false,
48
+ defaultValue: DataTypes.NOW
49
+ }
50
+ }, {
51
+ tableName: 'AttributeValue',
52
+ indexes: [
53
+ {
54
+ name: "idx_attribute_unique_composite",
55
+ unique: true,
56
+ fields: [
57
+ "AttributeTypeID",
58
+ sequelize.literal('LOWER("Value")'),
59
+ sequelize.literal('LOWER("Unit")')
60
+ ]
61
+ }
62
+ ],
63
+ timestamps: false
64
+ });
65
65
  };
package/model/Banner.js CHANGED
@@ -1,79 +1,79 @@
1
- const { DataTypes } = require('sequelize');
2
-
3
- module.exports = (sequelize) => {
4
- return sequelize.define('Banner', {
5
- BannerID: {
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
- BannerName: {
22
- type: DataTypes.STRING(100),
23
- allowNull: false
24
- },
25
- CategoryIDs: {
26
- type: DataTypes.JSON
27
- },
28
- BrandIDs: {
29
- type: DataTypes.JSON
30
- },
31
- DiscountPercentage: {
32
- type: DataTypes.DECIMAL(5, 2),
33
- allowNull: false
34
- },
35
- SellingPrice: {
36
- type: DataTypes.DECIMAL(10, 2),
37
- allowNull: false
38
- },
39
- SortOrder: {
40
- type: DataTypes.INTEGER,
41
- allowNull: false
42
- },
43
- IsActive: {
44
- type: DataTypes.BOOLEAN,
45
- defaultValue: true
46
- },
47
- CreatedBy: {
48
- type: DataTypes.UUID,
49
- allowNull: false
50
- },
51
- CreatedAt: {
52
- type: DataTypes.DATE,
53
- allowNull: false,
54
- defaultValue: DataTypes.NOW
55
- },
56
- UpdatedBy: {
57
- type: DataTypes.UUID,
58
- allowNull: false
59
- },
60
- UpdatedAt: {
61
- type: DataTypes.DATE,
62
- allowNull: false,
63
- defaultValue: DataTypes.NOW
64
- }
65
- }, {
66
- tableName: 'Banner',
67
- indexes: [
68
- {
69
- name: "idx_banner_unique_tenant_bannername",
70
- unique: true,
71
- fields: [
72
- sequelize.literal('LOWER("BannerName")'),
73
- "TenantID"
74
- ]
75
- }
76
- ],
77
- timestamps: false
78
- });
1
+ const { DataTypes } = require('sequelize');
2
+
3
+ module.exports = (sequelize) => {
4
+ return sequelize.define('Banner', {
5
+ BannerID: {
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
+ BannerName: {
22
+ type: DataTypes.STRING(100),
23
+ allowNull: false
24
+ },
25
+ CategoryIDs: {
26
+ type: DataTypes.JSON
27
+ },
28
+ BrandIDs: {
29
+ type: DataTypes.JSON
30
+ },
31
+ DiscountPercentage: {
32
+ type: DataTypes.DECIMAL(5, 2),
33
+ allowNull: false
34
+ },
35
+ SellingPrice: {
36
+ type: DataTypes.DECIMAL(10, 2),
37
+ allowNull: false
38
+ },
39
+ SortOrder: {
40
+ type: DataTypes.INTEGER,
41
+ allowNull: false
42
+ },
43
+ IsActive: {
44
+ type: DataTypes.BOOLEAN,
45
+ defaultValue: true
46
+ },
47
+ CreatedBy: {
48
+ type: DataTypes.UUID,
49
+ allowNull: false
50
+ },
51
+ CreatedAt: {
52
+ type: DataTypes.DATE,
53
+ allowNull: false,
54
+ defaultValue: DataTypes.NOW
55
+ },
56
+ UpdatedBy: {
57
+ type: DataTypes.UUID,
58
+ allowNull: false
59
+ },
60
+ UpdatedAt: {
61
+ type: DataTypes.DATE,
62
+ allowNull: false,
63
+ defaultValue: DataTypes.NOW
64
+ }
65
+ }, {
66
+ tableName: 'Banner',
67
+ indexes: [
68
+ {
69
+ name: "idx_banner_unique_tenant_bannername",
70
+ unique: true,
71
+ fields: [
72
+ sequelize.literal('LOWER("BannerName")'),
73
+ "TenantID"
74
+ ]
75
+ }
76
+ ],
77
+ timestamps: false
78
+ });
79
79
  };
package/model/Brand.js CHANGED
@@ -1,76 +1,76 @@
1
- const { DataTypes } = require('sequelize');
2
-
3
- module.exports = (sequelize) => {
4
- return sequelize.define('Brand', {
5
- BrandID: {
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
- BrandName: {
22
- type: DataTypes.STRING(100),
23
- allowNull: false
24
- },
25
- BrandDescription: {
26
- type: DataTypes.TEXT
27
- },
28
- BrandCode: {
29
- type: DataTypes.STRING(100)
30
- },
31
- IsActive: {
32
- type: DataTypes.BOOLEAN,
33
- defaultValue: true
34
- },
35
- CreatedBy: {
36
- type: DataTypes.UUID,
37
- allowNull: false
38
- },
39
- CreatedAt: {
40
- type: DataTypes.DATE,
41
- allowNull: false,
42
- defaultValue: DataTypes.NOW
43
- },
44
- UpdatedBy: {
45
- type: DataTypes.UUID,
46
- allowNull: false
47
- },
48
- UpdatedAt: {
49
- type: DataTypes.DATE,
50
- allowNull: false,
51
- defaultValue: DataTypes.NOW
52
- }
53
- }, {
54
- tableName: 'Brand',
55
- timestamps: false,
56
- indexes: [
57
- {
58
- name: "idx_brand_unique_tenant_brandname",
59
- unique: true,
60
- fields: [
61
- sequelize.literal('LOWER("BrandName")'),
62
- "TenantID"
63
- ]
64
- },
65
- {
66
- name: "idx_brand_unique_tenant_brandcode",
67
- unique: true,
68
- fields: [
69
- sequelize.literal('LOWER("BrandCode")'),
70
- "TenantID"
71
- ]
72
- }
73
- ]
74
- });
75
- };
76
-
1
+ const { DataTypes } = require('sequelize');
2
+
3
+ module.exports = (sequelize) => {
4
+ return sequelize.define('Brand', {
5
+ BrandID: {
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
+ BrandName: {
22
+ type: DataTypes.STRING(100),
23
+ allowNull: false
24
+ },
25
+ BrandDescription: {
26
+ type: DataTypes.TEXT
27
+ },
28
+ BrandCode: {
29
+ type: DataTypes.STRING(100)
30
+ },
31
+ IsActive: {
32
+ type: DataTypes.BOOLEAN,
33
+ defaultValue: true
34
+ },
35
+ CreatedBy: {
36
+ type: DataTypes.UUID,
37
+ allowNull: false
38
+ },
39
+ CreatedAt: {
40
+ type: DataTypes.DATE,
41
+ allowNull: false,
42
+ defaultValue: DataTypes.NOW
43
+ },
44
+ UpdatedBy: {
45
+ type: DataTypes.UUID,
46
+ allowNull: false
47
+ },
48
+ UpdatedAt: {
49
+ type: DataTypes.DATE,
50
+ allowNull: false,
51
+ defaultValue: DataTypes.NOW
52
+ }
53
+ }, {
54
+ tableName: 'Brand',
55
+ timestamps: false,
56
+ indexes: [
57
+ {
58
+ name: "idx_brand_unique_tenant_brandname",
59
+ unique: true,
60
+ fields: [
61
+ sequelize.literal('LOWER("BrandName")'),
62
+ "TenantID"
63
+ ]
64
+ },
65
+ {
66
+ name: "idx_brand_unique_tenant_brandcode",
67
+ unique: true,
68
+ fields: [
69
+ sequelize.literal('LOWER("BrandCode")'),
70
+ "TenantID"
71
+ ]
72
+ }
73
+ ]
74
+ });
75
+ };
76
+
package/model/Cart.js CHANGED
@@ -1,77 +1,77 @@
1
- const { DataTypes } = require('sequelize');
2
-
3
- module.exports = (sequelize) => {
4
- return sequelize.define('Cart', {
5
- CartID: {
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
- ProductVariantID: {
22
- type: DataTypes.UUID,
23
- allowNull: false,
24
- references: {
25
- model: 'ProductVariant',
26
- key: 'ProductVariantID'
27
- },
28
- onDelete: 'RESTRICT',
29
- onUpdate: 'CASCADE'
30
- },
31
- CustomerID: {
32
- type: DataTypes.UUID,
33
- allowNull: false,
34
- references: {
35
- model: 'Customer',
36
- key: 'CustomerID'
37
- },
38
- onDelete: 'RESTRICT',
39
- onUpdate: 'CASCADE'
40
- },
41
- InventoryID: {
42
- type: DataTypes.UUID,
43
- allowNull: true,
44
- references: {
45
- model: 'Inventory',
46
- key: 'InventoryID'
47
- },
48
- onDelete: 'SET NULL',
49
- onUpdate: 'CASCADE'
50
- },
51
- Quantity: {
52
- type: DataTypes.INTEGER,
53
- allowNull: false
54
- },
55
- CreatedBy: {
56
- type: DataTypes.UUID,
57
- allowNull: false
58
- },
59
- CreatedAt: {
60
- type: DataTypes.DATE,
61
- allowNull: false,
62
- defaultValue: DataTypes.NOW
63
- },
64
- UpdatedBy: {
65
- type: DataTypes.UUID,
66
- allowNull: false
67
- },
68
- UpdatedAt: {
69
- type: DataTypes.DATE,
70
- allowNull: false,
71
- defaultValue: DataTypes.NOW
72
- }
73
- }, {
74
- tableName: 'Cart',
75
- timestamps: false
76
- });
1
+ const { DataTypes } = require('sequelize');
2
+
3
+ module.exports = (sequelize) => {
4
+ return sequelize.define('Cart', {
5
+ CartID: {
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
+ ProductVariantID: {
22
+ type: DataTypes.UUID,
23
+ allowNull: false,
24
+ references: {
25
+ model: 'ProductVariant',
26
+ key: 'ProductVariantID'
27
+ },
28
+ onDelete: 'RESTRICT',
29
+ onUpdate: 'CASCADE'
30
+ },
31
+ CustomerID: {
32
+ type: DataTypes.UUID,
33
+ allowNull: false,
34
+ references: {
35
+ model: 'Customer',
36
+ key: 'CustomerID'
37
+ },
38
+ onDelete: 'RESTRICT',
39
+ onUpdate: 'CASCADE'
40
+ },
41
+ InventoryID: {
42
+ type: DataTypes.UUID,
43
+ allowNull: true,
44
+ references: {
45
+ model: 'Inventory',
46
+ key: 'InventoryID'
47
+ },
48
+ onDelete: 'SET NULL',
49
+ onUpdate: 'CASCADE'
50
+ },
51
+ Quantity: {
52
+ type: DataTypes.INTEGER,
53
+ allowNull: false
54
+ },
55
+ CreatedBy: {
56
+ type: DataTypes.UUID,
57
+ allowNull: false
58
+ },
59
+ CreatedAt: {
60
+ type: DataTypes.DATE,
61
+ allowNull: false,
62
+ defaultValue: DataTypes.NOW
63
+ },
64
+ UpdatedBy: {
65
+ type: DataTypes.UUID,
66
+ allowNull: false
67
+ },
68
+ UpdatedAt: {
69
+ type: DataTypes.DATE,
70
+ allowNull: false,
71
+ defaultValue: DataTypes.NOW
72
+ }
73
+ }, {
74
+ tableName: 'Cart',
75
+ timestamps: false
76
+ });
77
77
  };