@churchsoln/dbms 1.0.47 → 1.0.49

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 (145) hide show
  1. package/Dockerfile +21 -21
  2. package/Makefile +132 -132
  3. package/app.js +37 -37
  4. package/config/config.js +33 -33
  5. package/config/errorCodes.js +65 -65
  6. package/config/errorMsgs.js +82 -82
  7. package/constants/index.js +94 -94
  8. package/controllers/church.js +100 -100
  9. package/controllers/index.js +6 -6
  10. package/controllers/master.js +138 -138
  11. package/controllers/migration.js +24 -24
  12. package/controllers/seed.js +33 -33
  13. package/db-setup.js +87 -87
  14. package/deployment/docker-compose.local.yml +64 -64
  15. package/deployment/docker-compose.yml +62 -62
  16. package/deployment/nginx/nginx-certs/localhost.crt +22 -22
  17. package/deployment/nginx/nginx-certs/localhost.key +28 -28
  18. package/deployment/nginx/nginx.local.conf +72 -72
  19. package/middlewares/church-filter.js +16 -16
  20. package/migrations/church/20221226151615-create-province.js +27 -27
  21. package/migrations/church/20221226151616-create-city.js +41 -41
  22. package/migrations/church/20221226151617-create-subRole.js +25 -25
  23. package/migrations/church/20221226151618-create-membership.js +68 -68
  24. package/migrations/church/20221226151619-create-member.js +140 -140
  25. package/migrations/church/20221227151615-create-user.js +60 -60
  26. package/migrations/church/20230826140644-create-eventsUpdates.js +29 -29
  27. package/migrations/church/20230904143429-create-ministries.js +26 -26
  28. package/migrations/church/20231021160018-create-gallery.js +28 -28
  29. package/migrations/church/20231105074019-create-feedback.js +28 -28
  30. package/migrations/church/20231111113342-create-banner.js +29 -29
  31. package/migrations/church/20231216105640-create-directoryBoard.js +31 -31
  32. package/migrations/church/20240214160101-create-volunteer.js +31 -31
  33. package/migrations/church/20240330111437-create-download.js +29 -29
  34. package/migrations/church/20240427170617-create-links.js +26 -26
  35. package/migrations/church/20240815170617-create-userTransfer.js +63 -63
  36. package/migrations/church/20240815170620-create-subRolePermission.js +40 -40
  37. package/migrations/church/20240915170620-create-transferType.js +25 -25
  38. package/migrations/church/20240917170620-create-accounts.js +27 -27
  39. package/migrations/church/20240918170621-create-church.js +54 -54
  40. package/migrations/church/20240918170622-create-group.js +61 -61
  41. package/migrations/church/20240918170623-create-groupMembers.js +74 -74
  42. package/migrations/church/20240918170627-create-pledge.js +96 -96
  43. package/migrations/church/20240919170627-create-contributionBatch.js +42 -42
  44. package/migrations/church/20240919170628-create-contributionTransaction.js +82 -82
  45. package/migrations/church/20240919170629-create-contributionTransactionLine.js +74 -74
  46. package/migrations/church/20240919170630-update-groupMembers.js +77 -77
  47. package/migrations/church/20241204170631-create-pledgeAccount.js +55 -55
  48. package/migrations/church/20241204170632-create-memberStatus.js +26 -0
  49. package/migrations/church/20241204170633-update-member.js +33 -0
  50. package/migrations/church/20241204170634-update-membership.js +33 -0
  51. package/migrations/church/20241204170635-update-pledge.js +33 -0
  52. package/migrations/church/20241204170636-update-contributionTransactionLine.js +33 -0
  53. package/migrations/common/20221226140655-create-subscriptionPlan.js +31 -31
  54. package/migrations/common/20221226143006-create-role.js +25 -25
  55. package/migrations/common/20240815170619-create-permission.js +27 -27
  56. package/migrations/common/20240815170620-create-church.js +56 -56
  57. package/migrations/common/20240815170621-create-churchDomain.js +40 -40
  58. package/migrations/common/20240918170621-create-churchPermission.js +53 -53
  59. package/migrations/common/20240918170622-create-user.js +35 -35
  60. package/migrations/common/20240918170627-create-subscriptionPlanPermission.js +53 -53
  61. package/models/church/accounts.js +23 -27
  62. package/models/church/banner.js +29 -29
  63. package/models/church/church.js +62 -62
  64. package/models/church/city.js +23 -23
  65. package/models/church/contributionBatch.js +45 -45
  66. package/models/church/contributionTransaction.js +90 -90
  67. package/models/church/contributionTransactionLine.js +81 -80
  68. package/models/church/directoryBoard.js +33 -33
  69. package/models/church/download.js +35 -35
  70. package/models/church/eventsUpdates.js +29 -29
  71. package/models/church/feedback.js +27 -27
  72. package/models/church/gallery.js +33 -33
  73. package/models/church/group.js +78 -78
  74. package/models/church/groupMembers.js +73 -73
  75. package/models/church/index.js +30 -30
  76. package/models/church/links.js +22 -22
  77. package/models/church/member.js +161 -171
  78. package/models/church/memberStatus.js +22 -0
  79. package/models/church/membership.js +80 -81
  80. package/models/church/ministries.js +16 -16
  81. package/models/church/pledge.js +65 -65
  82. package/models/church/pledgeAccount.js +45 -37
  83. package/models/church/province.js +23 -23
  84. package/models/church/subRole.js +21 -21
  85. package/models/church/subRolePermission.js +22 -22
  86. package/models/church/transferType.js +15 -15
  87. package/models/church/user.js +78 -78
  88. package/models/church/userTransfer.js +45 -45
  89. package/models/church/volunteer.js +33 -33
  90. package/models/common/church.js +58 -58
  91. package/models/common/churchDomain.js +21 -21
  92. package/models/common/churchPermission.js +26 -26
  93. package/models/common/index.js +40 -40
  94. package/models/common/permission.js +17 -17
  95. package/models/common/role.js +15 -15
  96. package/models/common/subscriptionPlan.js +34 -34
  97. package/models/common/subscriptionPlanPermission.js +33 -33
  98. package/models/common/user.js +39 -39
  99. package/package.json +41 -41
  100. package/public/swagger/church.json +521 -521
  101. package/public/swagger/master.json +537 -537
  102. package/public/swagger/migration.json +83 -83
  103. package/public/swagger/seed.json +98 -98
  104. package/queues/db-create.js +9 -9
  105. package/queues/index.js +5 -5
  106. package/queues/master.js +9 -9
  107. package/queues/migration.js +9 -9
  108. package/queues/seed.js +9 -9
  109. package/redis/config.js +5 -5
  110. package/routes/index.js +30 -30
  111. package/routes/v1/church.js +45 -45
  112. package/routes/v1/index.js +7 -7
  113. package/routes/v1/master.js +68 -68
  114. package/routes/v1/migration.js +10 -10
  115. package/routes/v1/seed.js +12 -12
  116. package/seeders/church/20241005124245-province.js +101 -101
  117. package/seeders/church/20241005124547-city.js +87 -87
  118. package/seeders/church/20241005131418-transferType.js +40 -40
  119. package/seeders/church/20241005131419-memberStatus.js +34 -0
  120. package/seeders/common/20241005123516-subscriptionPlan.js +43 -43
  121. package/seeders/common/20241005124105-role.js +38 -38
  122. package/seeders/common/20241005153047-permission.js +252 -242
  123. package/seeders/common/20241005153048-user.js +48 -48
  124. package/services/church.js +312 -312
  125. package/services/index.js +6 -6
  126. package/services/master.js +344 -344
  127. package/services/migration.js +30 -30
  128. package/services/seed.js +39 -39
  129. package/utils/churchManager.js +98 -98
  130. package/utils/crypto.js +40 -40
  131. package/utils/docUpload.js +51 -51
  132. package/utils/encryptDecrypt.js +26 -26
  133. package/utils/index.js +33 -33
  134. package/utils/logger.js +104 -104
  135. package/utils/response.js +108 -108
  136. package/utils/swagger.js +25 -25
  137. package/utils/verifyToken.js +58 -58
  138. package/validators/church.js +154 -154
  139. package/validators/index.js +3 -3
  140. package/validators/master.js +152 -152
  141. package/workers/db-create.js +37 -37
  142. package/workers/index.js +4 -4
  143. package/workers/master.js +50 -50
  144. package/workers/migrations.js +63 -63
  145. package/workers/seed.js +85 -85
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ const { MEMBER_STATUS } = require("../../constants");
4
+
5
+ module.exports = {
6
+ up: async (queryInterface, Sequelize) => {
7
+ const memberStatuses = [
8
+ { name: MEMBER_STATUS.ACTIVE, isEditable: false, status: true },
9
+ { name: MEMBER_STATUS.INACTIVE, isEditable: false, status: true },
10
+ ];
11
+
12
+ for (const memberStatus of memberStatuses) {
13
+ const existingStatus = await queryInterface.rawSelect(
14
+ "MemberStatus",
15
+ {
16
+ where: { name: memberStatus.name },
17
+ },
18
+ ["id"]
19
+ );
20
+
21
+ if (existingStatus) {
22
+ await queryInterface.bulkUpdate(
23
+ "MemberStatus",
24
+ { status: memberStatus.status, isEditable: memberStatus.isEditable },
25
+ { name: memberStatus.name }
26
+ );
27
+ } else {
28
+ await queryInterface.bulkInsert("MemberStatus", [memberStatus], {});
29
+ }
30
+ }
31
+ },
32
+
33
+ down: async (queryInterface, Sequelize) => {},
34
+ };
@@ -1,43 +1,43 @@
1
- "use strict";
2
-
3
- const { SUBSCRIPTION_PLAN_ID } = require("../../constants");
4
-
5
- module.exports = {
6
- up: async (queryInterface, Sequelize) => {
7
- const subscriptionPlans = [
8
- {
9
- id: SUBSCRIPTION_PLAN_ID.FREE_TRAIL,
10
- name: "Free Trail",
11
- isFree: true
12
- },
13
- { id: SUBSCRIPTION_PLAN_ID.BASIC, name: "Basic" },
14
- { id: SUBSCRIPTION_PLAN_ID.PREMIUM, name: "Premium" },
15
- { id: SUBSCRIPTION_PLAN_ID.CUSTOM, name: "Custom", isCustom: true },
16
- ];
17
-
18
- for (const plan of subscriptionPlans) {
19
- const existingPlan = await queryInterface.rawSelect(
20
- "SubscriptionPlan",
21
- {
22
- where: { id: plan.id },
23
- },
24
- ["id"] // Only need the 'id' to check existence
25
- );
26
-
27
- if (existingPlan) {
28
- await queryInterface.bulkUpdate(
29
- "SubscriptionPlan",
30
- { name: plan.name, isFree: plan.isFree || false, isCustom: plan.isCustom || false },
31
- { id: plan.id }
32
- );
33
- } else {
34
- // If the record doesn't exist, insert it
35
- await queryInterface.bulkInsert("SubscriptionPlan", [plan], {});
36
- }
37
- }
38
- },
39
-
40
- down: async (queryInterface, Sequelize) => {
41
- await queryInterface.bulkDelete("SubscriptionPlan", null, {}); // Delete only these records
42
- },
43
- };
1
+ "use strict";
2
+
3
+ const { SUBSCRIPTION_PLAN_ID } = require("../../constants");
4
+
5
+ module.exports = {
6
+ up: async (queryInterface, Sequelize) => {
7
+ const subscriptionPlans = [
8
+ {
9
+ id: SUBSCRIPTION_PLAN_ID.FREE_TRAIL,
10
+ name: "Free Trail",
11
+ isFree: true
12
+ },
13
+ { id: SUBSCRIPTION_PLAN_ID.BASIC, name: "Basic" },
14
+ { id: SUBSCRIPTION_PLAN_ID.PREMIUM, name: "Premium" },
15
+ { id: SUBSCRIPTION_PLAN_ID.CUSTOM, name: "Custom", isCustom: true },
16
+ ];
17
+
18
+ for (const plan of subscriptionPlans) {
19
+ const existingPlan = await queryInterface.rawSelect(
20
+ "SubscriptionPlan",
21
+ {
22
+ where: { id: plan.id },
23
+ },
24
+ ["id"] // Only need the 'id' to check existence
25
+ );
26
+
27
+ if (existingPlan) {
28
+ await queryInterface.bulkUpdate(
29
+ "SubscriptionPlan",
30
+ { name: plan.name, isFree: plan.isFree || false, isCustom: plan.isCustom || false },
31
+ { id: plan.id }
32
+ );
33
+ } else {
34
+ // If the record doesn't exist, insert it
35
+ await queryInterface.bulkInsert("SubscriptionPlan", [plan], {});
36
+ }
37
+ }
38
+ },
39
+
40
+ down: async (queryInterface, Sequelize) => {
41
+ await queryInterface.bulkDelete("SubscriptionPlan", null, {}); // Delete only these records
42
+ },
43
+ };
@@ -1,38 +1,38 @@
1
- "use strict";
2
-
3
- module.exports = {
4
- up: async (queryInterface, Sequelize) => {
5
- const roles = [
6
- { name: "Super Admin" },
7
- { name: "Church Admin" },
8
- { name: "Admin" },
9
- { name: "Public" },
10
- ];
11
-
12
- for (const role of roles) {
13
- const existingRole = await queryInterface.rawSelect(
14
- "Role",
15
- {
16
- where: { name: role.name },
17
- },
18
- ["id"]
19
- );
20
-
21
- if (existingRole) {
22
- await queryInterface.bulkUpdate("Role", { name: role.name }, { name: role.name });
23
- } else {
24
- await queryInterface.bulkInsert("Role", [role], {});
25
- }
26
- }
27
- },
28
-
29
- down: async (queryInterface, Sequelize) => {
30
- await queryInterface.bulkDelete(
31
- "Role",
32
- {
33
- name: roles.map((role) => role.name),
34
- },
35
- {}
36
- );
37
- },
38
- };
1
+ "use strict";
2
+
3
+ module.exports = {
4
+ up: async (queryInterface, Sequelize) => {
5
+ const roles = [
6
+ { name: "Super Admin" },
7
+ { name: "Church Admin" },
8
+ { name: "Admin" },
9
+ { name: "Public" },
10
+ ];
11
+
12
+ for (const role of roles) {
13
+ const existingRole = await queryInterface.rawSelect(
14
+ "Role",
15
+ {
16
+ where: { name: role.name },
17
+ },
18
+ ["id"]
19
+ );
20
+
21
+ if (existingRole) {
22
+ await queryInterface.bulkUpdate("Role", { name: role.name }, { name: role.name });
23
+ } else {
24
+ await queryInterface.bulkInsert("Role", [role], {});
25
+ }
26
+ }
27
+ },
28
+
29
+ down: async (queryInterface, Sequelize) => {
30
+ await queryInterface.bulkDelete(
31
+ "Role",
32
+ {
33
+ name: roles.map((role) => role.name),
34
+ },
35
+ {}
36
+ );
37
+ },
38
+ };