@b2y/ecommerce-common 1.0.4 → 1.0.6

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 (67) hide show
  1. package/README.md +4 -4
  2. package/constants/AppConstants.js +3 -3
  3. package/constants/ReportConstants.js +14 -14
  4. package/constants/StatusMessageConstants.js +17 -17
  5. package/dbconnection/Connect.js +379 -379
  6. package/enum/AddressTypeEnum.js +6 -6
  7. package/enum/BooleanEnum.js +4 -4
  8. package/enum/EntityTypeEnum.js +11 -11
  9. package/enum/GenderEnum.js +7 -7
  10. package/enum/NotificationStatusEnum.js +5 -5
  11. package/enum/NotificationTypeEnum.js +9 -9
  12. package/enum/OrderStatusEnum.js +7 -7
  13. package/enum/PaymentMethodEnum.js +6 -6
  14. package/enum/PaymentStatusEnum.js +6 -6
  15. package/enum/PaymentTypeEnum.js +6 -6
  16. package/enum/PlatformEnum.js +4 -4
  17. package/enum/RegistrationStatusEnum.js +5 -5
  18. package/enum/SortByEnum.js +7 -7
  19. package/index.js +22 -22
  20. package/model/Address.js +95 -95
  21. package/model/AttributeType.js +50 -50
  22. package/model/AttributeValue.js +64 -64
  23. package/model/Banner.js +78 -78
  24. package/model/Brand.js +76 -76
  25. package/model/Cart.js +76 -76
  26. package/model/Category.js +72 -72
  27. package/model/CategoryAttributeType.js +62 -62
  28. package/model/Colour.js +52 -52
  29. package/model/Customer.js +94 -94
  30. package/model/DeviceToken.js +51 -51
  31. package/model/Document.js +70 -70
  32. package/model/DynamicUIComponent.js +52 -52
  33. package/model/Feedback.js +79 -79
  34. package/model/Inventory.js +83 -83
  35. package/model/NotificationHistory.js +67 -67
  36. package/model/Order.js +94 -94
  37. package/model/OrderItem.js +98 -98
  38. package/model/OrderItemHistory.js +69 -69
  39. package/model/OrderStatus.js +48 -48
  40. package/model/Payment.js +101 -101
  41. package/model/PaymentMethod.js +36 -36
  42. package/model/PaymentStatus.js +36 -36
  43. package/model/PaymentType.js +36 -36
  44. package/model/Permission.js +55 -55
  45. package/model/Product.js +82 -82
  46. package/model/ProductGroup.js +48 -48
  47. package/model/ProductSpecification.js +65 -65
  48. package/model/ProductVariant.js +75 -75
  49. package/model/ProductVariantAttribute.js +58 -58
  50. package/model/Role.js +61 -61
  51. package/model/RolePermissionMapping.js +63 -63
  52. package/model/SpecificationType.js +41 -41
  53. package/model/Store.js +99 -99
  54. package/model/StoreUserMapping.js +44 -44
  55. package/model/Tenant.js +91 -91
  56. package/model/TenantSettings.js +47 -47
  57. package/model/User.js +132 -132
  58. package/model/WishList.js +62 -62
  59. package/package.json +28 -28
  60. package/utility/AppUtil.js +65 -57
  61. package/utility/DateUtil.js +55 -55
  62. package/utility/ExcelUtil.js +125 -125
  63. package/utility/LocationUtility.js +130 -130
  64. package/utility/OrderTimeFilterUtil.js +87 -87
  65. package/utility/QueryUtil.js +261 -261
  66. package/utility/Razorpay.js +65 -65
  67. package/utility/VariantPriceUtil.js +54 -54
