@churchsoln/dbms 1.0.47 → 1.0.48

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 +156 -171
  78. package/models/church/memberStatus.js +22 -0
  79. package/models/church/membership.js +75 -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,65 +1,65 @@
1
- version: '3.8'
2
- services:
3
- nginx1:
4
- image: nginx:alpine
5
- container_name: nginx1
6
- ports:
7
- - "80:8080" # Redirect HTTP to HTTPS
8
- - "443:443" # SSL-enabled HTTPS
9
- restart: on-failure
10
- volumes:
11
- - ./nginx/nginx.local.conf:/etc/nginx/nginx.conf
12
- - ./nginx/nginx-certs:/etc/nginx/certs
13
- networks:
14
- - node-network
15
- postgres:
16
- image: postgres:15
17
- container_name: postgres
18
- env_file: ../.env.local
19
- ports:
20
- - '5432:5432'
21
- restart: always
22
- volumes:
23
- - pgdata:/var/lib/postgresql/data
24
- networks:
25
- - node-network
26
-
27
- pgadmin1:
28
- image: dpage/pgadmin4
29
- container_name: pgadmin1
30
- env_file: ../.env.local
31
- ports:
32
- - "5050:80"
33
- depends_on:
34
- - postgres
35
- networks:
36
- - node-network
37
-
38
- redis1:
39
- image: redis:latest
40
- container_name: redis1
41
- ports:
42
- - "6379:6379"
43
- volumes:
44
- - redis-data:/data
45
-
46
- networks:
47
- node-network:
48
- driver: bridge
49
-
50
- volumes:
51
- pgdata:
52
- driver: local
53
- driver_opts:
54
- type: none
55
- o: bind
56
- device: ${HOME}/.churchsoln/postgres
57
- redis-data:
58
- driver: local
59
- driver_opts:
60
- type: none
61
- o: bind
62
- device: ${HOME}/.churchsoln/redis
63
-
64
- # RUN Command: docker-compose -f deployment/docker-compose.yml up -d --build
1
+ version: '3.8'
2
+ services:
3
+ nginx1:
4
+ image: nginx:alpine
5
+ container_name: nginx1
6
+ ports:
7
+ - "80:8080" # Redirect HTTP to HTTPS
8
+ - "443:443" # SSL-enabled HTTPS
9
+ restart: on-failure
10
+ volumes:
11
+ - ./nginx/nginx.local.conf:/etc/nginx/nginx.conf
12
+ - ./nginx/nginx-certs:/etc/nginx/certs
13
+ networks:
14
+ - node-network
15
+ postgres:
16
+ image: postgres:15
17
+ container_name: postgres
18
+ env_file: ../.env.local
19
+ ports:
20
+ - '5432:5432'
21
+ restart: always
22
+ volumes:
23
+ - pgdata:/var/lib/postgresql/data
24
+ networks:
25
+ - node-network
26
+
27
+ pgadmin1:
28
+ image: dpage/pgadmin4
29
+ container_name: pgadmin1
30
+ env_file: ../.env.local
31
+ ports:
32
+ - "5050:80"
33
+ depends_on:
34
+ - postgres
35
+ networks:
36
+ - node-network
37
+
38
+ redis1:
39
+ image: redis:latest
40
+ container_name: redis1
41
+ ports:
42
+ - "6379:6379"
43
+ volumes:
44
+ - redis-data:/data
45
+
46
+ networks:
47
+ node-network:
48
+ driver: bridge
49
+
50
+ volumes:
51
+ pgdata:
52
+ driver: local
53
+ driver_opts:
54
+ type: none
55
+ o: bind
56
+ device: ${HOME}/.churchsoln/postgres
57
+ redis-data:
58
+ driver: local
59
+ driver_opts:
60
+ type: none
61
+ o: bind
62
+ device: ${HOME}/.churchsoln/redis
63
+
64
+ # RUN Command: docker-compose -f deployment/docker-compose.yml up -d --build
65
65
  # STOP Command: docker-compose -f deployment/docker-compose.yml down --volumes
