@studyportals/campaign-management-api-interface 9.2.1-2 → 9.3.1-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 (20) hide show
  1. package/package.json +44 -44
  2. package/src/domain/campaign/enums/campaign-change-enum.d.ts +3 -1
  3. package/src/domain/campaign/enums/campaign-change-enum.js +2 -0
  4. package/src/domain/campaign/enums/campaign-change-enum.js.map +1 -1
  5. package/src/domain/campaign/saving/change/campaign-change.d.ts +2 -2
  6. package/src/domain/campaign/saving/change/extraction/changes-extractor.js +14 -1
  7. package/src/domain/campaign/saving/change/extraction/changes-extractor.js.map +1 -1
  8. package/src/domain/campaign/saving/change/extraction/link-organisations-change-extractor.d.ts +7 -0
  9. package/src/domain/campaign/saving/change/extraction/link-organisations-change-extractor.js +20 -0
  10. package/src/domain/campaign/saving/change/extraction/link-organisations-change-extractor.js.map +1 -0
  11. package/src/domain/campaign/saving/change/extraction/unlink-organisations-change-extractor.d.ts +7 -0
  12. package/src/domain/campaign/saving/change/extraction/unlink-organisations-change-extractor.js +20 -0
  13. package/src/domain/campaign/saving/change/extraction/unlink-organisations-change-extractor.js.map +1 -0
  14. package/src/domain/campaign/saving/change/type/index.d.ts +3 -1
  15. package/src/domain/campaign/saving/change/type/link-organisations-change.d.ts +5 -0
  16. package/src/domain/campaign/saving/change/type/link-organisations-change.js +3 -0
  17. package/src/domain/campaign/saving/change/type/link-organisations-change.js.map +1 -0
  18. package/src/domain/campaign/saving/change/type/unlink-organisations-change.d.ts +5 -0
  19. package/src/domain/campaign/saving/change/type/unlink-organisations-change.js +3 -0
  20. package/src/domain/campaign/saving/change/type/unlink-organisations-change.js.map +1 -0
