@ampsec/platform-client 85.0.1 → 85.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.
@@ -11,4 +11,29 @@ export declare class FlowSpecsService extends AmpEntityServiceImpl<FlowSpecUpser
11
11
  _summary: (filter: FilterCriteria) => Promise<Page<FlowSpecDto>>;
12
12
  getActiveEngagements: (filter: ActiveEngagementFilterCriteria) => Promise<Page<ActiveEngagement>>;
13
13
  testEngagement: (spec: FlowSpecDto, input: TestEngagementRequestDto) => Promise<void>;
14
+ /**
15
+ * Get impact summary for a given flow spec. This will return the number of impacted workflows and a message describing the impact.
16
+ * @param spec
17
+ * @returns
18
+ */
19
+ getImpactSummary: (specId: string, input: {
20
+ temporalTypes?: Record<string, string[]>;
21
+ }) => Promise<{
22
+ affectedTimeoutWorkflows: number;
23
+ flowSpecId: string;
24
+ message: string;
25
+ }>;
26
+ /**
27
+ * Terminate impacted workflows for a given flow spec.
28
+ * This will terminate all workflows that are impacted by the flow spec and return a message describing the result.
29
+ * @param specId
30
+ * @param input
31
+ * @returns
32
+ */
33
+ terminateImpactedWorkflows: (specId: string, input: {
34
+ temporalTypes?: Record<string, string[]>;
35
+ }) => Promise<{
36
+ success: boolean;
37
+ message: string;
38
+ }>;
14
39
  }
@@ -58,6 +58,34 @@ class FlowSpecsService extends entity_service_1.AmpEntityServiceImpl {
58
58
  };
59
59
  });
60
60
  };
61
+ /**
62
+ * Get impact summary for a given flow spec. This will return the number of impacted workflows and a message describing the impact.
63
+ * @param spec
64
+ * @returns
65
+ */
66
+ this.getImpactSummary = async (specId, input) => {
67
+ const res = await this.rest.call({
68
+ url: `/${this.targetApi}/v1/${this.kind}/${specId}/impact-summary`,
69
+ method: 'POST',
70
+ data: input,
71
+ });
72
+ return res.data;
73
+ };
74
+ /**
75
+ * Terminate impacted workflows for a given flow spec.
76
+ * This will terminate all workflows that are impacted by the flow spec and return a message describing the result.
77
+ * @param specId
78
+ * @param input
79
+ * @returns
80
+ */
81
+ this.terminateImpactedWorkflows = async (specId, input) => {
82
+ const res = await this.rest.call({
83
+ url: `/${this.targetApi}/v1/${this.kind}/${specId}/terminate-impacted-workflows`,
84
+ method: 'POST',
85
+ data: input,
86
+ });
87
+ return res.data;
88
+ };
61
89
  }
62
90
  }
63
91
  exports.FlowSpecsService = FlowSpecsService;