@@ -1,63 +1,63 @@
1
- version: '3'
2
- services:
3
- churchsoln_dbms:
4
- container_name: churchsoln_dbms
5
- build:
6
- context: ../
7
- dockerfile: Dockerfile
8
- restart: always
9
- ports:
10
- - "5007:5007"
11
- depends_on:
12
- - postgres
13
- - redis1
14
- env_file: ../.env
15
- volumes:
16
- - ../:/app
17
- - image-volume:/app/uploads/images
18
- - document-volume:/app/uploads/documents
19
- - video-volume:/app/uploads/videos
20
- networks:
21
- - app-network
22
-
23
- postgres:
24
- image: postgres:15
25
- container_name: postgres
26
- env_file: ../.env
27
- restart: always
28
- volumes:
29
- - pgdata:/var/lib/postgresql/data
30
- networks:
31
- - app-network
32
-
33
- pgadmin1:
34
- image: dpage/pgadmin4
35
- container_name: pgadmin1
36
- env_file: ../.env
37
- ports:
38
- - "5008:80"
39
- depends_on:
40
- - postgres
41
- networks:
42
- - app-network
43
-
44
- redis1:
45
- image: redis:latest
46
- container_name: redis1
47
- ports:
48
- - "6379:6379"
49
- volumes:
50
- - redis-data:/data
51
- networks:
52
- - app-network
53
-
54
- networks:
55
- app-network:
56
- driver: bridge
57
-
58
- volumes:
59
- pgdata:
60
- redis-data:
61
- image-volume:
62
- document-volume:
1
+ version: '3'
2
+ services:
3
+ churchsoln_dbms:
4
+ container_name: churchsoln_dbms
5
+ build:
6
+ context: ../
7
+ dockerfile: Dockerfile
8
+ restart: always
9
+ ports:
10
+ - "5007:5007"
11
+ depends_on:
12
+ - postgres
13
+ - redis1
14
+ env_file: ../.env
15
+ volumes:
16
+ - ../:/app
17
+ - image-volume:/app/uploads/images
18
+ - document-volume:/app/uploads/documents
19
+ - video-volume:/app/uploads/videos
20
+ networks:
21
+ - app-network
22
+
23
+ postgres:
24
+ image: postgres:15
25
+ container_name: postgres
26
+ env_file: ../.env
27
+ restart: always
28
+ volumes:
29
+ - pgdata:/var/lib/postgresql/data
30
+ networks:
31
+ - app-network
32
+
33
+ pgadmin1:
34
+ image: dpage/pgadmin4
35
+ container_name: pgadmin1
36
+ env_file: ../.env
37
+ ports:
38
+ - "5008:80"
39
+ depends_on:
40
+ - postgres
41
+ networks:
42
+ - app-network
43
+
44
+ redis1:
45
+ image: redis:latest
46
+ container_name: redis1
47
+ ports:
48
+ - "6379:6379"
49
+ volumes:
50
+ - redis-data:/data
51
+ networks:
52
+ - app-network
53
+
54
+ networks:
55
+ app-network:
56
+ driver: bridge
57
+
58
+ volumes:
59
+ pgdata:
60
+ redis-data:
61
+ image-volume:
62
+ document-volume:
63
63
  video-volume:
