@bisondesk/commons-sdk 1.0.635 → 1.0.637
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.
- package/lib/constants.d.ts +1 -0
- package/lib/constants.d.ts.map +1 -1
- package/lib/constants.js +7 -1
- package/lib/constants.js.map +1 -1
- package/lib/notifications-whatsapp.d.ts +29 -0
- package/lib/notifications-whatsapp.d.ts.map +1 -1
- package/lib/notifications-whatsapp.js +17 -0
- package/lib/notifications-whatsapp.js.map +1 -1
- package/lib/translations.d.ts.map +1 -1
- package/lib/translations.js +24 -1
- package/lib/translations.js.map +1 -1
- package/package.json +1 -1
- package/src/constants.ts +7 -1
- package/src/notifications-whatsapp.ts +56 -0
- package/src/translations.ts +26 -1
- package/tsconfig.tsbuildinfo +1 -1
package/lib/constants.d.ts
CHANGED
|
@@ -60,6 +60,7 @@ export declare const SERVICE_ID_ADMIN_HEADER = "service-id";
|
|
|
60
60
|
export declare const NO_TENANT_ID_VALUE = "notenant";
|
|
61
61
|
export declare const SYSTEM_USER_ID = "system";
|
|
62
62
|
export declare const CROSS_TENANT_USER_ID = "cross-tenant-sync";
|
|
63
|
+
export declare const WHATSAPP_TEMPLATE_SYNC_USER_ID = "whatsapp-template-sync";
|
|
63
64
|
export declare const SYNTHETIC_USER_IDS: readonly string[];
|
|
64
65
|
export declare const SYNTHETIC_USER_LABELS: Record<string, string>;
|
|
65
66
|
export declare enum BusinessEntityIds {
|
package/lib/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"/","sources":["constants.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,qBAAqB,qBAAqB,CAAC;AAKxD,oBAAY,QAAQ;IAClB,UAAU,eAAe;IACzB,KAAK,WAAW;IAChB,cAAc,mBAAmB;IACjC,UAAU,gBAAgB;IAC1B,KAAK,UAAU;IACf,UAAU,eAAe;IACzB,iBAAiB,uBAAuB;IACxC,iBAAiB,uBAAuB;IACxC,cAAc,oBAAoB;IAClC,uBAAuB,8BAA8B;IACrD,aAAa,mBAAmB;IAChC,SAAS,cAAc;IACvB,YAAY,kBAAkB;IAC9B,iBAAiB,wBAAwB;IACzC,iBAAiB,wBAAwB;IACzC,qBAAqB,4BAA4B;IACjD,gBAAgB,sBAAsB;IACtC,oBAAoB,4BAA4B;CACjD;AAED,eAAO,MAAM,SAAS,YAKrB,CAAC;AAEF,oBAAY,eAAe;IACzB,iBAAiB,YAAY;IAC7B,sBAAsB,wBAAwB;IAC9C,6BAA6B,8BAA8B;IAC3D,qBAAqB,qBAAqB;IAC1C,6BAA6B,+BAA+B;IAC5D,QAAQ,YAAY;IACpB,aAAa,oBAAoB;IACjC,iBAAiB,wBAAwB;IACzC,oBAAoB,uBAAuB;IAC3C,sBAAsB,sCAAsC;IAC5D,oBAAoB,2BAA2B;IAC/C,kBAAkB,yBAAyB;IAC3C,mBAAmB,0BAA0B;IAC7C,sBAAsB,6BAA6B;IACnD,sBAAsB,6BAA6B;IACnD,wBAAwB,mCAAmC;IAC3D,oBAAoB,2BAA2B;IAC/C,YAAY,kBAAkB;IAC9B,cAAc,oBAAoB;IAClC,YAAY,gBAAgB;IAC5B,YAAY,kBAAkB;IAC9B,sBAAsB,gBAAgB;IACtC,2BAA2B,yBAAyB;IACpD,0BAA0B,sCAAsC;IAChE,eAAe,qBAAqB;IACpC,gBAAgB,gCAAgC;IAChD,WAAW,eAAe;IAC1B,aAAa,mBAAmB;IAChC,QAAQ,YAAY;IACpB,oBAAoB,iBAAiB;IACrC,gBAAgB,sBAAsB;IACtC,gBAAgB,sBAAsB;CACvC;AAKD,eAAO,MAAM,mBAAmB,YAAI,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAU,CAAC;AAKjF,eAAO,MAAM,sBAAsB,cAAc,CAAC;AAClD,eAAO,MAAM,uBAAuB,eAAe,CAAC;AAKpD,eAAO,MAAM,kBAAkB,aAAa,CAAC;AAC7C,eAAO,MAAM,cAAc,WAAW,CAAC;AACvC,eAAO,MAAM,oBAAoB,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"/","sources":["constants.ts"],"names":[],"mappings":"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"}
|
package/lib/constants.js
CHANGED
|
@@ -67,10 +67,16 @@ export const SERVICE_ID_ADMIN_HEADER = 'service-id';
|
|
|
67
67
|
export const NO_TENANT_ID_VALUE = 'notenant';
|
|
68
68
|
export const SYSTEM_USER_ID = 'system';
|
|
69
69
|
export const CROSS_TENANT_USER_ID = 'cross-tenant-sync';
|
|
70
|
-
export const
|
|
70
|
+
export const WHATSAPP_TEMPLATE_SYNC_USER_ID = 'whatsapp-template-sync';
|
|
71
|
+
export const SYNTHETIC_USER_IDS = [
|
|
72
|
+
SYSTEM_USER_ID,
|
|
73
|
+
CROSS_TENANT_USER_ID,
|
|
74
|
+
WHATSAPP_TEMPLATE_SYNC_USER_ID,
|
|
75
|
+
];
|
|
71
76
|
export const SYNTHETIC_USER_LABELS = {
|
|
72
77
|
[SYSTEM_USER_ID]: 'System',
|
|
73
78
|
[CROSS_TENANT_USER_ID]: 'Tenant-sync',
|
|
79
|
+
[WHATSAPP_TEMPLATE_SYNC_USER_ID]: 'Template-sync',
|
|
74
80
|
};
|
|
75
81
|
export var BusinessEntityIds;
|
|
76
82
|
(function (BusinessEntityIds) {
|
package/lib/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"/","sources":["constants.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Carries a record's version between server and client: the server answers with it on a read,\n * and a client hands it back on a write so the write only lands while the row still stands\n * there. Successor to the older `x-record-modified-at`.\n */\nexport const RECORD_VERSION_HEADER = 'x-record-version';\n\n//\n// STATIC ROLES\n//\nexport enum AppRoles {\n Accountant = 'accountant',\n Admin = 'admins',\n Administrative = 'administrative',\n AppManager = 'app_manager',\n Board = 'board',\n Commercial = 'commercial',\n InboundCommercial = 'inbound_commercial',\n LeasingCommercial = 'leasing_commercial',\n GeneralManager = 'general_manager',\n GeneralManagerAssistant = 'general_manager_assistant',\n ParkLogistics = 'park_logistics',\n Purchaser = 'purchaser',\n SalesManager = 'sales_manager',\n SalesPriceManager = 'sales_price_manager',\n SalesStockManager = 'sales_stock_manager',\n SalesMarketingManager = 'sales_marketing_manager',\n SeniorAccountant = 'senior_accountant',\n TrackAndTraceManager = 'track_and_trace_manager',\n}\n\nexport const TOP_ROLES = [\n AppRoles.Admin,\n AppRoles.Board,\n AppRoles.GeneralManager,\n AppRoles.SeniorAccountant,\n];\n\nexport enum TopLevelActions {\n AdministrationAll = 'admin:*',\n DocumentsFinanceBrowse = 'docs:finance:browse',\n DocumentsFinanceIssueProforma = 'docs:finance:new:proforma',\n DocumentsFinanceIssue = 'docs:finance:new',\n DocumentsAdministrativeBrowse = 'docs:administrative:browse',\n LeadsAll = 'leads:*',\n CrmOrgsBrowse = 'crm:orgs:browse',\n CrmContactsBrowse = 'crm:contacts:browse',\n BrowseDocumentDrafts = 'docs:drafts:browse',\n BrowsePurchasePayments = 'vehicles:purchase-payments:browse',\n BrowsePendingRemarks = 'remarks:pending:browse',\n LeasingDebtorsView = 'leasing:debtors:view',\n LeasingOverduesView = 'leasing:overdues:view',\n LeasingContractsExport = 'leasing:contracts:export',\n LeasingContractsBrowse = 'leasing:contracts:browse',\n LeasingContractsRsExport = 'leasing:contracts:rs:export-rs', // rs stands for rental solutions\n LeasingDebtorsExport = 'leasing:debtors:export',\n MarketBrowse = 'market:browse',\n MarketInsights = 'insights:market',\n MarketingAll = 'marketing:*',\n OffersBrowse = 'offers:browse',\n OpportunitiesBrowseAll = 'opps:browse',\n OpportunitiesBrowseAssigned = 'opps:browse:assigned',\n IntercompanyPaymentsBrowse = 'opps:intercompany-payments:browse',\n VehicleInsights = 'insights:vehicle',\n SaveBankAccounts = 'settings:bank-accounts:save',\n SettingsAll = 'settings:*',\n VehicleCreate = 'vehicle:create',\n TasksAll = 'tasks:*',\n TrackAndTraceDevices = 'tt:devices:*',\n ManageStocklists = 'stocklists:manage',\n TransportsBrowse = 'transports:browse',\n}\n\n//\n// I18N\n//\nexport const SUPPORTED_LANGUAGES = ['en', 'fr', 'nl', 'es', 'de', 'pt'] as const;\n\n//\n// Headers\n//\nexport const TENANT_ID_ADMIN_HEADER = 'tenant-id';\nexport const SERVICE_ID_ADMIN_HEADER = 'service-id';\n\n//\n// AUTH\n//\nexport const NO_TENANT_ID_VALUE = 'notenant';\nexport const SYSTEM_USER_ID = 'system';\nexport const CROSS_TENANT_USER_ID = 'cross-tenant-sync';\n\n/** The registry of synthetic (non-human) user ids — behavior checks key on this list. */\nexport const SYNTHETIC_USER_IDS: readonly string[] = [SYSTEM_USER_ID, CROSS_TENANT_USER_ID];\n\n/** Display labels for the synthetic user ids — a projection of the registry above. */\nexport const SYNTHETIC_USER_LABELS: Record<string, string> = {\n [SYSTEM_USER_ID]: 'System',\n [CROSS_TENANT_USER_ID]: 'Tenant-sync',\n};\n\n//\n// Business Entity IDs\n//\nexport enum BusinessEntityIds {\n BecrisDeclarations = 'becris_declarations',\n Contacts = 'contacts',\n Emails = 'emails',\n ExternalVehicleSale = 'external_vehicle_sale',\n Documents = 'documents',\n FinanceDocuments = 'finance_documents',\n AdministrativeDocuments = 'administrative_documents',\n InternetVehicles = 'internet-vehicles',\n LeasingContracts = 'leasing_contracts',\n LeasingUploadAutomation = 'leasing_upload_automation',\n Offers = 'offers',\n Opportunities = 'opportunities',\n Organizations = 'organizations',\n PdfTemplates = 'pdf_templates',\n Users = 'users',\n Vehicles = 'vehicles',\n VehiclesPurchase = 'vehicle_purchase',\n VehiclesPriceLists = 'vehicles_price_lists',\n Debtors = 'debtors',\n DebtorsDossier = 'debtor-dossiers',\n DocumentDrafts = 'document_drafts',\n TrackAndTraceDevices = 'track_and_trace_devices',\n Interests = 'interests',\n Prospects = 'prospects',\n Stocklists = 'stocklists',\n Transports = 'transports',\n}\n\n//\n// PDF Templates IDs\n//\nexport const LEASING_QUOTE_TEMPLATE_GROUP_ID = 'leasing_quote_template';\nexport const LEASING_QUOTE_PROFORMA_TEMPLATE_GROUP_ID = 'leasing_quote_proforma_template';\nexport const LEASING_CONTRACT_AMORTIZATION_TEMPLATE_GROUP_ID =\n 'leasing_contract_amortization_template';\nexport const LEASING_CONTRACT_AMORTIZATION_TEMPLATE_PRINT_VERSION_GROUP_ID =\n 'leasing_contract_amortization_print_version_template';\nexport const LEASING_QUOTE_LOCATION_TEMPLATE = 'leasing_quote_location_template';\nexport const LEASING_CONTRACT_TC_TEMPLATE_GROUP_ID = 'leasing_contract_tc_template';\nexport const LEASING_CONTRACT_SPECIFIC_CONDITIONS_TEMPLATE_GROUP_ID =\n 'leasing_contract_specific_conditions_template';\nexport const LEASING_CONTRACT_CAUTIONNEMENT_TEMPLATE_GROUP_ID =\n 'leasing_contract_cautionnement_template';\nexport const LEASING_CONTRACT_DELIVERY_CONFIRMATION_TEMPLATE_GROUP_ID =\n 'leasing_contract_delivery_confirmation_template';\nexport const SALES_QUOTE_PROFORMA_TEMPLATE_GROUP_ID = 'sales_quote_proforma_template';\nexport const SALES_QUOTE_AGREEMENT_TEMPLATE_GROUP_ID = 'sales_quote_agreement_template';\nexport const SALES_INVOICE_TEMPLATE_GROUP_ID = 'sales_invoice_template';\nexport const VEHICLES_STICKER_TEMPLATE_GROUP_ID = 'vehicles_sticker_template';\nexport const EXTERNAL_DELIVERY_CONFIRMATION_TEMPLATE_GROUP_ID = 'external_delivery_confirmation';\n\n//\n// VAT Prefixes for EU Countries and Great Britain & Northern Ireland\n//\nexport const EU_VAT_COUNTRY_CODES = [\n 'at',\n 'be',\n 'bg',\n 'hr',\n 'cy',\n 'cz',\n 'dk',\n 'ee',\n 'fi',\n 'fr',\n 'de',\n 'gr', // greece has EL prefix but the country code is GR\n 'el',\n 'hu',\n 'ie',\n 'it',\n 'lv',\n 'lt',\n 'lu',\n 'mt',\n 'nl',\n 'pl',\n 'pt',\n 'ro',\n 'sk',\n 'si',\n 'es',\n 'se',\n 'xi', // Northern Ireland\n];\n\nexport const HEXON_LANG_CODES: [string, ...string[]] = [\n 'en',\n 'nl',\n 'de',\n 'fr',\n 'es',\n 'pt',\n 'it',\n 'pl',\n 'ru',\n 'ro',\n 'el',\n 'bg',\n];\n\nexport const DEFAULT_SLB_PARTNER = 'To be announced';\n\nexport const SHARE_DOC_TEMPLATE_DEFAULT_LANGUAGE = 'en';\nexport const SHARE_DOC_TEMPLATE_LANGUAGES = [\n SHARE_DOC_TEMPLATE_DEFAULT_LANGUAGE,\n 'fr',\n 'nl',\n 'ro',\n] as const;\n"]}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"/","sources":["constants.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,qBAAqB,GAAG,kBAAkB,CAAC;AAKxD,MAAM,CAAN,IAAY,QAmBX;AAnBD,WAAY,QAAQ;IAClB,qCAAyB,CAAA;IACzB,4BAAgB,CAAA;IAChB,6CAAiC,CAAA;IACjC,sCAA0B,CAAA;IAC1B,2BAAe,CAAA;IACf,qCAAyB,CAAA;IACzB,oDAAwC,CAAA;IACxC,oDAAwC,CAAA;IACxC,8CAAkC,CAAA;IAClC,iEAAqD,CAAA;IACrD,4CAAgC,CAAA;IAChC,mCAAuB,CAAA;IACvB,0CAA8B,CAAA;IAC9B,qDAAyC,CAAA;IACzC,qDAAyC,CAAA;IACzC,6DAAiD,CAAA;IACjD,kDAAsC,CAAA;IACtC,4DAAgD,CAAA;AAClD,CAAC,EAnBW,QAAQ,KAAR,QAAQ,QAmBnB;AAED,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,QAAQ,CAAC,KAAK;IACd,QAAQ,CAAC,KAAK;IACd,QAAQ,CAAC,cAAc;IACvB,QAAQ,CAAC,gBAAgB;CAC1B,CAAC;AAEF,MAAM,CAAN,IAAY,eAiCX;AAjCD,WAAY,eAAe;IACzB,gDAA6B,CAAA;IAC7B,iEAA8C,CAAA;IAC9C,8EAA2D,CAAA;IAC3D,6DAA0C,CAAA;IAC1C,+EAA4D,CAAA;IAC5D,uCAAoB,CAAA;IACpB,oDAAiC,CAAA;IACjC,4DAAyC,CAAA;IACzC,8DAA2C,CAAA;IAC3C,+EAA4D,CAAA;IAC5D,kEAA+C,CAAA;IAC/C,8DAA2C,CAAA;IAC3C,gEAA6C,CAAA;IAC7C,sEAAmD,CAAA;IACnD,sEAAmD,CAAA;IACnD,8EAA2D,CAAA;IAC3D,kEAA+C,CAAA;IAC/C,iDAA8B,CAAA;IAC9B,qDAAkC,CAAA;IAClC,+CAA4B,CAAA;IAC5B,iDAA8B,CAAA;IAC9B,yDAAsC,CAAA;IACtC,uEAAoD,CAAA;IACpD,mFAAgE,CAAA;IAChE,uDAAoC,CAAA;IACpC,mEAAgD,CAAA;IAChD,6CAA0B,CAAA;IAC1B,mDAAgC,CAAA;IAChC,uCAAoB,CAAA;IACpB,wDAAqC,CAAA;IACrC,yDAAsC,CAAA;IACtC,yDAAsC,CAAA;AACxC,CAAC,EAjCW,eAAe,KAAf,eAAe,QAiC1B;AAKD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAU,CAAC;AAKjF,MAAM,CAAC,MAAM,sBAAsB,GAAG,WAAW,CAAC;AAClD,MAAM,CAAC,MAAM,uBAAuB,GAAG,YAAY,CAAC;AAKpD,MAAM,CAAC,MAAM,kBAAkB,GAAG,UAAU,CAAC;AAC7C,MAAM,CAAC,MAAM,cAAc,GAAG,QAAQ,CAAC;AACvC,MAAM,CAAC,MAAM,oBAAoB,GAAG,mBAAmB,CAAC;AACxD,MAAM,CAAC,MAAM,8BAA8B,GAAG,wBAAwB,CAAC;AAGvE,MAAM,CAAC,MAAM,kBAAkB,GAAsB;IACnD,cAAc;IACd,oBAAoB;IACpB,8BAA8B;CAC/B,CAAC;AAGF,MAAM,CAAC,MAAM,qBAAqB,GAA2B;IAC3D,CAAC,cAAc,CAAC,EAAE,QAAQ;IAC1B,CAAC,oBAAoB,CAAC,EAAE,aAAa;IACrC,CAAC,8BAA8B,CAAC,EAAE,eAAe;CAClD,CAAC;AAKF,MAAM,CAAN,IAAY,iBA2BX;AA3BD,WAAY,iBAAiB;IAC3B,+DAA0C,CAAA;IAC1C,0CAAqB,CAAA;IACrB,sCAAiB,CAAA;IACjB,kEAA6C,CAAA;IAC7C,4CAAuB,CAAA;IACvB,2DAAsC,CAAA;IACtC,yEAAoD,CAAA;IACpD,2DAAsC,CAAA;IACtC,2DAAsC,CAAA;IACtC,0EAAqD,CAAA;IACrD,sCAAiB,CAAA;IACjB,oDAA+B,CAAA;IAC/B,oDAA+B,CAAA;IAC/B,mDAA8B,CAAA;IAC9B,oCAAe,CAAA;IACf,0CAAqB,CAAA;IACrB,0DAAqC,CAAA;IACrC,gEAA2C,CAAA;IAC3C,wCAAmB,CAAA;IACnB,uDAAkC,CAAA;IAClC,uDAAkC,CAAA;IAClC,qEAAgD,CAAA;IAChD,4CAAuB,CAAA;IACvB,4CAAuB,CAAA;IACvB,8CAAyB,CAAA;IACzB,8CAAyB,CAAA;AAC3B,CAAC,EA3BW,iBAAiB,KAAjB,iBAAiB,QA2B5B;AAKD,MAAM,CAAC,MAAM,+BAA+B,GAAG,wBAAwB,CAAC;AACxE,MAAM,CAAC,MAAM,wCAAwC,GAAG,iCAAiC,CAAC;AAC1F,MAAM,CAAC,MAAM,+CAA+C,GAC1D,wCAAwC,CAAC;AAC3C,MAAM,CAAC,MAAM,6DAA6D,GACxE,sDAAsD,CAAC;AACzD,MAAM,CAAC,MAAM,+BAA+B,GAAG,iCAAiC,CAAC;AACjF,MAAM,CAAC,MAAM,qCAAqC,GAAG,8BAA8B,CAAC;AACpF,MAAM,CAAC,MAAM,sDAAsD,GACjE,+CAA+C,CAAC;AAClD,MAAM,CAAC,MAAM,gDAAgD,GAC3D,yCAAyC,CAAC;AAC5C,MAAM,CAAC,MAAM,wDAAwD,GACnE,iDAAiD,CAAC;AACpD,MAAM,CAAC,MAAM,sCAAsC,GAAG,+BAA+B,CAAC;AACtF,MAAM,CAAC,MAAM,uCAAuC,GAAG,gCAAgC,CAAC;AACxF,MAAM,CAAC,MAAM,+BAA+B,GAAG,wBAAwB,CAAC;AACxE,MAAM,CAAC,MAAM,kCAAkC,GAAG,2BAA2B,CAAC;AAC9E,MAAM,CAAC,MAAM,gDAAgD,GAAG,gCAAgC,CAAC;AAKjG,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;CACL,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAA0B;IACrD,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;CACL,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,iBAAiB,CAAC;AAErD,MAAM,CAAC,MAAM,mCAAmC,GAAG,IAAI,CAAC;AACxD,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,mCAAmC;IACnC,IAAI;IACJ,IAAI;IACJ,IAAI;CACI,CAAC","sourcesContent":["/**\n * Carries a record's version between server and client: the server answers with it on a read,\n * and a client hands it back on a write so the write only lands while the row still stands\n * there. Successor to the older `x-record-modified-at`.\n */\nexport const RECORD_VERSION_HEADER = 'x-record-version';\n\n//\n// STATIC ROLES\n//\nexport enum AppRoles {\n Accountant = 'accountant',\n Admin = 'admins',\n Administrative = 'administrative',\n AppManager = 'app_manager',\n Board = 'board',\n Commercial = 'commercial',\n InboundCommercial = 'inbound_commercial',\n LeasingCommercial = 'leasing_commercial',\n GeneralManager = 'general_manager',\n GeneralManagerAssistant = 'general_manager_assistant',\n ParkLogistics = 'park_logistics',\n Purchaser = 'purchaser',\n SalesManager = 'sales_manager',\n SalesPriceManager = 'sales_price_manager',\n SalesStockManager = 'sales_stock_manager',\n SalesMarketingManager = 'sales_marketing_manager',\n SeniorAccountant = 'senior_accountant',\n TrackAndTraceManager = 'track_and_trace_manager',\n}\n\nexport const TOP_ROLES = [\n AppRoles.Admin,\n AppRoles.Board,\n AppRoles.GeneralManager,\n AppRoles.SeniorAccountant,\n];\n\nexport enum TopLevelActions {\n AdministrationAll = 'admin:*',\n DocumentsFinanceBrowse = 'docs:finance:browse',\n DocumentsFinanceIssueProforma = 'docs:finance:new:proforma',\n DocumentsFinanceIssue = 'docs:finance:new',\n DocumentsAdministrativeBrowse = 'docs:administrative:browse',\n LeadsAll = 'leads:*',\n CrmOrgsBrowse = 'crm:orgs:browse',\n CrmContactsBrowse = 'crm:contacts:browse',\n BrowseDocumentDrafts = 'docs:drafts:browse',\n BrowsePurchasePayments = 'vehicles:purchase-payments:browse',\n BrowsePendingRemarks = 'remarks:pending:browse',\n LeasingDebtorsView = 'leasing:debtors:view',\n LeasingOverduesView = 'leasing:overdues:view',\n LeasingContractsExport = 'leasing:contracts:export',\n LeasingContractsBrowse = 'leasing:contracts:browse',\n LeasingContractsRsExport = 'leasing:contracts:rs:export-rs', // rs stands for rental solutions\n LeasingDebtorsExport = 'leasing:debtors:export',\n MarketBrowse = 'market:browse',\n MarketInsights = 'insights:market',\n MarketingAll = 'marketing:*',\n OffersBrowse = 'offers:browse',\n OpportunitiesBrowseAll = 'opps:browse',\n OpportunitiesBrowseAssigned = 'opps:browse:assigned',\n IntercompanyPaymentsBrowse = 'opps:intercompany-payments:browse',\n VehicleInsights = 'insights:vehicle',\n SaveBankAccounts = 'settings:bank-accounts:save',\n SettingsAll = 'settings:*',\n VehicleCreate = 'vehicle:create',\n TasksAll = 'tasks:*',\n TrackAndTraceDevices = 'tt:devices:*',\n ManageStocklists = 'stocklists:manage',\n TransportsBrowse = 'transports:browse',\n}\n\n//\n// I18N\n//\nexport const SUPPORTED_LANGUAGES = ['en', 'fr', 'nl', 'es', 'de', 'pt'] as const;\n\n//\n// Headers\n//\nexport const TENANT_ID_ADMIN_HEADER = 'tenant-id';\nexport const SERVICE_ID_ADMIN_HEADER = 'service-id';\n\n//\n// AUTH\n//\nexport const NO_TENANT_ID_VALUE = 'notenant';\nexport const SYSTEM_USER_ID = 'system';\nexport const CROSS_TENANT_USER_ID = 'cross-tenant-sync';\nexport const WHATSAPP_TEMPLATE_SYNC_USER_ID = 'whatsapp-template-sync';\n\n/** The registry of synthetic (non-human) user ids — behavior checks key on this list. */\nexport const SYNTHETIC_USER_IDS: readonly string[] = [\n SYSTEM_USER_ID,\n CROSS_TENANT_USER_ID,\n WHATSAPP_TEMPLATE_SYNC_USER_ID,\n];\n\n/** Display labels for the synthetic user ids — a projection of the registry above. */\nexport const SYNTHETIC_USER_LABELS: Record<string, string> = {\n [SYSTEM_USER_ID]: 'System',\n [CROSS_TENANT_USER_ID]: 'Tenant-sync',\n [WHATSAPP_TEMPLATE_SYNC_USER_ID]: 'Template-sync',\n};\n\n//\n// Business Entity IDs\n//\nexport enum BusinessEntityIds {\n BecrisDeclarations = 'becris_declarations',\n Contacts = 'contacts',\n Emails = 'emails',\n ExternalVehicleSale = 'external_vehicle_sale',\n Documents = 'documents',\n FinanceDocuments = 'finance_documents',\n AdministrativeDocuments = 'administrative_documents',\n InternetVehicles = 'internet-vehicles',\n LeasingContracts = 'leasing_contracts',\n LeasingUploadAutomation = 'leasing_upload_automation',\n Offers = 'offers',\n Opportunities = 'opportunities',\n Organizations = 'organizations',\n PdfTemplates = 'pdf_templates',\n Users = 'users',\n Vehicles = 'vehicles',\n VehiclesPurchase = 'vehicle_purchase',\n VehiclesPriceLists = 'vehicles_price_lists',\n Debtors = 'debtors',\n DebtorsDossier = 'debtor-dossiers',\n DocumentDrafts = 'document_drafts',\n TrackAndTraceDevices = 'track_and_trace_devices',\n Interests = 'interests',\n Prospects = 'prospects',\n Stocklists = 'stocklists',\n Transports = 'transports',\n}\n\n//\n// PDF Templates IDs\n//\nexport const LEASING_QUOTE_TEMPLATE_GROUP_ID = 'leasing_quote_template';\nexport const LEASING_QUOTE_PROFORMA_TEMPLATE_GROUP_ID = 'leasing_quote_proforma_template';\nexport const LEASING_CONTRACT_AMORTIZATION_TEMPLATE_GROUP_ID =\n 'leasing_contract_amortization_template';\nexport const LEASING_CONTRACT_AMORTIZATION_TEMPLATE_PRINT_VERSION_GROUP_ID =\n 'leasing_contract_amortization_print_version_template';\nexport const LEASING_QUOTE_LOCATION_TEMPLATE = 'leasing_quote_location_template';\nexport const LEASING_CONTRACT_TC_TEMPLATE_GROUP_ID = 'leasing_contract_tc_template';\nexport const LEASING_CONTRACT_SPECIFIC_CONDITIONS_TEMPLATE_GROUP_ID =\n 'leasing_contract_specific_conditions_template';\nexport const LEASING_CONTRACT_CAUTIONNEMENT_TEMPLATE_GROUP_ID =\n 'leasing_contract_cautionnement_template';\nexport const LEASING_CONTRACT_DELIVERY_CONFIRMATION_TEMPLATE_GROUP_ID =\n 'leasing_contract_delivery_confirmation_template';\nexport const SALES_QUOTE_PROFORMA_TEMPLATE_GROUP_ID = 'sales_quote_proforma_template';\nexport const SALES_QUOTE_AGREEMENT_TEMPLATE_GROUP_ID = 'sales_quote_agreement_template';\nexport const SALES_INVOICE_TEMPLATE_GROUP_ID = 'sales_invoice_template';\nexport const VEHICLES_STICKER_TEMPLATE_GROUP_ID = 'vehicles_sticker_template';\nexport const EXTERNAL_DELIVERY_CONFIRMATION_TEMPLATE_GROUP_ID = 'external_delivery_confirmation';\n\n//\n// VAT Prefixes for EU Countries and Great Britain & Northern Ireland\n//\nexport const EU_VAT_COUNTRY_CODES = [\n 'at',\n 'be',\n 'bg',\n 'hr',\n 'cy',\n 'cz',\n 'dk',\n 'ee',\n 'fi',\n 'fr',\n 'de',\n 'gr', // greece has EL prefix but the country code is GR\n 'el',\n 'hu',\n 'ie',\n 'it',\n 'lv',\n 'lt',\n 'lu',\n 'mt',\n 'nl',\n 'pl',\n 'pt',\n 'ro',\n 'sk',\n 'si',\n 'es',\n 'se',\n 'xi', // Northern Ireland\n];\n\nexport const HEXON_LANG_CODES: [string, ...string[]] = [\n 'en',\n 'nl',\n 'de',\n 'fr',\n 'es',\n 'pt',\n 'it',\n 'pl',\n 'ru',\n 'ro',\n 'el',\n 'bg',\n];\n\nexport const DEFAULT_SLB_PARTNER = 'To be announced';\n\nexport const SHARE_DOC_TEMPLATE_DEFAULT_LANGUAGE = 'en';\nexport const SHARE_DOC_TEMPLATE_LANGUAGES = [\n SHARE_DOC_TEMPLATE_DEFAULT_LANGUAGE,\n 'fr',\n 'nl',\n 'ro',\n] as const;\n"]}
|
|
@@ -4,6 +4,35 @@ export declare enum WhatsappTemplateType {
|
|
|
4
4
|
VIDEO = "VIDEO",
|
|
5
5
|
TEXT = "TEXT"
|
|
6
6
|
}
|
|
7
|
+
export declare const WHATSAPP_DOCUMENT_SHARE_TEMPLATE_ID = "share_document";
|
|
8
|
+
export declare const WHATSAPP_VEHICLE_SHARE_TEMPLATE_ID = "vehicle_suggestion";
|
|
9
|
+
export declare const WHATSAPP_PARAMETERLESS_ACTIVITY_TEMPLATE_NAMES: readonly ['website_after_call', 'reseller_links_after_call', 'unanswered_call_follow_up'];
|
|
10
|
+
export declare const WHATSAPP_TEMPLATE_NAMES: readonly ["share_document", "vehicle_suggestion", "website_after_call", "reseller_links_after_call", "unanswered_call_follow_up"];
|
|
11
|
+
export type WhatsappTemplateName = (typeof WHATSAPP_TEMPLATE_NAMES)[number];
|
|
12
|
+
export type WhatsappActivityTemplateName = (typeof WHATSAPP_PARAMETERLESS_ACTIVITY_TEMPLATE_NAMES)[number];
|
|
13
|
+
export declare const isWhatsappActivityTemplateName: (value: string) => value is WhatsappActivityTemplateName;
|
|
14
|
+
export type WhatsappTemplateContentComponent = {
|
|
15
|
+
type: string;
|
|
16
|
+
text?: string;
|
|
17
|
+
format?: string;
|
|
18
|
+
buttons?: Array<{
|
|
19
|
+
type?: string;
|
|
20
|
+
text?: string;
|
|
21
|
+
url?: string;
|
|
22
|
+
}>;
|
|
23
|
+
};
|
|
24
|
+
export type WhatsappTemplateTranslation<Name extends WhatsappTemplateName = WhatsappTemplateName> = {
|
|
25
|
+
id: string;
|
|
26
|
+
name: Name;
|
|
27
|
+
language: string;
|
|
28
|
+
status: string;
|
|
29
|
+
category?: string;
|
|
30
|
+
components: WhatsappTemplateContentComponent[];
|
|
31
|
+
text: string;
|
|
32
|
+
syncedAt: string;
|
|
33
|
+
deleted?: boolean;
|
|
34
|
+
};
|
|
35
|
+
export declare const renderWhatsappTemplateText: (components: WhatsappTemplateContentComponent[]) => string;
|
|
7
36
|
export type WhatsappNotificationEvent = {
|
|
8
37
|
tenantId: string;
|
|
9
38
|
userId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notifications-whatsapp.d.ts","sourceRoot":"/","sources":["notifications-whatsapp.ts"],"names":[],"mappings":"AAAA,oBAAY,oBAAoB;IAC9B,QAAQ,aAAa;IACrB,KAAK,UAAU;IACf,KAAK,UAAU;IACf,IAAI,SAAS;CACd;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,2BAA2B,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,oBAAoB,CAAC,IAAI,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,oBAAoB,CAAC,KAAK,GAAG,oBAAoB,CAAC,KAAK,CAAC;IAChE,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE;QACX,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,IAAI,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;IACF,MAAM,CAAC,EAAE,cAAc,GAAG,WAAW,GAAG,UAAU,CAAC;IACnD,UAAU,CAAC,EAAE;QACX,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,iCAAiC,0BAA0B,CAAC;AAEzE,MAAM,MAAM,4BAA4B,GAAG;IACzC,cAAc,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACpD,eAAe,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACrD,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC"}
|
|
1
|
+
{"version":3,"file":"notifications-whatsapp.d.ts","sourceRoot":"/","sources":["notifications-whatsapp.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,5 +5,22 @@ export var WhatsappTemplateType;
|
|
|
5
5
|
WhatsappTemplateType["VIDEO"] = "VIDEO";
|
|
6
6
|
WhatsappTemplateType["TEXT"] = "TEXT";
|
|
7
7
|
})(WhatsappTemplateType || (WhatsappTemplateType = {}));
|
|
8
|
+
export const WHATSAPP_DOCUMENT_SHARE_TEMPLATE_ID = 'share_document';
|
|
9
|
+
export const WHATSAPP_VEHICLE_SHARE_TEMPLATE_ID = 'vehicle_suggestion';
|
|
10
|
+
export const WHATSAPP_PARAMETERLESS_ACTIVITY_TEMPLATE_NAMES = [
|
|
11
|
+
'website_after_call',
|
|
12
|
+
'reseller_links_after_call',
|
|
13
|
+
'unanswered_call_follow_up',
|
|
14
|
+
];
|
|
15
|
+
export const WHATSAPP_TEMPLATE_NAMES = [
|
|
16
|
+
WHATSAPP_DOCUMENT_SHARE_TEMPLATE_ID,
|
|
17
|
+
WHATSAPP_VEHICLE_SHARE_TEMPLATE_ID,
|
|
18
|
+
...WHATSAPP_PARAMETERLESS_ACTIVITY_TEMPLATE_NAMES,
|
|
19
|
+
];
|
|
20
|
+
export const isWhatsappActivityTemplateName = (value) => WHATSAPP_PARAMETERLESS_ACTIVITY_TEMPLATE_NAMES.some((name) => name === value);
|
|
21
|
+
export const renderWhatsappTemplateText = (components) => components
|
|
22
|
+
.flatMap((component) => [component.text, ...(component.buttons ?? []).map((b) => b.text)])
|
|
23
|
+
.filter((text) => text != null)
|
|
24
|
+
.join('\n\n');
|
|
8
25
|
export const WHATSAPP_NOTIFICATION_SETTINGS_ID = 'whatsapp-notification';
|
|
9
26
|
//# sourceMappingURL=notifications-whatsapp.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notifications-whatsapp.js","sourceRoot":"/","sources":["notifications-whatsapp.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,oBAKX;AALD,WAAY,oBAAoB;IAC9B,6CAAqB,CAAA;IACrB,uCAAe,CAAA;IACf,uCAAe,CAAA;IACf,qCAAa,CAAA;AACf,CAAC,EALW,oBAAoB,KAApB,oBAAoB,QAK/B;
|
|
1
|
+
{"version":3,"file":"notifications-whatsapp.js","sourceRoot":"/","sources":["notifications-whatsapp.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,oBAKX;AALD,WAAY,oBAAoB;IAC9B,6CAAqB,CAAA;IACrB,uCAAe,CAAA;IACf,uCAAe,CAAA;IACf,qCAAa,CAAA;AACf,CAAC,EALW,oBAAoB,KAApB,oBAAoB,QAK/B;AAED,MAAM,CAAC,MAAM,mCAAmC,GAAG,gBAAgB,CAAC;AACpE,MAAM,CAAC,MAAM,kCAAkC,GAAG,oBAAoB,CAAC;AAEvE,MAAM,CAAC,MAAM,8CAA8C,GAAG;IAC5D,oBAAoB;IACpB,2BAA2B;IAC3B,2BAA2B;CACnB,CAAC;AAEX,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,mCAAmC;IACnC,kCAAkC;IAClC,GAAG,8CAA8C;CACzC,CAAC;AAMX,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAC5C,KAAa,EAC0B,EAAE,CACzC,8CAA8C,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC;AA0BhF,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACxC,UAA8C,EACtC,EAAE,CACV,UAAU;KACP,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,SAAS,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;KACzF,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC;KAC9C,IAAI,CAAC,MAAM,CAAC,CAAC;AA6ClB,MAAM,CAAC,MAAM,iCAAiC,GAAG,uBAAuB,CAAC","sourcesContent":["export enum WhatsappTemplateType {\n DOCUMENT = 'DOCUMENT',\n IMAGE = 'IMAGE',\n VIDEO = 'VIDEO',\n TEXT = 'TEXT',\n}\n\nexport const WHATSAPP_DOCUMENT_SHARE_TEMPLATE_ID = 'share_document';\nexport const WHATSAPP_VEHICLE_SHARE_TEMPLATE_ID = 'vehicle_suggestion';\n\nexport const WHATSAPP_PARAMETERLESS_ACTIVITY_TEMPLATE_NAMES = [\n 'website_after_call',\n 'reseller_links_after_call',\n 'unanswered_call_follow_up',\n] as const;\n\nexport const WHATSAPP_TEMPLATE_NAMES = [\n WHATSAPP_DOCUMENT_SHARE_TEMPLATE_ID,\n WHATSAPP_VEHICLE_SHARE_TEMPLATE_ID,\n ...WHATSAPP_PARAMETERLESS_ACTIVITY_TEMPLATE_NAMES,\n] as const;\n\nexport type WhatsappTemplateName = (typeof WHATSAPP_TEMPLATE_NAMES)[number];\nexport type WhatsappActivityTemplateName =\n (typeof WHATSAPP_PARAMETERLESS_ACTIVITY_TEMPLATE_NAMES)[number];\n\nexport const isWhatsappActivityTemplateName = (\n value: string,\n): value is WhatsappActivityTemplateName =>\n WHATSAPP_PARAMETERLESS_ACTIVITY_TEMPLATE_NAMES.some((name) => name === value);\n\nexport type WhatsappTemplateContentComponent = {\n type: string;\n text?: string;\n format?: string;\n buttons?: Array<{\n type?: string;\n text?: string;\n url?: string;\n }>;\n};\n\nexport type WhatsappTemplateTranslation<Name extends WhatsappTemplateName = WhatsappTemplateName> =\n {\n id: string;\n name: Name;\n language: string;\n status: string;\n category?: string;\n components: WhatsappTemplateContentComponent[];\n text: string;\n syncedAt: string;\n deleted?: boolean;\n };\n\nexport const renderWhatsappTemplateText = (\n components: WhatsappTemplateContentComponent[],\n): string =>\n components\n .flatMap((component) => [component.text, ...(component.buttons ?? []).map((b) => b.text)])\n .filter((text): text is string => text != null)\n .join('\\n\\n');\n\nexport type WhatsappNotificationEvent = {\n tenantId: string;\n userId: string;\n message: WhatsappNotificationMessage;\n};\n\nexport type TextHeader = {\n format: WhatsappTemplateType.TEXT;\n param: string;\n};\n\nexport type MediaHeader = {\n format: WhatsappTemplateType.IMAGE | WhatsappTemplateType.VIDEO;\n link: string;\n};\n\nexport type DocumentHeader = {\n format: WhatsappTemplateType.DOCUMENT;\n filename: string;\n link: string;\n};\n\nexport type WhatsappNotificationMessage = {\n templateId: string;\n language?: string;\n dedupId: string;\n destination: {\n organizationId?: string;\n contactId?: string;\n phone: string;\n name?: string;\n };\n body?: {\n text?: string; // template text, useful for Crisp to show the message that was sent to our salespeople\n params: string[];\n };\n header?: DocumentHeader | MediaHeader | TextHeader;\n dynamicUrl?: {\n buttonIndex: number;\n param: string;\n };\n};\n\nexport const WHATSAPP_NOTIFICATION_SETTINGS_ID = 'whatsapp-notification';\n\nexport type WhatsappNotificationSettings = {\n whatsappPlugin: { identifier: string; key: string };\n bisondeskPlugin: { identifier: string; key: string };\n websiteId: string;\n originNumber: string;\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"translations.d.ts","sourceRoot":"/","sources":["translations.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"translations.d.ts","sourceRoot":"/","sources":["translations.ts"],"names":[],"mappings":"AA6EA,eAAO,MAAM,sBAAsB,gBAAiB,MAAM,KAAG,MAAM,GAAG,SAErE,CAAC"}
|
package/lib/translations.js
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
const COUNTRY_TO_LANGUAGE_MAP = {
|
|
2
|
+
gb: 'en',
|
|
3
|
+
ie: 'en',
|
|
4
|
+
us: 'en',
|
|
5
|
+
ca: 'en',
|
|
6
|
+
au: 'en',
|
|
7
|
+
nz: 'en',
|
|
2
8
|
fr: 'fr',
|
|
3
9
|
ci: 'fr',
|
|
4
10
|
cm: 'fr',
|
|
@@ -28,16 +34,33 @@ const COUNTRY_TO_LANGUAGE_MAP = {
|
|
|
28
34
|
bi: 'fr',
|
|
29
35
|
ro: 'ro',
|
|
30
36
|
nl: 'nl',
|
|
37
|
+
be: 'nl',
|
|
38
|
+
sr: 'nl',
|
|
39
|
+
de: 'de',
|
|
40
|
+
at: 'de',
|
|
41
|
+
ch: 'de',
|
|
42
|
+
li: 'de',
|
|
31
43
|
ar: 'es',
|
|
32
44
|
bo: 'es',
|
|
33
45
|
cl: 'es',
|
|
34
46
|
co: 'es',
|
|
47
|
+
cr: 'es',
|
|
48
|
+
cu: 'es',
|
|
49
|
+
do: 'es',
|
|
35
50
|
ec: 'es',
|
|
36
51
|
es: 'es',
|
|
52
|
+
gt: 'es',
|
|
53
|
+
hn: 'es',
|
|
54
|
+
mx: 'es',
|
|
55
|
+
ni: 'es',
|
|
56
|
+
pa: 'es',
|
|
37
57
|
pe: 'es',
|
|
38
58
|
py: 'es',
|
|
59
|
+
sv: 'es',
|
|
39
60
|
uy: 'es',
|
|
61
|
+
ve: 'es',
|
|
40
62
|
pt: 'pt',
|
|
63
|
+
br: 'pt',
|
|
41
64
|
mz: 'pt',
|
|
42
65
|
ao: 'pt',
|
|
43
66
|
gw: 'pt',
|
|
@@ -45,6 +68,6 @@ const COUNTRY_TO_LANGUAGE_MAP = {
|
|
|
45
68
|
st: 'pt',
|
|
46
69
|
};
|
|
47
70
|
export const getLanguageFromCountry = (countryCode) => {
|
|
48
|
-
return COUNTRY_TO_LANGUAGE_MAP[countryCode];
|
|
71
|
+
return COUNTRY_TO_LANGUAGE_MAP[countryCode.toLowerCase()];
|
|
49
72
|
};
|
|
50
73
|
//# sourceMappingURL=translations.js.map
|
package/lib/translations.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"translations.js","sourceRoot":"/","sources":["translations.ts"],"names":[],"mappings":"AAAA,MAAM,uBAAuB,GAAsC;IAEjE,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IAER,EAAE,EAAE,IAAI;IAER,EAAE,EAAE,IAAI;IAER,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IAER,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;CACT,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,WAAmB,EAAsB,EAAE;IAChF,OAAO,uBAAuB,CAAC,WAAW,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"translations.js","sourceRoot":"/","sources":["translations.ts"],"names":[],"mappings":"AAAA,MAAM,uBAAuB,GAAsC;IAEjE,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IAER,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IAER,EAAE,EAAE,IAAI;IAER,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IAER,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IAER,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IAER,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;CACT,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,WAAmB,EAAsB,EAAE;IAChF,OAAO,uBAAuB,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;AAC5D,CAAC,CAAC","sourcesContent":["const COUNTRY_TO_LANGUAGE_MAP: { [countryCode: string]: string } = {\n // English-speaking countries\n gb: 'en',\n ie: 'en',\n us: 'en',\n ca: 'en',\n au: 'en',\n nz: 'en',\n // French-speaking countries\n fr: 'fr',\n ci: 'fr',\n cm: 'fr',\n cd: 'fr',\n cg: 'fr',\n bf: 'fr',\n dj: 'fr',\n ga: 'fr',\n gf: 'fr',\n gn: 'fr',\n ma: 'fr',\n ml: 'fr',\n mc: 'fr',\n ne: 'fr',\n rw: 'fr',\n sn: 'fr',\n td: 'fr',\n tg: 'fr',\n vu: 'fr',\n pf: 'fr',\n nc: 'fr',\n re: 'fr',\n mq: 'fr',\n bj: 'fr',\n mg: 'fr',\n sc: 'fr',\n bi: 'fr',\n // Romanian-speaking countries\n ro: 'ro',\n // Dutch-speaking countries\n nl: 'nl',\n be: 'nl',\n sr: 'nl',\n // German-speaking countries\n de: 'de',\n at: 'de',\n ch: 'de',\n li: 'de',\n // Spanish-speaking countries\n ar: 'es',\n bo: 'es',\n cl: 'es',\n co: 'es',\n cr: 'es',\n cu: 'es',\n do: 'es',\n ec: 'es',\n es: 'es',\n gt: 'es',\n hn: 'es',\n mx: 'es',\n ni: 'es',\n pa: 'es',\n pe: 'es',\n py: 'es',\n sv: 'es',\n uy: 'es',\n ve: 'es',\n // Portuguese-speaking countries\n pt: 'pt',\n br: 'pt',\n mz: 'pt',\n ao: 'pt',\n gw: 'pt',\n cv: 'pt',\n st: 'pt',\n};\n\nexport const getLanguageFromCountry = (countryCode: string): string | undefined => {\n return COUNTRY_TO_LANGUAGE_MAP[countryCode.toLowerCase()];\n};\n"]}
|
package/package.json
CHANGED
package/src/constants.ts
CHANGED
|
@@ -88,14 +88,20 @@ export const SERVICE_ID_ADMIN_HEADER = 'service-id';
|
|
|
88
88
|
export const NO_TENANT_ID_VALUE = 'notenant';
|
|
89
89
|
export const SYSTEM_USER_ID = 'system';
|
|
90
90
|
export const CROSS_TENANT_USER_ID = 'cross-tenant-sync';
|
|
91
|
+
export const WHATSAPP_TEMPLATE_SYNC_USER_ID = 'whatsapp-template-sync';
|
|
91
92
|
|
|
92
93
|
/** The registry of synthetic (non-human) user ids — behavior checks key on this list. */
|
|
93
|
-
export const SYNTHETIC_USER_IDS: readonly string[] = [
|
|
94
|
+
export const SYNTHETIC_USER_IDS: readonly string[] = [
|
|
95
|
+
SYSTEM_USER_ID,
|
|
96
|
+
CROSS_TENANT_USER_ID,
|
|
97
|
+
WHATSAPP_TEMPLATE_SYNC_USER_ID,
|
|
98
|
+
];
|
|
94
99
|
|
|
95
100
|
/** Display labels for the synthetic user ids — a projection of the registry above. */
|
|
96
101
|
export const SYNTHETIC_USER_LABELS: Record<string, string> = {
|
|
97
102
|
[SYSTEM_USER_ID]: 'System',
|
|
98
103
|
[CROSS_TENANT_USER_ID]: 'Tenant-sync',
|
|
104
|
+
[WHATSAPP_TEMPLATE_SYNC_USER_ID]: 'Template-sync',
|
|
99
105
|
};
|
|
100
106
|
|
|
101
107
|
//
|
|
@@ -5,6 +5,62 @@ export enum WhatsappTemplateType {
|
|
|
5
5
|
TEXT = 'TEXT',
|
|
6
6
|
}
|
|
7
7
|
|
|
8
|
+
export const WHATSAPP_DOCUMENT_SHARE_TEMPLATE_ID = 'share_document';
|
|
9
|
+
export const WHATSAPP_VEHICLE_SHARE_TEMPLATE_ID = 'vehicle_suggestion';
|
|
10
|
+
|
|
11
|
+
export const WHATSAPP_PARAMETERLESS_ACTIVITY_TEMPLATE_NAMES = [
|
|
12
|
+
'website_after_call',
|
|
13
|
+
'reseller_links_after_call',
|
|
14
|
+
'unanswered_call_follow_up',
|
|
15
|
+
] as const;
|
|
16
|
+
|
|
17
|
+
export const WHATSAPP_TEMPLATE_NAMES = [
|
|
18
|
+
WHATSAPP_DOCUMENT_SHARE_TEMPLATE_ID,
|
|
19
|
+
WHATSAPP_VEHICLE_SHARE_TEMPLATE_ID,
|
|
20
|
+
...WHATSAPP_PARAMETERLESS_ACTIVITY_TEMPLATE_NAMES,
|
|
21
|
+
] as const;
|
|
22
|
+
|
|
23
|
+
export type WhatsappTemplateName = (typeof WHATSAPP_TEMPLATE_NAMES)[number];
|
|
24
|
+
export type WhatsappActivityTemplateName =
|
|
25
|
+
(typeof WHATSAPP_PARAMETERLESS_ACTIVITY_TEMPLATE_NAMES)[number];
|
|
26
|
+
|
|
27
|
+
export const isWhatsappActivityTemplateName = (
|
|
28
|
+
value: string,
|
|
29
|
+
): value is WhatsappActivityTemplateName =>
|
|
30
|
+
WHATSAPP_PARAMETERLESS_ACTIVITY_TEMPLATE_NAMES.some((name) => name === value);
|
|
31
|
+
|
|
32
|
+
export type WhatsappTemplateContentComponent = {
|
|
33
|
+
type: string;
|
|
34
|
+
text?: string;
|
|
35
|
+
format?: string;
|
|
36
|
+
buttons?: Array<{
|
|
37
|
+
type?: string;
|
|
38
|
+
text?: string;
|
|
39
|
+
url?: string;
|
|
40
|
+
}>;
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
export type WhatsappTemplateTranslation<Name extends WhatsappTemplateName = WhatsappTemplateName> =
|
|
44
|
+
{
|
|
45
|
+
id: string;
|
|
46
|
+
name: Name;
|
|
47
|
+
language: string;
|
|
48
|
+
status: string;
|
|
49
|
+
category?: string;
|
|
50
|
+
components: WhatsappTemplateContentComponent[];
|
|
51
|
+
text: string;
|
|
52
|
+
syncedAt: string;
|
|
53
|
+
deleted?: boolean;
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
export const renderWhatsappTemplateText = (
|
|
57
|
+
components: WhatsappTemplateContentComponent[],
|
|
58
|
+
): string =>
|
|
59
|
+
components
|
|
60
|
+
.flatMap((component) => [component.text, ...(component.buttons ?? []).map((b) => b.text)])
|
|
61
|
+
.filter((text): text is string => text != null)
|
|
62
|
+
.join('\n\n');
|
|
63
|
+
|
|
8
64
|
export type WhatsappNotificationEvent = {
|
|
9
65
|
tenantId: string;
|
|
10
66
|
userId: string;
|
package/src/translations.ts
CHANGED
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
const COUNTRY_TO_LANGUAGE_MAP: { [countryCode: string]: string } = {
|
|
2
|
+
// English-speaking countries
|
|
3
|
+
gb: 'en',
|
|
4
|
+
ie: 'en',
|
|
5
|
+
us: 'en',
|
|
6
|
+
ca: 'en',
|
|
7
|
+
au: 'en',
|
|
8
|
+
nz: 'en',
|
|
2
9
|
// French-speaking countries
|
|
3
10
|
fr: 'fr',
|
|
4
11
|
ci: 'fr',
|
|
@@ -31,18 +38,36 @@ const COUNTRY_TO_LANGUAGE_MAP: { [countryCode: string]: string } = {
|
|
|
31
38
|
ro: 'ro',
|
|
32
39
|
// Dutch-speaking countries
|
|
33
40
|
nl: 'nl',
|
|
41
|
+
be: 'nl',
|
|
42
|
+
sr: 'nl',
|
|
43
|
+
// German-speaking countries
|
|
44
|
+
de: 'de',
|
|
45
|
+
at: 'de',
|
|
46
|
+
ch: 'de',
|
|
47
|
+
li: 'de',
|
|
34
48
|
// Spanish-speaking countries
|
|
35
49
|
ar: 'es',
|
|
36
50
|
bo: 'es',
|
|
37
51
|
cl: 'es',
|
|
38
52
|
co: 'es',
|
|
53
|
+
cr: 'es',
|
|
54
|
+
cu: 'es',
|
|
55
|
+
do: 'es',
|
|
39
56
|
ec: 'es',
|
|
40
57
|
es: 'es',
|
|
58
|
+
gt: 'es',
|
|
59
|
+
hn: 'es',
|
|
60
|
+
mx: 'es',
|
|
61
|
+
ni: 'es',
|
|
62
|
+
pa: 'es',
|
|
41
63
|
pe: 'es',
|
|
42
64
|
py: 'es',
|
|
65
|
+
sv: 'es',
|
|
43
66
|
uy: 'es',
|
|
67
|
+
ve: 'es',
|
|
44
68
|
// Portuguese-speaking countries
|
|
45
69
|
pt: 'pt',
|
|
70
|
+
br: 'pt',
|
|
46
71
|
mz: 'pt',
|
|
47
72
|
ao: 'pt',
|
|
48
73
|
gw: 'pt',
|
|
@@ -51,5 +76,5 @@ const COUNTRY_TO_LANGUAGE_MAP: { [countryCode: string]: string } = {
|
|
|
51
76
|
};
|
|
52
77
|
|
|
53
78
|
export const getLanguageFromCountry = (countryCode: string): string | undefined => {
|
|
54
|
-
return COUNTRY_TO_LANGUAGE_MAP[countryCode];
|
|
79
|
+
return COUNTRY_TO_LANGUAGE_MAP[countryCode.toLowerCase()];
|
|
55
80
|
};
|