@targetprocess/webhooks-client 1.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.
@@ -0,0 +1,88 @@
1
+ /*********************************************************************
2
+ * © Copyright IBM Corp. 2024
3
+ *********************************************************************/
4
+ export interface IClient {
5
+ /**
6
+ * Notify about new deployments for specified cluster
7
+ * @param clusterName Cluster name
8
+ * @return OK
9
+ */
10
+ notifyDeployments(clusterName: string, deployments: IReleaseDeployment[]): Promise<void>;
11
+ }
12
+ export declare class Client implements IClient {
13
+ private http;
14
+ private baseUrl;
15
+ protected jsonParseReviver: ((key: string, value: any) => any) | undefined;
16
+ constructor(baseUrl?: string, http?: {
17
+ fetch(url: RequestInfo, init?: RequestInit): Promise<Response>;
18
+ });
19
+ /**
20
+ * Notify about new deployments for specified cluster
21
+ * @param clusterName Cluster name
22
+ * @return OK
23
+ */
24
+ notifyDeployments(clusterName: string, deployments: IReleaseDeployment[]): Promise<void>;
25
+ protected processNotifyDeployments(response: Response): Promise<void>;
26
+ }
27
+ /** Helm release identifier */
28
+ export interface IReleaseRef {
29
+ /** Release name */
30
+ name: string;
31
+ }
32
+ export interface IReleaseDeployment extends IReleaseRef {
33
+ chart: IChartRef;
34
+ namespace: INamespaceRef;
35
+ cluster: IClusterRef;
36
+ status: ReleaseStatus;
37
+ timestamp: Date;
38
+ }
39
+ /** Describe release status */
40
+ export declare enum ReleaseStatus {
41
+ Unknown = "Unknown",
42
+ Deployed = "Deployed",
43
+ Deleted = "Deleted",
44
+ Supersede = "Supersede",
45
+ Failed = "Failed",
46
+ Deleting = "Deleting",
47
+ PendingInstall = "PendingInstall",
48
+ PendingUpgrade = "PendingUpgrade",
49
+ PendingRollback = "PendingRollback"
50
+ }
51
+ /** Cluster identifier */
52
+ export interface IClusterRef {
53
+ /** Cluster name */
54
+ name: string;
55
+ /** Cluster tags array */
56
+ tags?: string[] | undefined;
57
+ }
58
+ /** Namespace identifier */
59
+ export interface INamespaceRef {
60
+ /** Namespace name */
61
+ name: string;
62
+ }
63
+ /** Helm chart identifier */
64
+ export interface IChartRef {
65
+ /** The name of the chart */
66
+ name: string;
67
+ /** A SemVer 2 compatible version string of the chart */
68
+ version: string;
69
+ }
70
+ export interface IErrorDto {
71
+ /** Error message */
72
+ message: string;
73
+ }
74
+ export declare class ApiException extends Error {
75
+ message: string;
76
+ status: number;
77
+ response: string;
78
+ headers: {
79
+ [key: string]: any;
80
+ };
81
+ result: any;
82
+ constructor(message: string, status: number, response: string, headers: {
83
+ [key: string]: any;
84
+ }, result: any);
85
+ protected isApiException: boolean;
86
+ static isApiException(obj: any): obj is ApiException;
87
+ }
88
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA;;uEAEuE;AAWvE,MAAM,WAAW,OAAO;IACtB;;;;OAIG;IACH,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACzF;AAED,qBAAa,MAAO,YAAW,OAAO;IACpC,OAAO,CAAC,IAAI,CAAoE;IAChF,OAAO,CAAC,OAAO,CAAQ;IACvB,SAAS,CAAC,gBAAgB,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC,GAAG,SAAS,CAAY;gBAGpF,OAAO,CAAC,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;KAAE;IAM3E;;;;OAIG;IACH,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBxF,SAAS,CAAC,wBAAwB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CAqDtE;AAED,8BAA8B;AAC9B,MAAM,WAAW,WAAW;IAC1B,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,kBAAmB,SAAQ,WAAW;IACrD,KAAK,EAAE,SAAS,CAAA;IAChB,SAAS,EAAE,aAAa,CAAA;IACxB,OAAO,EAAE,WAAW,CAAA;IACpB,MAAM,EAAE,aAAa,CAAA;IACrB,SAAS,EAAE,IAAI,CAAA;CAChB;AAED,8BAA8B;AAC9B,oBAAY,aAAa;IACvB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;IACjC,eAAe,oBAAoB;CACpC;AAED,yBAAyB;AACzB,MAAM,WAAW,WAAW;IAC1B,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,yBAAyB;IACzB,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;CAC5B;AAED,2BAA2B;AAC3B,MAAM,WAAW,aAAa;IAC5B,qBAAqB;IACrB,IAAI,EAAE,MAAM,CAAA;CACb;AAED,4BAA4B;AAC5B,MAAM,WAAW,SAAS;IACxB,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,wDAAwD;IACxD,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,SAAS;IACxB,oBAAoB;IACpB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,qBAAa,YAAa,SAAQ,KAAK;IACrC,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAA;IAC/B,MAAM,EAAE,GAAG,CAAA;gBAGT,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAC/B,MAAM,EAAE,GAAG;IAWb,SAAS,CAAC,cAAc,UAAO;IAE/B,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,YAAY;CAGrD"}
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+ /*********************************************************************
3
+ * © Copyright IBM Corp. 2024
4
+ *********************************************************************/
5
+ // ----------------------
6
+ // <auto-generated>
7
+ // Generated using the NSwag toolchain v13.20.0.0 (NJsonSchema v10.9.0.0 (Newtonsoft.Json v13.0.0.0)) (http://NSwag.org)
8
+ // </auto-generated>
9
+ // ----------------------
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.ApiException = exports.ReleaseStatus = exports.Client = void 0;
12
+ class Client {
13
+ http;
14
+ baseUrl;
15
+ jsonParseReviver = undefined;
16
+ constructor(baseUrl, http) {
17
+ this.http = http ? http : window;
18
+ this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : '';
19
+ }
20
+ /**
21
+ * Notify about new deployments for specified cluster
22
+ * @param clusterName Cluster name
23
+ * @return OK
24
+ */
25
+ notifyDeployments(clusterName, deployments) {
26
+ let url_ = this.baseUrl + '/clusters/{clusterName}/deployments';
27
+ if (clusterName === undefined || clusterName === null)
28
+ throw new Error("The parameter 'clusterName' must be defined.");
29
+ url_ = url_.replace('{clusterName}', encodeURIComponent('' + clusterName));
30
+ url_ = url_.replace(/[?&]$/, '');
31
+ const content_ = JSON.stringify(deployments);
32
+ let options_ = {
33
+ body: content_,
34
+ method: 'POST',
35
+ headers: {
36
+ 'Content-Type': 'application/json'
37
+ }
38
+ };
39
+ return this.http.fetch(url_, options_).then((_response) => {
40
+ return this.processNotifyDeployments(_response);
41
+ });
42
+ }
43
+ processNotifyDeployments(response) {
44
+ const status = response.status;
45
+ let _headers = {};
46
+ if (response.headers && response.headers.forEach) {
47
+ response.headers.forEach((v, k) => (_headers[k] = v));
48
+ }
49
+ if (status === 200) {
50
+ return response.text().then(_responseText => {
51
+ return;
52
+ });
53
+ }
54
+ else if (status === 401) {
55
+ return response.text().then(_responseText => {
56
+ let result401 = null;
57
+ result401 =
58
+ _responseText === ''
59
+ ? null
60
+ : JSON.parse(_responseText, this.jsonParseReviver);
61
+ return throwException('Unauthorized', status, _responseText, _headers, result401);
62
+ });
63
+ }
64
+ else if (status === 403) {
65
+ return response.text().then(_responseText => {
66
+ let result403 = null;
67
+ result403 =
68
+ _responseText === ''
69
+ ? null
70
+ : JSON.parse(_responseText, this.jsonParseReviver);
71
+ return throwException('Forbidden', status, _responseText, _headers, result403);
72
+ });
73
+ }
74
+ else if (status === 404) {
75
+ return response.text().then(_responseText => {
76
+ return throwException('Not found', status, _responseText, _headers);
77
+ });
78
+ }
79
+ else if (status === 500) {
80
+ return response.text().then(_responseText => {
81
+ let result500 = null;
82
+ result500 =
83
+ _responseText === ''
84
+ ? null
85
+ : JSON.parse(_responseText, this.jsonParseReviver);
86
+ return throwException('General error', status, _responseText, _headers, result500);
87
+ });
88
+ }
89
+ else if (status !== 200 && status !== 204) {
90
+ return response.text().then(_responseText => {
91
+ return throwException('An unexpected server error occurred.', status, _responseText, _headers);
92
+ });
93
+ }
94
+ return Promise.resolve(null);
95
+ }
96
+ }
97
+ exports.Client = Client;
98
+ /** Describe release status */
99
+ var ReleaseStatus;
100
+ (function (ReleaseStatus) {
101
+ ReleaseStatus["Unknown"] = "Unknown";
102
+ ReleaseStatus["Deployed"] = "Deployed";
103
+ ReleaseStatus["Deleted"] = "Deleted";
104
+ ReleaseStatus["Supersede"] = "Supersede";
105
+ ReleaseStatus["Failed"] = "Failed";
106
+ ReleaseStatus["Deleting"] = "Deleting";
107
+ ReleaseStatus["PendingInstall"] = "PendingInstall";
108
+ ReleaseStatus["PendingUpgrade"] = "PendingUpgrade";
109
+ ReleaseStatus["PendingRollback"] = "PendingRollback";
110
+ })(ReleaseStatus || (exports.ReleaseStatus = ReleaseStatus = {}));
111
+ class ApiException extends Error {
112
+ message;
113
+ status;
114
+ response;
115
+ headers;
116
+ result;
117
+ constructor(message, status, response, headers, result) {
118
+ super();
119
+ this.message = message;
120
+ this.status = status;
121
+ this.response = response;
122
+ this.headers = headers;
123
+ this.result = result;
124
+ }
125
+ isApiException = true;
126
+ static isApiException(obj) {
127
+ return obj.isApiException === true;
128
+ }
129
+ }
130
+ exports.ApiException = ApiException;
131
+ function throwException(message, status, response, headers, result) {
132
+ if (result !== null && result !== undefined)
133
+ throw result;
134
+ else
135
+ throw new ApiException(message, status, response, headers, null);
136
+ }
137
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,35 @@
1
+ {
2
+ "name": "@targetprocess/webhooks-client",
3
+ "version": "1.0.0",
4
+ "description": "Client for the Octopus webhooks service",
5
+ "files": [
6
+ "bin/src"
7
+ ],
8
+ "main": "bin/src/client.js",
9
+ "typings": "bin/src/client.d.ts",
10
+ "scripts": {
11
+ "generate": "npm run _clean && npm run build",
12
+ "rebuild": "npm run _clean && npm run build",
13
+ "build": "tsc -b --pretty",
14
+ "_clean": "rimraf bin",
15
+ "prepublishOnly": "npm run rebuild"
16
+ },
17
+ "keywords": [
18
+ "sdk"
19
+ ],
20
+ "author": "Uladzimir Abramchuk <abramchuk@targetprocess.com>",
21
+ "license": "ISC",
22
+ "devDependencies": {
23
+ "@types/node": "^22.13.1"
24
+ },
25
+ "peerDependencies": {
26
+ "cross-fetch": "3.x"
27
+ },
28
+ "repository": {
29
+ "type": "git",
30
+ "url": "https://github.com/TargetProcess/ci-cd_octopus"
31
+ },
32
+ "publishConfig": {
33
+ "access": "public"
34
+ }
35
+ }