@@ -1,22 +1,22 @@
1
- -----BEGIN CERTIFICATE-----
2
- MIIDrzCCApegAwIBAgIUXXbhuBoBZCoq5bApAVsDWUlkQUQwDQYJKoZIhvcNAQEL
3
- BQAwZzELMAkGA1UEBhMCVVMxDjAMBgNVBAgMBVN0YXRlMQ0wCwYDVQQHDARDaXR5
4
- MRAwDgYDVQQKDAdDb21wYW55MRMwEQYDVQQLDApEZXBhcnRtZW50MRIwEAYDVQQD
5
- DAlsb2NhbGhvc3QwHhcNMjQwOTExMTczNjM4WhcNMjUwOTExMTczNjM4WjBnMQsw
6
- CQYDVQQGEwJVUzEOMAwGA1UECAwFU3RhdGUxDTALBgNVBAcMBENpdHkxEDAOBgNV
7
- BAoMB0NvbXBhbnkxEzARBgNVBAsMCkRlcGFydG1lbnQxEjAQBgNVBAMMCWxvY2Fs
8
- aG9zdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL6n0tUkyDrZI0T6
9
- go1iHizwm93utOKYX/9zH9AbCh3swVNQk32KaDZCndMWxM97JLAEh03erfLRdlty
10
- qYz5LRiCN2Fpr2jiCAR2Bgog8BaLq5CNQhwIkEmW4cRMAfx/FP4gjmxr8e8qUt6s
11
- FPsQMVj+AayRAH97MRGUBSfDcpYjNHwGF3OO8TZzhKgS1/Nh2hqlRcu+A284JunH
12
- Bo/YQZz3VaVGfsscq9mUu4bXGRJM4v4bWdxNv3Ju1zq1uKcckb8t1qNG/w00jnTV
13
- X9METbB4Un5BRK87uZmh3gf5WlDxc9i5fLbEPe1SYUy+A/8SvY0dfsjqfqwlBcVR
14
- NnSTyR0CAwEAAaNTMFEwHQYDVR0OBBYEFAVP2/S6BkCiMF9LAIts9Xso1chmMB8G
15
- A1UdIwQYMBaAFAVP2/S6BkCiMF9LAIts9Xso1chmMA8GA1UdEwEB/wQFMAMBAf8w
16
- DQYJKoZIhvcNAQELBQADggEBAEOMC2WmDb3LTQX93n9Frf0wycFcw6oqhnxG6JAu
17
- TPWq82BW/wkjDpvhAE1N+2vWg8fONhxI411pdwxDNjODxVwUOM0Xec1h/iPDQnwY
18
- TQy0Qr5/gu1Wssxhlgq6MtRL8qt8BmASoCrKHQjhVRBweXtIsXFbn5RWSlkmRCLg
19
- 396NwcLs713Ce01ZkpoJcra5hgfqdnD3C/mxHRY9dGpgihRqBO25ZQHPYUtkjP7G
20
- jGcRupL1iCVoIzM0GCDWLun7saaf5VVcvP+sVtyNXfPkY8bKJOpuqllhw5k5rPVN
21
- weGlia0MQpORXUARIpMcmWLhKn/JsB17FX82dGCupxvplqg=
22
- -----END CERTIFICATE-----
1
+ -----BEGIN CERTIFICATE-----
2
+ MIIDrzCCApegAwIBAgIUXXbhuBoBZCoq5bApAVsDWUlkQUQwDQYJKoZIhvcNAQEL
3
+ BQAwZzELMAkGA1UEBhMCVVMxDjAMBgNVBAgMBVN0YXRlMQ0wCwYDVQQHDARDaXR5
4
+ MRAwDgYDVQQKDAdDb21wYW55MRMwEQYDVQQLDApEZXBhcnRtZW50MRIwEAYDVQQD
5
+ DAlsb2NhbGhvc3QwHhcNMjQwOTExMTczNjM4WhcNMjUwOTExMTczNjM4WjBnMQsw
6
+ CQYDVQQGEwJVUzEOMAwGA1UECAwFU3RhdGUxDTALBgNVBAcMBENpdHkxEDAOBgNV
7
+ BAoMB0NvbXBhbnkxEzARBgNVBAsMCkRlcGFydG1lbnQxEjAQBgNVBAMMCWxvY2Fs
8
+ aG9zdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL6n0tUkyDrZI0T6
9
+ go1iHizwm93utOKYX/9zH9AbCh3swVNQk32KaDZCndMWxM97JLAEh03erfLRdlty
10
+ qYz5LRiCN2Fpr2jiCAR2Bgog8BaLq5CNQhwIkEmW4cRMAfx/FP4gjmxr8e8qUt6s
11
+ FPsQMVj+AayRAH97MRGUBSfDcpYjNHwGF3OO8TZzhKgS1/Nh2hqlRcu+A284JunH
12
+ Bo/YQZz3VaVGfsscq9mUu4bXGRJM4v4bWdxNv3Ju1zq1uKcckb8t1qNG/w00jnTV
13
+ X9METbB4Un5BRK87uZmh3gf5WlDxc9i5fLbEPe1SYUy+A/8SvY0dfsjqfqwlBcVR
14
+ NnSTyR0CAwEAAaNTMFEwHQYDVR0OBBYEFAVP2/S6BkCiMF9LAIts9Xso1chmMB8G
15
+ A1UdIwQYMBaAFAVP2/S6BkCiMF9LAIts9Xso1chmMA8GA1UdEwEB/wQFMAMBAf8w
16
+ DQYJKoZIhvcNAQELBQADggEBAEOMC2WmDb3LTQX93n9Frf0wycFcw6oqhnxG6JAu
17
+ TPWq82BW/wkjDpvhAE1N+2vWg8fONhxI411pdwxDNjODxVwUOM0Xec1h/iPDQnwY
18
+ TQy0Qr5/gu1Wssxhlgq6MtRL8qt8BmASoCrKHQjhVRBweXtIsXFbn5RWSlkmRCLg
19
+ 396NwcLs713Ce01ZkpoJcra5hgfqdnD3C/mxHRY9dGpgihRqBO25ZQHPYUtkjP7G
20
+ jGcRupL1iCVoIzM0GCDWLun7saaf5VVcvP+sVtyNXfPkY8bKJOpuqllhw5k5rPVN
21
+ weGlia0MQpORXUARIpMcmWLhKn/JsB17FX82dGCupxvplqg=
22
+ -----END CERTIFICATE-----
@@ -1,28 +1,28 @@
1
- -----BEGIN PRIVATE KEY-----
2
- MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQC+p9LVJMg62SNE
3
- +oKNYh4s8Jvd7rTimF//cx/QGwod7MFTUJN9img2Qp3TFsTPeySwBIdN3q3y0XZb
4
- cqmM+S0Ygjdhaa9o4ggEdgYKIPAWi6uQjUIcCJBJluHETAH8fxT+II5sa/HvKlLe
5
- rBT7EDFY/gGskQB/ezERlAUnw3KWIzR8BhdzjvE2c4SoEtfzYdoapUXLvgNvOCbp
6
- xwaP2EGc91WlRn7LHKvZlLuG1xkSTOL+G1ncTb9ybtc6tbinHJG/LdajRv8NNI50
7
- 1V/TBE2weFJ+QUSvO7mZod4H+VpQ8XPYuXy2xD3tUmFMvgP/Er2NHX7I6n6sJQXF
8
- UTZ0k8kdAgMBAAECggEABKCnLEqhwrsaSsAEov2sLm2pCT7hGUgW7TWnb1IqSzKm
9
- OJyRwxZoB1UgZosjCMdifkefdYNMccKl+EjbfUZfbImQlY01CqGRDaaqgkMHAM0W
10
- dqiiRgyEXNZ/ZIsIJOkV73S6PQuofVeBWAVEo+YvN6VARI0acX2u4bakvDCkW3Xn
11
- 5uzYimgIcdPmI6pFOlyNwITGkHEAZGMHM8A42Dv2+JFu2+z/AFQWDer8A2NwB3In
12
- kbf/XPwcCE0nC5aHn1FCJG109PhG1+Odn4+rPkxjFLaaqkVwTTxxig/kbO9oAdYQ
13
- uDPG+aYvg058nbvUxaauLp5NLJfxyua78e/ceDQ/oQKBgQD2qCqskH1x4OpKHjTS
14
- jtSpJZvgtS6l/qmxrFFoj12OsQ1/qGz9nBpDhJJ8r7MA8Cuzc+DWamz6jBx7Lw7d
15
- WgD8YBrZtr5hZew/ZPA8tlAQFG5qUxIKppF6CQ7QXjomUOLHcRNnH3Fkgupuw0mp
16
- uMPI1Oh+h1Lkr+WQlOo1w6vOzQKBgQDF4JyPx/R496fHjlLYX74UzERtwoJKqQ7B
17
- 6cDGVt4wOHhCZoLN6effPyGjkwJDSGL5Qr8UMWlia+qpTdk6T1TuZzOYk5ApXfNl
18
- tZyN9mFk+Wp0nvoXFS20TnDjhpftlYngbKeFMhHByqU+eqQNj0CDwlk+rxLU/jT9
19
- UBsKRbRDkQKBgBIyd+uBQW/8Wuya6+S42uGbv7NFSqq+bgCIqPzgztMvJsLLRzcy
20
- pBFlH3WJdNhV37N+khDfiyi024kPALa95CK6aGC1hbgjz9khdkPUY3W8PCUl+cfF
21
- YCgzsN8YhIu9He3+3qKWBESZD/iZ+b5GvlL7uidTjn8GpxYSlnDe/bblAoGAdu8l
22
- Syp1H8xDNSevVcxeNKP+MTarF3L7osP8EXqe+77FUavJzThdHQsWDfpLbuNwUb+z
23
- l9CHNhgFKJPZEDoko1K2aWuwR5znsedx3MYNDiL3wHbZfMxG90v6gFcitDOgdpr4
24
- KY/JqoBByAbw2hGTRl6nQ4z5NbpBYUwnpIn26nECgYBuM0IJKkMb8Za0BnZ4B1dM
25
- m0iRItnapsz6rSx3BO9t9jAO/40e6vLcRsjTh1dE8JOmlf7CdoyZ5w38owPXOFa3
26
- 7R26Nr1TLTG1vSctwB1AplCYmudgT5uK1uNelvR1P8JiYeABxyM4aBB70xMAUdlX
27
- X2yYI5qYFwI3DDgkb3m1FA==
28
- -----END PRIVATE KEY-----
1
+ -----BEGIN PRIVATE KEY-----
2
+ MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQC+p9LVJMg62SNE
3
+ +oKNYh4s8Jvd7rTimF//cx/QGwod7MFTUJN9img2Qp3TFsTPeySwBIdN3q3y0XZb
4
+ cqmM+S0Ygjdhaa9o4ggEdgYKIPAWi6uQjUIcCJBJluHETAH8fxT+II5sa/HvKlLe
5
+ rBT7EDFY/gGskQB/ezERlAUnw3KWIzR8BhdzjvE2c4SoEtfzYdoapUXLvgNvOCbp
6
+ xwaP2EGc91WlRn7LHKvZlLuG1xkSTOL+G1ncTb9ybtc6tbinHJG/LdajRv8NNI50
7
+ 1V/TBE2weFJ+QUSvO7mZod4H+VpQ8XPYuXy2xD3tUmFMvgP/Er2NHX7I6n6sJQXF
8
+ UTZ0k8kdAgMBAAECggEABKCnLEqhwrsaSsAEov2sLm2pCT7hGUgW7TWnb1IqSzKm
9
+ OJyRwxZoB1UgZosjCMdifkefdYNMccKl+EjbfUZfbImQlY01CqGRDaaqgkMHAM0W
10
+ dqiiRgyEXNZ/ZIsIJOkV73S6PQuofVeBWAVEo+YvN6VARI0acX2u4bakvDCkW3Xn
11
+ 5uzYimgIcdPmI6pFOlyNwITGkHEAZGMHM8A42Dv2+JFu2+z/AFQWDer8A2NwB3In
12
+ kbf/XPwcCE0nC5aHn1FCJG109PhG1+Odn4+rPkxjFLaaqkVwTTxxig/kbO9oAdYQ
13
+ uDPG+aYvg058nbvUxaauLp5NLJfxyua78e/ceDQ/oQKBgQD2qCqskH1x4OpKHjTS
14
+ jtSpJZvgtS6l/qmxrFFoj12OsQ1/qGz9nBpDhJJ8r7MA8Cuzc+DWamz6jBx7Lw7d
15
+ WgD8YBrZtr5hZew/ZPA8tlAQFG5qUxIKppF6CQ7QXjomUOLHcRNnH3Fkgupuw0mp
16
+ uMPI1Oh+h1Lkr+WQlOo1w6vOzQKBgQDF4JyPx/R496fHjlLYX74UzERtwoJKqQ7B
17
+ 6cDGVt4wOHhCZoLN6effPyGjkwJDSGL5Qr8UMWlia+qpTdk6T1TuZzOYk5ApXfNl
18
+ tZyN9mFk+Wp0nvoXFS20TnDjhpftlYngbKeFMhHByqU+eqQNj0CDwlk+rxLU/jT9
19
+ UBsKRbRDkQKBgBIyd+uBQW/8Wuya6+S42uGbv7NFSqq+bgCIqPzgztMvJsLLRzcy
20
+ pBFlH3WJdNhV37N+khDfiyi024kPALa95CK6aGC1hbgjz9khdkPUY3W8PCUl+cfF
21
+ YCgzsN8YhIu9He3+3qKWBESZD/iZ+b5GvlL7uidTjn8GpxYSlnDe/bblAoGAdu8l
22
+ Syp1H8xDNSevVcxeNKP+MTarF3L7osP8EXqe+77FUavJzThdHQsWDfpLbuNwUb+z
23
+ l9CHNhgFKJPZEDoko1K2aWuwR5znsedx3MYNDiL3wHbZfMxG90v6gFcitDOgdpr4
24
+ KY/JqoBByAbw2hGTRl6nQ4z5NbpBYUwnpIn26nECgYBuM0IJKkMb8Za0BnZ4B1dM
25
+ m0iRItnapsz6rSx3BO9t9jAO/40e6vLcRsjTh1dE8JOmlf7CdoyZ5w38owPXOFa3
26
+ 7R26Nr1TLTG1vSctwB1AplCYmudgT5uK1uNelvR1P8JiYeABxyM4aBB70xMAUdlX
27
+ X2yYI5qYFwI3DDgkb3m1FA==
28
+ -----END PRIVATE KEY-----
@@ -1,72 +1,72 @@
1
- worker_processes 1;
2
-
3
- events {
4
- worker_connections 1024;
5
- }
6
-
7
- http {
8
- include mime.types;
9
- default_type application/octet-stream;
10
- sendfile on;
11
- keepalive_timeout 65;
12
-
13
- upstream frontend {
14
- server host.docker.internal:5010;
15
- }
16
-
17
- upstream backend {
18
- server host.docker.internal:5009;
19
- }
20
-
21
- # Redirect HTTP to HTTPS
22
- server {
23
- listen 8080;
24
- server_name localhost;
25
-
26
- # Redirect all HTTP requests to HTTPS
27
- return 301 https://$host$request_uri;
28
- }
29
-
30
- # HTTPS server
31
- server {
32
- listen 443 ssl;
33
- server_name localhost;
34
-
35
- # SSL certificate and key paths
36
- ssl_certificate /etc/nginx/certs/localhost.crt;
37
- ssl_certificate_key /etc/nginx/certs/localhost.key;
38
-
39
- ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
40
- ssl_ciphers HIGH:!aNULL:!MD5;
41
-
42
- proxy_buffer_size 128k;
43
- proxy_buffers 4 256k;
44
- proxy_busy_buffers_size 256k;
45
-
46
- # Location for API requests
47
- location /api {
48
- proxy_pass http://backend;
49
- proxy_set_header Host $host;
50
- proxy_set_header X-Real-IP $remote_addr;
51
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
52
- proxy_set_header X-Forwarded-Proto $scheme;
53
- }
54
-
55
- # Location for frontend requests
56
- location / {
57
- proxy_pass http://frontend;
58
- proxy_set_header Host $host;
59
- proxy_set_header X-Real-IP $remote_addr;
60
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
61
- proxy_set_header X-Forwarded-Proto $scheme;
62
- }
63
-
64
- # Error pages
65
- error_page 500 502 503 504 /50x.html;
66
- location = /50x.html {
67
- root html;
68
- }
69
- }
70
-
71
- include servers/*;
72
- }
1
+ worker_processes 1;
2
+
3
+ events {
4
+ worker_connections 1024;
5
+ }
6
+
7
+ http {
8
+ include mime.types;
9
+ default_type application/octet-stream;
10
+ sendfile on;
11
+ keepalive_timeout 65;
12
+
13
+ upstream frontend {
14
+ server host.docker.internal:5010;
15
+ }
16
+
17
+ upstream backend {
18
+ server host.docker.internal:5009;
19
+ }
20
+
21
+ # Redirect HTTP to HTTPS
22
+ server {
23
+ listen 8080;
24
+ server_name localhost;
25
+
26
+ # Redirect all HTTP requests to HTTPS
27
+ return 301 https://$host$request_uri;
28
+ }
29
+
30
+ # HTTPS server
31
+ server {
32
+ listen 443 ssl;
33
+ server_name localhost;
34
+
35
+ # SSL certificate and key paths
36
+ ssl_certificate /etc/nginx/certs/localhost.crt;
37
+ ssl_certificate_key /etc/nginx/certs/localhost.key;
38
+
39
+ ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
40
+ ssl_ciphers HIGH:!aNULL:!MD5;
41
+
42
+ proxy_buffer_size 128k;
43
+ proxy_buffers 4 256k;
44
+ proxy_busy_buffers_size 256k;
45
+
46
+ # Location for API requests
47
+ location /api {
48
+ proxy_pass http://backend;
49
+ proxy_set_header Host $host;
50
+ proxy_set_header X-Real-IP $remote_addr;
51
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
52
+ proxy_set_header X-Forwarded-Proto $scheme;
53
+ }
54
+
55
+ # Location for frontend requests
56
+ location / {
57
+ proxy_pass http://frontend;
58
+ proxy_set_header Host $host;
59
+ proxy_set_header X-Real-IP $remote_addr;
60
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
61
+ proxy_set_header X-Forwarded-Proto $scheme;
62
+ }
63
+
64
+ # Error pages
65
+ error_page 500 502 503 504 /50x.html;
66
+ location = /50x.html {
67
+ root html;
68
+ }
69
+ }
70
+
71
+ include servers/*;
72
+ }
@@ -1,16 +1,16 @@
1
- const churchManager = require("../utils/churchManager");
2
- module.exports = async function (req, res, next) {
3
- try {
4
- const host = req.headers.host;
5
- const domain = host.split(":")[0];
6
- const churchDb = await churchManager.getChurchDbConnectionByDomain(domain);
7
- const commonDb = await churchManager.getCommonDbConnection();
8
- const churchId = await churchManager.getChurchIdByDomain(domain);
9
- req.commonDb = commonDb;
10
- req.churchDb = churchDb;
11
- req.churchId = churchId;
12
- next();
13
- } catch (error) {
14
- return res.status(400).send(error.message);
15
- }
16
- };
1
+ const churchManager = require("../utils/churchManager");
2
+ module.exports = async function (req, res, next) {
3
+ try {
4
+ const host = req.headers.host;
5
+ const domain = host.split(":")[0];
6
+ const churchDb = await churchManager.getChurchDbConnectionByDomain(domain);
7
+ const commonDb = await churchManager.getCommonDbConnection();
8
+ const churchId = await churchManager.getChurchIdByDomain(domain);
9
+ req.commonDb = commonDb;
10
+ req.churchDb = churchDb;
11
+ req.churchId = churchId;
12
+ next();
13
+ } catch (error) {
14
+ return res.status(400).send(error.message);
15
+ }
16
+ };
@@ -1,27 +1,27 @@
1
- "use strict";
2
- module.exports = {
3
- up: async (queryInterface, DataTypes) => {
4
- await queryInterface.createTable(
5
- "Province",
6
- {
7
- id: { type: DataTypes.INTEGER, primaryKey: true, autoIncrement: true },
8
- country: { type: DataTypes.STRING },
9
- code: { type: DataTypes.STRING },
10
- name: { type: DataTypes.STRING },
11
- status: { type: DataTypes.BOOLEAN, defaultValue: true },
12
- createdAt: {
13
- type: DataTypes.DATE,
14
- defaultValue: DataTypes.literal("CURRENT_TIMESTAMP"),
15
- },
16
- updatedAt: {
17
- type: DataTypes.DATE,
18
- defaultValue: DataTypes.literal("CURRENT_TIMESTAMP"),
19
- },
20
- },
21
- { timestamps: false }
22
- );
23
- },
24
- down: async (queryInterface) => {
25
- await queryInterface.dropTable("Province");
26
- },
27
- };
1
+ "use strict";
2
+ module.exports = {
3
+ up: async (queryInterface, DataTypes) => {
4
+ await queryInterface.createTable(
5
+ "Province",
6
+ {
7
+ id: { type: DataTypes.INTEGER, primaryKey: true, autoIncrement: true },
8
+ country: { type: DataTypes.STRING },
9
+ code: { type: DataTypes.STRING },
10
+ name: { type: DataTypes.STRING },
11
+ status: { type: DataTypes.BOOLEAN, defaultValue: true },
12
+ createdAt: {
13
+ type: DataTypes.DATE,
14
+ defaultValue: DataTypes.literal("CURRENT_TIMESTAMP"),
15
+ },
16
+ updatedAt: {
17
+ type: DataTypes.DATE,
18
+ defaultValue: DataTypes.literal("CURRENT_TIMESTAMP"),
19
+ },
20
+ },
21
+ { timestamps: false }
22
+ );
23
+ },
24
+ down: async (queryInterface) => {
25
+ await queryInterface.dropTable("Province");
26
+ },
27
+ };