Fix StartOS 0.4 TypeScript packaging to match SDK API
This commit is contained in:
+57
@@ -0,0 +1,57 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.Origin = void 0;
|
||||
class Origin {
|
||||
constructor(host, internalPort, scheme, sslScheme) {
|
||||
this.host = host;
|
||||
this.internalPort = internalPort;
|
||||
this.scheme = scheme;
|
||||
this.sslScheme = sslScheme;
|
||||
}
|
||||
build({ username, path, query: search, schemeOverride, }) {
|
||||
const qpEntries = Object.entries(search)
|
||||
.map(([key, val]) => `${encodeURIComponent(key)}=${encodeURIComponent(val)}`)
|
||||
.join('&');
|
||||
const qp = qpEntries.length ? `?${qpEntries}` : '';
|
||||
return {
|
||||
hostId: this.host.options.id,
|
||||
internalPort: this.internalPort,
|
||||
scheme: schemeOverride ? schemeOverride.noSsl : this.scheme,
|
||||
sslScheme: schemeOverride ? schemeOverride.ssl : this.sslScheme,
|
||||
suffix: `${path}${qp}`,
|
||||
username,
|
||||
};
|
||||
}
|
||||
/**
|
||||
* @description A function to register a group of origins (<PROTOCOL> :// <HOSTNAME> : <PORT>) with StartOS
|
||||
*
|
||||
* The returned addressReceipt serves as proof that the addresses were registered
|
||||
*
|
||||
* @param addressInfo
|
||||
* @returns
|
||||
*/
|
||||
async export(serviceInterfaces) {
|
||||
const addressesInfo = [];
|
||||
for (let serviceInterface of serviceInterfaces) {
|
||||
const { name, description, id, type, username, path, query: search, schemeOverride, masked, } = serviceInterface.options;
|
||||
const addressInfo = this.build({
|
||||
username,
|
||||
path,
|
||||
query: search,
|
||||
schemeOverride,
|
||||
});
|
||||
await serviceInterface.options.effects.exportServiceInterface({
|
||||
id,
|
||||
name,
|
||||
description,
|
||||
addressInfo,
|
||||
type,
|
||||
masked,
|
||||
});
|
||||
addressesInfo.push(addressInfo);
|
||||
}
|
||||
return addressesInfo;
|
||||
}
|
||||
}
|
||||
exports.Origin = Origin;
|
||||
//# sourceMappingURL=Origin.js.map
|
||||
Reference in New Issue
Block a user