@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
@@ -1,82 +1,82 @@
1
- module.exports = {
2
- success: "Success",
3
- churchCreated: "Church created successfully",
4
- churchUpdated: "Church updated successfully",
5
- churchAlreadyExists: "Church already exists",
6
- migrationInitiated: "Migration initiated successfully",
7
- seedInitiated: "Seed initiated successfully",
8
- actionNotPermitted: "Action not permitted",
9
- invalidCredentials: "Invalid Credentials",
10
- passwordNotSet: "Password not set",
11
- subscriptionAlreadyExists: "Subscription Plan already exists",
12
- masterAlreadyExists: "Master already exists",
13
- roleAlreadyExists: "Role already exists",
14
- activated: "Activated successfully",
15
- deactivated: "Deactivated successfully",
16
- invalidId: "Invalid ID",
17
- permissionExists: "Permission already exists",
18
- invalidChurchId: "Invalid Church ID",
19
- invalidPermissionId: "Invalid Permission ID",
20
- 100: "Continue",
21
- 101: "Switching Protocols",
22
- 102: "Processing", // RFC2518
23
- 103: "Early Hints",
24
- 200: "OK",
25
- 201: "Created",
26
- 202: "Accepted",
27
- 203: "Non-Authoritative Information",
28
- 204: "No Content",
29
- 205: "Reset Content",
30
- 206: "Partial Content",
31
- 207: "Multi-Status", // RFC4918
32
- 208: "Already Reported", // RFC5842
33
- 226: "IM Used", // RFC3229
34
- 300: "Multiple Choices",
35
- 301: "Moved Permanently",
36
- 302: "Found",
37
- 303: "See Other",
38
- 304: "Not Modified",
39
- 305: "Use Proxy",
40
- 307: "Temporary Redirect",
41
- 308: "Permanent Redirect", // RFC7238
42
- 400: "Bad Request",
43
- 401: "Unauthorized",
44
- 402: "Payment Required",
45
- 403: "Forbidden",
46
- 404: "Not Found",
47
- 405: "Method Not Allowed",
48
- 406: "Not Acceptable",
49
- 407: "Proxy Authentication Required",
50
- 408: "Request Timeout",
51
- 409: "Conflict",
52
- 410: "Gone",
53
- 411: "Length Required",
54
- 412: "Precondition Failed",
55
- 413: "Payload Too Large",
56
- 414: "URI Too Long",
57
- 415: "Unsupported Media Type",
58
- 416: "Range Not Satisfiable",
59
- 417: "Expectation Failed",
60
- 418: "I'm a teapot", // RFC2324
61
- 421: "Misdirected Request", // RFC7540
62
- 422: "Unprocessable Entity", // RFC4918
63
- 423: "Locked", // RFC4918
64
- 424: "Failed Dependency", // RFC4918
65
- 425: "Reserved for WebDAV advanced collections expired proposal", // RFC2817
66
- 426: "Upgrade Required", // RFC2817
67
- 428: "Precondition Required", // RFC6585
68
- 429: "Too Many Requests", // RFC6585
69
- 431: "Request Header Fields Too Large", // RFC6585
70
- 451: "Unavailable For Legal Reasons", // RFC7725
71
- 500: "Internal Server Error",
72
- 501: "Not Implemented",
73
- 502: "Bad Gateway",
74
- 503: "Service Unavailable",
75
- 504: "Gateway Timeout",
76
- 505: "HTTP Version Not Supported",
77
- 506: "Variant Also Negotiates", // RFC2295
78
- 507: "Insufficient Storage", // RFC4918
79
- 508: "Loop Detected", // RFC5842
80
- 510: "Not Extended", // RFC2774
81
- 511: "Network Authentication Required", // RFC6585
82
- };
1
+ module.exports = {
2
+ success: "Success",
3
+ churchCreated: "Church created successfully",
4
+ churchUpdated: "Church updated successfully",
5
+ churchAlreadyExists: "Church already exists",
6
+ migrationInitiated: "Migration initiated successfully",
7
+ seedInitiated: "Seed initiated successfully",
8
+ actionNotPermitted: "Action not permitted",
9
+ invalidCredentials: "Invalid Credentials",
10
+ passwordNotSet: "Password not set",
11
+ subscriptionAlreadyExists: "Subscription Plan already exists",
12
+ masterAlreadyExists: "Master already exists",
13
+ roleAlreadyExists: "Role already exists",
14
+ activated: "Activated successfully",
15
+ deactivated: "Deactivated successfully",
16
+ invalidId: "Invalid ID",
17
+ permissionExists: "Permission already exists",
18
+ invalidChurchId: "Invalid Church ID",
19
+ invalidPermissionId: "Invalid Permission ID",
20
+ 100: "Continue",
21
+ 101: "Switching Protocols",
22
+ 102: "Processing", // RFC2518
23
+ 103: "Early Hints",
24
+ 200: "OK",
25
+ 201: "Created",
26
+ 202: "Accepted",
27
+ 203: "Non-Authoritative Information",
28
+ 204: "No Content",
29
+ 205: "Reset Content",
30
+ 206: "Partial Content",
31
+ 207: "Multi-Status", // RFC4918
32
+ 208: "Already Reported", // RFC5842
33
+ 226: "IM Used", // RFC3229
34
+ 300: "Multiple Choices",
35
+ 301: "Moved Permanently",
36
+ 302: "Found",
37
+ 303: "See Other",
38
+ 304: "Not Modified",
39
+ 305: "Use Proxy",
40
+ 307: "Temporary Redirect",
41
+ 308: "Permanent Redirect", // RFC7238
42
+ 400: "Bad Request",
43
+ 401: "Unauthorized",
44
+ 402: "Payment Required",
45
+ 403: "Forbidden",
46
+ 404: "Not Found",
47
+ 405: "Method Not Allowed",
48
+ 406: "Not Acceptable",
49
+ 407: "Proxy Authentication Required",
50
+ 408: "Request Timeout",
51
+ 409: "Conflict",
52
+ 410: "Gone",
53
+ 411: "Length Required",
54
+ 412: "Precondition Failed",
55
+ 413: "Payload Too Large",
56
+ 414: "URI Too Long",
57
+ 415: "Unsupported Media Type",
58
+ 416: "Range Not Satisfiable",
59
+ 417: "Expectation Failed",
60
+ 418: "I'm a teapot", // RFC2324
61
+ 421: "Misdirected Request", // RFC7540
62
+ 422: "Unprocessable Entity", // RFC4918
63
+ 423: "Locked", // RFC4918
64
+ 424: "Failed Dependency", // RFC4918
65
+ 425: "Reserved for WebDAV advanced collections expired proposal", // RFC2817
66
+ 426: "Upgrade Required", // RFC2817
67
+ 428: "Precondition Required", // RFC6585
68
+ 429: "Too Many Requests", // RFC6585
69
+ 431: "Request Header Fields Too Large", // RFC6585
70
+ 451: "Unavailable For Legal Reasons", // RFC7725
71
+ 500: "Internal Server Error",
72
+ 501: "Not Implemented",
73
+ 502: "Bad Gateway",
74
+ 503: "Service Unavailable",
75
+ 504: "Gateway Timeout",
76
+ 505: "HTTP Version Not Supported",
77
+ 506: "Variant Also Negotiates", // RFC2295
78
+ 507: "Insufficient Storage", // RFC4918
79
+ 508: "Loop Detected", // RFC5842
80
+ 510: "Not Extended", // RFC2774
81
+ 511: "Network Authentication Required", // RFC6585
82
+ };
@@ -1,94 +1,94 @@
1
- const ROLES = {
2
- SUPER_ADMIN: 1,
3
- CHURCH_ADMIN: 2,
4
- ADMIN: 3,
5
- PUBLIC: 4,
6
- };
7
- const TRANSFER_STATUS = {
8
- PENDING: "pending",
9
- APPROVED: "approved",
10
- REJECTED: "rejected",
11
- };
12
-
13
- const QUEUES = {
14
- MASTER: "master",
15
- DB_CREATE: "db-create",
16
- MIGRATION: "migration",
17
- SEED: "seed",
18
- };
19
-
20
- const CONTRIBUTION_TRANSACTION_STATUS = {
21
- PENDING: "Pending",
22
- CLEARED: "Cleared",
23
- VOIDED: "Voided",
24
- REVERSED: "Reversed",
25
- };
26
- const WORKERS = QUEUES;
27
-
28
- const AUTH_DATA = {
29
- SESSION_EXPIRY: 2 * 60 * 60, // 2 hr
30
- };
31
-
32
- const ONBOARD_STATUS = {
33
- DB_CREATION_IN_PROGRESS: "db_creation_in_progress",
34
- DB_CREATION_FAILED: "db_creation_failed",
35
- DB_CREATION_COMPLETED: "db_creation_completed",
36
- MIGRATION_IN_PROGRESS: "migration_in_progress",
37
- MIGRATION_FAILED: "migration_failed",
38
- MIGRATION_COMPLETED: "migration_completed",
39
- SEED_IN_PROGRESS: "seed_in_progress",
40
- SEED_FAILED: "seed_failed",
41
- SEED_COMPLETED: "seed_completed",
42
- ONBOARD_COMPLETED: "onboard_completed",
43
- };
44
-
45
- const SUBSCRIPTION_PLAN_ID = {
46
- FREE_TRAIL: 1,
47
- BASIC: 2,
48
- PREMIUM: 3,
49
- CUSTOM: 4
50
- }
51
-
52
- const MEMBER_STATUS = {
53
- ACTIVE: "Active",
54
- INACTIVE: "Inactive",
55
- DECEASED: "Deceased",
56
- PROSPECT: "Prospect",
57
- REGULAR_ATTENDEE: "Regular Attendee",
58
- SINGLE_MEMBER: "Single Member",
59
- VISITOR: "Visitor",
60
- };
61
-
62
- const GENDER = {
63
- MALE: "Male",
64
- FEMALE: "Female",
65
- OTHER: "Other",
66
- };
67
-
68
- const RELATIONSHIP = {
69
- HEAD: "Head",
70
- SPOUSE: "Spouse",
71
- CHILD: "Child",
72
- SIBLING: "Sibling",
73
- OTHER: "Other",
74
- };
75
-
76
- const CODE_LENGTH = {
77
- OTP: 4,
78
- ENV_NUMBER: 5,
79
- };
80
-
81
- module.exports = {
82
- ROLES,
83
- TRANSFER_STATUS,
84
- CONTRIBUTION_TRANSACTION_STATUS,
85
- QUEUES,
86
- WORKERS,
87
- AUTH_DATA,
88
- ONBOARD_STATUS,
89
- SUBSCRIPTION_PLAN_ID,
90
- MEMBER_STATUS,
91
- GENDER,
92
- RELATIONSHIP,
93
- CODE_LENGTH
94
- };
1
+ const ROLES = {
2
+ SUPER_ADMIN: 1,
3
+ CHURCH_ADMIN: 2,
4
+ ADMIN: 3,
5
+ PUBLIC: 4,
6
+ };
7
+ const TRANSFER_STATUS = {
8
+ PENDING: "pending",
9
+ APPROVED: "approved",
10
+ REJECTED: "rejected",
11
+ };
12
+
13
+ const QUEUES = {
14
+ MASTER: "master",
15
+ DB_CREATE: "db-create",
16
+ MIGRATION: "migration",
17
+ SEED: "seed",
18
+ };
19
+
20
+ const CONTRIBUTION_TRANSACTION_STATUS = {
21
+ PENDING: "Pending",
22
+ CLEARED: "Cleared",
23
+ VOIDED: "Voided",
24
+ REVERSED: "Reversed",
25
+ };
26
+ const WORKERS = QUEUES;
27
+
28
+ const AUTH_DATA = {
29
+ SESSION_EXPIRY: 2 * 60 * 60, // 2 hr
30
+ };
31
+
32
+ const ONBOARD_STATUS = {
33
+ DB_CREATION_IN_PROGRESS: "db_creation_in_progress",
34
+ DB_CREATION_FAILED: "db_creation_failed",
35
+ DB_CREATION_COMPLETED: "db_creation_completed",
36
+ MIGRATION_IN_PROGRESS: "migration_in_progress",
37
+ MIGRATION_FAILED: "migration_failed",
38
+ MIGRATION_COMPLETED: "migration_completed",
39
+ SEED_IN_PROGRESS: "seed_in_progress",
40
+ SEED_FAILED: "seed_failed",
41
+ SEED_COMPLETED: "seed_completed",
42
+ ONBOARD_COMPLETED: "onboard_completed",
43
+ };
44
+
45
+ const SUBSCRIPTION_PLAN_ID = {
46
+ FREE_TRAIL: 1,
47
+ BASIC: 2,
48
+ PREMIUM: 3,
49
+ CUSTOM: 4
50
+ }
51
+
52
+ const MEMBER_STATUS = {
53
+ ACTIVE: "Active",
54
+ INACTIVE: "Inactive",
55
+ DECEASED: "Deceased",
56
+ PROSPECT: "Prospect",
57
+ REGULAR_ATTENDEE: "Regular Attendee",
58
+ SINGLE_MEMBER: "Single Member",
59
+ VISITOR: "Visitor",
60
+ };
61
+
62
+ const GENDER = {
63
+ MALE: "Male",
64
+ FEMALE: "Female",
65
+ OTHER: "Other",
66
+ };
67
+
68
+ const RELATIONSHIP = {
69
+ HEAD: "Head",
70
+ SPOUSE: "Spouse",
71
+ CHILD: "Child",
72
+ SIBLING: "Sibling",
73
+ OTHER: "Other",
74
+ };
75
+
76
+ const CODE_LENGTH = {
77
+ OTP: 4,
78
+ ENV_NUMBER: 5,
79
+ };
80
+
81
+ module.exports = {
82
+ ROLES,
83
+ TRANSFER_STATUS,
84
+ CONTRIBUTION_TRANSACTION_STATUS,
85
+ QUEUES,
86
+ WORKERS,
87
+ AUTH_DATA,
88
+ ONBOARD_STATUS,
89
+ SUBSCRIPTION_PLAN_ID,
90
+ MEMBER_STATUS,
91
+ GENDER,
92
+ RELATIONSHIP,
93
+ CODE_LENGTH
94
+ };
@@ -1,100 +1,100 @@
1
- const { churchService } = require("../services");
2
- const errorCodes = require("../config/errorCodes");
3
- const response = require("../utils/response");
4
- const errorMsgs = require("../config/errorMsgs");
5
- class ChurchController {
6
- async onboardChurch(req, res) {
7
- try {
8
- const result = await churchService.onboardChurch(req.body);
9
- response.success(req, res, result.code, result.data, result.message);
10
- } catch (err) {
11
- response.error(req, res, errorCodes.HTTP_INTERNAL_SERVER_ERROR, err.message);
12
- }
13
- }
14
-
15
- async allChurch(req, res) {
16
- try {
17
- const result = await churchService.allChurchService(req.query);
18
- response.success(req, res, result.code, result.data, result.message);
19
- } catch (err) {
20
- response.error(req, res, errorCodes.HTTP_INTERNAL_SERVER_ERROR, err);
21
- }
22
- }
23
-
24
- async churchById(req, res) {
25
- try {
26
- const result = await churchService.churchByIdService(req.params);
27
- response.success(req, res, result.code, result.data, result.message);
28
- } catch (err) {
29
- response.error(req, res, errorCodes.HTTP_INTERNAL_SERVER_ERROR, err);
30
- }
31
- }
32
-
33
- async updateChurchById(req, res) {
34
- try {
35
- const result = await churchService.updateChurchByIdService({ ...req.params, ...req.body });
36
- response.success(req, res, result.code, result.data, result.message);
37
- } catch (err) {
38
- response.error(req, res, errorCodes.HTTP_INTERNAL_SERVER_ERROR, err);
39
- }
40
- }
41
- async uploadFile(req, res) {
42
- try {
43
- const file = req.files[0];
44
- let file_folder = "documents";
45
- if (file?.mimetype?.includes("image")) file_folder = "images";
46
- else if (file?.mimetype?.includes("video")) file_folder = "videos";
47
- else file_folder = "documents";
48
- const responseData = {
49
- url: `${process.env.BASE_URL}/dbms/api/uploads/${file_folder}/${file?.filename}`,
50
- original_name: file?.originalname,
51
- };
52
- response.success(req, res, errorCodes.HTTP_OK, responseData, errorMsgs.success);
53
- } catch (err) {
54
- response.error(req, res, errorCodes.HTTP_INTERNAL_SERVER_ERROR, err);
55
- }
56
- }
57
- async addChurchPermission(req, res) {
58
- try {
59
- const result = await churchService.addChurchPermissionService({
60
- ...req.params,
61
- ...req.body,
62
- });
63
- response.success(req, res, result.code, result.data, result.message);
64
- } catch (err) {
65
- response.error(req, res, errorCodes.HTTP_INTERNAL_SERVER_ERROR, err);
66
- }
67
- }
68
- async getChurchPermission(req, res) {
69
- try {
70
- const { roleId } = req.user;
71
- const result = await churchService.getChurchPermissionService({
72
- ...req.params,
73
- roleId,
74
- });
75
- response.success(req, res, result.code, result.data, result.message);
76
- } catch (err) {
77
- response.error(req, res, errorCodes.HTTP_INTERNAL_SERVER_ERROR, err);
78
- }
79
- }
80
- async deleteChurchPermissionById(req, res) {
81
- try {
82
- const result = await churchService.deleteChurchPermissionByIdService({
83
- ...req.params,
84
- });
85
- response.success(req, res, result.code, result.data, result.message);
86
- } catch (err) {
87
- response.error(req, res, errorCodes.HTTP_INTERNAL_SERVER_ERROR, err);
88
- }
89
- }
90
-
91
- async login(req, res) {
92
- try {
93
- const result = await churchService.login(req.body);
94
- response.success(req, res, result.code, result.data, result.message);
95
- } catch (err) {
96
- response.error(req, res, errorCodes.HTTP_INTERNAL_SERVER_ERROR, err.message);
97
- }
98
- }
99
- }
100
- module.exports = new ChurchController();
1
+ const { churchService } = require("../services");
2
+ const errorCodes = require("../config/errorCodes");
3
+ const response = require("../utils/response");
4
+ const errorMsgs = require("../config/errorMsgs");
5
+ class ChurchController {
6
+ async onboardChurch(req, res) {
7
+ try {
8
+ const result = await churchService.onboardChurch(req.body);
9
+ response.success(req, res, result.code, result.data, result.message);
10
+ } catch (err) {
11
+ response.error(req, res, errorCodes.HTTP_INTERNAL_SERVER_ERROR, err.message);
12
+ }
13
+ }
14
+
15
+ async allChurch(req, res) {
16
+ try {
17
+ const result = await churchService.allChurchService(req.query);
18
+ response.success(req, res, result.code, result.data, result.message);
19
+ } catch (err) {
20
+ response.error(req, res, errorCodes.HTTP_INTERNAL_SERVER_ERROR, err);
21
+ }
22
+ }
23
+
24
+ async churchById(req, res) {
25
+ try {
26
+ const result = await churchService.churchByIdService(req.params);
27
+ response.success(req, res, result.code, result.data, result.message);
28
+ } catch (err) {
29
+ response.error(req, res, errorCodes.HTTP_INTERNAL_SERVER_ERROR, err);
30
+ }
31
+ }
32
+
33
+ async updateChurchById(req, res) {
34
+ try {
35
+ const result = await churchService.updateChurchByIdService({ ...req.params, ...req.body });
36
+ response.success(req, res, result.code, result.data, result.message);
37
+ } catch (err) {
38
+ response.error(req, res, errorCodes.HTTP_INTERNAL_SERVER_ERROR, err);
39
+ }
40
+ }
41
+ async uploadFile(req, res) {
42
+ try {
43
+ const file = req.files[0];
44
+ let file_folder = "documents";
45
+ if (file?.mimetype?.includes("image")) file_folder = "images";
46
+ else if (file?.mimetype?.includes("video")) file_folder = "videos";
47
+ else file_folder = "documents";
48
+ const responseData = {
49
+ url: `${process.env.BASE_URL}/dbms/api/uploads/${file_folder}/${file?.filename}`,
50
+ original_name: file?.originalname,
51
+ };
52
+ response.success(req, res, errorCodes.HTTP_OK, responseData, errorMsgs.success);
53
+ } catch (err) {
54
+ response.error(req, res, errorCodes.HTTP_INTERNAL_SERVER_ERROR, err);
55
+ }
56
+ }
57
+ async addChurchPermission(req, res) {
58
+ try {
59
+ const result = await churchService.addChurchPermissionService({
60
+ ...req.params,
61
+ ...req.body,
62
+ });
63
+ response.success(req, res, result.code, result.data, result.message);
64
+ } catch (err) {
65
+ response.error(req, res, errorCodes.HTTP_INTERNAL_SERVER_ERROR, err);
66
+ }
67
+ }
68
+ async getChurchPermission(req, res) {
69
+ try {
70
+ const { roleId } = req.user;
71
+ const result = await churchService.getChurchPermissionService({
72
+ ...req.params,
73
+ roleId,
74
+ });
75
+ response.success(req, res, result.code, result.data, result.message);
76
+ } catch (err) {
77
+ response.error(req, res, errorCodes.HTTP_INTERNAL_SERVER_ERROR, err);
78
+ }
79
+ }
80
+ async deleteChurchPermissionById(req, res) {
81
+ try {
82
+ const result = await churchService.deleteChurchPermissionByIdService({
83
+ ...req.params,
84
+ });
85
+ response.success(req, res, result.code, result.data, result.message);
86
+ } catch (err) {
87
+ response.error(req, res, errorCodes.HTTP_INTERNAL_SERVER_ERROR, err);
88
+ }
89
+ }
90
+
91
+ async login(req, res) {
92
+ try {
93
+ const result = await churchService.login(req.body);
94
+ response.success(req, res, result.code, result.data, result.message);
95
+ } catch (err) {
96
+ response.error(req, res, errorCodes.HTTP_INTERNAL_SERVER_ERROR, err.message);
97
+ }
98
+ }
99
+ }
100
+ module.exports = new ChurchController();
@@ -1,6 +1,6 @@
1
- module.exports = {
2
- ChurchController: require("./church"),
3
- MigrationController: require("./migration"),
4
- SeedController: require("./seed"),
5
- MasterController: require("./master"),
6
- };
1
+ module.exports = {
2
+ ChurchController: require("./church"),
3
+ MigrationController: require("./migration"),
4
+ SeedController: require("./seed"),
5
+ MasterController: require("./master"),
6
+ };