package/package.json CHANGED
@@ -1,44 +1,44 @@
1
- {
2
- "name": "@studyportals/campaign-management-api-interface",
3
- "version": "9.2.1-2",
4
- "scripts": {
5
- "compile": "rm -fR bin && npx tsc",
6
- "test-u": "jest -c jest.config.unit.json --maxWorkers=1",
7
- "test-i": "nyc mocha src tests-i",
8
- "prepare-deployment": "npm run test-u && npm run compile && cp package.json bin/package.json && rm -fR bin/tests-u",
9
- "deploy": "npm run prepare-deployment && npm publish ./bin --access=public",
10
- "deploy-patch": "npm version patch && npm run deploy",
11
- "deploy-minor": "npm version minor && npm run deploy",
12
- "deploy-major": "npm version major && npm run deploy",
13
- "deploy-beta": "npm version prerelease && npm run prepare-deployment && npm publish ./bin --tag beta --access=public"
14
- },
15
- "author": "SPNightsWatch",
16
- "license": "ISC",
17
- "types": "bin/index.d.ts",
18
- "devDependencies": {
19
- "@studyportals/code-style": "^2.2.1",
20
- "@testdeck/jest": "^0.3.3",
21
- "@types/superagent": "^4.1.13",
22
- "chai": "^4.3.4",
23
- "eslint": "^8.33.0",
24
- "jest": "^29.4.2",
25
- "jest-mock-extended": "^3.0.1",
26
- "superagent": "^8.1.2",
27
- "superagent-mocker": "^0.5.2",
28
- "ts-jest": "^29.0.5",
29
- "ts-node": "^10.2.1",
30
- "typescript": "^5.5.4"
31
- },
32
- "dependencies": {
33
- "@studyportals/mb-platform-date-time": "^1.3.1",
34
- "@studyportals/mb-platform-http-requests": "^2.7.1",
35
- "@studyportals/university-scheduler-interface": "^0.7.0",
36
- "@types/chai": "^4.3.4",
37
- "@types/jest": "^29.4.0",
38
- "@types/node": "^16.9.4",
39
- "class-transformer": "^0.5.1",
40
- "class-validator": "^0.14.1",
41
- "inversify": "^6.0.1",
42
- "reflect-metadata": "^0.1.13"
43
- }
44
- }
1
+ {
2
+ "name": "@studyportals/campaign-management-api-interface",
3
+ "version": "9.3.1-0",
4
+ "scripts": {
5
+ "compile": "rm -fR bin && npx tsc",
6
+ "test-u": "jest -c jest.config.unit.json --maxWorkers=1",
7
+ "test-i": "nyc mocha src tests-i",
8
+ "prepare-deployment": "npm run test-u && npm run compile && cp package.json bin/package.json && rm -fR bin/tests-u",
9
+ "deploy": "npm run prepare-deployment && npm publish ./bin --access=public",
10
+ "deploy-patch": "npm version patch && npm run deploy",
11
+ "deploy-minor": "npm version minor && npm run deploy",
12
+ "deploy-major": "npm version major && npm run deploy",
13
+ "deploy-beta": "npm version prerelease && npm run prepare-deployment && npm publish ./bin --tag beta --access=public"
14
+ },
15
+ "author": "SPNightsWatch",
16
+ "license": "ISC",
17
+ "types": "bin/index.d.ts",
18
+ "devDependencies": {
19
+ "@studyportals/code-style": "^2.2.1",
20
+ "@testdeck/jest": "^0.3.3",
21
+ "@types/superagent": "^4.1.13",
22
+ "chai": "^4.3.4",
23
+ "eslint": "^8.33.0",
24
+ "jest": "^29.4.2",
25
+ "jest-mock-extended": "^3.0.1",
26
+ "superagent": "^8.1.2",
27
+ "superagent-mocker": "^0.5.2",
28
+ "ts-jest": "^29.0.5",
29
+ "ts-node": "^10.2.1",
30
+ "typescript": "^5.5.4"
31
+ },
32
+ "dependencies": {
33
+ "@studyportals/mb-platform-date-time": "^1.3.1",
34
+ "@studyportals/mb-platform-http-requests": "^2.7.1",
35
+ "@studyportals/university-scheduler-interface": "^0.7.0",
36
+ "@types/chai": "^4.3.4",
37
+ "@types/jest": "^29.4.0",
38
+ "@types/node": "^16.9.4",
39
+ "class-transformer": "^0.5.1",
40
+ "class-validator": "^0.14.1",
41
+ "inversify": "^6.0.1",
42
+ "reflect-metadata": "^0.1.13"
43
+ }
44
+ }
@@ -15,5 +15,7 @@ export declare enum CampaignChangeEnum {
15
15
  CUSTOM_PRODUCTS_BUDGET = "CustomProductsBudget",
16
16
  CAMPAIGN_LIFT_EXCLUDED = "CampaignLiftExcluded",
17
17
  ATTACH_ENTITIES = "AttachEntities",
18
- DETACH_ENTITIES = "DetachEntities"
18
+ DETACH_ENTITIES = "DetachEntities",
19
+ LINK_ORGANISATIONS = "LinkOrganisations",
20
+ UNLINK_ORGANISATIONS = "UnlinkOrganisations"
19
21
  }
@@ -20,5 +20,7 @@ var CampaignChangeEnum;
20
20
  CampaignChangeEnum["CAMPAIGN_LIFT_EXCLUDED"] = "CampaignLiftExcluded";
21
21
  CampaignChangeEnum["ATTACH_ENTITIES"] = "AttachEntities";
22
22
  CampaignChangeEnum["DETACH_ENTITIES"] = "DetachEntities";
23
+ CampaignChangeEnum["LINK_ORGANISATIONS"] = "LinkOrganisations";
24
+ CampaignChangeEnum["UNLINK_ORGANISATIONS"] = "UnlinkOrganisations";
23
25
  })(CampaignChangeEnum || (exports.CampaignChangeEnum = CampaignChangeEnum = {}));
