@omnizap-system/omnizap 2.6.2 → 2.6.3

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 (48) hide show
  1. package/.env.example +24 -0
  2. package/app/config/index.js +4 -0
  3. package/app/configParts/adminIdentity.js +29 -0
  4. package/app/configParts/baileysConfig.js +116 -0
  5. package/app/configParts/groupUtils.js +221 -0
  6. package/app/configParts/loggerConfig.js +185 -0
  7. package/app/configParts/messagePersistenceService.js +169 -7
  8. package/app/configParts/sessionConfig.js +85 -0
  9. package/app/connection/baileysCompatibility.test.js +9 -0
  10. package/app/connection/baileysDbAuthState.js +205 -9
  11. package/app/connection/baileysLibsignalPatch.js +210 -0
  12. package/app/connection/groupOwnerWriteStateResolver.js +53 -21
  13. package/app/connection/socketController.js +95 -25
  14. package/app/connection/socketController.multiSession.test.js +20 -0
  15. package/app/controllers/messagePipeline/preProcessingMiddlewares.js +17 -3
  16. package/app/controllers/messageProcessingPipeline.js +2 -0
  17. package/app/controllers/messageProcessingPipeline.test.js +15 -13
  18. package/app/services/multiSession/assignmentBalancerService.js +1 -6
  19. package/app/services/multiSession/groupOwnershipRepository.js +9 -44
  20. package/app/services/multiSession/groupOwnershipService.js +9 -90
  21. package/app/services/multiSession/groupOwnershipService.test.js +12 -4
  22. package/app/services/multiSession/sessionRegistryService.js +6 -60
  23. package/app/utils/antiLink/antiLinkModule.js +54 -24
  24. package/docs/security/omnizap-static-security-headers.conf +3 -3
  25. package/package.json +3 -2
  26. package/public/comandos/commands-catalog.json +1 -1
  27. package/public/css/payments-react.css +478 -0
  28. package/public/js/apps/homeReactApp.js +2 -2
  29. package/public/js/apps/paymentsCancelReactApp.js +45 -0
  30. package/public/js/apps/paymentsReactApp.js +399 -0
  31. package/public/js/apps/paymentsSuccessReactApp.js +148 -0
  32. package/public/pages/pagamentos-cancelado.html +21 -0
  33. package/public/pages/pagamentos-sucesso.html +21 -0
  34. package/public/pages/pagamentos.html +30 -0
  35. package/scripts/deploy.sh +3 -0
  36. package/scripts/new-whatsapp-session.sh +247 -0
  37. package/server/controllers/admin/systemAdminController.js +4 -17
  38. package/server/controllers/payments/paymentsController.js +731 -0
  39. package/server/controllers/system/systemController.js +4 -30
  40. package/server/email/emailAutomationRuntime.js +36 -1
  41. package/server/email/emailAutomationService.js +42 -1
  42. package/server/email/emailTemplateService.js +137 -31
  43. package/server/http/httpRequestUtils.js +18 -14
  44. package/server/middleware/securityHeaders.js +15 -2
  45. package/server/routes/indexRouter.js +27 -7
  46. package/server/routes/payments/paymentsRouter.js +47 -0
  47. package/server/routes/static/staticPageRouter.js +3 -0
  48. package/vite.config.mjs +3 -0
@@ -0,0 +1,47 @@
1
+ let paymentsControllerPromise = null;
2
+
3
+ const loadPaymentsController = async () => {
4
+ if (!paymentsControllerPromise) {
5
+ paymentsControllerPromise = import('../../controllers/payments/paymentsController.js');
6
+ }
7
+ return paymentsControllerPromise;
8
+ };
9
+
10
+ const normalizeBasePath = (value, fallback) => {
11
+ const raw = String(value || '').trim() || fallback;
12
+ const withLeadingSlash = raw.startsWith('/') ? raw : `/${raw}`;
13
+ const withoutTrailingSlash = withLeadingSlash.length > 1 && withLeadingSlash.endsWith('/') ? withLeadingSlash.slice(0, -1) : withLeadingSlash;
14
+ return withoutTrailingSlash || fallback;
15
+ };
16
+
17
+ const startsWithPath = (pathname, prefix) => {
18
+ if (!pathname || !prefix) return false;
19
+ if (pathname === prefix) return true;
20
+ return pathname.startsWith(`${prefix}/`);
21
+ };
22
+
23
+ const DEFAULT_PAYMENTS_API_BASE_PATH = '/api/payments';
24
+
25
+ export const getPaymentsRouterConfig = async () => {
26
+ const controller = await loadPaymentsController();
27
+ const routeConfig = (typeof controller?.getPaymentsRouteConfig === 'function' ? controller.getPaymentsRouteConfig() : null) || {};
28
+
29
+ return {
30
+ apiBasePath: normalizeBasePath(routeConfig.apiBasePath, DEFAULT_PAYMENTS_API_BASE_PATH),
31
+ };
32
+ };
33
+
34
+ export const shouldHandlePaymentsPath = (pathname, config = null) => {
35
+ const resolvedConfig = config || {
36
+ apiBasePath: DEFAULT_PAYMENTS_API_BASE_PATH,
37
+ };
38
+
39
+ const apiBasePath = normalizeBasePath(resolvedConfig.apiBasePath, DEFAULT_PAYMENTS_API_BASE_PATH);
40
+ return startsWithPath(pathname, apiBasePath);
41
+ };
42
+
43
+ export const maybeHandlePaymentsRequest = async (req, res, { pathname, url }) => {
44
+ const controller = await loadPaymentsController();
45
+ if (typeof controller?.maybeHandlePaymentsRequest !== 'function') return false;
46
+ return controller.maybeHandlePaymentsRequest(req, res, { pathname, url });
47
+ };
@@ -37,6 +37,9 @@ const STATIC_PAGE_ROUTE_TO_FILE = new Map(
37
37
  ['/dpa', 'dpa.html'],
38
38
  ['/licenca', 'licenca.html'],
39
39
  ['/notice-and-takedown', 'notice-and-takedown.html'],
40
+ ['/pagamentos', 'pagamentos.html'],
41
+ ['/pagamentos/sucesso', 'pagamentos-sucesso.html'],
42
+ ['/pagamentos/cancelado', 'pagamentos-cancelado.html'],
40
43
  ['/politica-de-privacidade', 'politica-de-privacidade.html'],
41
44
  ['/suboperadores', 'suboperadores.html'],
42
45
  ['/termos-de-uso', 'termos-de-uso.html'],
package/vite.config.mjs CHANGED
@@ -32,6 +32,9 @@ export default defineConfig({
32
32
  'stickers-react': path.join(projectRoot, 'public', 'js', 'apps', 'stickersApp.js'),
33
33
  'create-pack-react': path.join(projectRoot, 'public', 'js', 'apps', 'createPackApp.js'),
34
34
  'stickers-admin': path.join(projectRoot, 'public', 'js', 'apps', 'stickersAdminApp.js'),
35
+ 'payments-react': path.join(projectRoot, 'public', 'js', 'apps', 'paymentsReactApp.js'),
36
+ 'payments-success-react': path.join(projectRoot, 'public', 'js', 'apps', 'paymentsSuccessReactApp.js'),
37
+ 'payments-cancel-react': path.join(projectRoot, 'public', 'js', 'apps', 'paymentsCancelReactApp.js'),
35
38
  'user-systemadm': path.join(projectRoot, 'public', 'js', 'apps', 'userSystemAdmReactApp.js'),
36
39
  },
37
40
  output: {