@@ -1,63 +1,63 @@
1
- const { DataTypes } = require('sequelize');
2
-
3
- module.exports = (sequelize) => {
4
- return sequelize.define('CategoryAttributeType', {
5
- CategoryAttributeTypeID: {
6
- type: DataTypes.UUID,
7
- primaryKey: true,
8
- allowNull: false,
9
- defaultValue: DataTypes.UUIDV4
10
- },
11
- CategoryID: {
12
- type: DataTypes.UUID,
13
- allowNull: false,
14
- references: {
15
- model: 'Category',
16
- key: 'CategoryID'
17
- },
18
- onDelete: 'CASCADE',
19
- onUpdate: 'CASCADE'
20
- },
21
- AttributeTypeID: {
22
- type: DataTypes.UUID,
23
- allowNull: false,
24
- references: {
25
- model: 'AttributeType',
26
- key: 'AttributeTypeID'
27
- },
28
- onDelete: 'CASCADE',
29
- onUpdate: 'CASCADE'
30
- },
31
- SortOrder: {
32
- type: DataTypes.INTEGER,
33
- defaultValue: 0
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: 'CategoryAttributeType',
55
- timestamps: false,
56
- indexes: [
57
- {
58
- unique: true,
59
- fields: ['CategoryID', 'AttributeTypeID']
60
- }
61
- ]
62
- });
1
+ const { DataTypes } = require('sequelize');
2
+
3
+ module.exports = (sequelize) => {
4
+ return sequelize.define('CategoryAttributeType', {
5
+ CategoryAttributeTypeID: {
6
+ type: DataTypes.UUID,
7
+ primaryKey: true,
8
+ allowNull: false,
9
+ defaultValue: DataTypes.UUIDV4
10
+ },
11
+ CategoryID: {
12
+ type: DataTypes.UUID,
13
+ allowNull: false,
14
+ references: {
15
+ model: 'Category',
16
+ key: 'CategoryID'
17
+ },
18
+ onDelete: 'CASCADE',
19
+ onUpdate: 'CASCADE'
20
+ },
21
+ AttributeTypeID: {
22
+ type: DataTypes.UUID,
23
+ allowNull: false,
24
+ references: {
25
+ model: 'AttributeType',
26
+ key: 'AttributeTypeID'
27
+ },
28
+ onDelete: 'CASCADE',
29
+ onUpdate: 'CASCADE'
30
+ },
31
+ SortOrder: {
32
+ type: DataTypes.INTEGER,
33
+ defaultValue: 0
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: 'CategoryAttributeType',
55
+ timestamps: false,
56
+ indexes: [
57
+ {
58
+ unique: true,
59
+ fields: ['CategoryID', 'AttributeTypeID']
60
+ }
61
+ ]
62
+ });
63
63
  };
package/model/Colour.js CHANGED
@@ -1,53 +1,53 @@
1
- const { DataTypes } = require('sequelize');
2
-
3
- module.exports = (sequelize) => {
4
- return sequelize.define('Colour', {
5
- ColourID: {
6
- type: DataTypes.INTEGER,
7
- primaryKey: true,
8
- allowNull: false,
9
- autoIncrement: true
10
- },
11
- Name: {
12
- type: DataTypes.STRING(50),
13
- allowNull: false
14
- },
15
- HexCode: {
16
- type: DataTypes.STRING(10),
17
- allowNull: false,
18
- unique: true
19
- },
20
- IsActive: {
21
- type: DataTypes.BOOLEAN,
22
- defaultValue: true
23
- },
24
- CreatedBy: {
25
- type: DataTypes.UUID,
26
- allowNull: false
27
- },
28
- CreatedAt: {
29
- type: DataTypes.DATE,
30
- allowNull: false,
31
- defaultValue: DataTypes.NOW
32
- },
33
- UpdatedBy: {
34
- type: DataTypes.UUID,
35
- allowNull: false
36
- },
37
- UpdatedAt: {
38
- type: DataTypes.DATE,
39
- allowNull: false,
40
- defaultValue: DataTypes.NOW
41
- }
42
- }, {
43
- tableName: 'Colour',
44
- indexes: [
45
- {
46
- name: "idx_colour_name_lower_unique",
47
- unique: true,
48
- fields: sequelize.literal('LOWER("Name")')
49
- }
50
- ],
51
- timestamps: false
52
- });
1
+ const { DataTypes } = require('sequelize');
2
+
3
+ module.exports = (sequelize) => {
4
+ return sequelize.define('Colour', {
5
+ ColourID: {
6
+ type: DataTypes.INTEGER,
7
+ primaryKey: true,
8
+ allowNull: false,
9
+ autoIncrement: true
10
+ },
11
+ Name: {
12
+ type: DataTypes.STRING(50),
13
+ allowNull: false
14
+ },
15
+ HexCode: {
16
+ type: DataTypes.STRING(10),
17
+ allowNull: false,
18
+ unique: true
19
+ },
20
+ IsActive: {
21
+ type: DataTypes.BOOLEAN,
22
+ defaultValue: true
23
+ },
24
+ CreatedBy: {
25
+ type: DataTypes.UUID,
26
+ allowNull: false
27
+ },
28
+ CreatedAt: {
29
+ type: DataTypes.DATE,
30
+ allowNull: false,
31
+ defaultValue: DataTypes.NOW
32
+ },
33
+ UpdatedBy: {
34
+ type: DataTypes.UUID,
35
+ allowNull: false
36
+ },
37
+ UpdatedAt: {
38
+ type: DataTypes.DATE,
39
+ allowNull: false,
40
+ defaultValue: DataTypes.NOW
41
+ }
42
+ }, {
43
+ tableName: 'Colour',
44
+ indexes: [
45
+ {
46
+ name: "idx_colour_name_lower_unique",
47
+ unique: true,
48
+ fields: sequelize.literal('LOWER("Name")')
49
+ }
50
+ ],
51
+ timestamps: false
52
+ });
53
53
  };
package/model/Customer.js CHANGED
@@ -1,95 +1,95 @@
1
- const { DataTypes } = require('sequelize');
2
- const GenderEnum = require('../enum/GenderEnum');
3
- const RegistrationStatusEnum = require('../enum/RegistrationStatusEnum');
4
- module.exports = (sequelize) => {
5
- return sequelize.define('Customer', {
6
- CustomerID: {
7
- type: DataTypes.UUID,
8
- primaryKey: true,
9
- allowNull: false,
10
- defaultValue: DataTypes.UUIDV4
11
- },
12
- TenantID: {
13
- type: DataTypes.UUID,
14
- allowNull: false,
15
- references: {
16
- model: 'Tenant',
17
- key: 'TenantID'
18
- },
19
- onDelete: 'CASCADE',
20
- onUpdate: 'CASCADE'
21
- },
22
- FirstName: {
23
- type: DataTypes.STRING(255),
24
- allowNull: true
25
- },
26
- LastName: {
27
- type: DataTypes.STRING(255),
28
- allowNull: true
29
- },
30
- Email: {
31
- type: DataTypes.STRING(100),
32
- allowNull: true,
33
- },
34
- Password: {
35
- type: DataTypes.STRING(255)
36
- },
37
- CountryCallingCode: {
38
- type: DataTypes.STRING(5),
39
- allowNull: false
40
- },
41
- PhoneNumber: {
42
- type: DataTypes.STRING(20),
43
- allowNull: false,
44
- },
45
- Gender: {
46
- type: DataTypes.ENUM(...Object.values(GenderEnum)),
47
- },
48
- DOB: {
49
- type: DataTypes.DATE
50
- },
51
- RegistrationStatus: {
52
- type: DataTypes.ENUM(...Object.values(RegistrationStatusEnum)),
53
- defaultValue: RegistrationStatusEnum.INITIATED
54
- },
55
- OTP: {
56
- type: DataTypes.STRING(10)
57
- },
58
- OTPExpiry: {
59
- type: DataTypes.DATE
60
- },
61
- CreatedBy: {
62
- type: DataTypes.UUID,
63
- allowNull: false
64
- },
65
- CreatedAt: {
66
- type: DataTypes.DATE,
67
- allowNull: false,
68
- defaultValue: DataTypes.NOW
69
- },
70
- UpdatedBy: {
71
- type: DataTypes.UUID,
72
- allowNull: false
73
- },
74
- UpdatedAt: {
75
- type: DataTypes.DATE,
76
- allowNull: false,
77
- defaultValue: DataTypes.NOW
78
- }
79
- }, {
80
- tableName: 'Customer',
81
- timestamps: false,
82
- indexes: [
83
- {
84
- name: "UQ_Customer_Tenant_Email",
85
- unique: true,
86
- fields: ["TenantID", "Email"],
87
- },
88
- {
89
- name: "UQ_Customer_Tenant_Phone",
90
- unique: true,
91
- fields: ["TenantID", "CountryCallingCode", "PhoneNumber"],
92
- },
93
- ],
94
- });
1
+ const { DataTypes } = require('sequelize');
2
+ const GenderEnum = require('../enum/GenderEnum');
3
+ const RegistrationStatusEnum = require('../enum/RegistrationStatusEnum');
4
+ module.exports = (sequelize) => {
5
+ return sequelize.define('Customer', {
6
+ CustomerID: {
7
+ type: DataTypes.UUID,
8
+ primaryKey: true,
9
+ allowNull: false,
10
+ defaultValue: DataTypes.UUIDV4
11
+ },
12
+ TenantID: {
13
+ type: DataTypes.UUID,
14
+ allowNull: false,
15
+ references: {
16
+ model: 'Tenant',
17
+ key: 'TenantID'
18
+ },
19
+ onDelete: 'CASCADE',
20
+ onUpdate: 'CASCADE'
21
+ },
22
+ FirstName: {
23
+ type: DataTypes.STRING(255),
24
+ allowNull: true
25
+ },
26
+ LastName: {
27
+ type: DataTypes.STRING(255),
28
+ allowNull: true
29
+ },
30
+ Email: {
31
+ type: DataTypes.STRING(100),
32
+ allowNull: true,
33
+ },
34
+ Password: {
35
+ type: DataTypes.STRING(255)
36
+ },
37
+ CountryCallingCode: {
38
+ type: DataTypes.STRING(5),
39
+ allowNull: false
40
+ },
41
+ PhoneNumber: {
42
+ type: DataTypes.STRING(20),
43
+ allowNull: false,
44
+ },
45
+ Gender: {
46
+ type: DataTypes.ENUM(...Object.values(GenderEnum)),
47
+ },
48
+ DOB: {
49
+ type: DataTypes.DATE
50
+ },
51
+ RegistrationStatus: {
52
+ type: DataTypes.ENUM(...Object.values(RegistrationStatusEnum)),
53
+ defaultValue: RegistrationStatusEnum.INITIATED
54
+ },
55
+ OTP: {
56
+ type: DataTypes.STRING(10)
57
+ },
58
+ OTPExpiry: {
59
+ type: DataTypes.DATE
60
+ },
61
+ CreatedBy: {
62
+ type: DataTypes.UUID,
63
+ allowNull: false
64
+ },
65
+ CreatedAt: {
66
+ type: DataTypes.DATE,
67
+ allowNull: false,
68
+ defaultValue: DataTypes.NOW
69
+ },
70
+ UpdatedBy: {
71
+ type: DataTypes.UUID,
72
+ allowNull: false
73
+ },
74
+ UpdatedAt: {
75
+ type: DataTypes.DATE,
76
+ allowNull: false,
77
+ defaultValue: DataTypes.NOW
78
+ }
79
+ }, {
80
+ tableName: 'Customer',
81
+ timestamps: false,
82
+ indexes: [
83
+ {
84
+ name: "UQ_Customer_Tenant_Email",
85
+ unique: true,
86
+ fields: ["TenantID", "Email"],
87
+ },
88
+ {
89
+ name: "UQ_Customer_Tenant_Phone",
90
+ unique: true,
91
+ fields: ["TenantID", "CountryCallingCode", "PhoneNumber"],
92
+ },
93
+ ],
94
+ });
95
95
  };
@@ -1,52 +1,52 @@
1
- const { DataTypes } = require('sequelize');
2
- const PlatformEnum = require('../enum/PlatformEnum');
3
- module.exports = (sequelize) => {
4
- return sequelize.define('DeviceToken', {
5
- DeviceTokenID: {
6
- type: DataTypes.UUID,
7
- primaryKey: true,
8
- allowNull: false,
9
- defaultValue: DataTypes.UUIDV4
10
- },
11
- FCMToken: {
12
- type: DataTypes.STRING(255),
13
- allowNull: false
14
- },
15
- DeviceID: {
16
- type: DataTypes.STRING(100),
17
- allowNull: false
18
- },
19
- DeviceName: {
20
- type: DataTypes.STRING(100),
21
- allowNull: false
22
- },
23
- Platform: {
24
- type: DataTypes.ENUM(...Object.values(PlatformEnum)),
25
- },
26
- IsActive: {
27
- type: DataTypes.BOOLEAN,
28
- defaultValue: true
29
- },
30
- CreatedBy: {
31
- type: DataTypes.UUID,
32
- allowNull: false
33
- },
34
- CreatedAt: {
35
- type: DataTypes.DATE,
36
- allowNull: false,
37
- defaultValue: DataTypes.NOW
38
- },
39
- UpdatedBy: {
40
- type: DataTypes.UUID,
41
- allowNull: false
42
- },
43
- UpdatedAt: {
44
- type: DataTypes.DATE,
45
- allowNull: false,
46
- defaultValue: DataTypes.NOW
47
- }
48
- }, {
49
- tableName: 'DeviceToken',
50
- timestamps: false
51
- });
1
+ const { DataTypes } = require('sequelize');
2
+ const PlatformEnum = require('../enum/PlatformEnum');
3
+ module.exports = (sequelize) => {
4
+ return sequelize.define('DeviceToken', {
5
+ DeviceTokenID: {
6
+ type: DataTypes.UUID,
7
+ primaryKey: true,
8
+ allowNull: false,
9
+ defaultValue: DataTypes.UUIDV4
10
+ },
11
+ FCMToken: {
12
+ type: DataTypes.STRING(255),
13
+ allowNull: false
14
+ },
15
+ DeviceID: {
16
+ type: DataTypes.STRING(100),
17
+ allowNull: false
18
+ },
19
+ DeviceName: {
20
+ type: DataTypes.STRING(100),
21
+ allowNull: false
22
+ },
23
+ Platform: {
24
+ type: DataTypes.ENUM(...Object.values(PlatformEnum)),
25
+ },
26
+ IsActive: {
27
+ type: DataTypes.BOOLEAN,
28
+ defaultValue: true
29
+ },
30
+ CreatedBy: {
31
+ type: DataTypes.UUID,
32
+ allowNull: false
33
+ },
34
+ CreatedAt: {
35
+ type: DataTypes.DATE,
36
+ allowNull: false,
37
+ defaultValue: DataTypes.NOW
38
+ },
39
+ UpdatedBy: {
40
+ type: DataTypes.UUID,
41
+ allowNull: false
42
+ },
43
+ UpdatedAt: {
44
+ type: DataTypes.DATE,
45
+ allowNull: false,
46
+ defaultValue: DataTypes.NOW
47
+ }
48
+ }, {
49
+ tableName: 'DeviceToken',
50
+ timestamps: false
51
+ });
52
52
  };
package/model/Document.js CHANGED
@@ -1,71 +1,71 @@
1
- const { DataTypes } = require('sequelize');
2
- const { STORAGE_TYPES } = require('@b2y/document-module');
3
-
4
- module.exports = (sequelize) => {
5
- return sequelize.define('Document', {
6
- DocumentID: {
7
- type: DataTypes.UUID,
8
- primaryKey: true,
9
- allowNull: false,
10
- defaultValue: DataTypes.UUIDV4
11
- },
12
- TenantID: {
13
- type: DataTypes.UUID,
14
- allowNull: false,
15
- references: {
16
- model: 'Tenant',
17
- key: 'TenantID'
18
- },
19
- onDelete: 'CASCADE'
20
- },
21
- EntityType: {
22
- type: DataTypes.STRING(50),
23
- allowNull: false
24
- },
25
- EntityID: {
26
- type: DataTypes.UUID,
27
- allowNull: false
28
- },
29
- DocumentUrl: {
30
- type: DataTypes.STRING(500),
31
- allowNull: false
32
- },
33
- StorageType: {
34
- type: DataTypes.ENUM(...Object.values(STORAGE_TYPES)),
35
- allowNull: false,
36
- defaultValue: STORAGE_TYPES.LOCAL_DRIVE
37
- },
38
- MimeType: {
39
- type: DataTypes.STRING(100)
40
- },
41
- SizeInBytes: {
42
- type: DataTypes.BIGINT
43
- },
44
- SortOrder: {
45
- type: DataTypes.INTEGER,
46
- allowNull: false,
47
- defaultValue: 0
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: 'Document',
69
- timestamps: false
70
- });
1
+ const { DataTypes } = require('sequelize');
2
+ const { STORAGE_TYPES } = require('@b2y/document-module');
3
+
4
+ module.exports = (sequelize) => {
5
+ return sequelize.define('Document', {
6
+ DocumentID: {
7
+ type: DataTypes.UUID,
8
+ primaryKey: true,
9
+ allowNull: false,
10
+ defaultValue: DataTypes.UUIDV4
11
+ },
12
+ TenantID: {
13
+ type: DataTypes.UUID,
14
+ allowNull: false,
15
+ references: {
16
+ model: 'Tenant',
17
+ key: 'TenantID'
18
+ },
19
+ onDelete: 'CASCADE'
20
+ },
21
+ EntityType: {
22
+ type: DataTypes.STRING(50),
23
+ allowNull: false
24
+ },
25
+ EntityID: {
26
+ type: DataTypes.UUID,
27
+ allowNull: false
28
+ },
29
+ DocumentUrl: {
30
+ type: DataTypes.STRING(500),
31
+ allowNull: false
32
+ },
33
+ StorageType: {
34
+ type: DataTypes.ENUM(...Object.values(STORAGE_TYPES)),
35
+ allowNull: false,
36
+ defaultValue: STORAGE_TYPES.LOCAL_DRIVE
37
+ },
38
+ MimeType: {
39
+ type: DataTypes.STRING(100)
40
+ },
41
+ SizeInBytes: {
42
+ type: DataTypes.BIGINT
43
+ },
44
+ SortOrder: {
45
+ type: DataTypes.INTEGER,
46
+ allowNull: false,
47
+ defaultValue: 0
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: 'Document',
69
+ timestamps: false
70
+ });
71
71
  };