@studyportals/campaign-management-api-interface 16.2.1 → 16.3.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.
- package/index.d.ts +3 -1
- package/index.js +3 -1
- package/index.js.map +1 -1
- package/package.json +1 -1
- package/src/domain/types/scheduler/campaign-start-payload.d.ts +7 -0
- package/src/domain/types/scheduler/campaign-start-payload.js +3 -0
- package/src/domain/types/scheduler/campaign-start-payload.js.map +1 -0
- package/src/domain/types/scheduler/index.d.ts +3 -0
- package/src/domain/types/scheduler/index.js +3 -0
- package/src/domain/types/scheduler/index.js.map +1 -0
- package/src/domain/types/scheduler/scheduler-geo-entity.d.ts +5 -0
- package/src/domain/types/scheduler/scheduler-geo-entity.js +3 -0
- package/src/domain/types/scheduler/scheduler-geo-entity.js.map +1 -0
- package/src/domain/types/scheduler/scheduler-pricing-entity.d.ts +5 -0
- package/src/domain/types/scheduler/scheduler-pricing-entity.js +3 -0
- package/src/domain/types/scheduler/scheduler-pricing-entity.js.map +1 -0
- package/src/private-campaign-management-api.client.d.ts +27 -0
- package/src/private-campaign-management-api.client.js +27 -0
- package/src/private-campaign-management-api.client.js.map +1 -1
- package/src/university-scheduler-cma.client.d.ts +36 -0
- package/src/university-scheduler-cma.client.js +83 -0
- package/src/university-scheduler-cma.client.js.map +1 -0
package/index.d.ts
CHANGED
|
@@ -22,8 +22,10 @@ import { CampaignEditorFrontendStatusDto, StatusHealthy, StatusBlocked } from ".
|
|
|
22
22
|
import { PrivateUserCampaignManagementAPIClient } from "./src/private-user-campaign-management-api.client";
|
|
23
23
|
import { IdDto } from "./src/domain/id.dto";
|
|
24
24
|
import { GeotarginatorFrontCMAClient } from "./src/geotarginator-front-cma-client";
|
|
25
|
+
import { UniversitySchedulerCMAClient } from "./src/university-scheduler-cma.client";
|
|
25
26
|
import { groupEntityConfigs, flattenEntityConfigs } from "./src/utils/entity-configs";
|
|
26
27
|
import { SaveCampaignGeotargetingRequest, GeotargetingEntity, TargetedCountries, EntityConfigsGroup, FlatEntityConfig } from "./src/domain/types/geotarginator";
|
|
28
|
+
import { CampaignStartPayload, SchedulerGeoEntity, SchedulerPricingEntity } from "./src/domain/types/scheduler";
|
|
27
29
|
export * from "./src/domain/campaign";
|
|
28
30
|
export * from "./src/domain/users";
|
|
29
31
|
export * from "./src/validation";
|
|
@@ -31,4 +33,4 @@ export * from "./src/domain/organisations";
|
|
|
31
33
|
export * from "./src/domain/products";
|
|
32
34
|
export * from "./src/domain/degrees";
|
|
33
35
|
export * from "./src/campaign-saving";
|
|
34
|
-
export { AuditorCampaignManagementAPIClient, OrganisationsCampaignManagementAPIClient, CampaignManagementAPIClient, PrivateCampaignManagementAPIClient, PrivateUserCampaignManagementAPIClient, UserCampaignManagementAPIClient, StudyCampaignManagementAPIClient, LinksCampaignManagementAPIClient, ProductsCampaignManagementAPIClient, PublicStatusClient, GeotarginatorFrontCMAClient, AuditorEntityType, AuditorOperation, LinkType, LinkEntityType, SwappingEnabledLinkTypes, GetAuditorDto, PersistGoogleLinkerResultDto, IdDto, CampaignsEntitiesConfigDto, MinimalOrganisationDto, CampaignEditorFrontendStatusDto, StatusHealthy, StatusBlocked, SaveCampaignGeotargetingRequest, GeotargetingEntity, TargetedCountries, EntityConfigsGroup, FlatEntityConfig, groupEntityConfigs, flattenEntityConfigs, NumberMap, Pricing, ICampaignAuditorData, SuperAgentResponseCover };
|
|
36
|
+
export { AuditorCampaignManagementAPIClient, OrganisationsCampaignManagementAPIClient, CampaignManagementAPIClient, PrivateCampaignManagementAPIClient, PrivateUserCampaignManagementAPIClient, UserCampaignManagementAPIClient, StudyCampaignManagementAPIClient, LinksCampaignManagementAPIClient, ProductsCampaignManagementAPIClient, PublicStatusClient, GeotarginatorFrontCMAClient, UniversitySchedulerCMAClient, AuditorEntityType, AuditorOperation, LinkType, LinkEntityType, SwappingEnabledLinkTypes, GetAuditorDto, PersistGoogleLinkerResultDto, IdDto, CampaignsEntitiesConfigDto, MinimalOrganisationDto, CampaignEditorFrontendStatusDto, StatusHealthy, StatusBlocked, SaveCampaignGeotargetingRequest, GeotargetingEntity, TargetedCountries, EntityConfigsGroup, FlatEntityConfig, groupEntityConfigs, flattenEntityConfigs, CampaignStartPayload, SchedulerGeoEntity, SchedulerPricingEntity, NumberMap, Pricing, ICampaignAuditorData, SuperAgentResponseCover };
|
package/index.js
CHANGED
|
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.Pricing = exports.flattenEntityConfigs = exports.groupEntityConfigs = exports.MinimalOrganisationDto = exports.CampaignsEntitiesConfigDto = exports.IdDto = exports.PersistGoogleLinkerResultDto = exports.GetAuditorDto = exports.SwappingEnabledLinkTypes = exports.LinkEntityType = exports.LinkType = exports.AuditorOperation = exports.AuditorEntityType = exports.GeotarginatorFrontCMAClient = exports.PublicStatusClient = exports.ProductsCampaignManagementAPIClient = exports.LinksCampaignManagementAPIClient = exports.StudyCampaignManagementAPIClient = exports.UserCampaignManagementAPIClient = exports.PrivateUserCampaignManagementAPIClient = exports.PrivateCampaignManagementAPIClient = exports.CampaignManagementAPIClient = exports.OrganisationsCampaignManagementAPIClient = exports.AuditorCampaignManagementAPIClient = void 0;
|
|
17
|
+
exports.Pricing = exports.flattenEntityConfigs = exports.groupEntityConfigs = exports.MinimalOrganisationDto = exports.CampaignsEntitiesConfigDto = exports.IdDto = exports.PersistGoogleLinkerResultDto = exports.GetAuditorDto = exports.SwappingEnabledLinkTypes = exports.LinkEntityType = exports.LinkType = exports.AuditorOperation = exports.AuditorEntityType = exports.UniversitySchedulerCMAClient = exports.GeotarginatorFrontCMAClient = exports.PublicStatusClient = exports.ProductsCampaignManagementAPIClient = exports.LinksCampaignManagementAPIClient = exports.StudyCampaignManagementAPIClient = exports.UserCampaignManagementAPIClient = exports.PrivateUserCampaignManagementAPIClient = exports.PrivateCampaignManagementAPIClient = exports.CampaignManagementAPIClient = exports.OrganisationsCampaignManagementAPIClient = exports.AuditorCampaignManagementAPIClient = void 0;
|
|
18
18
|
const auditor_campaign_management_api_client_1 = require("./src/auditor-campaign-management-api.client");
|
|
19
19
|
Object.defineProperty(exports, "AuditorCampaignManagementAPIClient", { enumerable: true, get: function () { return auditor_campaign_management_api_client_1.AuditorCampaignManagementAPIClient; } });
|
|
20
20
|
const organisations_campaign_management_api_client_1 = require("./src/organisations-campaign-management-api.client");
|
|
@@ -59,6 +59,8 @@ const id_dto_1 = require("./src/domain/id.dto");
|
|
|
59
59
|
Object.defineProperty(exports, "IdDto", { enumerable: true, get: function () { return id_dto_1.IdDto; } });
|
|
60
60
|
const geotarginator_front_cma_client_1 = require("./src/geotarginator-front-cma-client");
|
|
61
61
|
Object.defineProperty(exports, "GeotarginatorFrontCMAClient", { enumerable: true, get: function () { return geotarginator_front_cma_client_1.GeotarginatorFrontCMAClient; } });
|
|
62
|
+
const university_scheduler_cma_client_1 = require("./src/university-scheduler-cma.client");
|
|
63
|
+
Object.defineProperty(exports, "UniversitySchedulerCMAClient", { enumerable: true, get: function () { return university_scheduler_cma_client_1.UniversitySchedulerCMAClient; } });
|
|
62
64
|
const entity_configs_1 = require("./src/utils/entity-configs");
|
|
63
65
|
Object.defineProperty(exports, "groupEntityConfigs", { enumerable: true, get: function () { return entity_configs_1.groupEntityConfigs; } });
|
|
64
66
|
Object.defineProperty(exports, "flattenEntityConfigs", { enumerable: true, get: function () { return entity_configs_1.flattenEntityConfigs; } });
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,yGAAkG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,yGAAkG;AAiDjG,mHAjDQ,2EAAkC,OAiDR;AAhDnC,qHAA8G;AAiD7G,yHAjDQ,uFAAwC,OAiDR;AAhDzC,yFAAmF;AAiDlF,4GAjDQ,4DAA2B,OAiDR;AAhD5B,kGAAwF;AA4DvF,kGA5DQ,4CAAiB,OA4DR;AA3DlB,8FAAqF;AA4DpF,iGA5DQ,yCAAgB,OA4DR;AA3DjB,0EAAqE;AAiEpE,8FAjEQ,+BAAa,OAiER;AAhEd,qGAAgG;AAqE/F,2GArEQ,yDAA0B,OAqER;AApE3B,gGAAgH;AA+F/G,wFA/FmB,+BAAO,OA+FnB;AA9FR,yGAAkG;AA4CjG,mHA5CQ,2EAAkC,OA4CR;AA3CnC,mGAA4F;AA6C3F,gHA7CQ,qEAA+B,OA6CR;AA5ChC,qGAA8F;AA6C7F,iHA7CQ,uEAAgC,OA6CR;AA5CjC,oGAA8F;AAmE7F,uGAnEQ,kDAAsB,OAmER;AAlEvB,8EAAqE;AAqDpE,yFArDQ,yBAAQ,OAqDR;AApDT,6GAAsG;AA0DrG,6GA1DQ,+DAA4B,OA0DR;AAzD7B,oFAA0E;AAoDzE,+FApDQ,sCAAc,OAoDR;AAnDf,qGAA8F;AAyC7F,iHAzCQ,uEAAgC,OAyCR;AAxCjC,0GAA+F;AAmD9F,yGAnDQ,2DAAwB,OAmDR;AAjDzB,2GAAoG;AAuCnG,oHAvCQ,6EAAmC,OAuCR;AAtCpC,qEAAgE;AAuC/D,mGAvCQ,yCAAkB,OAuCR;AArCnB,mHAA2G;AAgC1G,uHAhCQ,oFAAsC,OAgCR;AA/BvC,gDAA4C;AAkD3C,sFAlDQ,cAAK,OAkDR;AAjDN,yFAAmF;AAoClF,4GApCQ,4DAA2B,OAoCR;AAnC5B,2FAAqF;AAoCpF,6GApCQ,8DAA4B,OAoCR;AAnC7B,+DAAsF;AAoErF,mGApEQ,mCAAkB,OAoER;AAClB,qGArE4B,qCAAoB,OAqE5B;AAvDrB,wDAAsC;AACtC,qDAAmC;AACnC,mDAAiC;AACjC,6DAA2C;AAC3C,wDAAsC;AACtC,uDAAqC;AACrC,wDAAsC"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { SchedulerGeoEntity } from "./scheduler-geo-entity";
|
|
2
|
+
import { SchedulerPricingEntity } from "./scheduler-pricing-entity";
|
|
3
|
+
export type CampaignStartPayload = {
|
|
4
|
+
organisations: SchedulerGeoEntity[];
|
|
5
|
+
studies: SchedulerGeoEntity[];
|
|
6
|
+
pricing: SchedulerPricingEntity[];
|
|
7
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"campaign-start-payload.js","sourceRoot":"","sources":["../../../../../src/domain/types/scheduler/campaign-start-payload.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/domain/types/scheduler/index.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scheduler-geo-entity.js","sourceRoot":"","sources":["../../../../../src/domain/types/scheduler/scheduler-geo-entity.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scheduler-pricing-entity.js","sourceRoot":"","sources":["../../../../../src/domain/types/scheduler/scheduler-pricing-entity.ts"],"names":[],"mappings":""}
|
|
@@ -9,12 +9,39 @@ export declare class PrivateCampaignManagementAPIClient {
|
|
|
9
9
|
private readonly baseUrl;
|
|
10
10
|
constructor(superAgentRequestFactory: ISuperAgentRequestFactory, requestSender: SignedRequestSender, baseUrl: string);
|
|
11
11
|
getCampaignsByIds(campaignIDs: number[]): Promise<CampaignWithDates[]>;
|
|
12
|
+
/**
|
|
13
|
+
* @deprecated Use {@link UniversitySchedulerCMAClient.startCampaign} instead.
|
|
14
|
+
* Pricing config management is handled internally by CMA as part of the consolidated start flow.
|
|
15
|
+
*/
|
|
12
16
|
addCampaignsEntitiesConfigs(campaignID: number, campaignsEntitiesConfigs: CampaignsEntitiesConfigDto[]): Promise<void>;
|
|
17
|
+
/**
|
|
18
|
+
* @deprecated Don't use the function at all. No replacement available.
|
|
19
|
+
*/
|
|
13
20
|
removeCampaignsEntitiesConfigsByID(campaignID: number, campaignsEntitiesConfigsIDs: number[]): Promise<void>;
|
|
21
|
+
/**
|
|
22
|
+
* @deprecated Use {@link UniversitySchedulerCMAClient.startCampaign} or {@link UniversitySchedulerCMAClient.endCampaign} instead.
|
|
23
|
+
* Pricing config clearing is handled internally by CMA as part of the consolidated start/end flows.
|
|
24
|
+
*/
|
|
14
25
|
clearCampaignsEntitiesConfigsByCampaignID(campaignID: number): Promise<void>;
|
|
26
|
+
/**
|
|
27
|
+
* @deprecated Use {@link UniversitySchedulerCMAClient.endCampaign} instead.
|
|
28
|
+
* Setting entities basic is handled internally by CMA as part of the consolidated end flow.
|
|
29
|
+
*/
|
|
15
30
|
setEntitiesBasic(campaignID: number, organisationIDs: number[], studyIDs: number[]): Promise<void>;
|
|
31
|
+
/**
|
|
32
|
+
* @deprecated Use {@link UniversitySchedulerCMAClient.startCampaign} instead.
|
|
33
|
+
* Setting entities premium is handled internally by CMA as part of the consolidated start flow.
|
|
34
|
+
*/
|
|
16
35
|
setEntitiesPremium(campaignID: number, organisationIDs: number[], studyIDs: number[]): Promise<void>;
|
|
36
|
+
/**
|
|
37
|
+
* @deprecated Use {@link UniversitySchedulerCMAClient.startCampaign} instead.
|
|
38
|
+
* Google Linker handling is done internally by CMA as part of the consolidated start flow.
|
|
39
|
+
*/
|
|
17
40
|
getCampaignPersistGoogleLinkerProperty(campaignID: number): Promise<PersistGoogleLinkerResultDto>;
|
|
41
|
+
/**
|
|
42
|
+
* @deprecated Use {@link UniversitySchedulerCMAClient.startCampaign} or {@link UniversitySchedulerCMAClient.endCampaign} instead.
|
|
43
|
+
* Google Linker handling is done internally by CMA as part of the consolidated start/end flows.
|
|
44
|
+
*/
|
|
18
45
|
setEntitiesPersistGoogleLinkerProperty(organisationIds: number[], studyIds: number[], persistGoogleLinkerValue: boolean): Promise<void>;
|
|
19
46
|
getActiveCampaignIds(): Promise<number[]>;
|
|
20
47
|
getActiveAndSoonToBeActiveCampaigns(): Promise<number[]>;
|
|
@@ -27,6 +27,10 @@ let PrivateCampaignManagementAPIClient = class PrivateCampaignManagementAPIClien
|
|
|
27
27
|
const result = await this.postRequest(path, data);
|
|
28
28
|
return result.body;
|
|
29
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* @deprecated Use {@link UniversitySchedulerCMAClient.startCampaign} instead.
|
|
32
|
+
* Pricing config management is handled internally by CMA as part of the consolidated start flow.
|
|
33
|
+
*/
|
|
30
34
|
async addCampaignsEntitiesConfigs(campaignID, campaignsEntitiesConfigs) {
|
|
31
35
|
const path = `private/campaigns/add-campaigns-entities-configs`;
|
|
32
36
|
const data = {
|
|
@@ -35,16 +39,27 @@ let PrivateCampaignManagementAPIClient = class PrivateCampaignManagementAPIClien
|
|
|
35
39
|
};
|
|
36
40
|
await this.postRequest(path, data);
|
|
37
41
|
}
|
|
42
|
+
/**
|
|
43
|
+
* @deprecated Don't use the function at all. No replacement available.
|
|
44
|
+
*/
|
|
38
45
|
async removeCampaignsEntitiesConfigsByID(campaignID, campaignsEntitiesConfigsIDs) {
|
|
39
46
|
const path = `private/campaigns/remove-campaigns-entities-configs`;
|
|
40
47
|
const data = { campaignsEntitiesConfigsIDs: campaignsEntitiesConfigsIDs, campaignID: campaignID };
|
|
41
48
|
await this.postRequest(path, data);
|
|
42
49
|
}
|
|
50
|
+
/**
|
|
51
|
+
* @deprecated Use {@link UniversitySchedulerCMAClient.startCampaign} or {@link UniversitySchedulerCMAClient.endCampaign} instead.
|
|
52
|
+
* Pricing config clearing is handled internally by CMA as part of the consolidated start/end flows.
|
|
53
|
+
*/
|
|
43
54
|
async clearCampaignsEntitiesConfigsByCampaignID(campaignID) {
|
|
44
55
|
const path = `private/campaigns/clear-campaigns-entities-configs`;
|
|
45
56
|
const data = { campaignID: campaignID };
|
|
46
57
|
await this.postRequest(path, data);
|
|
47
58
|
}
|
|
59
|
+
/**
|
|
60
|
+
* @deprecated Use {@link UniversitySchedulerCMAClient.endCampaign} instead.
|
|
61
|
+
* Setting entities basic is handled internally by CMA as part of the consolidated end flow.
|
|
62
|
+
*/
|
|
48
63
|
async setEntitiesBasic(campaignID, organisationIDs, studyIDs) {
|
|
49
64
|
const path = `private/campaigns/set-entities-basic`;
|
|
50
65
|
const data = {
|
|
@@ -54,6 +69,10 @@ let PrivateCampaignManagementAPIClient = class PrivateCampaignManagementAPIClien
|
|
|
54
69
|
};
|
|
55
70
|
await this.postRequest(path, data);
|
|
56
71
|
}
|
|
72
|
+
/**
|
|
73
|
+
* @deprecated Use {@link UniversitySchedulerCMAClient.startCampaign} instead.
|
|
74
|
+
* Setting entities premium is handled internally by CMA as part of the consolidated start flow.
|
|
75
|
+
*/
|
|
57
76
|
async setEntitiesPremium(campaignID, organisationIDs, studyIDs) {
|
|
58
77
|
const path = `private/campaigns/set-entities-premium`;
|
|
59
78
|
const data = {
|
|
@@ -63,9 +82,17 @@ let PrivateCampaignManagementAPIClient = class PrivateCampaignManagementAPIClien
|
|
|
63
82
|
};
|
|
64
83
|
await this.postRequest(path, data);
|
|
65
84
|
}
|
|
85
|
+
/**
|
|
86
|
+
* @deprecated Use {@link UniversitySchedulerCMAClient.startCampaign} instead.
|
|
87
|
+
* Google Linker handling is done internally by CMA as part of the consolidated start flow.
|
|
88
|
+
*/
|
|
66
89
|
async getCampaignPersistGoogleLinkerProperty(campaignID) {
|
|
67
90
|
return await this.getRequest(`private/campaigns/${campaignID}/get-persist-google-linker`);
|
|
68
91
|
}
|
|
92
|
+
/**
|
|
93
|
+
* @deprecated Use {@link UniversitySchedulerCMAClient.startCampaign} or {@link UniversitySchedulerCMAClient.endCampaign} instead.
|
|
94
|
+
* Google Linker handling is done internally by CMA as part of the consolidated start/end flows.
|
|
95
|
+
*/
|
|
69
96
|
async setEntitiesPersistGoogleLinkerProperty(organisationIds, studyIds, persistGoogleLinkerValue) {
|
|
70
97
|
const path = `private/campaigns/set-entities-persist-google-linker`;
|
|
71
98
|
const data = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"private-campaign-management-api.client.js","sourceRoot":"","sources":["../../src/private-campaign-management-api.client.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4BAA0B;AAG1B,yCAAuC;AAEvC,uFAAyG;AAKlG,IAAM,kCAAkC,GAAxC,MAAM,kCAAkC;IAC9C,YACkB,wBAAmD,EACnD,aAAkC,EAClC,OAAe;QAFf,6BAAwB,GAAxB,wBAAwB,CAA2B;QACnD,kBAAa,GAAb,aAAa,CAAqB;QAClC,YAAO,GAAP,OAAO,CAAQ;IAC7B,CAAC;IAEE,KAAK,CAAC,iBAAiB,CAAC,WAAqB;QACnD,MAAM,IAAI,GAAG,wCAAwC,CAAC;QACtD,MAAM,IAAI,GAAG;YACZ,WAAW,EAAE,WAAW;SACxB,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAClD,OAAO,MAAM,CAAC,IAA2B,CAAC;IAC3C,CAAC;
|
|
1
|
+
{"version":3,"file":"private-campaign-management-api.client.js","sourceRoot":"","sources":["../../src/private-campaign-management-api.client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import "reflect-metadata";
|
|
2
|
+
import { CampaignStartPayload } from "./domain/types/scheduler/campaign-start-payload";
|
|
3
|
+
export declare class UniversitySchedulerCMAClient {
|
|
4
|
+
private readonly baseUrl;
|
|
5
|
+
constructor(baseUrl: string);
|
|
6
|
+
/**
|
|
7
|
+
* Postpone a campaign by setting its start date to tomorrow.
|
|
8
|
+
* CMA calculates the date internally.
|
|
9
|
+
*
|
|
10
|
+
* @param campaignID - The campaign ID.
|
|
11
|
+
*/
|
|
12
|
+
postponeTheCampaign(campaignID: number): Promise<void>;
|
|
13
|
+
/**
|
|
14
|
+
* Set a canceled campaign's end date to today.
|
|
15
|
+
* CMA calculates the date internally.
|
|
16
|
+
*
|
|
17
|
+
* @param campaignID - The campaign ID.
|
|
18
|
+
*/
|
|
19
|
+
setEndDateToToday(campaignID: number): Promise<void>;
|
|
20
|
+
/**
|
|
21
|
+
* Start a campaign — apply geo-targeting, set pricing, set premium, apply Google Linker, and audit.
|
|
22
|
+
*
|
|
23
|
+
* @param campaignID - The campaign ID.
|
|
24
|
+
* @param payload - Geo-targeting and pricing data from the scheduled start event.
|
|
25
|
+
*/
|
|
26
|
+
startCampaign(campaignID: number, payload: CampaignStartPayload): Promise<void>;
|
|
27
|
+
/**
|
|
28
|
+
* End a campaign — reset Google Linker, clear geo-targeting, set entities basic, clear pricing configs, and audit.
|
|
29
|
+
* CMA resolves all entity IDs internally — no request body needed.
|
|
30
|
+
*
|
|
31
|
+
* @param campaignID - The campaign ID.
|
|
32
|
+
*/
|
|
33
|
+
endCampaign(campaignID: number): Promise<void>;
|
|
34
|
+
private buildUrl;
|
|
35
|
+
private signedPostRequest;
|
|
36
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.UniversitySchedulerCMAClient = void 0;
|
|
13
|
+
require("reflect-metadata");
|
|
14
|
+
const inversify_1 = require("inversify");
|
|
15
|
+
const aws_request_signer_1 = require("./helper/aws-request-signer");
|
|
16
|
+
let UniversitySchedulerCMAClient = class UniversitySchedulerCMAClient {
|
|
17
|
+
constructor(baseUrl) {
|
|
18
|
+
this.baseUrl = baseUrl;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Postpone a campaign by setting its start date to tomorrow.
|
|
22
|
+
* CMA calculates the date internally.
|
|
23
|
+
*
|
|
24
|
+
* @param campaignID - The campaign ID.
|
|
25
|
+
*/
|
|
26
|
+
async postponeTheCampaign(campaignID) {
|
|
27
|
+
const url = this.buildUrl(`private/campaigns/${campaignID}/set-start-date-to-tomorrow`);
|
|
28
|
+
await this.signedPostRequest(url, {});
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Set a canceled campaign's end date to today.
|
|
32
|
+
* CMA calculates the date internally.
|
|
33
|
+
*
|
|
34
|
+
* @param campaignID - The campaign ID.
|
|
35
|
+
*/
|
|
36
|
+
async setEndDateToToday(campaignID) {
|
|
37
|
+
const url = this.buildUrl(`private/campaigns/${campaignID}/set-end-date-to-today`);
|
|
38
|
+
await this.signedPostRequest(url, {});
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Start a campaign — apply geo-targeting, set pricing, set premium, apply Google Linker, and audit.
|
|
42
|
+
*
|
|
43
|
+
* @param campaignID - The campaign ID.
|
|
44
|
+
* @param payload - Geo-targeting and pricing data from the scheduled start event.
|
|
45
|
+
*/
|
|
46
|
+
async startCampaign(campaignID, payload) {
|
|
47
|
+
const url = this.buildUrl(`private/scheduler/campaigns/${campaignID}/start`);
|
|
48
|
+
await this.signedPostRequest(url, payload);
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* End a campaign — reset Google Linker, clear geo-targeting, set entities basic, clear pricing configs, and audit.
|
|
52
|
+
* CMA resolves all entity IDs internally — no request body needed.
|
|
53
|
+
*
|
|
54
|
+
* @param campaignID - The campaign ID.
|
|
55
|
+
*/
|
|
56
|
+
async endCampaign(campaignID) {
|
|
57
|
+
const url = this.buildUrl(`private/scheduler/campaigns/${campaignID}/end`);
|
|
58
|
+
await this.signedPostRequest(url, {});
|
|
59
|
+
}
|
|
60
|
+
// ─── Private helpers (same pattern as PrivateUserCampaignManagementAPIClient) ───
|
|
61
|
+
buildUrl(relative) {
|
|
62
|
+
return new URL(`${this.baseUrl}/${relative}`);
|
|
63
|
+
}
|
|
64
|
+
async signedPostRequest(endpointUrl, payload) {
|
|
65
|
+
const signedRequest = await aws_request_signer_1.AwsRequestSigner.sign({
|
|
66
|
+
url: endpointUrl,
|
|
67
|
+
region: process.env.region || process.env.REGION || "eu-central-1",
|
|
68
|
+
method: 'POST',
|
|
69
|
+
body: payload
|
|
70
|
+
});
|
|
71
|
+
const response = await fetch(endpointUrl, signedRequest);
|
|
72
|
+
if (!response.ok) {
|
|
73
|
+
const errorBody = await response.text().catch(() => 'Unable to read response body');
|
|
74
|
+
throw new Error(`Request to ${endpointUrl.toString()} failed with status ${response.status} ${response.statusText}: ${errorBody}`);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
exports.UniversitySchedulerCMAClient = UniversitySchedulerCMAClient;
|
|
79
|
+
exports.UniversitySchedulerCMAClient = UniversitySchedulerCMAClient = __decorate([
|
|
80
|
+
(0, inversify_1.injectable)(),
|
|
81
|
+
__metadata("design:paramtypes", [String])
|
|
82
|
+
], UniversitySchedulerCMAClient);
|
|
83
|
+
//# sourceMappingURL=university-scheduler-cma.client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"university-scheduler-cma.client.js","sourceRoot":"","sources":["../../src/university-scheduler-cma.client.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4BAA0B;AAC1B,yCAAuC;AACvC,oEAA+D;AAIxD,IAAM,4BAA4B,GAAlC,MAAM,4BAA4B;IAExC,YACkB,OAAe;QAAf,YAAO,GAAP,OAAO,CAAQ;IAC7B,CAAC;IAEL;;;;;OAKG;IACI,KAAK,CAAC,mBAAmB,CAAC,UAAkB;QAClD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,qBAAqB,UAAU,6BAA6B,CAAC,CAAC;QACxF,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACvC,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,iBAAiB,CAAC,UAAkB;QAChD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,qBAAqB,UAAU,wBAAwB,CAAC,CAAC;QACnF,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACvC,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,aAAa,CAAC,UAAkB,EAAE,OAA6B;QAC3E,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,+BAA+B,UAAU,QAAQ,CAAC,CAAC;QAC7E,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,WAAW,CAAC,UAAkB;QAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,+BAA+B,UAAU,MAAM,CAAC,CAAC;QAC3E,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,mFAAmF;IAE3E,QAAQ,CAAC,QAAgB;QAChC,OAAO,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,IAAI,QAAQ,EAAE,CAAC,CAAC;IAC/C,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,WAAgB,EAAE,OAAiB;QAClE,MAAM,aAAa,GAAG,MAAM,qCAAgB,CAAC,IAAI,CAAC;YACjD,GAAG,EAAE,WAAW;YAChB,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,cAAc;YAClE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,OAAO;SACb,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QACzD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YAClB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,8BAA8B,CAAC,CAAC;YACpF,MAAM,IAAI,KAAK,CACd,cAAc,WAAW,CAAC,QAAQ,EAAE,uBAAuB,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,EAAE,CACjH,CAAC;QACH,CAAC;IACF,CAAC;CACD,CAAA;AAvEY,oEAA4B;uCAA5B,4BAA4B;IADxC,IAAA,sBAAU,GAAE;;GACA,4BAA4B,CAuExC"}
|