@ikatec/digisac-api-sdk 1.3.2 → 2.0.0

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 (73) hide show
  1. package/dist/_chunks/{chunk-DortyG5C.cjs → chunk-Dk0Otj32.cjs} +19 -0
  2. package/dist/_chunks/scopes-CppNX42t.mjs +29 -0
  3. package/dist/_chunks/scopes-CppNX42t.mjs.map +1 -0
  4. package/dist/apis/authHistory/AuthHistoryApi.cjs +1 -1
  5. package/dist/apis/campaigns/CampaignsApi.cjs +56 -0
  6. package/dist/apis/campaigns/CampaignsApi.cjs.map +1 -1
  7. package/dist/apis/campaigns/CampaignsApi.d.ts +25 -3
  8. package/dist/apis/campaigns/CampaignsApi.d.ts.map +1 -1
  9. package/dist/apis/campaigns/CampaignsApi.mjs +56 -0
  10. package/dist/apis/campaigns/CampaignsApi.mjs.map +1 -1
  11. package/dist/apis/campaigns/index.cjs +8 -1
  12. package/dist/apis/campaigns/index.d.ts +1 -0
  13. package/dist/apis/campaigns/index.d.ts.map +1 -1
  14. package/dist/apis/campaigns/index.mjs +2 -1
  15. package/dist/apis/campaigns/scopes/getManyViewScope.cjs +51 -0
  16. package/dist/apis/campaigns/scopes/getManyViewScope.cjs.map +1 -0
  17. package/dist/apis/campaigns/scopes/getManyViewScope.d.ts +21 -0
  18. package/dist/apis/campaigns/scopes/getManyViewScope.d.ts.map +1 -0
  19. package/dist/apis/campaigns/scopes/getManyViewScope.mjs +49 -0
  20. package/dist/apis/campaigns/scopes/getManyViewScope.mjs.map +1 -0
  21. package/dist/apis/campaigns/scopes/getOneViewScope.cjs +27 -0
  22. package/dist/apis/campaigns/scopes/getOneViewScope.cjs.map +1 -0
  23. package/dist/apis/campaigns/scopes/getOneViewScope.d.ts +5 -0
  24. package/dist/apis/campaigns/scopes/getOneViewScope.d.ts.map +1 -0
  25. package/dist/apis/campaigns/scopes/getOneViewScope.mjs +25 -0
  26. package/dist/apis/campaigns/scopes/getOneViewScope.mjs.map +1 -0
  27. package/dist/apis/campaigns/scopes/index.cjs +21 -0
  28. package/dist/apis/campaigns/scopes/index.cjs.map +1 -0
  29. package/dist/apis/campaigns/scopes/index.d.ts +3 -0
  30. package/dist/apis/campaigns/scopes/index.d.ts.map +1 -0
  31. package/dist/apis/campaigns/scopes/index.mjs +4 -0
  32. package/dist/apis/campaigns/types.d.ts +69 -16
  33. package/dist/apis/campaigns/types.d.ts.map +1 -1
  34. package/dist/apis/contacts/ContactsApi.cjs +1 -1
  35. package/dist/apis/files/types.d.ts +1 -0
  36. package/dist/apis/files/types.d.ts.map +1 -1
  37. package/dist/apis/index.cjs +174 -0
  38. package/dist/apis/index.d.ts +56 -0
  39. package/dist/apis/index.d.ts.map +1 -0
  40. package/dist/apis/index.mjs +113 -0
  41. package/dist/apis/messages/MessagesApi.cjs +1 -1
  42. package/dist/apis/messages/types.d.ts +2 -1
  43. package/dist/apis/messages/types.d.ts.map +1 -1
  44. package/dist/apis/serviceAccessManagement/ServiceAccessManagementApi.cjs +1 -1
  45. package/dist/apis/stickerUsers/StickerUsersApi.cjs +1 -1
  46. package/dist/apis/terms/TermsApi.cjs +1 -1
  47. package/dist/core/BaseCrudApi.cjs +9 -3
  48. package/dist/core/BaseCrudApi.cjs.map +1 -1
  49. package/dist/core/BaseCrudApi.d.ts +3 -3
  50. package/dist/core/BaseCrudApi.d.ts.map +1 -1
  51. package/dist/core/BaseCrudApi.mjs +8 -2
  52. package/dist/core/BaseCrudApi.mjs.map +1 -1
  53. package/dist/core/index.d.ts +1 -1
  54. package/dist/core/index.d.ts.map +1 -1
  55. package/dist/core/types.d.ts +3 -1
  56. package/dist/core/types.d.ts.map +1 -1
  57. package/dist/index.d.ts +1 -1
  58. package/dist/index.d.ts.map +1 -1
  59. package/package.json +7 -1
  60. package/src/apis/campaigns/CampaignsApi.ts +80 -3
  61. package/src/apis/campaigns/index.ts +1 -0
  62. package/src/apis/campaigns/scopes/getManyViewScope.ts +79 -0
  63. package/src/apis/campaigns/scopes/getOneViewScope.ts +21 -0
  64. package/src/apis/campaigns/scopes/index.ts +2 -0
  65. package/src/apis/campaigns/types.ts +73 -16
  66. package/src/apis/files/types.ts +1 -0
  67. package/src/apis/index.ts +55 -0
  68. package/src/apis/messages/types.ts +2 -1
  69. package/src/core/BaseCrudApi.test.ts +1 -1
  70. package/src/core/BaseCrudApi.ts +14 -3
  71. package/src/core/index.ts +1 -1
  72. package/src/core/types.ts +8 -1
  73. package/src/index.ts +1 -1
@@ -5,6 +5,19 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
6
  var __getProtoOf = Object.getPrototypeOf;
