@intuitionrobotics/google-services 0.41.69 → 0.41.70
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/app-backend/modules/AuthModule.js +23 -72
- package/app-backend/modules/AuthModule.js.map +1 -1
- package/app-backend/modules/DialogFlowApi.js +101 -228
- package/app-backend/modules/DialogFlowApi.js.map +1 -1
- package/app-backend/modules/GoogleCloudModule.js +147 -328
- package/app-backend/modules/GoogleCloudModule.js.map +1 -1
- package/app-backend/modules/PubSubModule.js +18 -76
- package/app-backend/modules/PubSubModule.js.map +1 -1
- package/package.json +4 -4
|
@@ -2,19 +2,6 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Created by tacb0ss on 07/05/2018.
|
|
4
4
|
*/
|
|
5
|
-
var __extends = (this && this.__extends) || (function () {
|
|
6
|
-
var extendStatics = function (d, b) {
|
|
7
|
-
extendStatics = Object.setPrototypeOf ||
|
|
8
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
9
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
10
|
-
return extendStatics(d, b);
|
|
11
|
-
};
|
|
12
|
-
return function (d, b) {
|
|
13
|
-
extendStatics(d, b);
|
|
14
|
-
function __() { this.constructor = d; }
|
|
15
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
16
|
-
};
|
|
17
|
-
})();
|
|
18
5
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
19
6
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
20
7
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -24,75 +11,39 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
24
11
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
25
12
|
});
|
|
26
13
|
};
|
|
27
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
28
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
29
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
30
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
31
|
-
function step(op) {
|
|
32
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
33
|
-
while (_) try {
|
|
34
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
35
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
36
|
-
switch (op[0]) {
|
|
37
|
-
case 0: case 1: t = op; break;
|
|
38
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
39
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
40
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
41
|
-
default:
|
|
42
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
43
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
44
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
45
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
46
|
-
if (t[2]) _.ops.pop();
|
|
47
|
-
_.trys.pop(); continue;
|
|
48
|
-
}
|
|
49
|
-
op = body.call(thisArg, _);
|
|
50
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
51
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
52
|
-
}
|
|
53
|
-
};
|
|
54
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
55
15
|
exports.AuthModule = exports.AuthModule_Class = void 0;
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
}
|
|
63
|
-
AuthModule_Class.prototype.getAuth = function (authKey, scopes, version, clientOptions) {
|
|
64
|
-
if (version === void 0) { version = 'v2'; }
|
|
65
|
-
var authConfig = this.getAuthConfig(authKey);
|
|
66
|
-
var opts;
|
|
16
|
+
const ts_common_1 = require("@intuitionrobotics/ts-common");
|
|
17
|
+
const google_auth_library_1 = require("google-auth-library");
|
|
18
|
+
class AuthModule_Class extends ts_common_1.Module {
|
|
19
|
+
getAuth(authKey, scopes, version = 'v2', clientOptions) {
|
|
20
|
+
const authConfig = this.getAuthConfig(authKey);
|
|
21
|
+
let opts;
|
|
67
22
|
if (typeof authConfig === 'string') {
|
|
68
|
-
opts = { keyFile: authConfig, scopes
|
|
23
|
+
opts = { keyFile: authConfig, scopes, clientOptions };
|
|
69
24
|
}
|
|
70
25
|
else {
|
|
71
|
-
opts = { credentials: authConfig, scopes
|
|
26
|
+
opts = { credentials: authConfig, scopes, clientOptions };
|
|
72
27
|
}
|
|
73
|
-
return { version
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
|
|
28
|
+
return { version, auth: new google_auth_library_1.GoogleAuth(opts) };
|
|
29
|
+
}
|
|
30
|
+
getAuthConfig(authKey) {
|
|
31
|
+
const projectAuth = this.config.auth[authKey];
|
|
77
32
|
if (!projectAuth)
|
|
78
|
-
throw new ts_common_1.ImplementationMissingException(
|
|
33
|
+
throw new ts_common_1.ImplementationMissingException(`Config of AuthModule_Class for authKey: ${authKey} was not found`);
|
|
79
34
|
return projectAuth;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
authConfig
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
}
|
|
89
|
-
throw new ts_common_1.NotImplementedYetException("cannot create a JWT from a raw credentials.. need path to file");
|
|
90
|
-
});
|
|
35
|
+
}
|
|
36
|
+
getJWT(authKey, scopes) {
|
|
37
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
38
|
+
const authConfig = this.getAuthConfig(authKey);
|
|
39
|
+
if (typeof authConfig === 'string') {
|
|
40
|
+
return new google_auth_library_1.JWT({ keyFile: authConfig, scopes }).authorize();
|
|
41
|
+
}
|
|
42
|
+
throw new ts_common_1.NotImplementedYetException("cannot create a JWT from a raw credentials.. need path to file");
|
|
91
43
|
});
|
|
92
|
-
}
|
|
44
|
+
}
|
|
93
45
|
;
|
|
94
|
-
|
|
95
|
-
}(ts_common_1.Module));
|
|
46
|
+
}
|
|
96
47
|
exports.AuthModule_Class = AuthModule_Class;
|
|
97
48
|
exports.AuthModule = new AuthModule_Class();
|
|
98
49
|
//# sourceMappingURL=AuthModule.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthModule.js","sourceRoot":"","sources":["../../../src/main/app-backend/modules/AuthModule.ts"],"names":[],"mappings":";AAAA;;GAEG
|
|
1
|
+
{"version":3,"file":"AuthModule.js","sourceRoot":"","sources":["../../../src/main/app-backend/modules/AuthModule.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;AAEH,4DAIsC;AACtC,6DAI6B;AAY7B,MAAa,gBACZ,SAAQ,kBAAwB;IAEhC,OAAO,CAA2B,OAAe,EAAE,MAAgB,EAAE,UAAa,IAAS,EAAE,aAA2E;QACvK,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;QAE9C,IAAI,IAAI,CAAC;QACT,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;YACnC,IAAI,GAAG,EAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAC,CAAC;SACpD;aAAM;YACN,IAAI,GAAG,EAAC,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAC,CAAC;SACxD;QAED,OAAO,EAAC,OAAO,EAAE,IAAI,EAAE,IAAI,gCAAU,CAAC,IAAI,CAAC,EAAC,CAAC;IAC9C,CAAC;IAED,aAAa,CAAC,OAAe;QAC5B,MAAM,WAAW,GAAkC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE7E,IAAI,CAAC,WAAW;YACf,MAAM,IAAI,0CAA8B,CAAC,2CAA2C,OAAO,gBAAgB,CAAC,CAAC;QAE9G,OAAO,WAAW,CAAC;IACpB,CAAC;IAEK,MAAM,CAAC,OAAe,EAAE,MAAgB;;YAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;YAC9C,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;gBACnC,OAAO,IAAI,yBAAG,CAAC,EAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC,CAAC,SAAS,EAAE,CAAC;aAC1D;YAED,MAAM,IAAI,sCAA0B,CAAC,gEAAgE,CAAC,CAAA;QACvG,CAAC;KAAA;IAAA,CAAC;CACF;AAjCD,4CAiCC;AAEY,QAAA,UAAU,GAAG,IAAI,gBAAgB,EAAE,CAAC"}
|
|
@@ -1,17 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __extends = (this && this.__extends) || (function () {
|
|
3
|
-
var extendStatics = function (d, b) {
|
|
4
|
-
extendStatics = Object.setPrototypeOf ||
|
|
5
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
-
return extendStatics(d, b);
|
|
8
|
-
};
|
|
9
|
-
return function (d, b) {
|
|
10
|
-
extendStatics(d, b);
|
|
11
|
-
function __() { this.constructor = d; }
|
|
12
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
13
|
-
};
|
|
14
|
-
})();
|
|
15
2
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
16
3
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
17
4
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -21,229 +8,115 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
21
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
22
9
|
});
|
|
23
10
|
};
|
|
24
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
25
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
26
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
27
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
28
|
-
function step(op) {
|
|
29
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
30
|
-
while (_) try {
|
|
31
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
32
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
33
|
-
switch (op[0]) {
|
|
34
|
-
case 0: case 1: t = op; break;
|
|
35
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
36
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
37
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
38
|
-
default:
|
|
39
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
40
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
41
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
42
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
43
|
-
if (t[2]) _.ops.pop();
|
|
44
|
-
_.trys.pop(); continue;
|
|
45
|
-
}
|
|
46
|
-
op = body.call(thisArg, _);
|
|
47
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
48
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
52
12
|
exports.DialogFlowApi = void 0;
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
this.logInfo("Created agent for project " + agentProjectId + " with name: " + name);
|
|
83
|
-
return [2 /*return*/];
|
|
84
|
-
}
|
|
85
|
-
});
|
|
86
|
-
}); },
|
|
87
|
-
train: function (agentProjectId) { return __awaiter(_this, void 0, void 0, function () {
|
|
88
|
-
return __generator(this, function (_a) {
|
|
89
|
-
switch (_a.label) {
|
|
90
|
-
case 0:
|
|
91
|
-
this.logInfo("Train " + agentProjectId);
|
|
92
|
-
return [4 /*yield*/, this.dialogFlowApi.projects.agent.train({ parent: "projects/" + agentProjectId })];
|
|
93
|
-
case 1: return [2 /*return*/, (_a.sent()).data];
|
|
94
|
-
}
|
|
95
|
-
});
|
|
96
|
-
}); },
|
|
97
|
-
export: function (agentProjectId) { return __awaiter(_this, void 0, void 0, function () {
|
|
13
|
+
const ts_common_1 = require("@intuitionrobotics/ts-common");
|
|
14
|
+
const googleapis_1 = require("googleapis");
|
|
15
|
+
const AuthModule_1 = require("./AuthModule");
|
|
16
|
+
const consts_1 = require("./consts");
|
|
17
|
+
class DialogFlowApi extends ts_common_1.Logger {
|
|
18
|
+
constructor(authKey) {
|
|
19
|
+
super();
|
|
20
|
+
this.agent = {
|
|
21
|
+
create: (agentProjectId, name) => __awaiter(this, void 0, void 0, function* () {
|
|
22
|
+
this.logInfo(`Creating agent for project ${agentProjectId}`);
|
|
23
|
+
const newTestAgent = {
|
|
24
|
+
"parent": `projects/${agentProjectId}`,
|
|
25
|
+
"displayName": name,
|
|
26
|
+
"defaultLanguageCode": "en",
|
|
27
|
+
"timeZone": "America/New_York",
|
|
28
|
+
"enableLogging": true,
|
|
29
|
+
"matchMode": "MATCH_MODE_HYBRID",
|
|
30
|
+
"classificationThreshold": 0.7,
|
|
31
|
+
"apiVersion": "API_VERSION_V2",
|
|
32
|
+
"tier": "TIER_STANDARD"
|
|
33
|
+
};
|
|
34
|
+
yield this.dialogFlowApi.projects.setAgent({ parent: `projects/${agentProjectId}`, requestBody: newTestAgent });
|
|
35
|
+
this.logInfo(`Created agent for project ${agentProjectId} with name: ${name}`);
|
|
36
|
+
}),
|
|
37
|
+
train: (agentProjectId) => __awaiter(this, void 0, void 0, function* () {
|
|
38
|
+
this.logInfo(`Train ${agentProjectId}`);
|
|
39
|
+
return (yield this.dialogFlowApi.projects.agent.train({ parent: `projects/${agentProjectId}` })).data;
|
|
40
|
+
}),
|
|
41
|
+
export: (agentProjectId) => __awaiter(this, void 0, void 0, function* () {
|
|
98
42
|
var _a;
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
this.logInfo("Importing " + agentProjectId);
|
|
123
|
-
return [4 /*yield*/, this.dialogFlowApi.projects.agent.import({ parent: "projects/" + agentProjectId, requestBody: { agentContent: agentContent } })];
|
|
124
|
-
case 1: return [2 /*return*/, (_a.sent()).data];
|
|
125
|
-
}
|
|
126
|
-
});
|
|
127
|
-
}); },
|
|
128
|
-
copy: function (fromAgent, toAgent) { return __awaiter(_this, void 0, void 0, function () {
|
|
129
|
-
var content;
|
|
130
|
-
return __generator(this, function (_a) {
|
|
131
|
-
switch (_a.label) {
|
|
132
|
-
case 0:
|
|
133
|
-
this.logInfo("Merging agent " + fromAgent + " => " + toAgent);
|
|
134
|
-
return [4 /*yield*/, this.agent.export(fromAgent)];
|
|
135
|
-
case 1:
|
|
136
|
-
content = _a.sent();
|
|
137
|
-
if (!content) return [3 /*break*/, 3];
|
|
138
|
-
return [4 /*yield*/, this.agent.import(toAgent, content)];
|
|
139
|
-
case 2:
|
|
140
|
-
_a.sent();
|
|
141
|
-
_a.label = 3;
|
|
142
|
-
case 3: return [2 /*return*/];
|
|
143
|
-
}
|
|
144
|
-
});
|
|
145
|
-
}); },
|
|
146
|
-
override: function (fromAgent, toAgent) { return __awaiter(_this, void 0, void 0, function () {
|
|
147
|
-
var content;
|
|
148
|
-
return __generator(this, function (_a) {
|
|
149
|
-
switch (_a.label) {
|
|
150
|
-
case 0:
|
|
151
|
-
this.logInfo("Overriding agent " + fromAgent + " => " + toAgent);
|
|
152
|
-
return [4 /*yield*/, this.agent.export(fromAgent)];
|
|
153
|
-
case 1:
|
|
154
|
-
content = _a.sent();
|
|
155
|
-
if (!content) return [3 /*break*/, 3];
|
|
156
|
-
return [4 /*yield*/, this.agent.restore(toAgent, content)];
|
|
157
|
-
case 2:
|
|
158
|
-
_a.sent();
|
|
159
|
-
_a.label = 3;
|
|
160
|
-
case 3: return [2 /*return*/];
|
|
161
|
-
}
|
|
162
|
-
});
|
|
163
|
-
}); }
|
|
43
|
+
this.logInfo(`Exporting ${agentProjectId}`);
|
|
44
|
+
return (_a = (yield this.dialogFlowApi.projects.agent.export({ parent: `projects/${agentProjectId}` })).data.response) === null || _a === void 0 ? void 0 : _a.agentContent;
|
|
45
|
+
}),
|
|
46
|
+
restore: (agentProjectId, agentContent) => __awaiter(this, void 0, void 0, function* () {
|
|
47
|
+
this.logInfo(`Restoring ${agentProjectId}`);
|
|
48
|
+
return (yield this.dialogFlowApi.projects.agent.restore({ parent: `projects/${agentProjectId}`, requestBody: { agentContent } })).data;
|
|
49
|
+
}),
|
|
50
|
+
import: (agentProjectId, agentContent) => __awaiter(this, void 0, void 0, function* () {
|
|
51
|
+
this.logInfo(`Importing ${agentProjectId}`);
|
|
52
|
+
return (yield this.dialogFlowApi.projects.agent.import({ parent: `projects/${agentProjectId}`, requestBody: { agentContent } })).data;
|
|
53
|
+
}),
|
|
54
|
+
copy: (fromAgent, toAgent) => __awaiter(this, void 0, void 0, function* () {
|
|
55
|
+
this.logInfo(`Merging agent ${fromAgent} => ${toAgent}`);
|
|
56
|
+
const content = yield this.agent.export(fromAgent);
|
|
57
|
+
if (content)
|
|
58
|
+
yield this.agent.import(toAgent, content);
|
|
59
|
+
}),
|
|
60
|
+
override: (fromAgent, toAgent) => __awaiter(this, void 0, void 0, function* () {
|
|
61
|
+
this.logInfo(`Overriding agent ${fromAgent} => ${toAgent}`);
|
|
62
|
+
const content = yield this.agent.export(fromAgent);
|
|
63
|
+
if (content)
|
|
64
|
+
yield this.agent.restore(toAgent, content);
|
|
65
|
+
})
|
|
164
66
|
};
|
|
165
|
-
|
|
166
|
-
list:
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
counter++;
|
|
188
|
-
if (counter > 10)
|
|
189
|
-
throw new ts_common_1.ThisShouldNotHappenException('Too many calls to DialogFlow API');
|
|
190
|
-
_a.label = 3;
|
|
191
|
-
case 3:
|
|
192
|
-
if (pageToken) return [3 /*break*/, 1];
|
|
193
|
-
_a.label = 4;
|
|
194
|
-
case 4: return [2 /*return*/, intentList];
|
|
195
|
-
}
|
|
196
|
-
});
|
|
197
|
-
}); },
|
|
67
|
+
this.intent = {
|
|
68
|
+
list: (agentProjectId) => __awaiter(this, void 0, void 0, function* () {
|
|
69
|
+
this.logInfo(`List intents of ${agentProjectId}`);
|
|
70
|
+
const intentList = [];
|
|
71
|
+
let counter = 1;
|
|
72
|
+
let pageToken = undefined;
|
|
73
|
+
do {
|
|
74
|
+
const response = yield this.dialogFlowApi.projects.agent.intents.list({
|
|
75
|
+
parent: `projects/${agentProjectId}/agent`,
|
|
76
|
+
pageToken,
|
|
77
|
+
pageSize: 1000
|
|
78
|
+
});
|
|
79
|
+
if (!response.data.intents)
|
|
80
|
+
break;
|
|
81
|
+
pageToken = response.data.nextPageToken || undefined;
|
|
82
|
+
intentList.push(...response.data.intents);
|
|
83
|
+
counter++;
|
|
84
|
+
if (counter > 10)
|
|
85
|
+
throw new ts_common_1.ThisShouldNotHappenException('Too many calls to DialogFlow API');
|
|
86
|
+
} while (pageToken);
|
|
87
|
+
return intentList;
|
|
88
|
+
}),
|
|
198
89
|
};
|
|
199
|
-
|
|
200
|
-
createEntities:
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
request = {
|
|
206
|
-
parent: entityId,
|
|
207
|
-
requestBody: {
|
|
208
|
-
entities: entityList
|
|
209
|
-
}
|
|
210
|
-
};
|
|
211
|
-
return [4 /*yield*/, this.dialogFlowApi.projects.agent.entityTypes.entities.batchCreate(request)];
|
|
212
|
-
case 1: return [2 /*return*/, (_a.sent()).data];
|
|
90
|
+
this.entity = {
|
|
91
|
+
createEntities: (agentProjectId, entityId, entityList) => __awaiter(this, void 0, void 0, function* () {
|
|
92
|
+
const request = {
|
|
93
|
+
parent: entityId,
|
|
94
|
+
requestBody: {
|
|
95
|
+
entities: entityList
|
|
213
96
|
}
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
var
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
parent: pathString,
|
|
231
|
-
requestBody: {
|
|
232
|
-
"displayName": "" + entityName,
|
|
233
|
-
"enableFuzzyExtraction": false,
|
|
234
|
-
"kind": "KIND_MAP",
|
|
235
|
-
}
|
|
236
|
-
};
|
|
237
|
-
return [4 /*yield*/, this.dialogFlowApi.projects.agent.entityTypes.create(request)];
|
|
238
|
-
case 2: return [2 /*return*/, (_c.sent()).data.name];
|
|
97
|
+
};
|
|
98
|
+
return (yield this.dialogFlowApi.projects.agent.entityTypes.entities.batchCreate(request)).data;
|
|
99
|
+
}),
|
|
100
|
+
createEntityType: (agentProjectId, entityName) => __awaiter(this, void 0, void 0, function* () {
|
|
101
|
+
var _b, _c;
|
|
102
|
+
const pathString = `projects/${agentProjectId}/agent`;
|
|
103
|
+
const entityTypeList = yield this.dialogFlowApi.projects.agent.entityTypes.list({ parent: pathString });
|
|
104
|
+
const foundType = (_c = (_b = entityTypeList.data) === null || _b === void 0 ? void 0 : _b.entityTypes) === null || _c === void 0 ? void 0 : _c.find(entityType => entityType.displayName === entityName);
|
|
105
|
+
if (foundType)
|
|
106
|
+
return foundType.name;
|
|
107
|
+
const request = {
|
|
108
|
+
parent: pathString,
|
|
109
|
+
requestBody: {
|
|
110
|
+
"displayName": `${entityName}`,
|
|
111
|
+
"enableFuzzyExtraction": false,
|
|
112
|
+
"kind": "KIND_MAP",
|
|
239
113
|
}
|
|
240
|
-
}
|
|
241
|
-
|
|
114
|
+
};
|
|
115
|
+
return (yield this.dialogFlowApi.projects.agent.entityTypes.create(request)).data.name;
|
|
116
|
+
}),
|
|
242
117
|
};
|
|
243
|
-
|
|
244
|
-
return _this;
|
|
118
|
+
this.dialogFlowApi = new googleapis_1.dialogflow_v2.Dialogflow(AuthModule_1.AuthModule.getAuth(authKey, [consts_1.GCPScope.CloudPlatform]));
|
|
245
119
|
}
|
|
246
|
-
|
|
247
|
-
}(ts_common_1.Logger));
|
|
120
|
+
}
|
|
248
121
|
exports.DialogFlowApi = DialogFlowApi;
|
|
249
122
|
//# sourceMappingURL=DialogFlowApi.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DialogFlowApi.js","sourceRoot":"","sources":["../../../src/main/app-backend/modules/DialogFlowApi.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DialogFlowApi.js","sourceRoot":"","sources":["../../../src/main/app-backend/modules/DialogFlowApi.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,19 +17,6 @@
|
|
|
17
17
|
* See the License for the specific language governing permissions and
|
|
18
18
|
* limitations under the License.
|
|
19
19
|
*/
|
|
20
|
-
var __extends = (this && this.__extends) || (function () {
|
|
21
|
-
var extendStatics = function (d, b) {
|
|
22
|
-
extendStatics = Object.setPrototypeOf ||
|
|
23
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
24
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
25
|
-
return extendStatics(d, b);
|
|
26
|
-
};
|
|
27
|
-
return function (d, b) {
|
|
28
|
-
extendStatics(d, b);
|
|
29
|
-
function __() { this.constructor = d; }
|
|
30
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
31
|
-
};
|
|
32
|
-
})();
|
|
33
20
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
34
21
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
35
22
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -39,355 +26,187 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
39
26
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
40
27
|
});
|
|
41
28
|
};
|
|
42
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
43
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
44
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
45
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
46
|
-
function step(op) {
|
|
47
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
48
|
-
while (_) try {
|
|
49
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
50
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
51
|
-
switch (op[0]) {
|
|
52
|
-
case 0: case 1: t = op; break;
|
|
53
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
54
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
55
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
56
|
-
default:
|
|
57
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
58
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
59
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
60
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
61
|
-
if (t[2]) _.ops.pop();
|
|
62
|
-
_.trys.pop(); continue;
|
|
63
|
-
}
|
|
64
|
-
op = body.call(thisArg, _);
|
|
65
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
66
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
67
|
-
}
|
|
68
|
-
};
|
|
69
|
-
var __spreadArrays = (this && this.__spreadArrays) || function () {
|
|
70
|
-
for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
|
|
71
|
-
for (var r = Array(s), k = 0, i = 0; i < il; i++)
|
|
72
|
-
for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
|
|
73
|
-
r[k] = a[j];
|
|
74
|
-
return r;
|
|
75
|
-
};
|
|
76
29
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
77
30
|
exports.GoogleCloudManager = exports.GoogleCloudManager_Class = void 0;
|
|
78
31
|
/**
|
|
79
32
|
* Created by tacb0ss on 07/05/2018.
|
|
80
33
|
*/
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
34
|
+
const ts_common_1 = require("@intuitionrobotics/ts-common");
|
|
35
|
+
const googleapis_1 = require("googleapis");
|
|
36
|
+
const AuthModule_1 = require("./AuthModule");
|
|
84
37
|
var Serviceusage = googleapis_1.serviceusage_v1.Serviceusage;
|
|
85
38
|
var Cloudresourcemanager = googleapis_1.cloudresourcemanager_v2.Cloudresourcemanager;
|
|
86
39
|
var CloudresourcemanagerV1 = googleapis_1.cloudresourcemanager_v1.Cloudresourcemanager;
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
_this.setDefaultConfig({ scopes: [consts_1.GCPScope.CloudPlatform] });
|
|
93
|
-
return _this;
|
|
40
|
+
const consts_1 = require("./consts");
|
|
41
|
+
class GoogleCloudManager_Class extends ts_common_1.Module {
|
|
42
|
+
constructor() {
|
|
43
|
+
super();
|
|
44
|
+
this.setDefaultConfig({ scopes: [consts_1.GCPScope.CloudPlatform] });
|
|
94
45
|
}
|
|
95
|
-
|
|
46
|
+
init() {
|
|
96
47
|
this.cloudServicesManagerAPI = new Serviceusage(AuthModule_1.AuthModule.getAuth(this.config.authKey, this.config.scopes, 'v1'));
|
|
97
48
|
this.cloudResourcesManagerAPI = new Cloudresourcemanager(AuthModule_1.AuthModule.getAuth(this.config.authKey, this.config.scopes));
|
|
98
49
|
this.cloudResourcesManagerAPIv1 = new CloudresourcemanagerV1(AuthModule_1.AuthModule.getAuth(this.config.authKey, this.config.scopes, 'v1'));
|
|
99
|
-
}
|
|
50
|
+
}
|
|
100
51
|
// FOLDERS
|
|
101
|
-
|
|
102
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
parentFolder = folders[0];
|
|
119
|
-
return [3 /*break*/, 5];
|
|
120
|
-
case 3: return [4 /*yield*/, this.createFolder({ parentId: parentFolderId, folderName: folderName })];
|
|
121
|
-
case 4:
|
|
122
|
-
parentFolder = _a.sent();
|
|
123
|
-
_a.label = 5;
|
|
124
|
-
case 5:
|
|
125
|
-
if (!parentFolder)
|
|
126
|
-
throw new ts_common_1.BadImplementationException("MUST be parentFolder");
|
|
127
|
-
return [2 /*return*/, this.getFolderId(parentFolder)];
|
|
128
|
-
}
|
|
129
|
-
});
|
|
52
|
+
getOrCreateFolder(parentFolderId, folderName) {
|
|
53
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
54
|
+
if (parentFolderId === undefined)
|
|
55
|
+
throw new ts_common_1.BadImplementationException("MUST provide a parentFolderId");
|
|
56
|
+
if (folderName === undefined)
|
|
57
|
+
throw new ts_common_1.BadImplementationException("MUST provide a folderName");
|
|
58
|
+
const folders = yield this.queryFolders({ parentId: parentFolderId, folderName });
|
|
59
|
+
let parentFolder;
|
|
60
|
+
if (folders.length > 1)
|
|
61
|
+
throw new ts_common_1.ThisShouldNotHappenException("too many folders for query...");
|
|
62
|
+
else if (folders.length === 1)
|
|
63
|
+
parentFolder = folders[0];
|
|
64
|
+
else
|
|
65
|
+
parentFolder = yield this.createFolder({ parentId: parentFolderId, folderName });
|
|
66
|
+
if (!parentFolder)
|
|
67
|
+
throw new ts_common_1.BadImplementationException("MUST be parentFolder");
|
|
68
|
+
return this.getFolderId(parentFolder);
|
|
130
69
|
});
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
request = {
|
|
139
|
-
parent: "folders/" + _request.parentId,
|
|
140
|
-
requestBody: {
|
|
141
|
-
displayName: _request.folderName
|
|
142
|
-
}
|
|
143
|
-
};
|
|
144
|
-
this.logInfo("Creating GCP folder \"" + _request.parentId + "/" + _request.folderName + "\"");
|
|
145
|
-
return [4 /*yield*/, this.cloudResourcesManagerAPI.folders.create(request)];
|
|
146
|
-
case 1:
|
|
147
|
-
res = _a.sent();
|
|
148
|
-
return [4 /*yield*/, this._waitForFolderOperation(res.data.name)];
|
|
149
|
-
case 2: return [2 /*return*/, _a.sent()];
|
|
70
|
+
}
|
|
71
|
+
createFolder(_request) {
|
|
72
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
73
|
+
const request = {
|
|
74
|
+
parent: `folders/${_request.parentId}`,
|
|
75
|
+
requestBody: {
|
|
76
|
+
displayName: _request.folderName
|
|
150
77
|
}
|
|
151
|
-
}
|
|
78
|
+
};
|
|
79
|
+
this.logInfo(`Creating GCP folder "${_request.parentId}/${_request.folderName}"`);
|
|
80
|
+
const res = yield this.cloudResourcesManagerAPI.folders.create(request);
|
|
81
|
+
return yield this._waitForFolderOperation(res.data.name);
|
|
152
82
|
});
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
case 0:
|
|
160
|
-
query = { query: "parent=folders/" + _query.parentId + " AND displayName=" + _query.folderName };
|
|
161
|
-
return [4 /*yield*/, this.cloudResourcesManagerAPI.folders.search({ requestBody: query })];
|
|
162
|
-
case 1:
|
|
163
|
-
res = _a.sent();
|
|
164
|
-
return [2 /*return*/, res.data.folders || []];
|
|
165
|
-
}
|
|
166
|
-
});
|
|
83
|
+
}
|
|
84
|
+
queryFolders(_query) {
|
|
85
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
86
|
+
const query = { query: `parent=folders/${_query.parentId} AND displayName=${_query.folderName}` };
|
|
87
|
+
const res = yield this.cloudResourcesManagerAPI.folders.search({ requestBody: query });
|
|
88
|
+
return res.data.folders || [];
|
|
167
89
|
});
|
|
168
|
-
}
|
|
169
|
-
|
|
90
|
+
}
|
|
91
|
+
getFolderId(folder) {
|
|
170
92
|
return folder.name.replace("folders/", "");
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
case 2:
|
|
184
|
-
_a.sent();
|
|
185
|
-
return [4 /*yield*/, this.cloudResourcesManagerAPI.operations.get({ name: name })];
|
|
186
|
-
case 3:
|
|
187
|
-
res = _a.sent();
|
|
188
|
-
if (res.data.done)
|
|
189
|
-
return [2 /*return*/, res.data.response];
|
|
190
|
-
retry--;
|
|
191
|
-
return [3 /*break*/, 1];
|
|
192
|
-
case 4: throw new ts_common_1.ImplementationMissingException("need better handling here..");
|
|
193
|
-
}
|
|
194
|
-
});
|
|
93
|
+
}
|
|
94
|
+
_waitForFolderOperation(name) {
|
|
95
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
96
|
+
let retry = 5;
|
|
97
|
+
while (retry >= 0) {
|
|
98
|
+
yield ts_common_1.timeout(2000);
|
|
99
|
+
const res = yield this.cloudResourcesManagerAPI.operations.get({ name });
|
|
100
|
+
if (res.data.done)
|
|
101
|
+
return res.data.response;
|
|
102
|
+
retry--;
|
|
103
|
+
}
|
|
104
|
+
throw new ts_common_1.ImplementationMissingException("need better handling here..");
|
|
195
105
|
});
|
|
196
|
-
}
|
|
106
|
+
}
|
|
197
107
|
// PROJECTS
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
return
|
|
203
|
-
switch (_a.label) {
|
|
204
|
-
case 0: return [4 /*yield*/, this.cloudResourcesManagerAPIv1.projects.list()];
|
|
205
|
-
case 1:
|
|
206
|
-
results = _a.sent();
|
|
207
|
-
projects = results.data.projects || [];
|
|
208
|
-
return [2 /*return*/, projects.filter(filter)];
|
|
209
|
-
}
|
|
210
|
-
});
|
|
108
|
+
listProjects(filter = () => true) {
|
|
109
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
110
|
+
const results = yield this.cloudResourcesManagerAPIv1.projects.list();
|
|
111
|
+
const projects = results.data.projects || [];
|
|
112
|
+
return projects.filter(filter);
|
|
211
113
|
});
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
return __generator(this, function (_a) {
|
|
222
|
-
switch (_a.label) {
|
|
223
|
-
case 0: return [4 /*yield*/, this.listProjects(function (gcproject) { return !!projects.find(function (project) { return project.name === gcproject.name; }); })];
|
|
224
|
-
case 1:
|
|
225
|
-
existingProjects = _a.sent();
|
|
226
|
-
projectsToCreate = projects
|
|
227
|
-
.filter(function (project) { return !existingProjects.find(function (gcproject) { return gcproject.name === project.name; }); });
|
|
228
|
-
return [4 /*yield*/, Promise.all(projectsToCreate.map(function (project) { return _this.createProject(parentId, project.projectId, project.name); }))];
|
|
229
|
-
case 2:
|
|
230
|
-
newProjects = _a.sent();
|
|
231
|
-
allProjects = ts_common_1.filterInstances(__spreadArrays(existingProjects, newProjects));
|
|
232
|
-
return [2 /*return*/, projects.map(function (project) { return allProjects.find(function (gcpProject) { return gcpProject.name === project.name; }); })];
|
|
233
|
-
}
|
|
234
|
-
});
|
|
114
|
+
}
|
|
115
|
+
getOrCreateProjects(parentId, ...projects) {
|
|
116
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
117
|
+
const existingProjects = yield this.listProjects(gcproject => !!projects.find(project => project.name === gcproject.name));
|
|
118
|
+
const projectsToCreate = projects
|
|
119
|
+
.filter((project) => !existingProjects.find((gcproject) => gcproject.name === project.name));
|
|
120
|
+
const newProjects = yield Promise.all(projectsToCreate.map(project => this.createProject(parentId, project.projectId, project.name)));
|
|
121
|
+
const allProjects = ts_common_1.filterInstances([...existingProjects, ...newProjects]);
|
|
122
|
+
return projects.map(project => allProjects.find(gcpProject => gcpProject.name === project.name));
|
|
235
123
|
});
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
projectId: projectId,
|
|
246
|
-
name: name,
|
|
247
|
-
parent: {
|
|
248
|
-
type: "folder",
|
|
249
|
-
id: parentId
|
|
250
|
-
}
|
|
251
|
-
};
|
|
252
|
-
this.logInfo("Creating GCP Project \"" + parentId + "/" + projectId + "/" + name + "\"");
|
|
253
|
-
return [4 /*yield*/, this.cloudResourcesManagerAPIv1.projects.create({ requestBody: options })];
|
|
254
|
-
case 1:
|
|
255
|
-
response = _a.sent();
|
|
256
|
-
return [2 /*return*/, this._waitForProjectOperation(response.data.name)];
|
|
124
|
+
}
|
|
125
|
+
createProject(parentId, projectId, name = projectId) {
|
|
126
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
127
|
+
const options = {
|
|
128
|
+
projectId,
|
|
129
|
+
name,
|
|
130
|
+
parent: {
|
|
131
|
+
type: "folder",
|
|
132
|
+
id: parentId
|
|
257
133
|
}
|
|
258
|
-
}
|
|
134
|
+
};
|
|
135
|
+
this.logInfo(`Creating GCP Project "${parentId}/${projectId}/${name}"`);
|
|
136
|
+
const response = yield this.cloudResourcesManagerAPIv1.projects.create({ requestBody: options });
|
|
137
|
+
return this._waitForProjectOperation(response.data.name);
|
|
259
138
|
});
|
|
260
|
-
}
|
|
261
|
-
|
|
262
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
case 2:
|
|
273
|
-
_a.sent();
|
|
274
|
-
return [4 /*yield*/, this.cloudResourcesManagerAPIv1.operations.get({ name: name })];
|
|
275
|
-
case 3:
|
|
276
|
-
res = _a.sent();
|
|
277
|
-
if (res.data.done)
|
|
278
|
-
return [2 /*return*/, res.data.response];
|
|
279
|
-
retry--;
|
|
280
|
-
return [3 /*break*/, 1];
|
|
281
|
-
case 4: throw new ts_common_1.ImplementationMissingException("need better handling here..");
|
|
282
|
-
}
|
|
283
|
-
});
|
|
139
|
+
}
|
|
140
|
+
_waitForProjectOperation(name) {
|
|
141
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
142
|
+
let retry = 5;
|
|
143
|
+
while (retry >= 0) {
|
|
144
|
+
yield ts_common_1.timeout(2000);
|
|
145
|
+
const res = yield this.cloudResourcesManagerAPIv1.operations.get({ name });
|
|
146
|
+
if (res.data.done)
|
|
147
|
+
return res.data.response;
|
|
148
|
+
retry--;
|
|
149
|
+
}
|
|
150
|
+
throw new ts_common_1.ImplementationMissingException("need better handling here..");
|
|
284
151
|
});
|
|
285
|
-
}
|
|
152
|
+
}
|
|
286
153
|
// SERVICES
|
|
287
|
-
|
|
288
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
289
|
-
|
|
290
|
-
return
|
|
291
|
-
switch (_a.label) {
|
|
292
|
-
case 0: return [4 /*yield*/, this.cloudServicesManagerAPI.services.get({ name: "projects/" + projectId + "/services/" + serviceKey })];
|
|
293
|
-
case 1:
|
|
294
|
-
res = _a.sent();
|
|
295
|
-
return [2 /*return*/, res.data];
|
|
296
|
-
}
|
|
297
|
-
});
|
|
154
|
+
getService(serviceKey, projectId) {
|
|
155
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
156
|
+
const res = yield this.cloudServicesManagerAPI.services.get({ name: `projects/${projectId}/services/${serviceKey}` });
|
|
157
|
+
return res.data;
|
|
298
158
|
});
|
|
299
|
-
}
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
projectIds
|
|
304
|
-
}
|
|
305
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
306
|
-
var _this = this;
|
|
307
|
-
return __generator(this, function (_a) {
|
|
308
|
-
this.logInfo("Enabling Service \"" + serviceKey + "\" for projects: " + ts_common_1.__stringify(projectIds));
|
|
309
|
-
return [2 /*return*/, Promise.all(projectIds.map(function (projectId) { return _this._enableService(serviceKey, projectId, enable); }))];
|
|
310
|
-
});
|
|
159
|
+
}
|
|
160
|
+
enableService(serviceKey, enable, ...projectIds) {
|
|
161
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
162
|
+
this.logInfo(`Enabling Service "${serviceKey}" for projects: ${ts_common_1.__stringify(projectIds)}`);
|
|
163
|
+
return Promise.all(projectIds.map(projectId => this._enableService(serviceKey, projectId, enable)));
|
|
311
164
|
});
|
|
312
|
-
}
|
|
165
|
+
}
|
|
313
166
|
// @ts-ignore
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
case 3: return [4 /*yield*/, this.cloudServicesManagerAPI.services.disable({ name: name })];
|
|
332
|
-
case 4:
|
|
333
|
-
res = _a.sent();
|
|
334
|
-
_a.label = 5;
|
|
335
|
-
case 5: return [4 /*yield*/, this._waitForServiceOperation(res.data.name)];
|
|
336
|
-
case 6:
|
|
337
|
-
service = _a.sent();
|
|
338
|
-
if (this._isEnabled(service))
|
|
339
|
-
this.logVerbose("Service \"" + serviceKey + "\" is now enabled for project: " + projectId);
|
|
340
|
-
else
|
|
341
|
-
this.logError("Service \"" + serviceKey + "\" is now disabled for project: " + projectId);
|
|
342
|
-
return [2 /*return*/, service];
|
|
343
|
-
}
|
|
344
|
-
});
|
|
167
|
+
_enableService(serviceKey, projectId, enable = true) {
|
|
168
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
169
|
+
let service = yield this.getService(serviceKey, projectId);
|
|
170
|
+
if (this._isEnabled(service) === enable)
|
|
171
|
+
return this.logVerbose(`Service "${serviceKey}" was already enabled for project: ${projectId}`);
|
|
172
|
+
const name = service.name;
|
|
173
|
+
let res;
|
|
174
|
+
if (enable)
|
|
175
|
+
res = yield this.cloudServicesManagerAPI.services.enable({ name });
|
|
176
|
+
else
|
|
177
|
+
res = yield this.cloudServicesManagerAPI.services.disable({ name });
|
|
178
|
+
service = yield this._waitForServiceOperation(res.data.name);
|
|
179
|
+
if (this._isEnabled(service))
|
|
180
|
+
this.logVerbose(`Service "${serviceKey}" is now enabled for project: ${projectId}`);
|
|
181
|
+
else
|
|
182
|
+
this.logError(`Service "${serviceKey}" is now disabled for project: ${projectId}`);
|
|
183
|
+
return service;
|
|
345
184
|
});
|
|
346
|
-
}
|
|
347
|
-
|
|
185
|
+
}
|
|
186
|
+
_waitForServiceOperation(name) {
|
|
348
187
|
var _a;
|
|
349
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
case 2:
|
|
360
|
-
_b.sent();
|
|
361
|
-
return [4 /*yield*/, this.cloudServicesManagerAPI.operations.get({ name: name })];
|
|
362
|
-
case 3:
|
|
363
|
-
res = _b.sent();
|
|
364
|
-
if (res.data.done)
|
|
365
|
-
return [2 /*return*/, (_a = res.data.response) === null || _a === void 0 ? void 0 : _a.service];
|
|
366
|
-
retry--;
|
|
367
|
-
return [3 /*break*/, 1];
|
|
368
|
-
case 4: throw new ts_common_1.ImplementationMissingException("need better handling here..");
|
|
369
|
-
}
|
|
370
|
-
});
|
|
188
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
189
|
+
let retry = 5;
|
|
190
|
+
while (retry >= 0) {
|
|
191
|
+
yield ts_common_1.timeout(2000);
|
|
192
|
+
const res = yield this.cloudServicesManagerAPI.operations.get({ name });
|
|
193
|
+
if (res.data.done)
|
|
194
|
+
return (_a = res.data.response) === null || _a === void 0 ? void 0 : _a.service;
|
|
195
|
+
retry--;
|
|
196
|
+
}
|
|
197
|
+
throw new ts_common_1.ImplementationMissingException("need better handling here..");
|
|
371
198
|
});
|
|
372
|
-
}
|
|
373
|
-
|
|
374
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
375
|
-
|
|
376
|
-
return
|
|
377
|
-
switch (_a.label) {
|
|
378
|
-
case 0: return [4 /*yield*/, this.getService(serviceKey, projectId)];
|
|
379
|
-
case 1:
|
|
380
|
-
service = _a.sent();
|
|
381
|
-
return [2 /*return*/, this._isEnabled(service)];
|
|
382
|
-
}
|
|
383
|
-
});
|
|
199
|
+
}
|
|
200
|
+
isEnabled(serviceKey, projectId) {
|
|
201
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
202
|
+
const service = yield this.getService(serviceKey, projectId);
|
|
203
|
+
return this._isEnabled(service);
|
|
384
204
|
});
|
|
385
|
-
}
|
|
386
|
-
|
|
205
|
+
}
|
|
206
|
+
_isEnabled(service) {
|
|
387
207
|
return service.state === "ENABLED";
|
|
388
|
-
}
|
|
389
|
-
|
|
390
|
-
}(ts_common_1.Module));
|
|
208
|
+
}
|
|
209
|
+
}
|
|
391
210
|
exports.GoogleCloudManager_Class = GoogleCloudManager_Class;
|
|
392
211
|
exports.GoogleCloudManager = new GoogleCloudManager_Class();
|
|
393
212
|
//# sourceMappingURL=GoogleCloudModule.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GoogleCloudModule.js","sourceRoot":"","sources":["../../../src/main/app-backend/modules/GoogleCloudModule.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;GAiBG
|
|
1
|
+
{"version":3,"file":"GoogleCloudModule.js","sourceRoot":"","sources":["../../../src/main/app-backend/modules/GoogleCloudModule.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __extends = (this && this.__extends) || (function () {
|
|
3
|
-
var extendStatics = function (d, b) {
|
|
4
|
-
extendStatics = Object.setPrototypeOf ||
|
|
5
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
-
return extendStatics(d, b);
|
|
8
|
-
};
|
|
9
|
-
return function (d, b) {
|
|
10
|
-
extendStatics(d, b);
|
|
11
|
-
function __() { this.constructor = d; }
|
|
12
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
13
|
-
};
|
|
14
|
-
})();
|
|
15
2
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
16
3
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
17
4
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -21,76 +8,31 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
21
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
22
9
|
});
|
|
23
10
|
};
|
|
24
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
25
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
26
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
27
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
28
|
-
function step(op) {
|
|
29
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
30
|
-
while (_) try {
|
|
31
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
32
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
33
|
-
switch (op[0]) {
|
|
34
|
-
case 0: case 1: t = op; break;
|
|
35
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
36
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
37
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
38
|
-
default:
|
|
39
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
40
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
41
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
42
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
43
|
-
if (t[2]) _.ops.pop();
|
|
44
|
-
_.trys.pop(); continue;
|
|
45
|
-
}
|
|
46
|
-
op = body.call(thisArg, _);
|
|
47
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
48
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
52
12
|
exports.PubSubModule = void 0;
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
}
|
|
61
|
-
PubSubModule_Class.prototype.project = function (projectId, authKey) {
|
|
62
|
-
var _this = this;
|
|
63
|
-
if (authKey === void 0) { authKey = projectId; }
|
|
64
|
-
var authObject = AuthModule_1.AuthModule.getAuth(authKey, []);
|
|
65
|
-
var auth = authObject.auth;
|
|
13
|
+
const ts_common_1 = require("@intuitionrobotics/ts-common");
|
|
14
|
+
const pubsub_1 = require("@google-cloud/pubsub");
|
|
15
|
+
const AuthModule_1 = require("./AuthModule");
|
|
16
|
+
class PubSubModule_Class extends ts_common_1.Module {
|
|
17
|
+
project(projectId, authKey = projectId) {
|
|
18
|
+
const authObject = AuthModule_1.AuthModule.getAuth(authKey, []);
|
|
19
|
+
const auth = authObject.auth;
|
|
66
20
|
// @ts-ignore
|
|
67
|
-
|
|
21
|
+
const pubSub = new pubsub_1.PubSub({ projectId, auth });
|
|
68
22
|
return {
|
|
69
|
-
createTopic:
|
|
70
|
-
|
|
71
|
-
return
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
topic = (_a.sent())[0];
|
|
76
|
-
return [2 /*return*/, topic];
|
|
77
|
-
}
|
|
78
|
-
});
|
|
79
|
-
}); },
|
|
80
|
-
topic: function (topicName, options) {
|
|
81
|
-
var topic = pubSub.topic(topicName, options);
|
|
23
|
+
createTopic: (topicName) => __awaiter(this, void 0, void 0, function* () {
|
|
24
|
+
const [topic] = yield pubSub.createTopic(topicName);
|
|
25
|
+
return topic;
|
|
26
|
+
}),
|
|
27
|
+
topic: (topicName, options) => {
|
|
28
|
+
const topic = pubSub.topic(topicName, options);
|
|
82
29
|
return {
|
|
83
|
-
publishJson:
|
|
84
|
-
|
|
85
|
-
}); }); },
|
|
86
|
-
publish: function (buffer) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
|
|
87
|
-
return [2 /*return*/, topic.publish(buffer)];
|
|
88
|
-
}); }); }
|
|
30
|
+
publishJson: (json) => __awaiter(this, void 0, void 0, function* () { return topic.publishJSON(json); }),
|
|
31
|
+
publish: (buffer) => __awaiter(this, void 0, void 0, function* () { return topic.publish(buffer); })
|
|
89
32
|
};
|
|
90
33
|
}
|
|
91
34
|
};
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
}(ts_common_1.Module));
|
|
35
|
+
}
|
|
36
|
+
}
|
|
95
37
|
exports.PubSubModule = new PubSubModule_Class();
|
|
96
38
|
//# sourceMappingURL=PubSubModule.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PubSubModule.js","sourceRoot":"","sources":["../../../src/main/app-backend/modules/PubSubModule.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PubSubModule.js","sourceRoot":"","sources":["../../../src/main/app-backend/modules/PubSubModule.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4DAAoD;AACpD,iDAA4C;AAE5C,6CAAwC;AAGxC,MAAM,kBACL,SAAQ,kBAAM;IAEd,OAAO,CAAC,SAAiB,EAAE,OAAO,GAAG,SAAS;QAC7C,MAAM,UAAU,GAAG,uBAAU,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACnD,MAAM,IAAI,GAAe,UAAU,CAAC,IAAI,CAAC;QAEzC,aAAa;QACb,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;QAC7C,OAAO;YACN,WAAW,EAAE,CAAO,SAAiB,EAAE,EAAE;gBACxC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBACpD,OAAO,KAAK,CAAC;YACd,CAAC,CAAA;YACD,KAAK,EAAE,CAAC,SAAiB,EAAE,OAAwB,EAAE,EAAE;gBACtD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBAC/C,OAAO;oBACN,WAAW,EAAE,CAAO,IAAY,EAAE,EAAE,gDAAC,OAAA,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA,GAAA;oBAC5D,OAAO,EAAE,CAAO,MAAc,EAAE,EAAE,gDAAC,OAAA,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA,GAAA;iBACxD,CAAC;YACH,CAAC;SACD,CAAC;IACH,CAAC;CACD;AAEY,QAAA,YAAY,GAAG,IAAI,kBAAkB,EAAE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@intuitionrobotics/google-services",
|
|
3
|
-
"version": "0.41.
|
|
3
|
+
"version": "0.41.70",
|
|
4
4
|
"description": "google-services",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"IR",
|
|
@@ -54,9 +54,9 @@
|
|
|
54
54
|
"adm-zip": "^0.4.16",
|
|
55
55
|
"compression": "^1.7.4",
|
|
56
56
|
"express": "^4.16.4",
|
|
57
|
-
"firebase": "^9.
|
|
58
|
-
"firebase-admin": "^
|
|
59
|
-
"firebase-functions": "^3.
|
|
57
|
+
"firebase": "^9.9.1",
|
|
58
|
+
"firebase-admin": "^11.0.0",
|
|
59
|
+
"firebase-functions": "^3.22.0",
|
|
60
60
|
"google-auth-library": "^7.12.0",
|
|
61
61
|
"googleapis": "^95.0.0",
|
|
62
62
|
"moment": "^2.24.0",
|