@@ -1 +1 @@
1
- {"version":3,"file":"flowSpecs.service.js","sourceRoot":"","sources":["../../../src/services/flowSpecs.service.ts"],"names":[],"mappings":";;;AAGA,2CAAiC;AACjC,qDAAyE;AAIzE,MAAa,gBAAiB,SAAQ,qCAAoD;IACxF,YAAY,IAAgB;QAC1B,KAAK,CAAC,IAAI,EAAE,gBAAI,CAAC,UAAU,CAAC,CAAC;QAG/B,+CAA+C;QAC/C,WAAM,GAAG,CAAC,MAA+C,EAAE,QAA4B,EAA8B,EAAE;YACrH,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC,CAAC;QAEF,mBAAc,GAAG,KAAK,EAAE,KAAwB,EAAwB,EAAE;YACxE,MAAM,GAAG,GAAsB,MAAM,IAAI,CAAC,IAAI,CAC5C;gBACE,GAAG,EAAE,IAAI,IAAI,CAAC,SAAS,OAAO,IAAI,CAAC,IAAI,EAAE;gBACzC,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,KAAK;aACZ,EACD,CAAC,KAAc,EAAE,EAAE;gBACjB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;gBACzE,OAAO;oBACL,IAAI,EAAE,EAAE;oBACR,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;oBAC7B,KAAK,EAAE,OAAO;oBACd,KAAK,EAAE,EAAE;iBACV,CAAC;YACJ,CAAC,CACF,CAAC;YACF,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC,CAAC;QACF,aAAQ,GAAG,KAAK,EAAE,MAAsB,EAA8B,EAAE;YACtE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC/B,GAAG,EAAE,IAAI,IAAI,CAAC,SAAS,OAAO,IAAI,CAAC,IAAI,WAAW;gBAClD,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE,MAAM;aACf,CAAC,CAAC;YACH,OAAO,GAAG,CAAC,IAAyB,CAAC;QACvC,CAAC,CAAC;QACF,yBAAoB,GAAG,KAAK,EAAE,MAAsC,EAAmC,EAAE;YACvG,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC/B,GAAG,EAAE,IAAI,IAAI,CAAC,SAAS,OAAO,IAAI,CAAC,IAAI,qBAAqB;gBAC5D,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE,MAAM;aACf,CAAC,CAAC;YACH,OAAO,GAAG,CAAC,IAA8B,CAAC;QAC5C,CAAC,CAAC;QAEF,8DAA8D;QAC9D,mBAAc,GAAG,KAAK,EAAE,IAAiB,EAAE,KAA+B,EAAiB,EAAE;YAC3F,MAAM,IAAI,CAAC,IAAI,CACb;gBACE,GAAG,EAAE,IAAI,IAAI,CAAC,SAAS,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,kBAAkB;gBACpE,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,KAAK;aACZ,EACD,CAAC,KAAc,EAAE,EAAE;gBACjB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;gBACzE,OAAO;oBACL,IAAI,EAAE,EAAE;oBACR,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;oBAC7B,KAAK,EAAE,OAAO;oBACd,KAAK,EAAE,EAAE;iBACV,CAAC;YACJ,CAAC,CACF,CAAC;QACJ,CAAC,CAAC;IA7DF,CAAC;CA8DF;AAjED,4CAiEC"}
1
+ {"version":3,"file":"flowSpecs.service.js","sourceRoot":"","sources":["../../../src/services/flowSpecs.service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ampsec/platform-client",
3
- "version": "85.0.1",
3
+ "version": "85.1.0",
4
4
  "description": "",
5
5
  "main": "build/src/index.js",
6
6
  "runkitExampleFilename": "example/main.js",
@@ -71,4 +71,37 @@ export class FlowSpecsService extends AmpEntityServiceImpl<FlowSpecUpsertDto, Fl
71
71
  }
72
72
  );
73
73
  };
74
+
75
+ /**
76
+ * Get impact summary for a given flow spec. This will return the number of impacted workflows and a message describing the impact.
77
+ * @param spec
78
+ * @returns
79
+ */
80
+ getImpactSummary = async (
81
+ specId: string,
82
+ input: {temporalTypes?: Record<string, string[]>}
83
+ ): Promise<{affectedTimeoutWorkflows: number; flowSpecId: string; message: string}> => {
84
+ const res = await this.rest.call({
85
+ url: `/${this.targetApi}/v1/${this.kind}/${specId}/impact-summary`,
86
+ method: 'POST',
87
+ data: input,
88
+ });
89
+ return res.data as {affectedTimeoutWorkflows: number; flowSpecId: string; message: string};
90
+ };
91
+
92
+ /**
93
+ * Terminate impacted workflows for a given flow spec.
94
+ * This will terminate all workflows that are impacted by the flow spec and return a message describing the result.
95
+ * @param specId
96
+ * @param input
97
+ * @returns
98
+ */
99
+ terminateImpactedWorkflows = async (specId: string, input: {temporalTypes?: Record<string, string[]>}): Promise<{success: boolean; message: string}> => {
100
+ const res = await this.rest.call({
101
+ url: `/${this.targetApi}/v1/${this.kind}/${specId}/terminate-impacted-workflows`,
102
+ method: 'POST',
103
+ data: input,
104
+ });
105
+ return res.data as {success: boolean; message: string};
106
+ };
74
107
  }