24
26
  //# sourceMappingURL=campaign-change-enum.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"campaign-change-enum.js","sourceRoot":"","sources":["../../../../../src/domain/campaign/enums/campaign-change-enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,kBAkBX;AAlBD,WAAY,kBAAkB;IAC7B,8CAAwB,CAAA;IACxB,0CAAoB,CAAA;IACpB,mCAAa,CAAA;IACb,sCAAgB,CAAA;IAChB,uCAAiB,CAAA;IACjB,yCAAmB,CAAA;IACnB,wDAAkC,CAAA;IAClC,0DAAoC,CAAA;IACpC,sDAAgC,CAAA;IAChC,oDAA8B,CAAA;IAC9B,+DAAyC,CAAA;IACzC,qEAA+C,CAAA;IAC/C,qEAA+C,CAAA;IAC/C,qEAA+C,CAAA;IAC/C,qEAA+C,CAAA;IAC/C,wDAAkC,CAAA;IAClC,wDAAkC,CAAA;AACnC,CAAC,EAlBW,kBAAkB,kCAAlB,kBAAkB,QAkB7B"}
1
+ {"version":3,"file":"campaign-change-enum.js","sourceRoot":"","sources":["../../../../../src/domain/campaign/enums/campaign-change-enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,kBAoBX;AApBD,WAAY,kBAAkB;IAC7B,8CAAwB,CAAA;IACxB,0CAAoB,CAAA;IACpB,mCAAa,CAAA;IACb,sCAAgB,CAAA;IAChB,uCAAiB,CAAA;IACjB,yCAAmB,CAAA;IACnB,wDAAkC,CAAA;IAClC,0DAAoC,CAAA;IACpC,sDAAgC,CAAA;IAChC,oDAA8B,CAAA;IAC9B,+DAAyC,CAAA;IACzC,qEAA+C,CAAA;IAC/C,qEAA+C,CAAA;IAC/C,qEAA+C,CAAA;IAC/C,qEAA+C,CAAA;IAC/C,wDAAkC,CAAA;IAClC,wDAAkC,CAAA;IAClC,8DAAwC,CAAA;IACxC,kEAA4C,CAAA;AAC7C,CAAC,EApBW,kBAAkB,kCAAlB,kBAAkB,QAoB7B"}
@@ -1,2 +1,2 @@
1
- import { CampaignStartDateChange, CampaignEndDateChange, CampaignNameChange, CampaignCrmIdChange, CampaignRegionChange, CampaignHandlerChange, CampaignClientServicesChange, CampaignPartnershipTypeChange, CampaignListingBudgetChange, CampaignDeliveryModeChange, CampaignAddCustomProductsChange, CampaignUpdateCustomProductsChange, CampaignRemoveCustomProductsChange, CampaignCustomProductsBudgetChange, CampaignLiftExcludedChange, CampaignAttachEntitiesChange, CampaignDetachEntitiesChange } from "./type";
2
- export type CampaignChange = CampaignStartDateChange | CampaignEndDateChange | CampaignNameChange | CampaignCrmIdChange | CampaignRegionChange | CampaignHandlerChange | CampaignClientServicesChange | CampaignPartnershipTypeChange | CampaignListingBudgetChange | CampaignDeliveryModeChange | CampaignAddCustomProductsChange | CampaignUpdateCustomProductsChange | CampaignRemoveCustomProductsChange | CampaignCustomProductsBudgetChange | CampaignLiftExcludedChange | CampaignAttachEntitiesChange | CampaignDetachEntitiesChange;
1
+ import { CampaignStartDateChange, CampaignEndDateChange, CampaignNameChange, CampaignCrmIdChange, CampaignRegionChange, CampaignHandlerChange, CampaignClientServicesChange, CampaignPartnershipTypeChange, CampaignListingBudgetChange, CampaignDeliveryModeChange, CampaignAddCustomProductsChange, CampaignUpdateCustomProductsChange, CampaignRemoveCustomProductsChange, CampaignCustomProductsBudgetChange, CampaignLiftExcludedChange, CampaignAttachEntitiesChange, CampaignDetachEntitiesChange, CampaignUnlinkOrganisationsChange, CampaignLinkOrganisationsChange } from "./type";
2
+ export type CampaignChange = CampaignStartDateChange | CampaignEndDateChange | CampaignNameChange | CampaignCrmIdChange | CampaignRegionChange | CampaignHandlerChange | CampaignClientServicesChange | CampaignPartnershipTypeChange | CampaignListingBudgetChange | CampaignDeliveryModeChange | CampaignAddCustomProductsChange | CampaignUpdateCustomProductsChange | CampaignRemoveCustomProductsChange | CampaignCustomProductsBudgetChange | CampaignLiftExcludedChange | CampaignAttachEntitiesChange | CampaignDetachEntitiesChange | CampaignLinkOrganisationsChange | CampaignUnlinkOrganisationsChange;
@@ -11,12 +11,16 @@ const update_custom_products_change_extractor_1 = require("./update-custom-produ
11
11
  const remove_custom_products_change_extractor_1 = require("./remove-custom-products-change-extractor");
12
12
  const attach_entities_change_extractor_1 = require("./attach-entities-change-extractor");
13
13
  const detach_entities_change_extractor_1 = require("./detach-entities-change-extractor");
14
+ const link_organisations_change_extractor_1 = require("./link-organisations-change-extractor");
15
+ const unlink_organisations_change_extractor_1 = require("./unlink-organisations-change-extractor");
14
16
  class ChangesExtractor {
15
17
  static setupChangeExtractors(originalCampaignData, updatedCampaignData) {
16
18
  const { baseCampaignData: originalCampaign, customProducts: originalCustomProducts } = originalCampaignData;
17
19
  const { baseCampaignData: updatedCampaign, customProducts: updatedCustomProducts } = updatedCampaignData;
18
20
  const parsedUpdatedCustomProducts = this.parseCustomProductsDate(updatedCustomProducts);
19
21
  const parsedOriginalCustomProducts = this.parseCustomProductsDate(originalCustomProducts);
22
+ const originalOrganisationsIds = originalCampaign.linkedOrganisations.map(entity => entity.id);
23
+ const updatedOrganisationsIds = updatedCampaign.linkedOrganisations.map(entity => entity.id);
20
24
  return [
21
25
  new date_change_extractor_1.DateChangeExtractor(originalCampaign.startDate, updatedCampaign.startDate, __1.CampaignChangeEnum.START_DATE),
22
26
  new date_change_extractor_1.DateChangeExtractor(originalCampaign.endDate, updatedCampaign.endDate, __1.CampaignChangeEnum.END_DATE),
@@ -34,7 +38,9 @@ class ChangesExtractor {
34
38
  new remove_custom_products_change_extractor_1.RemoveCustomProductsChangeExtractor(parsedOriginalCustomProducts, parsedUpdatedCustomProducts),
35
39
  new simple_value_change_extractor_1.SimpleValueChangeExtractor(originalCampaign.isExcludedFromCampaignLift, updatedCampaign.isExcludedFromCampaignLift, __1.CampaignChangeEnum.CAMPAIGN_LIFT_EXCLUDED),
36
40
  new attach_entities_change_extractor_1.AttachEntitiesChangeExtractor(originalCampaignData.campaignListingEntities, updatedCampaignData.campaignListingEntities),
37
- new detach_entities_change_extractor_1.DetachEntitiesChangeExtractor(originalCampaignData.campaignListingEntities, updatedCampaignData.campaignListingEntities)
41
+ new detach_entities_change_extractor_1.DetachEntitiesChangeExtractor(originalCampaignData.campaignListingEntities, updatedCampaignData.campaignListingEntities),
42
+ new link_organisations_change_extractor_1.LinkOrganisationsChangeExtractor(originalOrganisationsIds, updatedOrganisationsIds),
43
+ new unlink_organisations_change_extractor_1.UnlinkOrganisationsChangeExtractor(originalOrganisationsIds, updatedOrganisationsIds)
38
44
  ];
39
45
  }
40
46
  static extractChangesFromDifference(originalCampaignData, updatedCampaignData) {
@@ -60,6 +66,13 @@ class ChangesExtractor {
60
66
  throw new Error("Cannot have attach/detach entities changes together with other changes.");
61
67
  }
62
68
  }
69
+ if (changeTypes.has(__1.CampaignChangeEnum.LINK_ORGANISATIONS) || changeTypes.has(__1.CampaignChangeEnum.UNLINK_ORGANISATIONS)) {
70
+ const noOtherChangesArePresent = changes.every(change => change.type === __1.CampaignChangeEnum.LINK_ORGANISATIONS ||
71
+ change.type === __1.CampaignChangeEnum.UNLINK_ORGANISATIONS);
72
+ if (!noOtherChangesArePresent) {
73
+ throw new Error("Cannot have link/unlink organisations changes together with other changes.");
74
+ }
75
+ }
63
76
  }
64
77
  static parseCustomProductsDate(customProducts) {
65
78
  return customProducts.map(product => this.parseCustomProductDate(product));
@@ -1 +1 @@
1
- {"version":3,"file":"changes-extractor.js","sourceRoot":"","sources":["../../../../../../../src/domain/campaign/saving/change/extraction/changes-extractor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"changes-extractor.js","sourceRoot":"","sources":["../../../../../../../src/domain/campaign/saving/change/extraction/changes-extractor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { CampaignLinkOrganisationsChange } from "../../..";
2
+ export declare class LinkOrganisationsChangeExtractor {
3
+ private readonly toLinkOrganisationsIds;
4
+ constructor(originalLinkedOrganisations: number[], updatedLinkedOrganisations: number[]);
5
+ isDifferent(): boolean;
6
+ produceChange(): CampaignLinkOrganisationsChange;
7
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LinkOrganisationsChangeExtractor = void 0;
4
+ const __1 = require("../../..");
5
+ class LinkOrganisationsChangeExtractor {
6
+ constructor(originalLinkedOrganisations, updatedLinkedOrganisations) {
7
+ this.toLinkOrganisationsIds = updatedLinkedOrganisations.filter((id) => !originalLinkedOrganisations.some((updatedId) => updatedId === id));
8
+ }
9
+ isDifferent() {
10
+ return this.toLinkOrganisationsIds.length > 0;
11
+ }
12
+ produceChange() {
13
+ return {
14
+ type: __1.CampaignChangeEnum.LINK_ORGANISATIONS,
15
+ value: this.toLinkOrganisationsIds
16
+ };
17
+ }
18
+ }
19
+ exports.LinkOrganisationsChangeExtractor = LinkOrganisationsChangeExtractor;
20
+ //# sourceMappingURL=link-organisations-change-extractor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"link-organisations-change-extractor.js","sourceRoot":"","sources":["../../../../../../../src/domain/campaign/saving/change/extraction/link-organisations-change-extractor.ts"],"names":[],"mappings":";;;AAAA,gCAA+E;AAE/E,MAAa,gCAAgC;IAG5C,YACC,2BAAqC,EACrC,0BAAoC;QAEpC,IAAI,CAAC,sBAAsB,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CACtE,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,KAAK,EAAE,CAAC,CAClE,CAAC;IACH,CAAC;IAED,WAAW;QACV,OAAO,IAAI,CAAC,sBAAsB,CAAC,MAAM,GAAG,CAAC,CAAC;IAC/C,CAAC;IAED,aAAa;QACZ,OAAO;YACN,IAAI,EAAE,sBAAkB,CAAC,kBAAkB;YAC3C,KAAK,EAAE,IAAI,CAAC,sBAAsB;SAClC,CAAC;IACH,CAAC;CAGD;AAxBD,4EAwBC"}
@@ -0,0 +1,7 @@
1
+ import { CampaignUnlinkOrganisationsChange } from "../../..";
2
+ export declare class UnlinkOrganisationsChangeExtractor {
3
+ private readonly unlinkOrganisationsIds;
4
+ constructor(originalLinkedOrganisations: number[], updatedLinkedOrganisations: number[]);
5
+ isDifferent(): boolean;
6
+ produceChange(): CampaignUnlinkOrganisationsChange;
7
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UnlinkOrganisationsChangeExtractor = void 0;
4
+ const __1 = require("../../..");
5
+ class UnlinkOrganisationsChangeExtractor {
6
+ constructor(originalLinkedOrganisations, updatedLinkedOrganisations) {
7
+ this.unlinkOrganisationsIds = originalLinkedOrganisations.filter((id) => !updatedLinkedOrganisations.some((updatedId) => updatedId === id));
8
+ }
9
+ isDifferent() {
10
+ return this.unlinkOrganisationsIds.length > 0;
11
+ }
12
+ produceChange() {
13
+ return {
14
+ type: __1.CampaignChangeEnum.UNLINK_ORGANISATIONS,
15
+ value: this.unlinkOrganisationsIds
16
+ };
17
+ }
18
+ }
19
+ exports.UnlinkOrganisationsChangeExtractor = UnlinkOrganisationsChangeExtractor;
20
+ //# sourceMappingURL=unlink-organisations-change-extractor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unlink-organisations-change-extractor.js","sourceRoot":"","sources":["../../../../../../../src/domain/campaign/saving/change/extraction/unlink-organisations-change-extractor.ts"],"names":[],"mappings":";;;AAAA,gCAAiF;AAEjF,MAAa,kCAAkC;IAG9C,YACC,2BAAqC,EACrC,0BAAoC;QAEpC,IAAI,CAAC,sBAAsB,GAAG,2BAA2B,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CACvE,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,KAAK,EAAE,CAAC,CACjE,CAAC;IACH,CAAC;IAED,WAAW;QACV,OAAO,IAAI,CAAC,sBAAsB,CAAC,MAAM,GAAG,CAAC,CAAC;IAC/C,CAAC;IAED,aAAa;QACZ,OAAO;YACN,IAAI,EAAE,sBAAkB,CAAC,oBAAoB;YAC7C,KAAK,EAAE,IAAI,CAAC,sBAAsB;SAClC,CAAC;IACH,CAAC;CAGD;AAxBD,gFAwBC"}
@@ -15,4 +15,6 @@ import { CampaignUpdateCustomProductsChange } from "./update-custom-products-cha
15
15
  import { CampaignLiftExcludedChange } from "./campaign-lift-excluded-change";
16
16
  import { CampaignAttachEntitiesChange } from "./attach-entities-change";
17
17
  import { CampaignDetachEntitiesChange } from "./detach-entities-change";
18
- export { CampaignEndDateChange, CampaignStartDateChange, CampaignNameChange, CampaignCrmIdChange, CampaignRegionChange, CampaignHandlerChange, CampaignClientServicesChange, CampaignPartnershipTypeChange, CampaignListingBudgetChange, CampaignDeliveryModeChange, CampaignAddCustomProductsChange, CampaignUpdateCustomProductsChange, CampaignRemoveCustomProductsChange, CampaignCustomProductsBudgetChange, CampaignLiftExcludedChange, CampaignAttachEntitiesChange, CampaignDetachEntitiesChange, };
18
+ import { CampaignLinkOrganisationsChange } from "./link-organisations-change";
19
+ import { CampaignUnlinkOrganisationsChange } from "./unlink-organisations-change";
20
+ export { CampaignEndDateChange, CampaignStartDateChange, CampaignNameChange, CampaignCrmIdChange, CampaignRegionChange, CampaignHandlerChange, CampaignClientServicesChange, CampaignPartnershipTypeChange, CampaignListingBudgetChange, CampaignDeliveryModeChange, CampaignAddCustomProductsChange, CampaignUpdateCustomProductsChange, CampaignRemoveCustomProductsChange, CampaignCustomProductsBudgetChange, CampaignLiftExcludedChange, CampaignAttachEntitiesChange, CampaignDetachEntitiesChange, CampaignLinkOrganisationsChange, CampaignUnlinkOrganisationsChange };
@@ -0,0 +1,5 @@
1
+ import { CampaignChangeEnum } from "../../../enums/campaign-change-enum";
2
+ export type CampaignLinkOrganisationsChange = {
3
+ type: CampaignChangeEnum.LINK_ORGANISATIONS;
4
+ value: number[];
5
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=link-organisations-change.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"link-organisations-change.js","sourceRoot":"","sources":["../../../../../../../src/domain/campaign/saving/change/type/link-organisations-change.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import { CampaignChangeEnum } from "../../../enums/campaign-change-enum";
2
+ export type CampaignUnlinkOrganisationsChange = {
3
+ type: CampaignChangeEnum.UNLINK_ORGANISATIONS;
4
+ value: number[];
5
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=unlink-organisations-change.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unlink-organisations-change.js","sourceRoot":"","sources":["../../../../../../../src/domain/campaign/saving/change/type/unlink-organisations-change.ts"],"names":[],"mappings":""}