@stemy/backend 5.0.3 → 5.0.6

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.
@@ -34,6 +34,13 @@ let AssetsController = class AssetsController {
34
34
  const asset = await this.getAsset("Asset", id, lazy, res);
35
35
  return asset.download();
36
36
  }
37
+ async getMetadata(id, lazy, res) {
38
+ const asset = await this.assetResolver.resolve(id, lazy);
39
+ if (!asset) {
40
+ throw new HttpError(404, `Asset with id: '${id}' not found.`);
41
+ }
42
+ return asset.metadata;
43
+ }
37
44
  async getImageRotation(id, params, res, rotation = 0) {
38
45
  const asset = await this.getAsset("Image", id, params.lazy, res);
39
46
  if (rotation !== 0) {
@@ -106,6 +113,15 @@ __decorate([
106
113
  __metadata("design:paramtypes", [String, Boolean, Object]),
107
114
  __metadata("design:returntype", Promise)
108
115
  ], AssetsController.prototype, "getFile", null);
116
+ __decorate([
117
+ Get("/metadata/:id"),
118
+ __param(0, Param("id")),
119
+ __param(1, QueryParam("lazy")),
120
+ __param(2, Res()),
121
+ __metadata("design:type", Function),
122
+ __metadata("design:paramtypes", [String, Boolean, Object]),
123
+ __metadata("design:returntype", Promise)
124
+ ], AssetsController.prototype, "getMetadata", null);
109
125
  __decorate([
110
126
  Get("/image/:id/:rotation"),
111
127
  __param(0, Param("id")),
@@ -148,4 +164,4 @@ AssetsController = __decorate([
148
164
  __metadata("design:paramtypes", [Assets, AssetResolver])
149
165
  ], AssetsController);
150
166
  export { AssetsController };
151
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzLmNvbnRyb2xsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmVzdC1jb250cm9sbGVycy9hc3NldHMuY29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBRUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLEVBQ0gsVUFBVSxFQUNWLElBQUksRUFDSixVQUFVLEVBQ1YsR0FBRyxFQUNILFNBQVMsRUFDVCxLQUFLLEVBQ0wsSUFBSSxFQUNKLFVBQVUsRUFDVixXQUFXLEVBQ1gsR0FBRyxFQUNILFlBQVksRUFDZixNQUFNLHFCQUFxQixDQUFDO0FBRTdCLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUMxQyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDekQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFJekQsSUFBTSxnQkFBZ0IsR0FBdEIsTUFBTSxnQkFBZ0I7SUFFekIsWUFBcUIsTUFBYyxFQUFXLGFBQTRCO1FBQXJELFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtJQUUxRSxDQUFDO0lBSUssQUFBTixLQUFLLENBQUMsTUFBTSxDQUF1QixJQUF5QjtRQUN4RCxJQUFJO1lBQ0EsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsS0FBSywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQ3hGLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFDLEVBQUUsV0FBVyxDQUFDLENBQUM7WUFDakcsT0FBTyxLQUFLLENBQUMsTUFBTSxFQUFF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QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UmVhZGFibGV9IGZyb20gXCJzdHJlYW1cIjtcclxuaW1wb3J0IHtSZXNwb25zZX0gZnJvbSBcImV4cHJlc3NcIjtcclxuaW1wb3J0IHtpbmplY3RhYmxlfSBmcm9tIFwidHN5cmluZ2VcIjtcclxuaW1wb3J0IHtcclxuICAgIEF1dGhvcml6ZWQsXHJcbiAgICBCb2R5LFxyXG4gICAgQ29udHJvbGxlcixcclxuICAgIEdldCxcclxuICAgIEh0dHBFcnJvcixcclxuICAgIFBhcmFtLFxyXG4gICAgUG9zdCxcclxuICAgIFF1ZXJ5UGFyYW0sXHJcbiAgICBRdWVyeVBhcmFtcyxcclxuICAgIFJlcyxcclxuICAgIFVwbG9hZGVkRmlsZVxyXG59IGZyb20gXCJyb3V0aW5nLWNvbnRyb2xsZXJzXCI7XHJcbmltcG9ydCB7SUFzc2V0fSBmcm9tIFwiLi4vY29tbW9uLXR5cGVzXCI7XHJcbmltcG9ydCB7QXNzZXRzfSBmcm9tIFwiLi4vc2VydmljZXMvYXNzZXRzXCI7XHJcbmltcG9ydCB7QXNzZXRSZXNvbHZlcn0gZnJvbSBcIi4uL3NlcnZpY2VzL2Fzc2V0LXJlc29sdmVyXCI7XHJcbmltcG9ydCB7QXNzZXRJbWFnZVBhcmFtc30gZnJvbSBcIi4uL3JlcXVlc3RzL2Fzc2V0LWltYWdlLXBhcmFtc1wiO1xyXG5cclxuQGluamVjdGFibGUoKVxyXG5AQ29udHJvbGxlcihcIi9hc3NldHNcIilcclxuZXhwb3J0IGNsYXNzIEFzc2V0c0NvbnRyb2xsZXIge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGFzc2V0czogQXNzZXRzLCByZWFkb25seSBhc3NldFJlc29sdmVyOiBBc3NldFJlc29sdmVyKSB7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIEBBdXRob3JpemVkKClcclxuICAgIEBQb3N0KFwiXCIpXHJcbiAgICBhc3luYyB1cGxvYWQoQFVwbG9hZGVkRmlsZShcImZpbGVcIikgZmlsZTogRXhwcmVzcy5NdWx0ZXIuRmlsZSkge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGNvbnRlbnRUeXBlID0gZmlsZS5taW1ldHlwZSA9PT0gXCJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW1cIiA/IG51bGwgOiBmaWxlLm1pbWV0eXBlO1xyXG4gICAgICAgICAgICBjb25zdCBhc3NldCA9IGF3YWl0IHRoaXMuYXNzZXRzLndyaXRlQnVmZmVyKGZpbGUuYnVmZmVyLCB7ZmlsZW5hbWU6IGZpbGUuZmlsZW5hbWV9LCBjb250ZW50VHlwZSk7XHJcbiAgICAgICAgICAgIHJldHVybiBhc3NldC50b0pTT04oKTtcclxuICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG1zZyA9IGU/Lm1lc3NhZ2UgfHwgZSB8fCBcIlVua25vd24gZXJyb3JcIjtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEh0dHBFcnJvcig0MDAsIGBBc3NldCBjYW4ndCBiZSB1cGxvYWRlZC5cXG4ke21zZ31gKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQEF1dGhvcml6ZWQoKVxyXG4gICAgQFBvc3QoXCJ1cmxcIilcclxuICAgIGFzeW5jIHVwbG9hZFVybChAQm9keSgpIGJvZHk6IGFueSkge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGFzc2V0ID0gYXdhaXQgdGhpcy5hc3NldHMud3JpdGVVcmwoYm9keS51cmwsIGJvZHkpO1xyXG4gICAgICAgICAgICByZXR1cm4gYXNzZXQudG9KU09OKCk7XHJcbiAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICBjb25zdCBtc2cgPSBlPy5tZXNzYWdlIHx8IGUgfHwgXCJVbmtub3duIGVycm9yXCI7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBIdHRwRXJyb3IoNDAwLCBgQXNzZXQgY2FuJ3QgYmUgdXBsb2FkZWQuXFxuJHttc2d9YCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBHZXQoXCIvOmlkXCIpXHJcbiAgICBhc3luYyBnZXRGaWxlKEBQYXJhbShcImlkXCIpIGlkOiBzdHJpbmcsIEBRdWVyeVBhcmFtKFwibGF6eVwiKSBsYXp5OiBib29sZWFuLCBAUmVzKCkgcmVzOiBSZXNwb25zZSk6IFByb21pc2U8UmVhZGFibGU+IHtcclxuICAgICAgICBjb25zdCBhc3NldCA9IGF3YWl0IHRoaXMuZ2V0QXNzZXQoXCJBc3NldFwiLCBpZCwgbGF6eSwgcmVzKTtcclxuICAgICAgICByZXR1cm4gYXNzZXQuZG93bmxvYWQoKTtcclxuICAgIH1cclxuXHJcbiAgICBAR2V0KFwiL2ltYWdlLzppZC86cm90YXRpb25cIilcclxuICAgIGFzeW5jIGdldEltYWdlUm90YXRpb24oQFBhcmFtKFwiaWRcIikgaWQ6IHN0cmluZywgQFF1ZXJ5UGFyYW1zKCkgcGFyYW1zOiBBc3NldEltYWdlUGFyYW1zLCBAUmVzKCkgcmVzOiBSZXNwb25zZSwgQFBhcmFtKFwicm90YXRpb25cIikgcm90YXRpb246IG51bWJlciA9IDApOiBQcm9taXNlPFJlYWRhYmxlPiB7XHJcbiAgICAgICAgY29uc3QgYXNzZXQgPSBhd2FpdCB0aGlzLmdldEFzc2V0KFwiSW1hZ2VcIiwgaWQsIHBhcmFtcy5sYXp5LCByZXMpO1xyXG4gICAgICAgIGlmIChyb3RhdGlvbiAhPT0gMCkge1xyXG4gICAgICAgICAgICBwYXJhbXMucm90YXRpb24gPSBwYXJhbXMucm90YXRpb24gfHwgcm90YXRpb247XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBhc3NldC5kb3dubG9hZEltYWdlKHBhcmFtcyk7XHJcbiAgICB9XHJcblxyXG4gICAgQEdldChcIi9pbWFnZS86aWRcIilcclxuICAgIGFzeW5jIGdldEltYWdlKEBQYXJhbShcImlkXCIpIGlkOiBzdHJpbmcsIEBRdWVyeVBhcmFtcygpIHBhcmFtczogQXNzZXRJbWFnZVBhcmFtcywgQFJlcygpIHJlczogUmVzcG9uc2UpOiBQcm9taXNlPFJlYWRhYmxlPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0SW1hZ2VSb3RhdGlvbihpZCwgcGFyYW1zLCByZXMpO1xyXG4gICAgfVxyXG5cclxuICAgIEBHZXQoXCIvYnktbmFtZS86bmFtZVwiKVxyXG4gICAgYXN5bmMgZ2V0RmlsZUJ5TmFtZShAUGFyYW0oXCJuYW1lXCIpIG5hbWU6IHN0cmluZywgQFJlcygpIHJlczogUmVzcG9uc2UpOiBQcm9taXNlPFJlYWRhYmxlPiB7XHJcbiAgICAgICAgY29uc3QgYXNzZXQgPSBhd2FpdCB0aGlzLmdldEFzc2V0QnlOYW1lKFwiQXNzZXRcIiwgbmFtZSwgcmVzKTtcclxuICAgICAgICByZXR1cm4gYXNzZXQuZG93bmxvYWQoKTtcclxuICAgIH1cclxuXHJcbiAgICBAR2V0KFwiL2J5LW5hbWUvaW1hZ2UvOm5hbWVcIilcclxuICAgIGFzeW5jIGdldEltYWdlQnlOYW1lKEBQYXJhbShcIm5hbWVcIikgbmFtZTogc3RyaW5nLCBAUXVlcnlQYXJhbXMoKSBwYXJhbXM6IEFzc2V0SW1hZ2VQYXJhbXMsIEBSZXMoKSByZXM6IFJlc3BvbnNlKTogUHJvbWlzZTxSZWFkYWJsZT4ge1xyXG4gICAgICAgIGNvbnN0IGFzc2V0ID0gYXdhaXQgdGhpcy5nZXRBc3NldEJ5TmFtZShcIkltYWdlXCIsIG5hbWUsIHJlcyk7XHJcbiAgICAgICAgcmV0dXJuIGFzc2V0LmRvd25sb2FkSW1hZ2UocGFyYW1zKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgc2V0QXNzZXRIZWFkZXJzKHR5cGU6IHN0cmluZywgYXNzZXQ6IElBc3NldCwgcmVzOiBSZXNwb25zZSk6IHZvaWQge1xyXG4gICAgICAgIGlmIChhc3NldC5tZXRhZGF0YT8uY2xhc3NpZmllZCkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgSHR0cEVycm9yKDQwMywgYCR7dHlwZX0gaXMgY2xhc3NpZmllZCwgYW5kIGNhbiBiZSBvbmx5IGRvd25sb2FkZWQgZnJvbSBhIGN1c3RvbSB1cmwuYCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGV4dCA9IGFzc2V0Lm1ldGFkYXRhPy5leHRlbnNpb247XHJcbiAgICAgICAgaWYgKGV4dCkge1xyXG4gICAgICAgICAgICByZXMuaGVhZGVyKFwiY29udGVudC1kaXNwb3NpdGlvblwiLCBgaW5saW5lOyBmaWxlbmFtZT0ke2Fzc2V0LmZpbGVuYW1lfS4ke2V4dH1gKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGFzc2V0LmNvbnRlbnRUeXBlKSB7XHJcbiAgICAgICAgICAgIHJlcy5oZWFkZXIoXCJjb250ZW50LXR5cGVcIiwgYXNzZXQuY29udGVudFR5cGUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgYXN5bmMgZ2V0QXNzZXQodHlwZTogc3RyaW5nLCBpZDogc3RyaW5nLCBsYXp5OiBib29sZWFuLCByZXM6IFJlc3BvbnNlKTogUHJvbWlzZTxJQXNzZXQ+IHtcclxuICAgICAgICBjb25zdCBhc3NldCA9IGF3YWl0IHRoaXMuYXNzZXRSZXNvbHZlci5yZXNvbHZlKGlkLCBsYXp5KTtcclxuICAgICAgICBpZiAoIWFzc2V0KSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBIdHRwRXJyb3IoNDA0LCBgJHt0eXBlfSB3aXRoIGlkOiAnJHtpZH0nIG5vdCBmb3VuZC5gKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zZXRBc3NldEhlYWRlcnModHlwZSwgYXNzZXQsIHJlcyk7XHJcbiAgICAgICAgcmV0dXJuIGFzc2V0O1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBhc3luYyBnZXRBc3NldEJ5TmFtZSh0eXBlOiBzdHJpbmcsIGZpbGVuYW1lOiBzdHJpbmcsIHJlczogUmVzcG9uc2UpOiBQcm9taXNlPElBc3NldD4ge1xyXG4gICAgICAgIGNvbnN0IGFzc2V0ID0gYXdhaXQgdGhpcy5hc3NldHMuZmluZCh7ZmlsZW5hbWV9KTtcclxuICAgICAgICBpZiAoIWFzc2V0KSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBIdHRwRXJyb3IoNDA0LCBgJHt0eXBlfSB3aXRoIGZpbGVuYW1lOiAnJHtmaWxlbmFtZX0nIG5vdCBmb3VuZC5gKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zZXRBc3NldEhlYWRlcnModHlwZSwgYXNzZXQsIHJlcyk7XHJcbiAgICAgICAgcmV0dXJuIGFzc2V0O1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
167
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzLmNvbnRyb2xsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmVzdC1jb250cm9sbGVycy9hc3NldHMuY29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBRUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLEVBQ0gsVUFBVSxFQUNWLElBQUksRUFDSixVQUFVLEVBQ1YsR0FBRyxFQUNILFNBQVMsRUFDVCxLQUFLLEVBQ0wsSUFBSSxFQUNKLFVBQVUsRUFDVixXQUFXLEVBQ1gsR0FBRyxFQUNILFlBQVksRUFDZixNQUFNLHFCQUFxQixDQUFDO0FBRTdCLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUMxQyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDekQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFJekQsSUFBTSxnQkFBZ0IsR0FBdEIsTUFBTSxnQkFBZ0I7SUFFekIsWUFBcUIsTUFBYyxFQUFXLGFBQTRCO1FBQXJELFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtJQUUxRSxDQUFDO0lBSUssQUFBTixLQUFLLENBQUMsTUFBTSxDQUF1QixJQUF5QjtRQUN4RCxJQUFJO1lBQ0EsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsS0FBSywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQ3hGLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFDLEVBQUUsV0FBVyxDQUFDLENBQUM7WUFDakcsT0FBTyxLQUFLLENBQUMsTUFBTSxFQUFF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RSxDQUFBO0lBQTRCLFdBQUEsR0FBRyxFQUFFLENBQUE7OzZDQUF4QixnQkFBZ0I7O2dEQUU5RTtBQUdLO0lBREwsR0FBRyxDQUFDLGdCQUFnQixDQUFDO0lBQ0QsV0FBQSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUE7SUFBZ0IsV0FBQSxHQUFHLEVBQUUsQ0FBQTs7OztxREFHdEQ7QUFHSztJQURMLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQztJQUNOLFdBQUEsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQWdCLFdBQUEsV0FBVyxFQUFFLENBQUE7SUFBNEIsV0FBQSxHQUFHLEVBQUUsQ0FBQTs7NkNBQXhCLGdCQUFnQjs7c0RBR3hGO0FBdEVRLGdCQUFnQjtJQUY1QixVQUFVLEVBQUU7SUFDWixVQUFVLENBQUMsU0FBUyxDQUFDO3FDQUdXLE1BQU0sRUFBMEIsYUFBYTtHQUZqRSxnQkFBZ0IsQ0FzRzVCO1NBdEdZLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UmVhZGFibGV9IGZyb20gXCJzdHJlYW1cIjtcclxuaW1wb3J0IHtSZXNwb25zZX0gZnJvbSBcImV4cHJlc3NcIjtcclxuaW1wb3J0IHtpbmplY3RhYmxlfSBmcm9tIFwidHN5cmluZ2VcIjtcclxuaW1wb3J0IHtcclxuICAgIEF1dGhvcml6ZWQsXHJcbiAgICBCb2R5LFxyXG4gICAgQ29udHJvbGxlcixcclxuICAgIEdldCxcclxuICAgIEh0dHBFcnJvcixcclxuICAgIFBhcmFtLFxyXG4gICAgUG9zdCxcclxuICAgIFF1ZXJ5UGFyYW0sXHJcbiAgICBRdWVyeVBhcmFtcyxcclxuICAgIFJlcyxcclxuICAgIFVwbG9hZGVkRmlsZVxyXG59IGZyb20gXCJyb3V0aW5nLWNvbnRyb2xsZXJzXCI7XHJcbmltcG9ydCB7SUFzc2V0fSBmcm9tIFwiLi4vY29tbW9uLXR5cGVzXCI7XHJcbmltcG9ydCB7QXNzZXRzfSBmcm9tIFwiLi4vc2VydmljZXMvYXNzZXRzXCI7XHJcbmltcG9ydCB7QXNzZXRSZXNvbHZlcn0gZnJvbSBcIi4uL3NlcnZpY2VzL2Fzc2V0LXJlc29sdmVyXCI7XHJcbmltcG9ydCB7QXNzZXRJbWFnZVBhcmFtc30gZnJvbSBcIi4uL3JlcXVlc3RzL2Fzc2V0LWltYWdlLXBhcmFtc1wiO1xyXG5cclxuQGluamVjdGFibGUoKVxyXG5AQ29udHJvbGxlcihcIi9hc3NldHNcIilcclxuZXhwb3J0IGNsYXNzIEFzc2V0c0NvbnRyb2xsZXIge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGFzc2V0czogQXNzZXRzLCByZWFkb25seSBhc3NldFJlc29sdmVyOiBBc3NldFJlc29sdmVyKSB7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIEBBdXRob3JpemVkKClcclxuICAgIEBQb3N0KFwiXCIpXHJcbiAgICBhc3luYyB1cGxvYWQoQFVwbG9hZGVkRmlsZShcImZpbGVcIikgZmlsZTogRXhwcmVzcy5NdWx0ZXIuRmlsZSkge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGNvbnRlbnRUeXBlID0gZmlsZS5taW1ldHlwZSA9PT0gXCJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW1cIiA/IG51bGwgOiBmaWxlLm1pbWV0eXBlO1xyXG4gICAgICAgICAgICBjb25zdCBhc3NldCA9IGF3YWl0IHRoaXMuYXNzZXRzLndyaXRlQnVmZmVyKGZpbGUuYnVmZmVyLCB7ZmlsZW5hbWU6IGZpbGUuZmlsZW5hbWV9LCBjb250ZW50VHlwZSk7XHJcbiAgICAgICAgICAgIHJldHVybiBhc3NldC50b0pTT04oKTtcclxuICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG1zZyA9IGU/Lm1lc3NhZ2UgfHwgZSB8fCBcIlVua25vd24gZXJyb3JcIjtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEh0dHBFcnJvcig0MDAsIGBBc3NldCBjYW4ndCBiZSB1cGxvYWRlZC5cXG4ke21zZ31gKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQEF1dGhvcml6ZWQoKVxyXG4gICAgQFBvc3QoXCJ1cmxcIilcclxuICAgIGFzeW5jIHVwbG9hZFVybChAQm9keSgpIGJvZHk6IGFueSkge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGFzc2V0ID0gYXdhaXQgdGhpcy5hc3NldHMud3JpdGVVcmwoYm9keS51cmwsIGJvZHkpO1xyXG4gICAgICAgICAgICByZXR1cm4gYXNzZXQudG9KU09OKCk7XHJcbiAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICBjb25zdCBtc2cgPSBlPy5tZXNzYWdlIHx8IGUgfHwgXCJVbmtub3duIGVycm9yXCI7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBIdHRwRXJyb3IoNDAwLCBgQXNzZXQgY2FuJ3QgYmUgdXBsb2FkZWQuXFxuJHttc2d9YCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBHZXQoXCIvOmlkXCIpXHJcbiAgICBhc3luYyBnZXRGaWxlKEBQYXJhbShcImlkXCIpIGlkOiBzdHJpbmcsIEBRdWVyeVBhcmFtKFwibGF6eVwiKSBsYXp5OiBib29sZWFuLCBAUmVzKCkgcmVzOiBSZXNwb25zZSk6IFByb21pc2U8UmVhZGFibGU+IHtcclxuICAgICAgICBjb25zdCBhc3NldCA9IGF3YWl0IHRoaXMuZ2V0QXNzZXQoXCJBc3NldFwiLCBpZCwgbGF6eSwgcmVzKTtcclxuICAgICAgICByZXR1cm4gYXNzZXQuZG93bmxvYWQoKTtcclxuICAgIH1cclxuXHJcbiAgICBAR2V0KFwiL21ldGFkYXRhLzppZFwiKVxyXG4gICAgYXN5bmMgZ2V0TWV0YWRhdGEoQFBhcmFtKFwiaWRcIikgaWQ6IHN0cmluZywgQFF1ZXJ5UGFyYW0oXCJsYXp5XCIpIGxhenk6IGJvb2xlYW4sIEBSZXMoKSByZXM6IFJlc3BvbnNlKTogUHJvbWlzZTxhbnk+IHtcclxuICAgICAgICBjb25zdCBhc3NldCA9IGF3YWl0IHRoaXMuYXNzZXRSZXNvbHZlci5yZXNvbHZlKGlkLCBsYXp5KTtcclxuICAgICAgICBpZiAoIWFzc2V0KSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBIdHRwRXJyb3IoNDA0LCBgQXNzZXQgd2l0aCBpZDogJyR7aWR9JyBub3QgZm91bmQuYCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBhc3NldC5tZXRhZGF0YTtcclxuICAgIH1cclxuXHJcbiAgICBAR2V0KFwiL2ltYWdlLzppZC86cm90YXRpb25cIilcclxuICAgIGFzeW5jIGdldEltYWdlUm90YXRpb24oQFBhcmFtKFwiaWRcIikgaWQ6IHN0cmluZywgQFF1ZXJ5UGFyYW1zKCkgcGFyYW1zOiBBc3NldEltYWdlUGFyYW1zLCBAUmVzKCkgcmVzOiBSZXNwb25zZSwgQFBhcmFtKFwicm90YXRpb25cIikgcm90YXRpb246IG51bWJlciA9IDApOiBQcm9taXNlPFJlYWRhYmxlPiB7XHJcbiAgICAgICAgY29uc3QgYXNzZXQgPSBhd2FpdCB0aGlzLmdldEFzc2V0KFwiSW1hZ2VcIiwgaWQsIHBhcmFtcy5sYXp5LCByZXMpO1xyXG4gICAgICAgIGlmIChyb3RhdGlvbiAhPT0gMCkge1xyXG4gICAgICAgICAgICBwYXJhbXMucm90YXRpb24gPSBwYXJhbXMucm90YXRpb24gfHwgcm90YXRpb247XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBhc3NldC5kb3dubG9hZEltYWdlKHBhcmFtcyk7XHJcbiAgICB9XHJcblxyXG4gICAgQEdldChcIi9pbWFnZS86aWRcIilcclxuICAgIGFzeW5jIGdldEltYWdlKEBQYXJhbShcImlkXCIpIGlkOiBzdHJpbmcsIEBRdWVyeVBhcmFtcygpIHBhcmFtczogQXNzZXRJbWFnZVBhcmFtcywgQFJlcygpIHJlczogUmVzcG9uc2UpOiBQcm9taXNlPFJlYWRhYmxlPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0SW1hZ2VSb3RhdGlvbihpZCwgcGFyYW1zLCByZXMpO1xyXG4gICAgfVxyXG5cclxuICAgIEBHZXQoXCIvYnktbmFtZS86bmFtZVwiKVxyXG4gICAgYXN5bmMgZ2V0RmlsZUJ5TmFtZShAUGFyYW0oXCJuYW1lXCIpIG5hbWU6IHN0cmluZywgQFJlcygpIHJlczogUmVzcG9uc2UpOiBQcm9taXNlPFJlYWRhYmxlPiB7XHJcbiAgICAgICAgY29uc3QgYXNzZXQgPSBhd2FpdCB0aGlzLmdldEFzc2V0QnlOYW1lKFwiQXNzZXRcIiwgbmFtZSwgcmVzKTtcclxuICAgICAgICByZXR1cm4gYXNzZXQuZG93bmxvYWQoKTtcclxuICAgIH1cclxuXHJcbiAgICBAR2V0KFwiL2J5LW5hbWUvaW1hZ2UvOm5hbWVcIilcclxuICAgIGFzeW5jIGdldEltYWdlQnlOYW1lKEBQYXJhbShcIm5hbWVcIikgbmFtZTogc3RyaW5nLCBAUXVlcnlQYXJhbXMoKSBwYXJhbXM6IEFzc2V0SW1hZ2VQYXJhbXMsIEBSZXMoKSByZXM6IFJlc3BvbnNlKTogUHJvbWlzZTxSZWFkYWJsZT4ge1xyXG4gICAgICAgIGNvbnN0IGFzc2V0ID0gYXdhaXQgdGhpcy5nZXRBc3NldEJ5TmFtZShcIkltYWdlXCIsIG5hbWUsIHJlcyk7XHJcbiAgICAgICAgcmV0dXJuIGFzc2V0LmRvd25sb2FkSW1hZ2UocGFyYW1zKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgc2V0QXNzZXRIZWFkZXJzKHR5cGU6IHN0cmluZywgYXNzZXQ6IElBc3NldCwgcmVzOiBSZXNwb25zZSk6IHZvaWQge1xyXG4gICAgICAgIGlmIChhc3NldC5tZXRhZGF0YT8uY2xhc3NpZmllZCkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgSHR0cEVycm9yKDQwMywgYCR7dHlwZX0gaXMgY2xhc3NpZmllZCwgYW5kIGNhbiBiZSBvbmx5IGRvd25sb2FkZWQgZnJvbSBhIGN1c3RvbSB1cmwuYCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGV4dCA9IGFzc2V0Lm1ldGFkYXRhPy5leHRlbnNpb247XHJcbiAgICAgICAgaWYgKGV4dCkge1xyXG4gICAgICAgICAgICByZXMuaGVhZGVyKFwiY29udGVudC1kaXNwb3NpdGlvblwiLCBgaW5saW5lOyBmaWxlbmFtZT0ke2Fzc2V0LmZpbGVuYW1lfS4ke2V4dH1gKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGFzc2V0LmNvbnRlbnRUeXBlKSB7XHJcbiAgICAgICAgICAgIHJlcy5oZWFkZXIoXCJjb250ZW50LXR5cGVcIiwgYXNzZXQuY29udGVudFR5cGUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgYXN5bmMgZ2V0QXNzZXQodHlwZTogc3RyaW5nLCBpZDogc3RyaW5nLCBsYXp5OiBib29sZWFuLCByZXM6IFJlc3BvbnNlKTogUHJvbWlzZTxJQXNzZXQ+IHtcclxuICAgICAgICBjb25zdCBhc3NldCA9IGF3YWl0IHRoaXMuYXNzZXRSZXNvbHZlci5yZXNvbHZlKGlkLCBsYXp5KTtcclxuICAgICAgICBpZiAoIWFzc2V0KSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBIdHRwRXJyb3IoNDA0LCBgJHt0eXBlfSB3aXRoIGlkOiAnJHtpZH0nIG5vdCBmb3VuZC5gKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zZXRBc3NldEhlYWRlcnModHlwZSwgYXNzZXQsIHJlcyk7XHJcbiAgICAgICAgcmV0dXJuIGFzc2V0O1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBhc3luYyBnZXRBc3NldEJ5TmFtZSh0eXBlOiBzdHJpbmcsIGZpbGVuYW1lOiBzdHJpbmcsIHJlczogUmVzcG9uc2UpOiBQcm9taXNlPElBc3NldD4ge1xyXG4gICAgICAgIGNvbnN0IGFzc2V0ID0gYXdhaXQgdGhpcy5hc3NldHMuZmluZCh7ZmlsZW5hbWV9KTtcclxuICAgICAgICBpZiAoIWFzc2V0KSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBIdHRwRXJyb3IoNDA0LCBgJHt0eXBlfSB3aXRoIGZpbGVuYW1lOiAnJHtmaWxlbmFtZX0nIG5vdCBmb3VuZC5gKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zZXRBc3NldEhlYWRlcnModHlwZSwgYXNzZXQsIHJlcyk7XHJcbiAgICAgICAgcmV0dXJuIGFzc2V0O1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -2,6 +2,7 @@ import { __decorate, __metadata, __param } from "tslib";
2
2
  import { inject, singleton } from "tsyringe";
3
3
  import { getMetadataArgsStorage } from "routing-controllers";
4
4
  import { routingControllersToSpec } from "routing-controllers-openapi";
5
+ import { defaultMetadataStorage } from "class-transformer/cjs/storage";
5
6
  import { validationMetadatasToSchemas } from "class-validator-jsonschema";
6
7
  import { ValidationTypes } from "class-validator";
7
8
  import { isDefined, isFunction, isObject } from "../utils";
@@ -79,6 +80,7 @@ let OpenApi = class OpenApi {
79
80
  const docs = routingControllersToSpec(storage);
80
81
  docs.basePath = "/api/";
81
82
  docs.definitions = validationMetadatasToSchemas({
83
+ classTransformerMetadataStorage: defaultMetadataStorage,
82
84
  additionalConverters: {
83
85
  [ValidationTypes.CUSTOM_VALIDATION]: (meta, options) => {
84
86
  const res = isFunction(this.customValidation) ? this.customValidation(meta, options) : this.customValidation;
@@ -113,4 +115,4 @@ OpenApi = __decorate([
113
115
  __metadata("design:paramtypes", [Object, Object])
114
116
  ], OpenApi);
115
117
  export { OpenApi };
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3Blbi1hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvb3Blbi1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBRTNDLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQzNELE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3JFLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3hFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDekQsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFDLFlBQVksRUFBa0Msa0JBQWtCLEVBQW9CLE1BQU0saUJBQWlCLENBQUM7QUFHN0csSUFBTSxPQUFPLEdBQWIsTUFBTSxPQUFPO0lBZWhCLFlBQTRDLFNBQStCLEVBQ3pCLGdCQUFtQztRQUR6QyxjQUFTLEdBQVQsU0FBUyxDQUFzQjtRQUN6QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQW1CO1FBQ2pGLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ3JCLENBQUM7SUFiRCxJQUFJLE9BQU87UUFDUCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7WUFBRSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNqRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDckIsQ0FBQztJQUVELElBQUksVUFBVTtRQUNWLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTztZQUFFLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDL0QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hCLENBQUM7SUFPRCxLQUFLLENBQUMsZUFBZSxDQUFDLEdBQW1DLEVBQUUsR0FBYztRQUNyRSxNQUFNLFFBQVEsR0FBRyxHQUFzQixDQUFDO1FBQ3hDLElBQUksUUFBUSxDQUFDLElBQUksRUFBRTtZQUNmLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQztZQUNoRCxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsSUFBSTtpQkFDdkIsT0FBTyxDQUFDLHVCQUF1QixFQUFFLEVBQUUsQ0FBQztpQkFDcEMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ25DLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDckQ7UUFDRCxJQUFJLE1BQU0sR0FBRyxHQUFtQixDQUFDO1FBQ2pDLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRTtZQUNkLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3ZEO1FBQ0QsSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRTtZQUMxQixNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7WUFDbEIsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUMsR0FBRyxFQUFDLEVBQUU7Z0JBQzdELE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUMxRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ0osT0FBTyxNQUFNLENBQUM7U0FDakI7UUFDRCxJQUFJLE1BQU0sQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFO1lBQ3pCLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQzFEO1FBQ0QsSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRTtZQUMxQixJQUFJLFNBQVMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQzNCLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRTtvQkFDNUIsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztpQkFDekM7Z0JBQ0QsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDO2FBQ3pCO1lBQ0QsSUFBSSxNQUFNLENBQUMsTUFBTSxJQUFJLE1BQU0sRUFBRTtnQkFDekIsT0FBTyxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7YUFDakQ7WUFDRCxJQUFJLE1BQU0sQ0FBQyxNQUFNLElBQUksV0FBVyxFQUFFO2dCQUM5QixPQUFPLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7YUFDbkM7WUFDRCxJQUFJLE1BQU0sQ0FBQyxJQUFJLEVBQUU7Z0JBQ2IsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3pCO1lBQ0QsT0FBTyxRQUFRLENBQUM7U0FDbkI7UUFDRCxJQUFJLE1BQU0sQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFO1lBQzFCLE9BQU8sTUFBTSxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUM7U0FDOUI7YUFBTSxJQUFJLE1BQU0sQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFFO1lBQ2xDLE9BQU8sTUFBTSxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUM7U0FDbEM7YUFBTTtZQUNILE9BQU8sTUFBTSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUM7U0FDakM7SUFDTCxDQUFDO0lBRVMsYUFBYTtRQUNuQixNQUFNLE9BQU8sR0FBRyxzQkFBc0IsRUFBRSxDQUFDO1FBQ3pDLE1BQU0sSUFBSSxHQUFHLHdCQUF3QixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxXQUFXLEdBQUcsNEJBQTRCLENBQUM7WUFDNUMsb0JBQW9CLEVBQUU7Z0JBQ2xCLENBQUMsZUFBZSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUU7b0JBQ25ELE1BQU0sR0FBRyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDO29CQUM3RyxJQUFJLFFBQVEsQ0FBQyxHQUFHLENBQUM7d0JBQUUsT0FBTyxHQUFHLENBQUM7b0JBQzlCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO29CQUMzQyxJQUFJLElBQUksQ0FBQyxhQUFhLEtBQUssTUFBTSxFQUFFO3dCQUMvQixPQUFPOzRCQUNILEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSzs0QkFDOUIsSUFBSSxFQUFFLE1BQU07eUJBQ1IsQ0FBQztxQkFDWjtvQkFDRCxJQUFJLElBQUksQ0FBQyxhQUFhLEtBQUssVUFBVSxFQUFFO3dCQUNuQyxPQUFPOzRCQUNILFFBQVEsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSzs0QkFDakMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLOzRCQUM5QixJQUFJLEVBQUUsTUFBTTt5QkFDUixDQUFDO3FCQUNaO29CQUNELE9BQU8sSUFBSSxDQUFDO2dCQUNoQixDQUFDO2FBQ0o7U0FDSixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQzNDLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7Q0FDSixDQUFBO0FBcEdZLE9BQU87SUFEbkIsU0FBUyxFQUFFO0lBZ0JLLFdBQUEsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFBO0lBQ3BCLFdBQUEsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUE7O0dBaEI5QixPQUFPLENBb0duQjtTQXBHWSxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpbmplY3QsIHNpbmdsZXRvbn0gZnJvbSBcInRzeXJpbmdlXCI7XHJcbmltcG9ydCB7T3BlbkFQSU9iamVjdCwgUmVmZXJlbmNlT2JqZWN0LCBTY2hlbWFPYmplY3R9IGZyb20gXCJvcGVuYXBpMy10c1wiO1xyXG5pbXBvcnQge2dldE1ldGFkYXRhQXJnc1N0b3JhZ2V9IGZyb20gXCJyb3V0aW5nLWNvbnRyb2xsZXJzXCI7XHJcbmltcG9ydCB7cm91dGluZ0NvbnRyb2xsZXJzVG9TcGVjfSBmcm9tIFwicm91dGluZy1jb250cm9sbGVycy1vcGVuYXBpXCI7XHJcbmltcG9ydCB7dmFsaWRhdGlvbk1ldGFkYXRhc1RvU2NoZW1hc30gZnJvbSBcImNsYXNzLXZhbGlkYXRvci1qc29uc2NoZW1hXCI7XHJcbmltcG9ydCB7VmFsaWRhdGlvblR5cGVzfSBmcm9tIFwiY2xhc3MtdmFsaWRhdG9yXCI7XHJcbmltcG9ydCB7aXNEZWZpbmVkLCBpc0Z1bmN0aW9uLCBpc09iamVjdH0gZnJvbSBcIi4uL3V0aWxzXCI7XHJcbmltcG9ydCB7SXNGaWxlLCBJc09iamVjdElkfSBmcm9tIFwiLi4vdmFsaWRhdG9yc1wiO1xyXG5pbXBvcnQge0RJX0NPTlRBSU5FUiwgSURlcGVuZGVuY3lDb250YWluZXIsIElSZXF1ZXN0LCBPUEVOQVBJX1ZBTElEQVRJT04sIE9wZW5BcGlWYWxpZGF0aW9ufSBmcm9tIFwiLi4vY29tbW9uLXR5cGVzXCI7XHJcblxyXG5Ac2luZ2xldG9uKClcclxuZXhwb3J0IGNsYXNzIE9wZW5BcGkge1xyXG5cclxuICAgIHByb3RlY3RlZCBkb2NzOiBPcGVuQVBJT2JqZWN0O1xyXG4gICAgcHJvdGVjdGVkIGRvY3NTdHI6IHN0cmluZztcclxuXHJcbiAgICBnZXQgYXBpRG9jcygpOiBPcGVuQVBJT2JqZWN0IHtcclxuICAgICAgICBpZiAoIXRoaXMuZG9jcykgdGhpcy5kb2NzID0gdGhpcy5jcmVhdGVBcGlEb2NzKCk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZG9jcztcclxuICAgIH1cclxuXHJcbiAgICBnZXQgYXBpRG9jc1N0cigpOiBzdHJpbmcge1xyXG4gICAgICAgIGlmICghdGhpcy5kb2NzU3RyKSB0aGlzLmRvY3NTdHIgPSBKU09OLnN0cmluZ2lmeSh0aGlzLmFwaURvY3MpO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmRvY3NTdHI7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3RydWN0b3IoQGluamVjdChESV9DT05UQUlORVIpIHByb3RlY3RlZCBjb250YWluZXI6IElEZXBlbmRlbmN5Q29udGFpbmVyLFxyXG4gICAgICAgICAgICAgICAgQGluamVjdChPUEVOQVBJX1ZBTElEQVRJT04pIHByb3RlY3RlZCBjdXN0b21WYWxpZGF0aW9uOiBPcGVuQXBpVmFsaWRhdGlvbikge1xyXG4gICAgICAgIHRoaXMuZG9jcyA9IG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgc2NoZW1hVG9FeGFtcGxlKHNyYzogUmVmZXJlbmNlT2JqZWN0IHwgU2NoZW1hT2JqZWN0LCByZXE/OiBJUmVxdWVzdCk6IFByb21pc2U8YW55PiB7XHJcbiAgICAgICAgY29uc3QgbWF5YmVSZWYgPSBzcmMgYXMgUmVmZXJlbmNlT2JqZWN0O1xyXG4gICAgICAgIGlmIChtYXliZVJlZi4kcmVmKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHNjaGVtYXMgPSB0aGlzLmFwaURvY3MuY29tcG9uZW50cy5zY2hlbWFzO1xyXG4gICAgICAgICAgICBjb25zdCBzY2hlbWEgPSBtYXliZVJlZi4kcmVmXHJcbiAgICAgICAgICAgICAgICAucmVwbGFjZShcIiMvY29tcG9uZW50cy9zY2hlbWFzL1wiLCBcIlwiKVxyXG4gICAgICAgICAgICAgICAgLnJlcGxhY2UoXCIjL2RlZmluaXRpb25zL1wiLCBcIlwiKTtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2NoZW1hVG9FeGFtcGxlKHNjaGVtYXNbc2NoZW1hXSwgcmVxKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IHNjaGVtYSA9IHNyYyBhcyBTY2hlbWFPYmplY3Q7XHJcbiAgICAgICAgaWYgKHNjaGVtYS5vbmVPZikge1xyXG4gICAgICAgICAgICBzY2hlbWEgPSBPYmplY3QuYXNzaWduKHt9LCBzY2hlbWEsIHNjaGVtYS5vbmVPZlswXSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChzY2hlbWEudHlwZSA9PT0gXCJvYmplY3RcIikge1xyXG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSB7fTtcclxuICAgICAgICAgICAgYXdhaXQgUHJvbWlzZS5hbGwoT2JqZWN0LmtleXMoc2NoZW1hLnByb3BlcnRpZXMpLm1hcChhc3luYyBrZXkgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmVzdWx0W2tleV0gPSBhd2FpdCB0aGlzLnNjaGVtYVRvRXhhbXBsZShzY2hlbWEucHJvcGVydGllc1trZXldLCByZXEpO1xyXG4gICAgICAgICAgICB9KSk7XHJcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChzY2hlbWEudHlwZSA9PT0gXCJhcnJheVwiKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBbYXdhaXQgdGhpcy5zY2hlbWFUb0V4YW1wbGUoc2NoZW1hLml0ZW1zLCByZXEpXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHNjaGVtYS50eXBlID09PSBcInN0cmluZ1wiKSB7XHJcbiAgICAgICAgICAgIGlmIChpc0RlZmluZWQoc2NoZW1hLmRlZmF1bHQpKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoaXNGdW5jdGlvbihzY2hlbWEuZGVmYXVsdCkpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2NoZW1hLmRlZmF1bHQodGhpcy5jb250YWluZXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHNjaGVtYS5kZWZhdWx0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChzY2hlbWEuZm9ybWF0ID09IFwiZGF0ZVwiKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IERhdGUoKS50b0lTT1N0cmluZygpLnN1YnN0cigwLCAxMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKHNjaGVtYS5mb3JtYXQgPT0gXCJkYXRlLXRpbWVcIikge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoc2NoZW1hLmVudW0pIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBzY2hlbWEuZW51bVswXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gXCJzdHJpbmdcIjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHNjaGVtYS50eXBlID09PSBcIm51bWJlclwiKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBzY2hlbWEuZGVmYXVsdCA/PyAwO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoc2NoZW1hLnR5cGUgPT09IFwiYm9vbGVhblwiKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBzY2hlbWEuZGVmYXVsdCA/PyBmYWxzZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gc2NoZW1hLmRlZmF1bHQgPz8gbnVsbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGNyZWF0ZUFwaURvY3MoKTogT3BlbkFQSU9iamVjdCB7XHJcbiAgICAgICAgY29uc3Qgc3RvcmFnZSA9IGdldE1ldGFkYXRhQXJnc1N0b3JhZ2UoKTtcclxuICAgICAgICBjb25zdCBkb2NzID0gcm91dGluZ0NvbnRyb2xsZXJzVG9TcGVjKHN0b3JhZ2UpO1xyXG4gICAgICAgIGRvY3MuYmFzZVBhdGggPSBcIi9hcGkvXCI7XHJcbiAgICAgICAgZG9jcy5kZWZpbml0aW9ucyA9IHZhbGlkYXRpb25NZXRhZGF0YXNUb1NjaGVtYXMoe1xyXG4gICAgICAgICAgICBhZGRpdGlvbmFsQ29udmVydGVyczoge1xyXG4gICAgICAgICAgICAgICAgW1ZhbGlkYXRpb25UeXBlcy5DVVNUT01fVkFMSURBVElPTl06IChtZXRhLCBvcHRpb25zKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzID0gaXNGdW5jdGlvbih0aGlzLmN1c3RvbVZhbGlkYXRpb24pID8gdGhpcy5jdXN0b21WYWxpZGF0aW9uKG1ldGEsIG9wdGlvbnMpIDogdGhpcy5jdXN0b21WYWxpZGF0aW9uO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChpc09iamVjdChyZXMpKSByZXR1cm4gcmVzO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbnN0cmFpbnRzID0gbWV0YS5jb25zdHJhaW50cyB8fCBbXTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAobWV0YS5jb25zdHJhaW50Q2xzID09PSBJc0ZpbGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG11bHRpOiBjb25zdHJhaW50c1swXSB8fCBmYWxzZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwiZmlsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gYXMgYW55O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAobWV0YS5jb25zdHJhaW50Q2xzID09PSBJc09iamVjdElkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmRwb2ludDogY29uc3RyYWludHNbMF0gfHwgZmFsc2UsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtdWx0aTogY29uc3RyYWludHNbMV0gfHwgZmFsc2UsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBcImxpc3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGFzIGFueTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICBkb2NzLmNvbXBvbmVudHMuc2NoZW1hcyA9IGRvY3MuZGVmaW5pdGlvbnM7XHJcbiAgICAgICAgcmV0dXJuIGRvY3M7XHJcbiAgICB9XHJcbn1cclxuIl19
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3Blbi1hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvb3Blbi1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBRTNDLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQzNELE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3JFLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ3JFLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3hFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDekQsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFDLFlBQVksRUFBa0Msa0JBQWtCLEVBQW9CLE1BQU0saUJBQWlCLENBQUM7QUFHN0csSUFBTSxPQUFPLEdBQWIsTUFBTSxPQUFPO0lBZWhCLFlBQTRDLFNBQStCLEVBQ3pCLGdCQUFtQztRQUR6QyxjQUFTLEdBQVQsU0FBUyxDQUFzQjtRQUN6QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQW1CO1FBQ2pGLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ3JCLENBQUM7SUFiRCxJQUFJLE9BQU87UUFDUCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7WUFBRSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNqRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDckIsQ0FBQztJQUVELElBQUksVUFBVTtRQUNWLElBQUksQ0FBQyxJ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RUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSzs0QkFDOUIsSUFBSSxFQUFFLE1BQU07eUJBQ1IsQ0FBQztxQkFDWjtvQkFDRCxPQUFPLElBQUksQ0FBQztnQkFDaEIsQ0FBQzthQUNKO1NBQ0osQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUMzQyxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0NBQ0osQ0FBQTtBQXJHWSxPQUFPO0lBRG5CLFNBQVMsRUFBRTtJQWdCSyxXQUFBLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQTtJQUNwQixXQUFBLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBOztHQWhCOUIsT0FBTyxDQXFHbkI7U0FyR1ksT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aW5qZWN0LCBzaW5nbGV0b259IGZyb20gXCJ0c3lyaW5nZVwiO1xyXG5pbXBvcnQge09wZW5BUElPYmplY3QsIFJlZmVyZW5jZU9iamVjdCwgU2NoZW1hT2JqZWN0fSBmcm9tIFwib3BlbmFwaTMtdHNcIjtcclxuaW1wb3J0IHtnZXRNZXRhZGF0YUFyZ3NTdG9yYWdlfSBmcm9tIFwicm91dGluZy1jb250cm9sbGVyc1wiO1xyXG5pbXBvcnQge3JvdXRpbmdDb250cm9sbGVyc1RvU3BlY30gZnJvbSBcInJvdXRpbmctY29udHJvbGxlcnMtb3BlbmFwaVwiO1xyXG5pbXBvcnQge2RlZmF1bHRNZXRhZGF0YVN0b3JhZ2V9IGZyb20gXCJjbGFzcy10cmFuc2Zvcm1lci9janMvc3RvcmFnZVwiO1xyXG5pbXBvcnQge3ZhbGlkYXRpb25NZXRhZGF0YXNUb1NjaGVtYXN9IGZyb20gXCJjbGFzcy12YWxpZGF0b3ItanNvbnNjaGVtYVwiO1xyXG5pbXBvcnQge1ZhbGlkYXRpb25UeXBlc30gZnJvbSBcImNsYXNzLXZhbGlkYXRvclwiO1xyXG5pbXBvcnQge2lzRGVmaW5lZCwgaXNGdW5jdGlvbiwgaXNPYmplY3R9IGZyb20gXCIuLi91dGlsc1wiO1xyXG5pbXBvcnQge0lzRmlsZSwgSXNPYmplY3RJZH0gZnJvbSBcIi4uL3ZhbGlkYXRvcnNcIjtcclxuaW1wb3J0IHtESV9DT05UQUlORVIsIElEZXBlbmRlbmN5Q29udGFpbmVyLCBJUmVxdWVzdCwgT1BFTkFQSV9WQUxJREFUSU9OLCBPcGVuQXBpVmFsaWRhdGlvbn0gZnJvbSBcIi4uL2NvbW1vbi10eXBlc1wiO1xyXG5cclxuQHNpbmdsZXRvbigpXHJcbmV4cG9ydCBjbGFzcyBPcGVuQXBpIHtcclxuXHJcbiAgICBwcm90ZWN0ZWQgZG9jczogT3BlbkFQSU9iamVjdDtcclxuICAgIHByb3RlY3RlZCBkb2NzU3RyOiBzdHJpbmc7XHJcblxyXG4gICAgZ2V0IGFwaURvY3MoKTogT3BlbkFQSU9iamVjdCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmRvY3MpIHRoaXMuZG9jcyA9IHRoaXMuY3JlYXRlQXBpRG9jcygpO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmRvY3M7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGFwaURvY3NTdHIoKTogc3RyaW5nIHtcclxuICAgICAgICBpZiAoIXRoaXMuZG9jc1N0cikgdGhpcy5kb2NzU3RyID0gSlNPTi5zdHJpbmdpZnkodGhpcy5hcGlEb2NzKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5kb2NzU3RyO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKEBpbmplY3QoRElfQ09OVEFJTkVSKSBwcm90ZWN0ZWQgY29udGFpbmVyOiBJRGVwZW5kZW5jeUNvbnRhaW5lcixcclxuICAgICAgICAgICAgICAgIEBpbmplY3QoT1BFTkFQSV9WQUxJREFUSU9OKSBwcm90ZWN0ZWQgY3VzdG9tVmFsaWRhdGlvbjogT3BlbkFwaVZhbGlkYXRpb24pIHtcclxuICAgICAgICB0aGlzLmRvY3MgPSBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHNjaGVtYVRvRXhhbXBsZShzcmM6IFJlZmVyZW5jZU9iamVjdCB8IFNjaGVtYU9iamVjdCwgcmVxPzogSVJlcXVlc3QpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgICAgIGNvbnN0IG1heWJlUmVmID0gc3JjIGFzIFJlZmVyZW5jZU9iamVjdDtcclxuICAgICAgICBpZiAobWF5YmVSZWYuJHJlZikge1xyXG4gICAgICAgICAgICBjb25zdCBzY2hlbWFzID0gdGhpcy5hcGlEb2NzLmNvbXBvbmVudHMuc2NoZW1hcztcclxuICAgICAgICAgICAgY29uc3Qgc2NoZW1hID0gbWF5YmVSZWYuJHJlZlxyXG4gICAgICAgICAgICAgICAgLnJlcGxhY2UoXCIjL2NvbXBvbmVudHMvc2NoZW1hcy9cIiwgXCJcIilcclxuICAgICAgICAgICAgICAgIC5yZXBsYWNlKFwiIy9kZWZpbml0aW9ucy9cIiwgXCJcIik7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNjaGVtYVRvRXhhbXBsZShzY2hlbWFzW3NjaGVtYV0sIHJlcSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCBzY2hlbWEgPSBzcmMgYXMgU2NoZW1hT2JqZWN0O1xyXG4gICAgICAgIGlmIChzY2hlbWEub25lT2YpIHtcclxuICAgICAgICAgICAgc2NoZW1hID0gT2JqZWN0LmFzc2lnbih7fSwgc2NoZW1hLCBzY2hlbWEub25lT2ZbMF0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoc2NoZW1hLnR5cGUgPT09IFwib2JqZWN0XCIpIHtcclxuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0ge307XHJcbiAgICAgICAgICAgIGF3YWl0IFByb21pc2UuYWxsKE9iamVjdC5rZXlzKHNjaGVtYS5wcm9wZXJ0aWVzKS5tYXAoYXN5bmMga2V5ID0+IHtcclxuICAgICAgICAgICAgICAgIHJlc3VsdFtrZXldID0gYXdhaXQgdGhpcy5zY2hlbWFUb0V4YW1wbGUoc2NoZW1hLnByb3BlcnRpZXNba2V5XSwgcmVxKTtcclxuICAgICAgICAgICAgfSkpO1xyXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoc2NoZW1hLnR5cGUgPT09IFwiYXJyYXlcIikge1xyXG4gICAgICAgICAgICByZXR1cm4gW2F3YWl0IHRoaXMuc2NoZW1hVG9FeGFtcGxlKHNjaGVtYS5pdGVtcywgcmVxKV07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChzY2hlbWEudHlwZSA9PT0gXCJzdHJpbmdcIikge1xyXG4gICAgICAgICAgICBpZiAoaXNEZWZpbmVkKHNjaGVtYS5kZWZhdWx0KSkge1xyXG4gICAgICAgICAgICAgICAgaWYgKGlzRnVuY3Rpb24oc2NoZW1hLmRlZmF1bHQpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNjaGVtYS5kZWZhdWx0KHRoaXMuY29udGFpbmVyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHJldHVybiBzY2hlbWEuZGVmYXVsdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoc2NoZW1hLmZvcm1hdCA9PSBcImRhdGVcIikge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKS5zdWJzdHIoMCwgMTApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChzY2hlbWEuZm9ybWF0ID09IFwiZGF0ZS10aW1lXCIpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKHNjaGVtYS5lbnVtKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gc2NoZW1hLmVudW1bMF07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIFwic3RyaW5nXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChzY2hlbWEudHlwZSA9PT0gXCJudW1iZXJcIikge1xyXG4gICAgICAgICAgICByZXR1cm4gc2NoZW1hLmRlZmF1bHQgPz8gMDtcclxuICAgICAgICB9IGVsc2UgaWYgKHNjaGVtYS50eXBlID09PSBcImJvb2xlYW5cIikge1xyXG4gICAgICAgICAgICByZXR1cm4gc2NoZW1hLmRlZmF1bHQgPz8gZmFsc2U7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIHNjaGVtYS5kZWZhdWx0ID8/IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBjcmVhdGVBcGlEb2NzKCk6IE9wZW5BUElPYmplY3Qge1xyXG4gICAgICAgIGNvbnN0IHN0b3JhZ2UgPSBnZXRNZXRhZGF0YUFyZ3NTdG9yYWdlKCk7XHJcbiAgICAgICAgY29uc3QgZG9jcyA9IHJvdXRpbmdDb250cm9sbGVyc1RvU3BlYyhzdG9yYWdlKTtcclxuICAgICAgICBkb2NzLmJhc2VQYXRoID0gXCIvYXBpL1wiO1xyXG4gICAgICAgIGRvY3MuZGVmaW5pdGlvbnMgPSB2YWxpZGF0aW9uTWV0YWRhdGFzVG9TY2hlbWFzKHtcclxuICAgICAgICAgICAgY2xhc3NUcmFuc2Zvcm1lck1ldGFkYXRhU3RvcmFnZTogZGVmYXVsdE1ldGFkYXRhU3RvcmFnZSxcclxuICAgICAgICAgICAgYWRkaXRpb25hbENvbnZlcnRlcnM6IHtcclxuICAgICAgICAgICAgICAgIFtWYWxpZGF0aW9uVHlwZXMuQ1VTVE9NX1ZBTElEQVRJT05dOiAobWV0YSwgb3B0aW9ucykgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlcyA9IGlzRnVuY3Rpb24odGhpcy5jdXN0b21WYWxpZGF0aW9uKSA/IHRoaXMuY3VzdG9tVmFsaWRhdGlvbihtZXRhLCBvcHRpb25zKSA6IHRoaXMuY3VzdG9tVmFsaWRhdGlvbjtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoaXNPYmplY3QocmVzKSkgcmV0dXJuIHJlcztcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBjb25zdHJhaW50cyA9IG1ldGEuY29uc3RyYWludHMgfHwgW107XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKG1ldGEuY29uc3RyYWludENscyA9PT0gSXNGaWxlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtdWx0aTogY29uc3RyYWludHNbMF0gfHwgZmFsc2UsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBcImZpbGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGFzIGFueTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKG1ldGEuY29uc3RyYWludENscyA9PT0gSXNPYmplY3RJZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kcG9pbnQ6IGNvbnN0cmFpbnRzWzBdIHx8IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbXVsdGk6IGNvbnN0cmFpbnRzWzFdIHx8IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJsaXN0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSBhcyBhbnk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgZG9jcy5jb21wb25lbnRzLnNjaGVtYXMgPSBkb2NzLmRlZmluaXRpb25zO1xyXG4gICAgICAgIHJldHVybiBkb2NzO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -30,6 +30,7 @@ import { v4 } from 'uuid';
30
30
  import { createTransport } from 'nodemailer';
31
31
  import * as Handlebars from 'handlebars';
32
32
  import { routingControllersToSpec, OpenAPI, getStatusCode } from 'routing-controllers-openapi';
33
+ import { defaultMetadataStorage } from 'class-transformer/cjs/storage';
33
34
  import { validationMetadatasToSchemas } from 'class-validator-jsonschema';
34
35
  import { ValidatorConstraint, ValidationTypes, Min, Max, IsOptional, IsBoolean } from 'class-validator';
35
36
  import { CommandsAddon, AnsiCodes } from '@stemy/terminal-commands-addon';
@@ -2628,6 +2629,7 @@ let OpenApi = class OpenApi {
2628
2629
  const docs = routingControllersToSpec(storage);
2629
2630
  docs.basePath = "/api/";
2630
2631
  docs.definitions = validationMetadatasToSchemas({
2632
+ classTransformerMetadataStorage: defaultMetadataStorage,
2631
2633
  additionalConverters: {
2632
2634
  [ValidationTypes.CUSTOM_VALIDATION]: (meta, options) => {
2633
2635
  const res = isFunction(this.customValidation) ? this.customValidation(meta, options) : this.customValidation;
@@ -2888,6 +2890,15 @@ let AssetsController = class AssetsController {
2888
2890
  return asset.download();
2889
2891
  });
2890
2892
  }
2893
+ getMetadata(id, lazy, res) {
2894
+ return __awaiter(this, void 0, void 0, function* () {
2895
+ const asset = yield this.assetResolver.resolve(id, lazy);
2896
+ if (!asset) {
2897
+ throw new HttpError(404, `Asset with id: '${id}' not found.`);
2898
+ }
2899
+ return asset.metadata;
2900
+ });
2901
+ }
2891
2902
  getImageRotation(id, params, res, rotation = 0) {
2892
2903
  return __awaiter(this, void 0, void 0, function* () {
2893
2904
  const asset = yield this.getAsset("Image", id, params.lazy, res);
@@ -2973,6 +2984,15 @@ __decorate([
2973
2984
  __metadata("design:paramtypes", [String, Boolean, Object]),
2974
2985
  __metadata("design:returntype", Promise)
2975
2986
  ], AssetsController.prototype, "getFile", null);
2987
+ __decorate([
2988
+ Get("/metadata/:id"),
2989
+ __param(0, Param("id")),
2990
+ __param(1, QueryParam("lazy")),
2991
+ __param(2, Res()),
2992
+ __metadata("design:type", Function),
2993
+ __metadata("design:paramtypes", [String, Boolean, Object]),
2994
+ __metadata("design:returntype", Promise)
2995
+ ], AssetsController.prototype, "getMetadata", null);
2976
2996
  __decorate([
2977
2997
  Get("/image/:id/:rotation"),
2978
2998
  __param(0, Param("id")),