@codenotch/codenotch.react 1.0.82 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +50 -12
- package/dist/components/CodeEditor.d.ts +1 -1
- package/dist/components/CodeEditor.d.ts.map +1 -1
- package/dist/components/CodeEditor.js +66 -64
- package/dist/index.d.ts +85 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +155 -22
- package/dist/models/Codenotch.d.ts +20 -2
- package/dist/models/Codenotch.d.ts.map +1 -1
- package/package.json +46 -44
- package/src/components/CodeEditor.tsx +204 -203
- package/src/index.ts +531 -385
- package/src/models/Codenotch.ts +21 -2
- package/dist/components/Auml.d.ts +0 -46
- package/dist/components/Auml.d.ts.map +0 -1
- package/dist/components/Auml.js +0 -208
- package/dist/models/AppManifestModels.d.ts +0 -46
- package/dist/models/AppManifestModels.d.ts.map +0 -1
- package/dist/models/AppManifestModels.js +0 -2
- package/dist/models/ProjectManifestModels.d.ts +0 -126
- package/dist/models/ProjectManifestModels.d.ts.map +0 -1
- package/dist/models/ProjectManifestModels.js +0 -158
- package/dist/utils/I18nUtils.d.ts +0 -7
- package/dist/utils/I18nUtils.d.ts.map +0 -1
- package/dist/utils/I18nUtils.js +0 -37
package/src/models/Codenotch.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
1
2
|
import { ProjectManifest, IAppManifest } from "@codenotch/codenotch.core";
|
|
2
3
|
import { ICodenotchSignal, IDisposable } from "./Misc";
|
|
3
4
|
|
|
@@ -134,7 +135,11 @@ export interface IProcessResult<T = any> {
|
|
|
134
135
|
}
|
|
135
136
|
|
|
136
137
|
/**
|
|
137
|
-
* The Codenotch client API
|
|
138
|
+
* The Codenotch client API.
|
|
139
|
+
*
|
|
140
|
+
* Obtained with the `useCodenotch()` hook in function components, through the
|
|
141
|
+
* `cn` prop injected by `withCodenotch()` in class components, or with the
|
|
142
|
+
* plain `getCodenotch()` function anywhere else (handlers, modules, services).
|
|
138
143
|
*
|
|
139
144
|
* It is the bridge between a React app and the Codenotch runtime: it starts
|
|
140
145
|
* server-side BPMN processes, runs CNQL queries, translates i18n keys,
|
|
@@ -223,7 +228,7 @@ export interface ICodenotchApi {
|
|
|
223
228
|
* </div>
|
|
224
229
|
* );
|
|
225
230
|
*/
|
|
226
|
-
readonly showDialog: (node:
|
|
231
|
+
readonly showDialog: (node: ReactNode) => ICodenotchDialog;
|
|
227
232
|
|
|
228
233
|
/**
|
|
229
234
|
* Fetch the text content of a file of the deployed Codenotch project.
|
|
@@ -273,6 +278,20 @@ export interface ICodenotchApi {
|
|
|
273
278
|
readonly getAppManifest: () => IAppManifest | undefined;
|
|
274
279
|
}
|
|
275
280
|
|
|
281
|
+
/**
|
|
282
|
+
* Props injected by the `withCodenotch()` higher-order component.
|
|
283
|
+
* Extend it in the props of a class component wrapped by `withCodenotch`.
|
|
284
|
+
*
|
|
285
|
+
* @example
|
|
286
|
+
* interface Props extends WithCodenotchProps { userId: string }
|
|
287
|
+
* class TodoList extends React.Component<Props> { ... }
|
|
288
|
+
* export default withCodenotch(TodoList);
|
|
289
|
+
*/
|
|
290
|
+
export interface WithCodenotchProps {
|
|
291
|
+
/** The Codenotch client API; refreshed (new reference) whenever the environment changes. */
|
|
292
|
+
cn: ICodenotchApi;
|
|
293
|
+
}
|
|
294
|
+
|
|
276
295
|
/**
|
|
277
296
|
* Handle on a dialog opened with {@link ICodenotchApi.showDialog}.
|
|
278
297
|
*/
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import { SpaRenderStatus } from '@echino/echino.ui.framework/components/SpaBuilder/common/ISpaRenderProps';
|
|
3
|
-
import type { ICodenotchEnv } from "../models/Codenotch";
|
|
4
|
-
interface IAumlProps {
|
|
5
|
-
/** The AUML (XML) application description to render. */
|
|
6
|
-
value: string;
|
|
7
|
-
/** When `true`, logs compilation and token-refresh details to the console. */
|
|
8
|
-
verbose?: boolean;
|
|
9
|
-
/** Codenotch environment; provides the i18n dictionaries injected into the AUML and the theme. */
|
|
10
|
-
env?: ICodenotchEnv;
|
|
11
|
-
}
|
|
12
|
-
interface IAumlState {
|
|
13
|
-
loaded: boolean;
|
|
14
|
-
inspectorEnabled: boolean;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Renders a legacy AUML (XML) application description inside a React app.
|
|
18
|
-
*
|
|
19
|
-
* Compiles the AUML with the environment's i18n variables, renders it through
|
|
20
|
-
* the Echino SPA renderer, shows a loading overlay until completed, and keeps
|
|
21
|
-
* the user's access token refreshed in the background.
|
|
22
|
-
*
|
|
23
|
-
* Relies on globals injected by the Codenotch runtime hosting page
|
|
24
|
-
* (`serviceName`, `tenant`, `user`, `languages`, `appManifest`…) — it is not
|
|
25
|
-
* usable outside a Codenotch-served application.
|
|
26
|
-
*/
|
|
27
|
-
export declare class Auml extends React.Component<IAumlProps, IAumlState> {
|
|
28
|
-
_refreshTokenTimer: NodeJS.Timeout | undefined;
|
|
29
|
-
constructor(props: IAumlProps);
|
|
30
|
-
componentDidMount(): void;
|
|
31
|
-
registerRefreshToken(): void;
|
|
32
|
-
componentWillUnmount(): void;
|
|
33
|
-
progress(s: SpaRenderStatus): void;
|
|
34
|
-
retrieveInputs(): {
|
|
35
|
-
[k: string]: string;
|
|
36
|
-
};
|
|
37
|
-
getTimeToTokenExpiration(): number | null;
|
|
38
|
-
getTimeToNewTokenExpiration(expirationDateTime: string): number;
|
|
39
|
-
msToTime(ms: number): string;
|
|
40
|
-
parseJwt(token: string): any;
|
|
41
|
-
render(): React.JSX.Element;
|
|
42
|
-
renderLoadingContent(): React.JSX.Element;
|
|
43
|
-
refreshExpiredToken(): Promise<void>;
|
|
44
|
-
}
|
|
45
|
-
export {};
|
|
46
|
-
//# sourceMappingURL=Auml.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Auml.d.ts","sourceRoot":"","sources":["../../src/components/Auml.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAE,MAAM,0EAA0E,CAAC;AAE3G,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AASzD,UAAU,UAAU;IAChB,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAC;IACd,8EAA8E;IAC9E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kGAAkG;IAClG,GAAG,CAAC,EAAE,aAAa,CAAC;CACvB;AAED,UAAU,UAAU;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,gBAAgB,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;;;;;GAUG;AACH,qBAAa,IAAK,SAAQ,KAAK,CAAC,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC;IAE7D,kBAAkB,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;gBAEnC,KAAK,EAAE,UAAU;IAa7B,iBAAiB;IAIjB,oBAAoB;IAoCpB,oBAAoB;IAOpB,QAAQ,CAAC,CAAC,EAAE,eAAe;IAS3B,cAAc;;;IAMd,wBAAwB,IAAI,MAAM,GAAG,IAAI;IAqCzC,2BAA2B,CAAC,kBAAkB,EAAE,MAAM,GAAG,MAAM;IAO/D,QAAQ,CAAC,EAAE,EAAE,MAAM;IAmBnB,QAAQ,CAAC,KAAK,EAAE,MAAM;IAUtB,MAAM;IAoDN,oBAAoB;IAkBd,mBAAmB;CAoC5B"}
|
package/dist/components/Auml.js
DELETED
|
@@ -1,208 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.Auml = void 0;
|
|
7
|
-
const react_1 = __importDefault(require("react"));
|
|
8
|
-
const SpaRenderWithBrowserRouter_1 = require("@echino/echino.ui.framework/components/SpaBuilder/SpaRender/SpaRenderWithBrowserRouter");
|
|
9
|
-
const I18nUtils_1 = __importDefault(require("../utils/I18nUtils"));
|
|
10
|
-
/**
|
|
11
|
-
* Renders a legacy AUML (XML) application description inside a React app.
|
|
12
|
-
*
|
|
13
|
-
* Compiles the AUML with the environment's i18n variables, renders it through
|
|
14
|
-
* the Echino SPA renderer, shows a loading overlay until completed, and keeps
|
|
15
|
-
* the user's access token refreshed in the background.
|
|
16
|
-
*
|
|
17
|
-
* Relies on globals injected by the Codenotch runtime hosting page
|
|
18
|
-
* (`serviceName`, `tenant`, `user`, `languages`, `appManifest`…) — it is not
|
|
19
|
-
* usable outside a Codenotch-served application.
|
|
20
|
-
*/
|
|
21
|
-
class Auml extends react_1.default.Component {
|
|
22
|
-
constructor(props) {
|
|
23
|
-
super(props);
|
|
24
|
-
this.state = {
|
|
25
|
-
loaded: false,
|
|
26
|
-
inspectorEnabled: false
|
|
27
|
-
};
|
|
28
|
-
if (typeof user === 'undefined') {
|
|
29
|
-
let globalObject = typeof window !== 'undefined' ? window : globalThis;
|
|
30
|
-
globalObject['user'] = null; // Make sure user is defined
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
componentDidMount() {
|
|
34
|
-
this.registerRefreshToken();
|
|
35
|
-
}
|
|
36
|
-
registerRefreshToken() {
|
|
37
|
-
try {
|
|
38
|
-
// Setup a method to refresh our access token when it expires
|
|
39
|
-
if (this._refreshTokenTimer) {
|
|
40
|
-
clearTimeout(this._refreshTokenTimer);
|
|
41
|
-
}
|
|
42
|
-
if (user === null) {
|
|
43
|
-
if (this.props.verbose === true) {
|
|
44
|
-
console.log("No user found, will not refresh the token");
|
|
45
|
-
}
|
|
46
|
-
return;
|
|
47
|
-
}
|
|
48
|
-
let timeToExpireMs = this.getTimeToTokenExpiration();
|
|
49
|
-
if (timeToExpireMs === null) {
|
|
50
|
-
if (this.props.verbose === true) {
|
|
51
|
-
console.log("No identity token found, attempting refreshing the token in 5 minutes");
|
|
52
|
-
}
|
|
53
|
-
this._refreshTokenTimer = setTimeout(() => this.refreshExpiredToken(), 5 * 60 * 1000);
|
|
54
|
-
return;
|
|
55
|
-
}
|
|
56
|
-
if (timeToExpireMs <= 0) {
|
|
57
|
-
// Refresh it immediatelty
|
|
58
|
-
this.refreshExpiredToken();
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
this._refreshTokenTimer = setTimeout(() => this.refreshExpiredToken(), timeToExpireMs);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
catch (err) {
|
|
65
|
-
console.warn("Could not setup token refresh timer: " + err);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
componentWillUnmount() {
|
|
69
|
-
// Cleanup the refresh of the token
|
|
70
|
-
if (this._refreshTokenTimer) {
|
|
71
|
-
clearTimeout(this._refreshTokenTimer);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
progress(s) {
|
|
75
|
-
//console.log('progessStatus ', s);
|
|
76
|
-
if (s === 'completed') {
|
|
77
|
-
this.setState({ loaded: true });
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
// Get input from the query parameters in the url
|
|
81
|
-
retrieveInputs() {
|
|
82
|
-
return Object.fromEntries(new URLSearchParams(window.location.search).entries());
|
|
83
|
-
}
|
|
84
|
-
getTimeToTokenExpiration() {
|
|
85
|
-
// The identity token is the only one we have access here on the client
|
|
86
|
-
// We use it to know when the access token (which we can't read) will expire
|
|
87
|
-
let identityToken = null;
|
|
88
|
-
let identityTokenKey = `${tenant.name}IdToken=`;
|
|
89
|
-
let cookies = document.cookie.split(';');
|
|
90
|
-
for (let c of cookies) {
|
|
91
|
-
if (c.trim().startsWith(identityTokenKey)) {
|
|
92
|
-
identityToken = c.trim().slice(identityTokenKey.length);
|
|
93
|
-
break;
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
if (identityToken === null) {
|
|
97
|
-
return null; // token not found
|
|
98
|
-
}
|
|
99
|
-
let identityTokenParsed = this.parseJwt(identityToken);
|
|
100
|
-
let expires = identityTokenParsed.exp; // Timestamp in second since Unix epoch
|
|
101
|
-
let timeToExpiresMs = expires * 1000 - new Date().getTime();
|
|
102
|
-
let timeToExpireStr = this.msToTime(timeToExpiresMs);
|
|
103
|
-
if (this.props.verbose === true) {
|
|
104
|
-
console.log(`Token will expire at ${new Date(expires * 1000).toISOString()} (in ${timeToExpireStr}), setting up a timer to refresh it`);
|
|
105
|
-
}
|
|
106
|
-
// Refresh it a bit before the expiration (5 min)
|
|
107
|
-
timeToExpiresMs -= 5 * 60 * 1000;
|
|
108
|
-
return timeToExpiresMs;
|
|
109
|
-
}
|
|
110
|
-
getTimeToNewTokenExpiration(expirationDateTime) {
|
|
111
|
-
let timeToExpiresMs = new Date(expirationDateTime).getTime() - new Date().getTime();
|
|
112
|
-
// Refresh it a bit before the expiration (5 min)
|
|
113
|
-
timeToExpiresMs -= 5 * 60 * 1000;
|
|
114
|
-
return timeToExpiresMs;
|
|
115
|
-
}
|
|
116
|
-
msToTime(ms) {
|
|
117
|
-
let seconds = Math.floor((ms / 1000) % 60), minutes = Math.floor((ms / (1000 * 60)) % 60), hours = Math.floor((ms / (1000 * 60 * 60)) % 24);
|
|
118
|
-
let timeString = seconds + " seconds";
|
|
119
|
-
if (minutes > 0) {
|
|
120
|
-
timeString = minutes + " minutes " + timeString;
|
|
121
|
-
}
|
|
122
|
-
if (hours > 0) {
|
|
123
|
-
timeString = hours + " hours " + timeString;
|
|
124
|
-
}
|
|
125
|
-
return timeString;
|
|
126
|
-
}
|
|
127
|
-
parseJwt(token) {
|
|
128
|
-
var base64Url = token.split('.')[1];
|
|
129
|
-
var base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');
|
|
130
|
-
var jsonPayload = decodeURIComponent(window.atob(base64).split('').map(function (c) {
|
|
131
|
-
return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
|
|
132
|
-
}).join(''));
|
|
133
|
-
return JSON.parse(jsonPayload);
|
|
134
|
-
}
|
|
135
|
-
render() {
|
|
136
|
-
let inputs = this.retrieveInputs();
|
|
137
|
-
let theme = this.props.env?.theme === "dark";
|
|
138
|
-
let aumlManifest = null;
|
|
139
|
-
try {
|
|
140
|
-
let appManifestObj = JSON.parse(appManifest);
|
|
141
|
-
aumlManifest = appManifestObj.auml;
|
|
142
|
-
}
|
|
143
|
-
catch { }
|
|
144
|
-
let auml = this.props.value;
|
|
145
|
-
if (this.props.env) {
|
|
146
|
-
try {
|
|
147
|
-
auml = I18nUtils_1.default.compileAuml(auml, this.props.env);
|
|
148
|
-
if (this.props.verbose === true) {
|
|
149
|
-
console.log("Compiled AUML with i18n variables: ", auml);
|
|
150
|
-
console.log("i18n variables: ", this.props.env.i18n);
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
catch (err) {
|
|
154
|
-
console.error("Error compiling AUML with i18n variables: " + err);
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
return react_1.default.createElement("div", { className: "app" },
|
|
158
|
-
react_1.default.createElement(SpaRenderWithBrowserRouter_1.SpaRenderWithBrowserRouter, { appDescription: auml, tenant: tenant, serviceName: serviceName, packageVersions: packageVersions, user: user, languages: languages, onProgress: (s) => this.progress(s), input: inputs, theme: theme, manifest: aumlManifest, inspectorEnabled: this.state.inspectorEnabled, children: [] }),
|
|
159
|
-
!this.state.loaded &&
|
|
160
|
-
react_1.default.createElement("div", { className: `app-loading ${this.props.env?.theme ?? 'light'}` },
|
|
161
|
-
this.renderLoadingContent(),
|
|
162
|
-
react_1.default.createElement("i", { className: "fas fa-circle-notch fa-spin" })));
|
|
163
|
-
}
|
|
164
|
-
renderLoadingContent() {
|
|
165
|
-
try {
|
|
166
|
-
//@ts-ignore
|
|
167
|
-
let tenant = global.tenant;
|
|
168
|
-
if (tenant.logoUrl) {
|
|
169
|
-
return react_1.default.createElement("img", { src: tenant.logoUrl, alt: tenant.displayName });
|
|
170
|
-
}
|
|
171
|
-
else {
|
|
172
|
-
return react_1.default.createElement("div", { className: 'app-loading-title' }, tenant.displayName);
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
catch (e) {
|
|
176
|
-
console.warn("Could not load tenant information: " + e);
|
|
177
|
-
return react_1.default.createElement("div", { className: 'app-loading-title' }, "Loading...");
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
async refreshExpiredToken() {
|
|
181
|
-
console.log("Token will expire soon, requesting a new one...");
|
|
182
|
-
// Using the refresh token we ask for a new access token using /portal/login/refresh
|
|
183
|
-
// If the refresh token has also expired, we will be redirected to the login page
|
|
184
|
-
let redirectUrl = window.location.href; // Where to send us back in case we need to be redirected to the login page
|
|
185
|
-
let url = `${tenant.clusterUrl}/portal/login/refresh?redirectUrl=${encodeURIComponent(redirectUrl)}`;
|
|
186
|
-
let response = await fetch(url); // For this request to work, we need to have a refresh token in the cookies
|
|
187
|
-
if (response.ok) {
|
|
188
|
-
// Setup next refresh
|
|
189
|
-
let timeToExpireMs;
|
|
190
|
-
try {
|
|
191
|
-
let newTokenExpiration = await response.text();
|
|
192
|
-
timeToExpireMs = this.getTimeToNewTokenExpiration(newTokenExpiration);
|
|
193
|
-
}
|
|
194
|
-
catch {
|
|
195
|
-
timeToExpireMs = 2 * 60 * 60 * 1000; // refresh in 2 hours
|
|
196
|
-
}
|
|
197
|
-
console.log(`Refresh request ok, next refresh in ${this.msToTime(timeToExpireMs)}`);
|
|
198
|
-
this._refreshTokenTimer = setTimeout(() => this.refreshExpiredToken(), timeToExpireMs);
|
|
199
|
-
}
|
|
200
|
-
else {
|
|
201
|
-
let content = await response.text();
|
|
202
|
-
console.error("Could not refresh the token", content);
|
|
203
|
-
console.log("Retrying refreshing the token in 5 minutes...");
|
|
204
|
-
this._refreshTokenTimer = setTimeout(() => this.refreshExpiredToken(), 5 * 60 * 1000);
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
exports.Auml = Auml;
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
export interface ApplicationManifest {
|
|
2
|
-
pwa?: PWAManifest;
|
|
3
|
-
html?: HTMLManifest;
|
|
4
|
-
auml?: AUMLManifest;
|
|
5
|
-
}
|
|
6
|
-
export interface HTMLManifest {
|
|
7
|
-
title?: string;
|
|
8
|
-
description?: string;
|
|
9
|
-
author?: string;
|
|
10
|
-
keywords?: string;
|
|
11
|
-
charset?: string;
|
|
12
|
-
}
|
|
13
|
-
export interface PWAManifest {
|
|
14
|
-
background_color?: string;
|
|
15
|
-
description?: string;
|
|
16
|
-
dir?: string;
|
|
17
|
-
display?: string;
|
|
18
|
-
icons?: PWAManifestIcon[];
|
|
19
|
-
lang?: string;
|
|
20
|
-
name?: string;
|
|
21
|
-
orientation?: string;
|
|
22
|
-
prefer_related_applications?: boolean;
|
|
23
|
-
related_applications?: PWAManifestRelatedApplications[];
|
|
24
|
-
scope?: string;
|
|
25
|
-
short_name?: string;
|
|
26
|
-
start_url?: string;
|
|
27
|
-
theme_color?: string;
|
|
28
|
-
shortcuts?: string;
|
|
29
|
-
display_override?: string[];
|
|
30
|
-
}
|
|
31
|
-
export interface PWAManifestIcon {
|
|
32
|
-
src?: string;
|
|
33
|
-
sizes?: string;
|
|
34
|
-
type?: string;
|
|
35
|
-
}
|
|
36
|
-
export interface PWAManifestRelatedApplications {
|
|
37
|
-
platform?: string;
|
|
38
|
-
url?: string;
|
|
39
|
-
id?: string;
|
|
40
|
-
}
|
|
41
|
-
export interface AUMLManifest {
|
|
42
|
-
name?: string;
|
|
43
|
-
description?: string;
|
|
44
|
-
logoURL?: string;
|
|
45
|
-
}
|
|
46
|
-
//# sourceMappingURL=AppManifestModels.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AppManifestModels.d.ts","sourceRoot":"","sources":["../../src/models/AppManifestModels.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,mBAAmB;IAChC,GAAG,CAAC,EAAE,WAAW,CAAC;IAElB,IAAI,CAAC,EAAE,YAAY,CAAC;IAEpB,IAAI,CAAC,EAAE,YAAY,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,eAAe,EAAE,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC,oBAAoB,CAAC,EAAE,8BAA8B,EAAE,CAAC;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,eAAe;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,8BAA8B;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB"}
|
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
import { JSONSchema7 } from "json-schema";
|
|
2
|
-
export declare class ProjectManifest {
|
|
3
|
-
projectName: string;
|
|
4
|
-
serviceName: string;
|
|
5
|
-
version: string;
|
|
6
|
-
index?: string;
|
|
7
|
-
packages: {
|
|
8
|
-
[packageSource: string]: string;
|
|
9
|
-
};
|
|
10
|
-
apis: ProjectManifestApi[];
|
|
11
|
-
languages?: string[];
|
|
12
|
-
dependencies?: (ProjectManifestDependency | string)[];
|
|
13
|
-
applications: ProjectManifestApplication[];
|
|
14
|
-
reactApplications: ProjectManifestReactApplication[] | undefined;
|
|
15
|
-
expressComponents: ProjectManifestExpressComponent[] | undefined;
|
|
16
|
-
scripts: ProjectManifestScript[] | undefined;
|
|
17
|
-
pdfs: ProjectManifestPdf[] | undefined;
|
|
18
|
-
emails: ProjectManifestEmail[] | undefined;
|
|
19
|
-
htmls: ProjectManifestHtml[] | undefined;
|
|
20
|
-
processes: ProjectManifestProcess[];
|
|
21
|
-
tableDataSources: ProjectManifestDatastore[];
|
|
22
|
-
documentDataSources: ProjectManifestDatastore[];
|
|
23
|
-
roles: ProjectManifestRole[];
|
|
24
|
-
postInstallationProcesses?: ProjectManifestPostInstallationProcess[];
|
|
25
|
-
constructor();
|
|
26
|
-
}
|
|
27
|
-
export declare class ProjectManifestPostInstallationProcess {
|
|
28
|
-
processName: string;
|
|
29
|
-
startEvent: string;
|
|
30
|
-
}
|
|
31
|
-
export declare class ProjectManifestDependency {
|
|
32
|
-
name: string;
|
|
33
|
-
version?: string;
|
|
34
|
-
}
|
|
35
|
-
export declare class ProjectManifestRole {
|
|
36
|
-
name: string;
|
|
37
|
-
description: string;
|
|
38
|
-
}
|
|
39
|
-
export declare class ProjectManifestDatastore {
|
|
40
|
-
name: string;
|
|
41
|
-
file: string;
|
|
42
|
-
ttlMinutes?: number;
|
|
43
|
-
constructor();
|
|
44
|
-
}
|
|
45
|
-
export declare class ProjectManifestProcess {
|
|
46
|
-
processName: string;
|
|
47
|
-
file: string;
|
|
48
|
-
startEvents: ProjectManifestProcessStartEvent[];
|
|
49
|
-
endEvent: JSONSchema7;
|
|
50
|
-
signals: ProjectManigestSignal[];
|
|
51
|
-
priority?: "immediate" | "high" | "medium" | "low";
|
|
52
|
-
minThreads?: number;
|
|
53
|
-
maxThreads?: number;
|
|
54
|
-
constructor();
|
|
55
|
-
}
|
|
56
|
-
export declare class ProjectManigestSignal {
|
|
57
|
-
signalId: string;
|
|
58
|
-
type: string;
|
|
59
|
-
}
|
|
60
|
-
export declare class ProjectManifestProcessStartEvent {
|
|
61
|
-
nodeId: string;
|
|
62
|
-
kind: string;
|
|
63
|
-
scope: string;
|
|
64
|
-
roles: string[];
|
|
65
|
-
input: JSONSchema7;
|
|
66
|
-
constructor();
|
|
67
|
-
}
|
|
68
|
-
export declare class ProjectManifestReactApplication {
|
|
69
|
-
applicationName: string;
|
|
70
|
-
file: string;
|
|
71
|
-
scope: string;
|
|
72
|
-
roles: string[];
|
|
73
|
-
constructor();
|
|
74
|
-
}
|
|
75
|
-
export declare class ProjectManifestApplication {
|
|
76
|
-
applicationName: string;
|
|
77
|
-
file: string;
|
|
78
|
-
scope: string;
|
|
79
|
-
roles: string[];
|
|
80
|
-
constructor();
|
|
81
|
-
}
|
|
82
|
-
export declare class ProjectManifestPdf {
|
|
83
|
-
name: string;
|
|
84
|
-
file: string;
|
|
85
|
-
constructor();
|
|
86
|
-
}
|
|
87
|
-
export declare class ProjectManifestEmail {
|
|
88
|
-
name: string;
|
|
89
|
-
file: string;
|
|
90
|
-
constructor();
|
|
91
|
-
}
|
|
92
|
-
export declare class ProjectManifestHtml {
|
|
93
|
-
name: string;
|
|
94
|
-
file: string;
|
|
95
|
-
constructor();
|
|
96
|
-
}
|
|
97
|
-
export declare class ProjectManifestExpressComponent {
|
|
98
|
-
componentName: string;
|
|
99
|
-
file: string;
|
|
100
|
-
constructor();
|
|
101
|
-
}
|
|
102
|
-
export declare class ProjectManifestScript {
|
|
103
|
-
file: string;
|
|
104
|
-
constructor();
|
|
105
|
-
}
|
|
106
|
-
export declare class ProjectManifestApplicationInsight {
|
|
107
|
-
key: string;
|
|
108
|
-
constructor();
|
|
109
|
-
}
|
|
110
|
-
export declare class ProjectManifestApi {
|
|
111
|
-
path: string;
|
|
112
|
-
method: string;
|
|
113
|
-
bpmn: string;
|
|
114
|
-
startNode: string;
|
|
115
|
-
accept: string;
|
|
116
|
-
priority?: "immediate" | "high" | "medium" | "low";
|
|
117
|
-
minThreads?: number;
|
|
118
|
-
maxThreads?: number;
|
|
119
|
-
constructor();
|
|
120
|
-
}
|
|
121
|
-
export declare class ProjectManifestParameter {
|
|
122
|
-
key: string;
|
|
123
|
-
value: string;
|
|
124
|
-
constructor();
|
|
125
|
-
}
|
|
126
|
-
//# sourceMappingURL=ProjectManifestModels.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectManifestModels.d.ts","sourceRoot":"","sources":["../../src/models/ProjectManifestModels.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ProjectManifestParameter = exports.ProjectManifestApi = exports.ProjectManifestApplicationInsight = exports.ProjectManifestScript = exports.ProjectManifestExpressComponent = exports.ProjectManifestHtml = exports.ProjectManifestEmail = exports.ProjectManifestPdf = exports.ProjectManifestApplication = exports.ProjectManifestReactApplication = exports.ProjectManifestProcessStartEvent = exports.ProjectManigestSignal = exports.ProjectManifestProcess = exports.ProjectManifestDatastore = exports.ProjectManifestRole = exports.ProjectManifestDependency = exports.ProjectManifestPostInstallationProcess = exports.ProjectManifest = void 0;
|
|
4
|
-
class ProjectManifest {
|
|
5
|
-
constructor() {
|
|
6
|
-
this.projectName = '';
|
|
7
|
-
this.serviceName = '';
|
|
8
|
-
this.version = '0.0.0';
|
|
9
|
-
this.packages = {};
|
|
10
|
-
this.apis = [];
|
|
11
|
-
this.applications = [];
|
|
12
|
-
this.expressComponents = [];
|
|
13
|
-
this.scripts = [];
|
|
14
|
-
this.pdfs = [];
|
|
15
|
-
this.emails = [];
|
|
16
|
-
this.htmls = [];
|
|
17
|
-
this.processes = [];
|
|
18
|
-
this.tableDataSources = [];
|
|
19
|
-
this.documentDataSources = [];
|
|
20
|
-
this.roles = [];
|
|
21
|
-
this.languages = [];
|
|
22
|
-
this.postInstallationProcesses = [];
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
exports.ProjectManifest = ProjectManifest;
|
|
26
|
-
class ProjectManifestPostInstallationProcess {
|
|
27
|
-
constructor() {
|
|
28
|
-
this.processName = '';
|
|
29
|
-
this.startEvent = '';
|
|
30
|
-
}
|
|
31
|
-
;
|
|
32
|
-
;
|
|
33
|
-
}
|
|
34
|
-
exports.ProjectManifestPostInstallationProcess = ProjectManifestPostInstallationProcess;
|
|
35
|
-
class ProjectManifestDependency {
|
|
36
|
-
constructor() {
|
|
37
|
-
this.name = '';
|
|
38
|
-
this.version = '';
|
|
39
|
-
//TODO more options ? optional dependency, auto install, ...
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
exports.ProjectManifestDependency = ProjectManifestDependency;
|
|
43
|
-
class ProjectManifestRole {
|
|
44
|
-
constructor() {
|
|
45
|
-
this.name = '';
|
|
46
|
-
this.description = '';
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
exports.ProjectManifestRole = ProjectManifestRole;
|
|
50
|
-
class ProjectManifestDatastore {
|
|
51
|
-
constructor() {
|
|
52
|
-
this.name = '';
|
|
53
|
-
this.file = '';
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
exports.ProjectManifestDatastore = ProjectManifestDatastore;
|
|
57
|
-
class ProjectManifestProcess {
|
|
58
|
-
constructor() {
|
|
59
|
-
this.processName = '';
|
|
60
|
-
this.file = '';
|
|
61
|
-
this.startEvents = [];
|
|
62
|
-
this.endEvent = {};
|
|
63
|
-
this.signals = [];
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
exports.ProjectManifestProcess = ProjectManifestProcess;
|
|
67
|
-
class ProjectManigestSignal {
|
|
68
|
-
constructor() {
|
|
69
|
-
this.signalId = '';
|
|
70
|
-
this.type = '';
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
exports.ProjectManigestSignal = ProjectManigestSignal;
|
|
74
|
-
class ProjectManifestProcessStartEvent {
|
|
75
|
-
constructor() {
|
|
76
|
-
this.nodeId = '';
|
|
77
|
-
this.kind = '';
|
|
78
|
-
this.scope = '';
|
|
79
|
-
this.roles = [];
|
|
80
|
-
this.input = {};
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
exports.ProjectManifestProcessStartEvent = ProjectManifestProcessStartEvent;
|
|
84
|
-
class ProjectManifestReactApplication {
|
|
85
|
-
constructor() {
|
|
86
|
-
this.applicationName = '';
|
|
87
|
-
this.file = '';
|
|
88
|
-
this.scope = '';
|
|
89
|
-
this.roles = [];
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
exports.ProjectManifestReactApplication = ProjectManifestReactApplication;
|
|
93
|
-
class ProjectManifestApplication {
|
|
94
|
-
constructor() {
|
|
95
|
-
this.applicationName = '';
|
|
96
|
-
this.file = '';
|
|
97
|
-
this.scope = '';
|
|
98
|
-
this.roles = [];
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
exports.ProjectManifestApplication = ProjectManifestApplication;
|
|
102
|
-
class ProjectManifestPdf {
|
|
103
|
-
constructor() {
|
|
104
|
-
this.name = '';
|
|
105
|
-
this.file = '';
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
exports.ProjectManifestPdf = ProjectManifestPdf;
|
|
109
|
-
class ProjectManifestEmail {
|
|
110
|
-
constructor() {
|
|
111
|
-
this.name = '';
|
|
112
|
-
this.file = '';
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
exports.ProjectManifestEmail = ProjectManifestEmail;
|
|
116
|
-
class ProjectManifestHtml {
|
|
117
|
-
constructor() {
|
|
118
|
-
this.name = '';
|
|
119
|
-
this.file = '';
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
exports.ProjectManifestHtml = ProjectManifestHtml;
|
|
123
|
-
class ProjectManifestExpressComponent {
|
|
124
|
-
constructor() {
|
|
125
|
-
this.componentName = '';
|
|
126
|
-
this.file = '';
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
exports.ProjectManifestExpressComponent = ProjectManifestExpressComponent;
|
|
130
|
-
class ProjectManifestScript {
|
|
131
|
-
constructor() {
|
|
132
|
-
this.file = '';
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
exports.ProjectManifestScript = ProjectManifestScript;
|
|
136
|
-
class ProjectManifestApplicationInsight {
|
|
137
|
-
constructor() {
|
|
138
|
-
this.key = '';
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
exports.ProjectManifestApplicationInsight = ProjectManifestApplicationInsight;
|
|
142
|
-
class ProjectManifestApi {
|
|
143
|
-
constructor() {
|
|
144
|
-
this.path = '';
|
|
145
|
-
this.method = '';
|
|
146
|
-
this.bpmn = '';
|
|
147
|
-
this.startNode = '';
|
|
148
|
-
this.accept = '';
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
exports.ProjectManifestApi = ProjectManifestApi;
|
|
152
|
-
class ProjectManifestParameter {
|
|
153
|
-
constructor() {
|
|
154
|
-
this.key = '';
|
|
155
|
-
this.value = '';
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
exports.ProjectManifestParameter = ProjectManifestParameter;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"I18nUtils.d.ts","sourceRoot":"","sources":["../../src/utils/I18nUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,aAAa,EAAgB,MAAM,IAAI,CAAC;AAEhE,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,SAAS;WAErB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,GAAG,MAAM;IAOnE,OAAO,CAAC,MAAM,CAAC,UAAU;IAkBzB,OAAO,CAAC,MAAM,CAAC,UAAU;CAsB5B"}
|