7
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __exportAll = (all, no_symbols) => {
9
+ let target = {};
10
+ for (var name in all) {
11
+ __defProp(target, name, {
12
+ get: all[name],
13
+ enumerable: true
14
+ });
15
+ }
16
+ if (!no_symbols) {
17
+ __defProp(target, Symbol.toStringTag, { value: "Module" });
18
+ }
19
+ return target;
20
+ };
8
21
  var __copyProps = (to, from, except, desc) => {
9
22
  if (from && typeof from === "object" || typeof from === "function") {
10
23
  for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
@@ -26,6 +39,12 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
39
 
27
40
  //#endregion
28
41
 
42
+ Object.defineProperty(exports, '__exportAll', {
43
+ enumerable: true,
44
+ get: function () {
45
+ return __exportAll;
46
+ }
47
+ });
29
48
  Object.defineProperty(exports, '__toESM', {
30
49
  enumerable: true,
31
50
  get: function () {
@@ -0,0 +1,29 @@
1
+ import { getOneViewScope } from "../apis/campaigns/scopes/getOneViewScope.mjs";
2
+ import { getManyViewScope } from "../apis/campaigns/scopes/getManyViewScope.mjs";
3
+
4
+ //#region \0rolldown/runtime.js
5
+ var __defProp = Object.defineProperty;
6
+ var __exportAll = (all, no_symbols) => {
7
+ let target = {};
8
+ for (var name in all) {
9
+ __defProp(target, name, {
10
+ get: all[name],
11
+ enumerable: true
12
+ });
13
+ }
14
+ if (!no_symbols) {
15
+ __defProp(target, Symbol.toStringTag, { value: "Module" });
16
+ }
17
+ return target;
18
+ };
19
+
20
+ //#endregion
21
+ //#region src/apis/campaigns/scopes/index.ts
22
+ var scopes_exports = /* @__PURE__ */ __exportAll({
23
+ getManyViewScope: () => getManyViewScope,
24
+ getOneViewScope: () => getOneViewScope
25
+ });
26
+
27
+ //#endregion
28
+ export { scopes_exports as t };
29
+ //# sourceMappingURL=scopes-CppNX42t.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scopes-CppNX42t.mjs","names":[],"sources":["../../src/apis/campaigns/scopes/index.ts"],"sourcesContent":["export { getOneViewScope } from './getOneViewScope'\nexport { getManyViewScope, type GetManyPaginatedFilters } from './getManyViewScope'\n"],"mappings":""}
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
- const require_chunk = require('../../_chunks/chunk-DortyG5C.cjs');
2
+ const require_chunk = require('../../_chunks/chunk-Dk0Otj32.cjs');
3
3
  let qs = require("qs");
4
4
  qs = require_chunk.__toESM(qs);
5
5
 
@@ -1,10 +1,66 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
2
  const require_core_BaseCrudApi = require('../../core/BaseCrudApi.cjs');
3
+ require('../../core/index.cjs');
3
4
 
4
5
  //#region src/apis/campaigns/CampaignsApi.ts
5
6
  var CampaignsApi = class extends require_core_BaseCrudApi.BaseCrudApi {
6
7
  constructor(client) {
7
8
  super(client, "/campaigns");
9
+ this.sendById = this.sendById.bind(this);
10
+ this.pauseById = this.pauseById.bind(this);
11
+ this.resumeById = this.resumeById.bind(this);
12
+ this.duplicateById = this.duplicateById.bind(this);
13
+ this.getStatsById = this.getStatsById.bind(this);
14
+ this.setIntervalById = this.setIntervalById.bind(this);
15
+ this.getContactCount = this.getContactCount.bind(this);
16
+ this.setAutoPauseMode = this.setAutoPauseMode.bind(this);
17
+ this.exportCampaignResult = this.exportCampaignResult.bind(this);
18
+ this.exportTemplateCsv = this.exportTemplateCsv.bind(this);
19
+ this.getHsmLimit = this.getHsmLimit.bind(this);
20
+ }
21
+ /** Starts sending messages for the given campaign. */
22
+ sendById(id) {
23
+ return this.client.post(`${this.basePath}/${id}/send`);
24
+ }
25
+ /** Pauses a campaign that is currently sending. */
26
+ pauseById(id) {
27
+ return this.client.post(`${this.basePath}/${id}/pause`);
28
+ }
29
+ /** Resumes a previously paused campaign. */
30
+ resumeById(id) {
31
+ return this.client.post(`${this.basePath}/${id}/resume`);
32
+ }
33
+ /** Creates a copy of an existing campaign. */
34
+ duplicateById(id) {
35
+ return this.client.post(`${this.basePath}/${id}/duplicate`);
36
+ }
37
+ /** Returns send/delivery/view statistics for a campaign. */
38
+ getStatsById(id) {
39
+ return this.client.get(`${this.basePath}/${id}/stats`);
40
+ }
41
+ /** Updates the min/max send interval for a campaign. */
42
+ setIntervalById(id, data) {
43
+ return this.client.post(`${this.basePath}/${id}/interval`, data);
44
+ }
45
+ /** Returns the total number of contacts targeted by a campaign. */
46
+ getContactCount(id) {
47
+ return this.client.get(`${this.basePath}/${id}/contactCount`);
48
+ }
49
+ /** Configures the auto-pause behavior for campaigns. */
50
+ setAutoPauseMode(data) {
51
+ return this.client.put(`${this.basePath}/autoPauseMode`, data);
52
+ }
53
+ /** Exports campaign send results as a CSV file. */
54
+ exportCampaignResult(data) {
55
+ return this.client.post(`${this.basePath}/export/csv`, data);
56
+ }
57
+ /** Exports a CSV template for importing contacts into an HSM campaign. */
58
+ exportTemplateCsv(data) {
59
+ return this.client.post(`${this.basePath}/exportTemplate`, data);
60
+ }
61
+ /** Returns the HSM message usage and limit for an account. */
62
+ getHsmLimit(accountId) {
63
+ return this.client.get(`/whatsapp-business-templates/${accountId}/hsmLimit`);
8
64
  }
9
65
  };
10
66
 
@@ -1 +1 @@
1
- {"version":3,"file":"CampaignsApi.cjs","names":["BaseCrudApi"],"sources":["../../../src/apis/campaigns/CampaignsApi.ts"],"sourcesContent":["import type { ApiClient } from '../../core/ApiClient'\nimport { BaseCrudApi } from '../../core/BaseCrudApi'\nimport type { Campaign, CreateCampaignPayload, UpdateCampaignPayload } from './types'\n\nexport class CampaignsApi extends BaseCrudApi<\n Campaign,\n CreateCampaignPayload,\n UpdateCampaignPayload\n> {\n constructor(client: ApiClient) {\n super(client, '/campaigns')\n }\n}\n"],"mappings":";;;;AAIA,IAAa,eAAb,cAAkCA,qCAIhC;CACA,YAAY,QAAmB;AAC7B,QAAM,QAAQ,aAAa"}
1
+ {"version":3,"file":"CampaignsApi.cjs","names":["BaseCrudApi"],"sources":["../../../src/apis/campaigns/CampaignsApi.ts"],"sourcesContent":["import type { ApiClient } from '../../core'\nimport { BaseCrudApi } from '../../core'\nimport type {\n AutoPauseModePayload,\n Campaign,\n CampaignStats,\n CreateCampaignPayload,\n ExportCampaignResultPayload,\n ExportTemplateCsvPayload,\n HsmLimit,\n SetIntervalPayload,\n UpdateCampaignPayload,\n} from './types'\n\nexport class CampaignsApi extends BaseCrudApi<\n Campaign,\n CreateCampaignPayload,\n UpdateCampaignPayload\n> {\n constructor(client: ApiClient) {\n super(client, '/campaigns')\n\n this.sendById = this.sendById.bind(this)\n this.pauseById = this.pauseById.bind(this)\n this.resumeById = this.resumeById.bind(this)\n this.duplicateById = this.duplicateById.bind(this)\n this.getStatsById = this.getStatsById.bind(this)\n this.setIntervalById = this.setIntervalById.bind(this)\n this.getContactCount = this.getContactCount.bind(this)\n this.setAutoPauseMode = this.setAutoPauseMode.bind(this)\n this.exportCampaignResult = this.exportCampaignResult.bind(this)\n this.exportTemplateCsv = this.exportTemplateCsv.bind(this)\n this.getHsmLimit = this.getHsmLimit.bind(this)\n }\n\n /** Starts sending messages for the given campaign. */\n sendById(id: string): Promise<Campaign> {\n return this.client.post<Campaign>(`${this.basePath}/${id}/send`)\n }\n\n /** Pauses a campaign that is currently sending. */\n pauseById(id: string): Promise<Campaign> {\n return this.client.post<Campaign>(`${this.basePath}/${id}/pause`)\n }\n\n /** Resumes a previously paused campaign. */\n resumeById(id: string): Promise<Campaign> {\n return this.client.post<Campaign>(`${this.basePath}/${id}/resume`)\n }\n\n /** Creates a copy of an existing campaign. */\n duplicateById(id: string): Promise<Campaign> {\n return this.client.post<Campaign>(`${this.basePath}/${id}/duplicate`)\n }\n\n /** Returns send/delivery/view statistics for a campaign. */\n getStatsById(id: string): Promise<CampaignStats> {\n return this.client.get<CampaignStats>(`${this.basePath}/${id}/stats`)\n }\n\n /** Updates the min/max send interval for a campaign. */\n setIntervalById(id: string, data: SetIntervalPayload): Promise<Campaign> {\n return this.client.post<Campaign, SetIntervalPayload>(`${this.basePath}/${id}/interval`, data)\n }\n\n /** Returns the total number of contacts targeted by a campaign. */\n getContactCount(id: string): Promise<number> {\n return this.client.get<number>(`${this.basePath}/${id}/contactCount`)\n }\n\n /** Configures the auto-pause behavior for campaigns. */\n setAutoPauseMode(data: AutoPauseModePayload): Promise<unknown> {\n return this.client.put(`${this.basePath}/autoPauseMode`, data)\n }\n\n /** Exports campaign send results as a CSV file. */\n exportCampaignResult(data: ExportCampaignResultPayload): Promise<unknown> {\n return this.client.post(`${this.basePath}/export/csv`, data)\n }\n\n /** Exports a CSV template for importing contacts into an HSM campaign. */\n exportTemplateCsv(data: ExportTemplateCsvPayload): Promise<unknown> {\n return this.client.post(`${this.basePath}/exportTemplate`, data)\n }\n\n /** Returns the HSM message usage and limit for an account. */\n getHsmLimit(accountId: string): Promise<HsmLimit> {\n return this.client.get<HsmLimit>(`/whatsapp-business-templates/${accountId}/hsmLimit`)\n }\n}\n"],"mappings":";;;;;AAcA,IAAa,eAAb,cAAkCA,qCAIhC;CACA,YAAY,QAAmB;AAC7B,QAAM,QAAQ,aAAa;AAE3B,OAAK,WAAW,KAAK,SAAS,KAAK,KAAK;AACxC,OAAK,YAAY,KAAK,UAAU,KAAK,KAAK;AAC1C,OAAK,aAAa,KAAK,WAAW,KAAK,KAAK;AAC5C,OAAK,gBAAgB,KAAK,cAAc,KAAK,KAAK;AAClD,OAAK,eAAe,KAAK,aAAa,KAAK,KAAK;AAChD,OAAK,kBAAkB,KAAK,gBAAgB,KAAK,KAAK;AACtD,OAAK,kBAAkB,KAAK,gBAAgB,KAAK,KAAK;AACtD,OAAK,mBAAmB,KAAK,iBAAiB,KAAK,KAAK;AACxD,OAAK,uBAAuB,KAAK,qBAAqB,KAAK,KAAK;AAChE,OAAK,oBAAoB,KAAK,kBAAkB,KAAK,KAAK;AAC1D,OAAK,cAAc,KAAK,YAAY,KAAK,KAAK;;;CAIhD,SAAS,IAA+B;AACtC,SAAO,KAAK,OAAO,KAAe,GAAG,KAAK,SAAS,GAAG,GAAG,OAAO;;;CAIlE,UAAU,IAA+B;AACvC,SAAO,KAAK,OAAO,KAAe,GAAG,KAAK,SAAS,GAAG,GAAG,QAAQ;;;CAInE,WAAW,IAA+B;AACxC,SAAO,KAAK,OAAO,KAAe,GAAG,KAAK,SAAS,GAAG,GAAG,SAAS;;;CAIpE,cAAc,IAA+B;AAC3C,SAAO,KAAK,OAAO,KAAe,GAAG,KAAK,SAAS,GAAG,GAAG,YAAY;;;CAIvE,aAAa,IAAoC;AAC/C,SAAO,KAAK,OAAO,IAAmB,GAAG,KAAK,SAAS,GAAG,GAAG,QAAQ;;;CAIvE,gBAAgB,IAAY,MAA6C;AACvE,SAAO,KAAK,OAAO,KAAmC,GAAG,KAAK,SAAS,GAAG,GAAG,YAAY,KAAK;;;CAIhG,gBAAgB,IAA6B;AAC3C,SAAO,KAAK,OAAO,IAAY,GAAG,KAAK,SAAS,GAAG,GAAG,eAAe;;;CAIvE,iBAAiB,MAA8C;AAC7D,SAAO,KAAK,OAAO,IAAI,GAAG,KAAK,SAAS,iBAAiB,KAAK;;;CAIhE,qBAAqB,MAAqD;AACxE,SAAO,KAAK,OAAO,KAAK,GAAG,KAAK,SAAS,cAAc,KAAK;;;CAI9D,kBAAkB,MAAkD;AAClE,SAAO,KAAK,OAAO,KAAK,GAAG,KAAK,SAAS,kBAAkB,KAAK;;;CAIlE,YAAY,WAAsC;AAChD,SAAO,KAAK,OAAO,IAAc,gCAAgC,UAAU,WAAW"}
@@ -1,7 +1,29 @@
1
- import type { ApiClient } from '../../core/ApiClient';
2
- import { BaseCrudApi } from '../../core/BaseCrudApi';
3
- import type { Campaign, CreateCampaignPayload, UpdateCampaignPayload } from './types';
1
+ import type { ApiClient } from '../../core';
2
+ import { BaseCrudApi } from '../../core';
3
+ import type { AutoPauseModePayload, Campaign, CampaignStats, CreateCampaignPayload, ExportCampaignResultPayload, ExportTemplateCsvPayload, HsmLimit, SetIntervalPayload, UpdateCampaignPayload } from './types';
4
4
  export declare class CampaignsApi extends BaseCrudApi<Campaign, CreateCampaignPayload, UpdateCampaignPayload> {
5
5
  constructor(client: ApiClient);
6
+ /** Starts sending messages for the given campaign. */
7
+ sendById(id: string): Promise<Campaign>;
8
+ /** Pauses a campaign that is currently sending. */
9
+ pauseById(id: string): Promise<Campaign>;
10
+ /** Resumes a previously paused campaign. */
11
+ resumeById(id: string): Promise<Campaign>;
12
+ /** Creates a copy of an existing campaign. */
13
+ duplicateById(id: string): Promise<Campaign>;
14
+ /** Returns send/delivery/view statistics for a campaign. */
15
+ getStatsById(id: string): Promise<CampaignStats>;
16
+ /** Updates the min/max send interval for a campaign. */
17
+ setIntervalById(id: string, data: SetIntervalPayload): Promise<Campaign>;
18
+ /** Returns the total number of contacts targeted by a campaign. */
19
+ getContactCount(id: string): Promise<number>;
20
+ /** Configures the auto-pause behavior for campaigns. */
21
+ setAutoPauseMode(data: AutoPauseModePayload): Promise<unknown>;
22
+ /** Exports campaign send results as a CSV file. */
23
+ exportCampaignResult(data: ExportCampaignResultPayload): Promise<unknown>;
24
+ /** Exports a CSV template for importing contacts into an HSM campaign. */
25
+ exportTemplateCsv(data: ExportTemplateCsvPayload): Promise<unknown>;
26
+ /** Returns the HSM message usage and limit for an account. */
27
+ getHsmLimit(accountId: string): Promise<HsmLimit>;
6
28
  }
7
29
  //# sourceMappingURL=CampaignsApi.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CampaignsApi.d.ts","sourceRoot":"","sources":["../../../src/apis/campaigns/CampaignsApi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAErF,qBAAa,YAAa,SAAQ,WAAW,CAC3C,QAAQ,EACR,qBAAqB,EACrB,qBAAqB,CACtB;gBACa,MAAM,EAAE,SAAS;CAG9B"}
1
+ {"version":3,"file":"CampaignsApi.d.ts","sourceRoot":"","sources":["../../../src/apis/campaigns/CampaignsApi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,KAAK,EACV,oBAAoB,EACpB,QAAQ,EACR,aAAa,EACb,qBAAqB,EACrB,2BAA2B,EAC3B,wBAAwB,EACxB,QAAQ,EACR,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,SAAS,CAAA;AAEhB,qBAAa,YAAa,SAAQ,WAAW,CAC3C,QAAQ,EACR,qBAAqB,EACrB,qBAAqB,CACtB;gBACa,MAAM,EAAE,SAAS;IAgB7B,sDAAsD;IACtD,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAIvC,mDAAmD;IACnD,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAIxC,4CAA4C;IAC5C,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAIzC,8CAA8C;IAC9C,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAI5C,4DAA4D;IAC5D,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAIhD,wDAAwD;IACxD,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAIxE,mEAAmE;IACnE,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI5C,wDAAwD;IACxD,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAI9D,mDAAmD;IACnD,oBAAoB,CAAC,IAAI,EAAE,2BAA2B,GAAG,OAAO,CAAC,OAAO,CAAC;IAIzE,0EAA0E;IAC1E,iBAAiB,CAAC,IAAI,EAAE,wBAAwB,GAAG,OAAO,CAAC,OAAO,CAAC;IAInE,8DAA8D;IAC9D,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;CAGlD"}
@@ -1,9 +1,65 @@
1
1
  import { BaseCrudApi } from "../../core/BaseCrudApi.mjs";
2
+ import "../../core/index.mjs";
2
3
 
3
4
  //#region src/apis/campaigns/CampaignsApi.ts
4
5
  var CampaignsApi = class extends BaseCrudApi {
5
6
  constructor(client) {
6
7
  super(client, "/campaigns");
8
+ this.sendById = this.sendById.bind(this);
9
+ this.pauseById = this.pauseById.bind(this);
10
+ this.resumeById = this.resumeById.bind(this);
11
+ this.duplicateById = this.duplicateById.bind(this);
12
+ this.getStatsById = this.getStatsById.bind(this);
13
+ this.setIntervalById = this.setIntervalById.bind(this);
14
+ this.getContactCount = this.getContactCount.bind(this);
15
+ this.setAutoPauseMode = this.setAutoPauseMode.bind(this);
16
+ this.exportCampaignResult = this.exportCampaignResult.bind(this);
17
+ this.exportTemplateCsv = this.exportTemplateCsv.bind(this);
18
+ this.getHsmLimit = this.getHsmLimit.bind(this);
19
+ }
20
+ /** Starts sending messages for the given campaign. */
21
+ sendById(id) {
22
+ return this.client.post(`${this.basePath}/${id}/send`);
23
+ }
24
+ /** Pauses a campaign that is currently sending. */
25
+ pauseById(id) {
26
+ return this.client.post(`${this.basePath}/${id}/pause`);
27
+ }
28
+ /** Resumes a previously paused campaign. */
29
+ resumeById(id) {
30
+ return this.client.post(`${this.basePath}/${id}/resume`);
31
+ }
32
+ /** Creates a copy of an existing campaign. */
33
+ duplicateById(id) {
34
+ return this.client.post(`${this.basePath}/${id}/duplicate`);
35
+ }
36
+ /** Returns send/delivery/view statistics for a campaign. */
37
+ getStatsById(id) {
38
+ return this.client.get(`${this.basePath}/${id}/stats`);
39
+ }
40
+ /** Updates the min/max send interval for a campaign. */
41
+ setIntervalById(id, data) {
42
+ return this.client.post(`${this.basePath}/${id}/interval`, data);
43
+ }
44
+ /** Returns the total number of contacts targeted by a campaign. */
45
+ getContactCount(id) {
46
+ return this.client.get(`${this.basePath}/${id}/contactCount`);
47
+ }
48
+ /** Configures the auto-pause behavior for campaigns. */
49
+ setAutoPauseMode(data) {
50
+ return this.client.put(`${this.basePath}/autoPauseMode`, data);
51
+ }
52
+ /** Exports campaign send results as a CSV file. */
53
+ exportCampaignResult(data) {
54
+ return this.client.post(`${this.basePath}/export/csv`, data);
55
+ }
56
+ /** Exports a CSV template for importing contacts into an HSM campaign. */
57
+ exportTemplateCsv(data) {
58
+ return this.client.post(`${this.basePath}/exportTemplate`, data);
59
+ }
60
+ /** Returns the HSM message usage and limit for an account. */
61
+ getHsmLimit(accountId) {
62
+ return this.client.get(`/whatsapp-business-templates/${accountId}/hsmLimit`);
7
63
  }
8
64
  };
9
65
 
@@ -1 +1 @@
1
- {"version":3,"file":"CampaignsApi.mjs","names":[],"sources":["../../../src/apis/campaigns/CampaignsApi.ts"],"sourcesContent":["import type { ApiClient } from '../../core/ApiClient'\nimport { BaseCrudApi } from '../../core/BaseCrudApi'\nimport type { Campaign, CreateCampaignPayload, UpdateCampaignPayload } from './types'\n\nexport class CampaignsApi extends BaseCrudApi<\n Campaign,\n CreateCampaignPayload,\n UpdateCampaignPayload\n> {\n constructor(client: ApiClient) {\n super(client, '/campaigns')\n }\n}\n"],"mappings":";;;AAIA,IAAa,eAAb,cAAkC,YAIhC;CACA,YAAY,QAAmB;AAC7B,QAAM,QAAQ,aAAa"}
1
+ {"version":3,"file":"CampaignsApi.mjs","names":[],"sources":["../../../src/apis/campaigns/CampaignsApi.ts"],"sourcesContent":["import type { ApiClient } from '../../core'\nimport { BaseCrudApi } from '../../core'\nimport type {\n AutoPauseModePayload,\n Campaign,\n CampaignStats,\n CreateCampaignPayload,\n ExportCampaignResultPayload,\n ExportTemplateCsvPayload,\n HsmLimit,\n SetIntervalPayload,\n UpdateCampaignPayload,\n} from './types'\n\nexport class CampaignsApi extends BaseCrudApi<\n Campaign,\n CreateCampaignPayload,\n UpdateCampaignPayload\n> {\n constructor(client: ApiClient) {\n super(client, '/campaigns')\n\n this.sendById = this.sendById.bind(this)\n this.pauseById = this.pauseById.bind(this)\n this.resumeById = this.resumeById.bind(this)\n this.duplicateById = this.duplicateById.bind(this)\n this.getStatsById = this.getStatsById.bind(this)\n this.setIntervalById = this.setIntervalById.bind(this)\n this.getContactCount = this.getContactCount.bind(this)\n this.setAutoPauseMode = this.setAutoPauseMode.bind(this)\n this.exportCampaignResult = this.exportCampaignResult.bind(this)\n this.exportTemplateCsv = this.exportTemplateCsv.bind(this)\n this.getHsmLimit = this.getHsmLimit.bind(this)\n }\n\n /** Starts sending messages for the given campaign. */\n sendById(id: string): Promise<Campaign> {\n return this.client.post<Campaign>(`${this.basePath}/${id}/send`)\n }\n\n /** Pauses a campaign that is currently sending. */\n pauseById(id: string): Promise<Campaign> {\n return this.client.post<Campaign>(`${this.basePath}/${id}/pause`)\n }\n\n /** Resumes a previously paused campaign. */\n resumeById(id: string): Promise<Campaign> {\n return this.client.post<Campaign>(`${this.basePath}/${id}/resume`)\n }\n\n /** Creates a copy of an existing campaign. */\n duplicateById(id: string): Promise<Campaign> {\n return this.client.post<Campaign>(`${this.basePath}/${id}/duplicate`)\n }\n\n /** Returns send/delivery/view statistics for a campaign. */\n getStatsById(id: string): Promise<CampaignStats> {\n return this.client.get<CampaignStats>(`${this.basePath}/${id}/stats`)\n }\n\n /** Updates the min/max send interval for a campaign. */\n setIntervalById(id: string, data: SetIntervalPayload): Promise<Campaign> {\n return this.client.post<Campaign, SetIntervalPayload>(`${this.basePath}/${id}/interval`, data)\n }\n\n /** Returns the total number of contacts targeted by a campaign. */\n getContactCount(id: string): Promise<number> {\n return this.client.get<number>(`${this.basePath}/${id}/contactCount`)\n }\n\n /** Configures the auto-pause behavior for campaigns. */\n setAutoPauseMode(data: AutoPauseModePayload): Promise<unknown> {\n return this.client.put(`${this.basePath}/autoPauseMode`, data)\n }\n\n /** Exports campaign send results as a CSV file. */\n exportCampaignResult(data: ExportCampaignResultPayload): Promise<unknown> {\n return this.client.post(`${this.basePath}/export/csv`, data)\n }\n\n /** Exports a CSV template for importing contacts into an HSM campaign. */\n exportTemplateCsv(data: ExportTemplateCsvPayload): Promise<unknown> {\n return this.client.post(`${this.basePath}/exportTemplate`, data)\n }\n\n /** Returns the HSM message usage and limit for an account. */\n getHsmLimit(accountId: string): Promise<HsmLimit> {\n return this.client.get<HsmLimit>(`/whatsapp-business-templates/${accountId}/hsmLimit`)\n }\n}\n"],"mappings":";;;;AAcA,IAAa,eAAb,cAAkC,YAIhC;CACA,YAAY,QAAmB;AAC7B,QAAM,QAAQ,aAAa;AAE3B,OAAK,WAAW,KAAK,SAAS,KAAK,KAAK;AACxC,OAAK,YAAY,KAAK,UAAU,KAAK,KAAK;AAC1C,OAAK,aAAa,KAAK,WAAW,KAAK,KAAK;AAC5C,OAAK,gBAAgB,KAAK,cAAc,KAAK,KAAK;AAClD,OAAK,eAAe,KAAK,aAAa,KAAK,KAAK;AAChD,OAAK,kBAAkB,KAAK,gBAAgB,KAAK,KAAK;AACtD,OAAK,kBAAkB,KAAK,gBAAgB,KAAK,KAAK;AACtD,OAAK,mBAAmB,KAAK,iBAAiB,KAAK,KAAK;AACxD,OAAK,uBAAuB,KAAK,qBAAqB,KAAK,KAAK;AAChE,OAAK,oBAAoB,KAAK,kBAAkB,KAAK,KAAK;AAC1D,OAAK,cAAc,KAAK,YAAY,KAAK,KAAK;;;CAIhD,SAAS,IAA+B;AACtC,SAAO,KAAK,OAAO,KAAe,GAAG,KAAK,SAAS,GAAG,GAAG,OAAO;;;CAIlE,UAAU,IAA+B;AACvC,SAAO,KAAK,OAAO,KAAe,GAAG,KAAK,SAAS,GAAG,GAAG,QAAQ;;;CAInE,WAAW,IAA+B;AACxC,SAAO,KAAK,OAAO,KAAe,GAAG,KAAK,SAAS,GAAG,GAAG,SAAS;;;CAIpE,cAAc,IAA+B;AAC3C,SAAO,KAAK,OAAO,KAAe,GAAG,KAAK,SAAS,GAAG,GAAG,YAAY;;;CAIvE,aAAa,IAAoC;AAC/C,SAAO,KAAK,OAAO,IAAmB,GAAG,KAAK,SAAS,GAAG,GAAG,QAAQ;;;CAIvE,gBAAgB,IAAY,MAA6C;AACvE,SAAO,KAAK,OAAO,KAAmC,GAAG,KAAK,SAAS,GAAG,GAAG,YAAY,KAAK;;;CAIhG,gBAAgB,IAA6B;AAC3C,SAAO,KAAK,OAAO,IAAY,GAAG,KAAK,SAAS,GAAG,GAAG,eAAe;;;CAIvE,iBAAiB,MAA8C;AAC7D,SAAO,KAAK,OAAO,IAAI,GAAG,KAAK,SAAS,iBAAiB,KAAK;;;CAIhE,qBAAqB,MAAqD;AACxE,SAAO,KAAK,OAAO,KAAK,GAAG,KAAK,SAAS,cAAc,KAAK;;;CAI9D,kBAAkB,MAAkD;AAClE,SAAO,KAAK,OAAO,KAAK,GAAG,KAAK,SAAS,kBAAkB,KAAK;;;CAIlE,YAAY,WAAsC;AAChD,SAAO,KAAK,OAAO,IAAc,gCAAgC,UAAU,WAAW"}
@@ -1,4 +1,11 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
2
  const require_apis_campaigns_CampaignsApi = require('./CampaignsApi.cjs');
3
+ const require_apis_campaigns_scopes_index = require('./scopes/index.cjs');
3
4
 
4
- exports.CampaignsApi = require_apis_campaigns_CampaignsApi.CampaignsApi;
5
+ exports.CampaignsApi = require_apis_campaigns_CampaignsApi.CampaignsApi;
6
+ Object.defineProperty(exports, 'scopes', {
7
+ enumerable: true,
8
+ get: function () {
9
+ return require_apis_campaigns_scopes_index.scopes_exports;
10
+ }
11
+ });
@@ -1,3 +1,4 @@
1
1
  export { CampaignsApi } from './CampaignsApi';
2
+ export * as scopes from './scopes';
2
3
  export type * from './types';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/apis/campaigns/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,mBAAmB,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/apis/campaigns/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,KAAK,MAAM,MAAM,UAAU,CAAA;AAClC,mBAAmB,SAAS,CAAA"}
@@ -1,3 +1,4 @@
1
+ import { t as scopes_exports } from "../../_chunks/scopes-CppNX42t.mjs";
1
2
  import { CampaignsApi } from "./CampaignsApi.mjs";
2
3
 
3
- export { CampaignsApi };
4
+ export { CampaignsApi, scopes_exports as scopes };
@@ -0,0 +1,51 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+
3
+ //#region src/apis/campaigns/scopes/getManyViewScope.ts
4
+ function getManyViewScope(filters = {}) {
5
+ const where = {};
6
+ const $and = [];
7
+ if (filters.title) where.title = { $iLike: `%${filters.title}%` };
8
+ if (filters.status) where.status = filters.status;
9
+ if (filters.serviceId) where.serviceId = filters.serviceId;
10
+ if (filters.createdAtFrom) $and.push({ createdAt: { $gte: filters.createdAtFrom } });
11
+ if (filters.createdAtTo) $and.push({ createdAt: { $lte: filters.createdAtTo } });
12
+ if (filters.startedAtFrom) $and.push({ startedAt: { $gte: filters.startedAtFrom } });
13
+ if (filters.startedAtTo) $and.push({ startedAt: { $lte: filters.startedAtTo } });
14
+ if ($and.length > 0) where.$and = $and;
15
+ const include = [
16
+ "service",
17
+ "tags",
18
+ {
19
+ model: "messages",
20
+ ...filters.quality && { required: true },
21
+ include: ["file", {
22
+ model: "hsm",
23
+ ...filters.quality && {
24
+ where: { quality: filters.quality },
25
+ required: true
26
+ }
27
+ }]
28
+ },
29
+ {
30
+ model: "createdBy",
31
+ attributes: ["id", "name"]
32
+ },
33
+ {
34
+ model: "sentBy",
35
+ attributes: ["id", "name"]
36
+ }
37
+ ];
38
+ return {
39
+ where,
40
+ order: [[filters.sort ?? "createdAt", filters.order ?? "DESC"]],
41
+ page: filters.page ?? 1,
42
+ perPage: filters.perPage ?? 15,
43
+ paginate: true,
44
+ ...filters.quality && { subQuery: false },
45
+ include
46
+ };
47
+ }
48
+
49
+ //#endregion
50
+ exports.getManyViewScope = getManyViewScope;
51
+ //# sourceMappingURL=getManyViewScope.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getManyViewScope.cjs","names":[],"sources":["../../../../src/apis/campaigns/scopes/getManyViewScope.ts"],"sourcesContent":["import type { IncludeItem, ListQuery, WhereClause } from '../../../core'\nimport type { Campaign, CampaignStatus } from '../types'\n\nexport type GetManyPaginatedFilters = {\n title?: string\n status?: CampaignStatus\n serviceId?: string\n createdAtFrom?: string\n createdAtTo?: string\n startedAtFrom?: string\n startedAtTo?: string\n quality?: string\n page?: number\n perPage?: number\n sort?: string\n order?: 'ASC' | 'DESC'\n paginate?: boolean\n}\n\nexport function getManyViewScope(\n filters: GetManyPaginatedFilters = {},\n): ListQuery<Campaign> & { paginate: true } {\n const where: WhereClause<Campaign> = {}\n const $and: WhereClause<Campaign>[] = []\n\n if (filters.title) {\n where.title = { $iLike: `%${filters.title}%` }\n }\n if (filters.status) {\n where.status = filters.status\n }\n if (filters.serviceId) {\n where.serviceId = filters.serviceId\n }\n if (filters.createdAtFrom) {\n $and.push({ createdAt: { $gte: filters.createdAtFrom } })\n }\n if (filters.createdAtTo) {\n $and.push({ createdAt: { $lte: filters.createdAtTo } })\n }\n if (filters.startedAtFrom) {\n $and.push({ startedAt: { $gte: filters.startedAtFrom } })\n }\n if (filters.startedAtTo) {\n $and.push({ startedAt: { $lte: filters.startedAtTo } })\n }\n\n if ($and.length > 0) {\n where.$and = $and\n }\n\n const include: IncludeItem<Campaign>[] = [\n 'service',\n 'tags',\n {\n model: 'messages',\n ...(filters.quality && { required: true }),\n include: [\n 'file',\n {\n model: 'hsm',\n ...(filters.quality && { where: { quality: filters.quality }, required: true }),\n },\n ],\n },\n { model: 'createdBy', attributes: ['id', 'name'] },\n { model: 'sentBy', attributes: ['id', 'name'] },\n ]\n\n return {\n where,\n order: [[(filters.sort ?? 'createdAt') as keyof Campaign & string, filters.order ?? 'DESC']],\n page: filters.page ?? 1,\n perPage: filters.perPage ?? 15,\n paginate: true as const,\n ...(filters.quality && { subQuery: false }),\n include,\n }\n}\n"],"mappings":";;;AAmBA,SAAgB,iBACd,UAAmC,EAAE,EACK;CAC1C,MAAM,QAA+B,EAAE;CACvC,MAAM,OAAgC,EAAE;AAExC,KAAI,QAAQ,MACV,OAAM,QAAQ,EAAE,QAAQ,IAAI,QAAQ,MAAM,IAAI;AAEhD,KAAI,QAAQ,OACV,OAAM,SAAS,QAAQ;AAEzB,KAAI,QAAQ,UACV,OAAM,YAAY,QAAQ;AAE5B,KAAI,QAAQ,cACV,MAAK,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,eAAe,EAAE,CAAC;AAE3D,KAAI,QAAQ,YACV,MAAK,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,aAAa,EAAE,CAAC;AAEzD,KAAI,QAAQ,cACV,MAAK,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,eAAe,EAAE,CAAC;AAE3D,KAAI,QAAQ,YACV,MAAK,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,aAAa,EAAE,CAAC;AAGzD,KAAI,KAAK,SAAS,EAChB,OAAM,OAAO;CAGf,MAAM,UAAmC;EACvC;EACA;EACA;GACE,OAAO;GACP,GAAI,QAAQ,WAAW,EAAE,UAAU,MAAM;GACzC,SAAS,CACP,QACA;IACE,OAAO;IACP,GAAI,QAAQ,WAAW;KAAE,OAAO,EAAE,SAAS,QAAQ,SAAS;KAAE,UAAU;KAAM;IAC/E,CACF;GACF;EACD;GAAE,OAAO;GAAa,YAAY,CAAC,MAAM,OAAO;GAAE;EAClD;GAAE,OAAO;GAAU,YAAY,CAAC,MAAM,OAAO;GAAE;EAChD;AAED,QAAO;EACL;EACA,OAAO,CAAC,CAAE,QAAQ,QAAQ,aAAyC,QAAQ,SAAS,OAAO,CAAC;EAC5F,MAAM,QAAQ,QAAQ;EACtB,SAAS,QAAQ,WAAW;EAC5B,UAAU;EACV,GAAI,QAAQ,WAAW,EAAE,UAAU,OAAO;EAC1C;EACD"}
@@ -0,0 +1,21 @@
1
+ import type { ListQuery } from '../../../core';
2
+ import type { Campaign, CampaignStatus } from '../types';
3
+ export type GetManyPaginatedFilters = {
4
+ title?: string;
5
+ status?: CampaignStatus;
6
+ serviceId?: string;
7
+ createdAtFrom?: string;
8
+ createdAtTo?: string;
9
+ startedAtFrom?: string;
10
+ startedAtTo?: string;
11
+ quality?: string;
12
+ page?: number;
13
+ perPage?: number;
14
+ sort?: string;
15
+ order?: 'ASC' | 'DESC';
16
+ paginate?: boolean;
17
+ };
18
+ export declare function getManyViewScope(filters?: GetManyPaginatedFilters): ListQuery<Campaign> & {
19
+ paginate: true;
20
+ };
21
+ //# sourceMappingURL=getManyViewScope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getManyViewScope.d.ts","sourceRoot":"","sources":["../../../../src/apis/campaigns/scopes/getManyViewScope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAe,SAAS,EAAe,MAAM,eAAe,CAAA;AACxE,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAExD,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,cAAc,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,CAAA;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,GAAE,uBAA4B,GACpC,SAAS,CAAC,QAAQ,CAAC,GAAG;IAAE,QAAQ,EAAE,IAAI,CAAA;CAAE,CAyD1C"}
@@ -0,0 +1,49 @@
1
+ //#region src/apis/campaigns/scopes/getManyViewScope.ts
2
+ function getManyViewScope(filters = {}) {
3
+ const where = {};
4
+ const $and = [];
5
+ if (filters.title) where.title = { $iLike: `%${filters.title}%` };
6
+ if (filters.status) where.status = filters.status;
7
+ if (filters.serviceId) where.serviceId = filters.serviceId;
8
+ if (filters.createdAtFrom) $and.push({ createdAt: { $gte: filters.createdAtFrom } });
9
+ if (filters.createdAtTo) $and.push({ createdAt: { $lte: filters.createdAtTo } });
10
+ if (filters.startedAtFrom) $and.push({ startedAt: { $gte: filters.startedAtFrom } });
11
+ if (filters.startedAtTo) $and.push({ startedAt: { $lte: filters.startedAtTo } });
12
+ if ($and.length > 0) where.$and = $and;
13
+ const include = [
14
+ "service",
15
+ "tags",
16
+ {
17
+ model: "messages",
18
+ ...filters.quality && { required: true },
19
+ include: ["file", {
20
+ model: "hsm",
21
+ ...filters.quality && {
22
+ where: { quality: filters.quality },
23
+ required: true
24
+ }
25
+ }]
26
+ },
27
+ {
28
+ model: "createdBy",
29
+ attributes: ["id", "name"]
30
+ },
31
+ {
32
+ model: "sentBy",
33
+ attributes: ["id", "name"]
34
+ }
35
+ ];
36
+ return {
37
+ where,
38
+ order: [[filters.sort ?? "createdAt", filters.order ?? "DESC"]],
39
+ page: filters.page ?? 1,
40
+ perPage: filters.perPage ?? 15,
41
+ paginate: true,
42
+ ...filters.quality && { subQuery: false },
43
+ include
44
+ };
45
+ }
46
+
47
+ //#endregion
48
+ export { getManyViewScope };
49
+ //# sourceMappingURL=getManyViewScope.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getManyViewScope.mjs","names":[],"sources":["../../../../src/apis/campaigns/scopes/getManyViewScope.ts"],"sourcesContent":["import type { IncludeItem, ListQuery, WhereClause } from '../../../core'\nimport type { Campaign, CampaignStatus } from '../types'\n\nexport type GetManyPaginatedFilters = {\n title?: string\n status?: CampaignStatus\n serviceId?: string\n createdAtFrom?: string\n createdAtTo?: string\n startedAtFrom?: string\n startedAtTo?: string\n quality?: string\n page?: number\n perPage?: number\n sort?: string\n order?: 'ASC' | 'DESC'\n paginate?: boolean\n}\n\nexport function getManyViewScope(\n filters: GetManyPaginatedFilters = {},\n): ListQuery<Campaign> & { paginate: true } {\n const where: WhereClause<Campaign> = {}\n const $and: WhereClause<Campaign>[] = []\n\n if (filters.title) {\n where.title = { $iLike: `%${filters.title}%` }\n }\n if (filters.status) {\n where.status = filters.status\n }\n if (filters.serviceId) {\n where.serviceId = filters.serviceId\n }\n if (filters.createdAtFrom) {\n $and.push({ createdAt: { $gte: filters.createdAtFrom } })\n }\n if (filters.createdAtTo) {\n $and.push({ createdAt: { $lte: filters.createdAtTo } })\n }\n if (filters.startedAtFrom) {\n $and.push({ startedAt: { $gte: filters.startedAtFrom } })\n }\n if (filters.startedAtTo) {\n $and.push({ startedAt: { $lte: filters.startedAtTo } })\n }\n\n if ($and.length > 0) {\n where.$and = $and\n }\n\n const include: IncludeItem<Campaign>[] = [\n 'service',\n 'tags',\n {\n model: 'messages',\n ...(filters.quality && { required: true }),\n include: [\n 'file',\n {\n model: 'hsm',\n ...(filters.quality && { where: { quality: filters.quality }, required: true }),\n },\n ],\n },\n { model: 'createdBy', attributes: ['id', 'name'] },\n { model: 'sentBy', attributes: ['id', 'name'] },\n ]\n\n return {\n where,\n order: [[(filters.sort ?? 'createdAt') as keyof Campaign & string, filters.order ?? 'DESC']],\n page: filters.page ?? 1,\n perPage: filters.perPage ?? 15,\n paginate: true as const,\n ...(filters.quality && { subQuery: false }),\n include,\n }\n}\n"],"mappings":";AAmBA,SAAgB,iBACd,UAAmC,EAAE,EACK;CAC1C,MAAM,QAA+B,EAAE;CACvC,MAAM,OAAgC,EAAE;AAExC,KAAI,QAAQ,MACV,OAAM,QAAQ,EAAE,QAAQ,IAAI,QAAQ,MAAM,IAAI;AAEhD,KAAI,QAAQ,OACV,OAAM,SAAS,QAAQ;AAEzB,KAAI,QAAQ,UACV,OAAM,YAAY,QAAQ;AAE5B,KAAI,QAAQ,cACV,MAAK,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,eAAe,EAAE,CAAC;AAE3D,KAAI,QAAQ,YACV,MAAK,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,aAAa,EAAE,CAAC;AAEzD,KAAI,QAAQ,cACV,MAAK,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,eAAe,EAAE,CAAC;AAE3D,KAAI,QAAQ,YACV,MAAK,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,aAAa,EAAE,CAAC;AAGzD,KAAI,KAAK,SAAS,EAChB,OAAM,OAAO;CAGf,MAAM,UAAmC;EACvC;EACA;EACA;GACE,OAAO;GACP,GAAI,QAAQ,WAAW,EAAE,UAAU,MAAM;GACzC,SAAS,CACP,QACA;IACE,OAAO;IACP,GAAI,QAAQ,WAAW;KAAE,OAAO,EAAE,SAAS,QAAQ,SAAS;KAAE,UAAU;KAAM;IAC/E,CACF;GACF;EACD;GAAE,OAAO;GAAa,YAAY,CAAC,MAAM,OAAO;GAAE;EAClD;GAAE,OAAO;GAAU,YAAY,CAAC,MAAM,OAAO;GAAE;EAChD;AAED,QAAO;EACL;EACA,OAAO,CAAC,CAAE,QAAQ,QAAQ,aAAyC,QAAQ,SAAS,OAAO,CAAC;EAC5F,MAAM,QAAQ,QAAQ;EACtB,SAAS,QAAQ,WAAW;EAC5B,UAAU;EACV,GAAI,QAAQ,WAAW,EAAE,UAAU,OAAO;EAC1C;EACD"}
@@ -0,0 +1,27 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+
3
+ //#region src/apis/campaigns/scopes/getOneViewScope.ts
4
+ /** Query scope that includes all associations for a detailed campaign view. */
5
+ function getOneViewScope() {
6
+ return { include: [
7
+ "service",
8
+ "tags",
9
+ {
10
+ model: "messages",
11
+ include: [
12
+ "file",
13
+ "hsm",
14
+ "hsmFile"
15
+ ]
16
+ },
17
+ "importFile",
18
+ "defaultDepartment",
19
+ "defaultUser",
20
+ "createdBy",
21
+ "sentBy"
22
+ ] };
23
+ }
24
+
25
+ //#endregion
26
+ exports.getOneViewScope = getOneViewScope;
27
+ //# sourceMappingURL=getOneViewScope.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getOneViewScope.cjs","names":[],"sources":["../../../../src/apis/campaigns/scopes/getOneViewScope.ts"],"sourcesContent":["import type { GetByIdQuery } from '../../../core'\nimport type { Campaign } from '../types'\n\n/** Query scope that includes all associations for a detailed campaign view. */\nexport function getOneViewScope(): GetByIdQuery<Campaign> {\n return {\n include: [\n 'service',\n 'tags',\n {\n model: 'messages',\n include: ['file', 'hsm', 'hsmFile'],\n },\n 'importFile',\n 'defaultDepartment',\n 'defaultUser',\n 'createdBy',\n 'sentBy',\n ],\n }\n}\n"],"mappings":";;;;AAIA,SAAgB,kBAA0C;AACxD,QAAO,EACL,SAAS;EACP;EACA;EACA;GACE,OAAO;GACP,SAAS;IAAC;IAAQ;IAAO;IAAU;GACpC;EACD;EACA;EACA;EACA;EACA;EACD,EACF"}
@@ -0,0 +1,5 @@
1
+ import type { GetByIdQuery } from '../../../core';
2
+ import type { Campaign } from '../types';
3
+ /** Query scope that includes all associations for a detailed campaign view. */
4
+ export declare function getOneViewScope(): GetByIdQuery<Campaign>;
5
+ //# sourceMappingURL=getOneViewScope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getOneViewScope.d.ts","sourceRoot":"","sources":["../../../../src/apis/campaigns/scopes/getOneViewScope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAExC,+EAA+E;AAC/E,wBAAgB,eAAe,IAAI,YAAY,CAAC,QAAQ,CAAC,CAgBxD"}
@@ -0,0 +1,25 @@
1
+ //#region src/apis/campaigns/scopes/getOneViewScope.ts
2
+ /** Query scope that includes all associations for a detailed campaign view. */
3
+ function getOneViewScope() {
4
+ return { include: [
5
+ "service",
6
+ "tags",
7
+ {
8
+ model: "messages",
9
+ include: [
10
+ "file",
11
+ "hsm",
12
+ "hsmFile"
13
+ ]
14
+ },
15
+ "importFile",
16
+ "defaultDepartment",
17
+ "defaultUser",
18
+ "createdBy",
19
+ "sentBy"
20
+ ] };
21
+ }
22
+
23
+ //#endregion
24
+ export { getOneViewScope };
25
+ //# sourceMappingURL=getOneViewScope.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getOneViewScope.mjs","names":[],"sources":["../../../../src/apis/campaigns/scopes/getOneViewScope.ts"],"sourcesContent":["import type { GetByIdQuery } from '../../../core'\nimport type { Campaign } from '../types'\n\n/** Query scope that includes all associations for a detailed campaign view. */\nexport function getOneViewScope(): GetByIdQuery<Campaign> {\n return {\n include: [\n 'service',\n 'tags',\n {\n model: 'messages',\n include: ['file', 'hsm', 'hsmFile'],\n },\n 'importFile',\n 'defaultDepartment',\n 'defaultUser',\n 'createdBy',\n 'sentBy',\n ],\n }\n}\n"],"mappings":";;AAIA,SAAgB,kBAA0C;AACxD,QAAO,EACL,SAAS;EACP;EACA;EACA;GACE,OAAO;GACP,SAAS;IAAC;IAAQ;IAAO;IAAU;GACpC;EACD;EACA;EACA;EACA;EACA;EACD,EACF"}
@@ -0,0 +1,21 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+ const require_chunk = require('../../../_chunks/chunk-Dk0Otj32.cjs');
3
+ const require_apis_campaigns_scopes_getOneViewScope = require('./getOneViewScope.cjs');
4
+ const require_apis_campaigns_scopes_getManyViewScope = require('./getManyViewScope.cjs');
5
+
6
+ //#region src/apis/campaigns/scopes/index.ts
7
+ var scopes_exports = /* @__PURE__ */ require_chunk.__exportAll({
8
+ getManyViewScope: () => require_apis_campaigns_scopes_getManyViewScope.getManyViewScope,
9
+ getOneViewScope: () => require_apis_campaigns_scopes_getOneViewScope.getOneViewScope
10
+ });
11
+
12
+ //#endregion
13
+ exports.getManyViewScope = require_apis_campaigns_scopes_getManyViewScope.getManyViewScope;
14
+ exports.getOneViewScope = require_apis_campaigns_scopes_getOneViewScope.getOneViewScope;
15
+ Object.defineProperty(exports, 'scopes_exports', {
16
+ enumerable: true,
17
+ get: function () {
18
+ return scopes_exports;
19
+ }
20
+ });
21
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","names":[],"sources":["../../../../src/apis/campaigns/scopes/index.ts"],"sourcesContent":["export { getOneViewScope } from './getOneViewScope'\nexport { getManyViewScope, type GetManyPaginatedFilters } from './getManyViewScope'\n"],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export { getOneViewScope } from './getOneViewScope';
2
+ export { getManyViewScope, type GetManyPaginatedFilters } from './getManyViewScope';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/apis/campaigns/scopes/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,KAAK,uBAAuB,EAAE,MAAM,oBAAoB,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { getOneViewScope } from "./getOneViewScope.mjs";
2
+ import { getManyViewScope } from "./getManyViewScope.mjs";
3
+
4
+ export { getManyViewScope, getOneViewScope };