mcp-creatio 0.4.0 → 0.5.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 +252 -212
- package/dist/cli.d.ts +5 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +18 -11
- package/dist/cli.js.map +1 -1
- package/dist/creatio/auth/auth.d.ts +2 -0
- package/dist/creatio/auth/auth.d.ts.map +1 -1
- package/dist/creatio/auth/auth.js.map +1 -1
- package/dist/creatio/auth/providers/base-provider.d.ts +1 -0
- package/dist/creatio/auth/providers/base-provider.d.ts.map +1 -1
- package/dist/creatio/auth/providers/base-provider.js +3 -0
- package/dist/creatio/auth/providers/base-provider.js.map +1 -1
- package/dist/creatio/auth/providers/oauth2-code-provider.d.ts +3 -0
- package/dist/creatio/auth/providers/oauth2-code-provider.d.ts.map +1 -1
- package/dist/creatio/auth/providers/oauth2-code-provider.js +30 -24
- package/dist/creatio/auth/providers/oauth2-code-provider.js.map +1 -1
- package/dist/creatio/providers/configuration-provider.d.ts +3 -2
- package/dist/creatio/providers/configuration-provider.d.ts.map +1 -1
- package/dist/creatio/providers/crud-provider.d.ts +2 -0
- package/dist/creatio/providers/crud-provider.d.ts.map +1 -1
- package/dist/creatio/services/configuration-service-provider.d.ts.map +1 -1
- package/dist/creatio/services/configuration-service-provider.js +11 -3
- package/dist/creatio/services/configuration-service-provider.js.map +1 -1
- package/dist/creatio/services/http-client.d.ts.map +1 -1
- package/dist/creatio/services/http-client.js +0 -1
- package/dist/creatio/services/http-client.js.map +1 -1
- package/dist/creatio/services/metadata-store.d.ts +5 -0
- package/dist/creatio/services/metadata-store.d.ts.map +1 -1
- package/dist/creatio/services/metadata-store.js +18 -6
- package/dist/creatio/services/metadata-store.js.map +1 -1
- package/dist/creatio/services/odata-crud-provider.d.ts +3 -1
- package/dist/creatio/services/odata-crud-provider.d.ts.map +1 -1
- package/dist/creatio/services/odata-crud-provider.js +31 -8
- package/dist/creatio/services/odata-crud-provider.js.map +1 -1
- package/dist/server/http/creatio-oauth-handlers.d.ts +0 -1
- package/dist/server/http/creatio-oauth-handlers.d.ts.map +1 -1
- package/dist/server/http/creatio-oauth-handlers.js +30 -23
- package/dist/server/http/creatio-oauth-handlers.js.map +1 -1
- package/dist/server/http/httpServer.d.ts +9 -0
- package/dist/server/http/httpServer.d.ts.map +1 -1
- package/dist/server/http/httpServer.js +34 -11
- package/dist/server/http/httpServer.js.map +1 -1
- package/dist/server/http/mcp-handlers.d.ts.map +1 -1
- package/dist/server/http/mcp-handlers.js +4 -1
- package/dist/server/http/mcp-handlers.js.map +1 -1
- package/dist/server/http/mcp-oauth-handlers.d.ts.map +1 -1
- package/dist/server/http/mcp-oauth-handlers.js +18 -6
- package/dist/server/http/mcp-oauth-handlers.js.map +1 -1
- package/dist/server/http/middleware.d.ts +7 -0
- package/dist/server/http/middleware.d.ts.map +1 -1
- package/dist/server/http/middleware.js +23 -0
- package/dist/server/http/middleware.js.map +1 -1
- package/dist/server/http/rate-limiter.d.ts +24 -0
- package/dist/server/http/rate-limiter.d.ts.map +1 -0
- package/dist/server/http/rate-limiter.js +42 -0
- package/dist/server/http/rate-limiter.js.map +1 -0
- package/dist/server/mcp/creatio-rest.d.ts +44 -0
- package/dist/server/mcp/creatio-rest.d.ts.map +1 -0
- package/dist/server/mcp/creatio-rest.js +26 -0
- package/dist/server/mcp/creatio-rest.js.map +1 -0
- package/dist/server/mcp/crtmcp/crt-mcp-client.d.ts +55 -0
- package/dist/server/mcp/crtmcp/crt-mcp-client.d.ts.map +1 -0
- package/dist/server/mcp/crtmcp/crt-mcp-client.js +67 -0
- package/dist/server/mcp/crtmcp/crt-mcp-client.js.map +1 -0
- package/dist/server/mcp/crtmcp/crt-mcp-tool-preparer.d.ts +20 -0
- package/dist/server/mcp/crtmcp/crt-mcp-tool-preparer.d.ts.map +1 -0
- package/dist/server/mcp/crtmcp/crt-mcp-tool-preparer.js +74 -0
- package/dist/server/mcp/crtmcp/crt-mcp-tool-preparer.js.map +1 -0
- package/dist/server/mcp/dataforge/dataforge-client.d.ts +64 -0
- package/dist/server/mcp/dataforge/dataforge-client.d.ts.map +1 -0
- package/dist/server/mcp/dataforge/dataforge-client.js +130 -0
- package/dist/server/mcp/dataforge/dataforge-client.js.map +1 -0
- package/dist/server/mcp/dataforge/dataforge-tool-preparer.d.ts +17 -0
- package/dist/server/mcp/dataforge/dataforge-tool-preparer.d.ts.map +1 -0
- package/dist/server/mcp/dataforge/dataforge-tool-preparer.js +42 -0
- package/dist/server/mcp/dataforge/dataforge-tool-preparer.js.map +1 -0
- package/dist/server/mcp/filters.d.ts.map +1 -1
- package/dist/server/mcp/filters.js +20 -4
- package/dist/server/mcp/filters.js.map +1 -1
- package/dist/server/mcp/globalsearch/globalsearch-client.d.ts +50 -0
- package/dist/server/mcp/globalsearch/globalsearch-client.d.ts.map +1 -0
- package/dist/server/mcp/globalsearch/globalsearch-client.js +118 -0
- package/dist/server/mcp/globalsearch/globalsearch-client.js.map +1 -0
- package/dist/server/mcp/globalsearch/globalsearch-tool-preparer.d.ts +16 -0
- package/dist/server/mcp/globalsearch/globalsearch-tool-preparer.d.ts.map +1 -0
- package/dist/server/mcp/globalsearch/globalsearch-tool-preparer.js +34 -0
- package/dist/server/mcp/globalsearch/globalsearch-tool-preparer.js.map +1 -0
- package/dist/server/mcp/json-schema-to-zod.d.ts +3 -0
- package/dist/server/mcp/json-schema-to-zod.d.ts.map +1 -0
- package/dist/server/mcp/json-schema-to-zod.js +54 -0
- package/dist/server/mcp/json-schema-to-zod.js.map +1 -0
- package/dist/server/mcp/server.d.ts +18 -0
- package/dist/server/mcp/server.d.ts.map +1 -1
- package/dist/server/mcp/server.js +93 -25
- package/dist/server/mcp/server.js.map +1 -1
- package/dist/server/mcp/tool-preparer.d.ts +26 -0
- package/dist/server/mcp/tool-preparer.d.ts.map +1 -0
- package/dist/server/mcp/tool-preparer.js +11 -0
- package/dist/server/mcp/tool-preparer.js.map +1 -0
- package/dist/server/mcp/tools-data.d.ts +69 -10
- package/dist/server/mcp/tools-data.d.ts.map +1 -1
- package/dist/server/mcp/tools-data.js +222 -32
- package/dist/server/mcp/tools-data.js.map +1 -1
- package/dist/server/oauth/oauth-server.d.ts +0 -1
- package/dist/server/oauth/oauth-server.d.ts.map +1 -1
- package/dist/server/oauth/oauth-server.js +11 -21
- package/dist/server/oauth/oauth-server.js.map +1 -1
- package/dist/server/oauth/storage.d.ts +0 -2
- package/dist/server/oauth/storage.d.ts.map +1 -1
- package/dist/server/oauth/storage.js +0 -6
- package/dist/server/oauth/storage.js.map +1 -1
- package/dist/server/oauth/validators.d.ts +6 -0
- package/dist/server/oauth/validators.d.ts.map +1 -1
- package/dist/server/oauth/validators.js +28 -0
- package/dist/server/oauth/validators.js.map +1 -1
- package/dist/services/session-context.d.ts +8 -7
- package/dist/services/session-context.d.ts.map +1 -1
- package/dist/services/session-context.js +7 -27
- package/dist/services/session-context.js.map +1 -1
- package/package.json +18 -9
- package/.dockerignore +0 -12
- package/.editorconfig +0 -14
- package/.eslintrc.cjs +0 -18
- package/.gitattributes +0 -8
- package/.github/workflows/docker-publish.yml +0 -50
- package/.prettierignore +0 -3
- package/.prettierrc +0 -9
- package/.vscode/launch.json +0 -23
- package/.vscode/mcp.json +0 -13
- package/.vscode/settings.json +0 -16
- package/Agent.md +0 -190
- package/Debug.md +0 -32
- package/Dockerfile +0 -23
- package/docs/coding-style.md +0 -30
- package/eslint.config.cjs +0 -95
- package/src/cli.ts +0 -162
- package/src/config-builder.ts +0 -76
- package/src/consts.ts +0 -3
- package/src/creatio/auth/auth-manager.ts +0 -27
- package/src/creatio/auth/auth.ts +0 -31
- package/src/creatio/auth/index.ts +0 -3
- package/src/creatio/auth/providers/base-oauth2-provider.ts +0 -62
- package/src/creatio/auth/providers/base-provider.ts +0 -42
- package/src/creatio/auth/providers/index.ts +0 -4
- package/src/creatio/auth/providers/legacy-provider.ts +0 -70
- package/src/creatio/auth/providers/oauth2-code-provider.ts +0 -252
- package/src/creatio/auth/providers/oauth2-provider.ts +0 -91
- package/src/creatio/auth/providers/type.ts +0 -5
- package/src/creatio/client-config.ts +0 -34
- package/src/creatio/engines/admin-operation/admin-operation-engine.ts +0 -44
- package/src/creatio/engines/configuration/configuration-engine.ts +0 -26
- package/src/creatio/engines/crud/crud-engine.ts +0 -47
- package/src/creatio/engines/engine-manager.ts +0 -157
- package/src/creatio/engines/engine-registry.ts +0 -39
- package/src/creatio/engines/engine.ts +0 -3
- package/src/creatio/engines/feature/feature-engine.ts +0 -20
- package/src/creatio/engines/index.ts +0 -10
- package/src/creatio/engines/process/process-engine.ts +0 -20
- package/src/creatio/engines/sys-settings/sys-settings-engine.ts +0 -41
- package/src/creatio/engines/user/user-engine.ts +0 -20
- package/src/creatio/index.ts +0 -6
- package/src/creatio/provider-context.ts +0 -21
- package/src/creatio/providers/admin-operation-provider.ts +0 -34
- package/src/creatio/providers/configuration-provider.ts +0 -22
- package/src/creatio/providers/crud-provider.ts +0 -45
- package/src/creatio/providers/feature-provider.ts +0 -10
- package/src/creatio/providers/index.ts +0 -7
- package/src/creatio/providers/process-provider.ts +0 -15
- package/src/creatio/providers/sys-settings-provider.ts +0 -63
- package/src/creatio/providers/user-provider.ts +0 -12
- package/src/creatio/services/admin-operation-service-provider.ts +0 -115
- package/src/creatio/services/configuration-service-provider.ts +0 -127
- package/src/creatio/services/creatio-service-context.ts +0 -55
- package/src/creatio/services/feature-service-provider.ts +0 -60
- package/src/creatio/services/http-client.ts +0 -174
- package/src/creatio/services/index.ts +0 -10
- package/src/creatio/services/metadata-store.ts +0 -181
- package/src/creatio/services/odata-crud-provider.ts +0 -210
- package/src/creatio/services/process-service-provider.ts +0 -76
- package/src/creatio/services/sys-settings-service-provider.ts +0 -192
- package/src/creatio/services/user-info-provider.ts +0 -41
- package/src/index.ts +0 -44
- package/src/log.ts +0 -183
- package/src/server/http/creatio-oauth-handlers.ts +0 -146
- package/src/server/http/httpServer.ts +0 -150
- package/src/server/http/index.ts +0 -5
- package/src/server/http/mcp-handlers.ts +0 -92
- package/src/server/http/mcp-oauth-handlers.ts +0 -108
- package/src/server/http/middleware.ts +0 -91
- package/src/server/index.ts +0 -2
- package/src/server/mcp/filters.ts +0 -97
- package/src/server/mcp/index.ts +0 -1
- package/src/server/mcp/prompts-data.ts +0 -1292
- package/src/server/mcp/server.ts +0 -442
- package/src/server/mcp/tools-data.ts +0 -748
- package/src/server/oauth/client-manager.ts +0 -47
- package/src/server/oauth/index.ts +0 -6
- package/src/server/oauth/oauth-server.ts +0 -185
- package/src/server/oauth/storage.ts +0 -106
- package/src/server/oauth/token-manager.ts +0 -80
- package/src/server/oauth/types.ts +0 -55
- package/src/server/oauth/validators.ts +0 -56
- package/src/services/index.ts +0 -2
- package/src/services/session-context.ts +0 -232
- package/src/services/token-refresh-scheduler.ts +0 -68
- package/src/types/index.ts +0 -1
- package/src/types/network.ts +0 -7
- package/src/utils/context.ts +0 -49
- package/src/utils/env.ts +0 -12
- package/src/utils/index.ts +0 -5
- package/src/utils/mcp.ts +0 -8
- package/src/utils/network.ts +0 -65
- package/src/utils/pkce.ts +0 -39
- package/src/version.ts +0 -15
- package/tsconfig.json +0 -28
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-provider.js","sourceRoot":"","sources":["../../../../src/creatio/auth/providers/base-provider.ts"],"names":[],"mappings":";;;AAKA,MAAsB,YAAY;IAGd,MAAM,CAAsB;IAE/C,IAAc,UAAU;QACvB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAS,CAAC;IAC9B,CAAC;IAED,IAAW,IAAI;QACd,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;IAC7B,CAAC;IAED,YAAY,MAA2B;QACtC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACtB,CAAC;IAEM,UAAU,CAAC,MAAc,EAAE,MAAgB;QACjD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;IAEM,OAAO;QACb,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;IAEM,MAAM;QACZ,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;IAEM,eAAe,CAAC,KAAa;QACnC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;IAEM,mBAAmB,CAAC,IAAY;QACtC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;CACD;
|
|
1
|
+
{"version":3,"file":"base-provider.js","sourceRoot":"","sources":["../../../../src/creatio/auth/providers/base-provider.ts"],"names":[],"mappings":";;;AAKA,MAAsB,YAAY;IAGd,MAAM,CAAsB;IAE/C,IAAc,UAAU;QACvB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAS,CAAC;IAC9B,CAAC;IAED,IAAW,IAAI;QACd,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;IAC7B,CAAC;IAED,YAAY,MAA2B;QACtC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACtB,CAAC;IAEM,UAAU,CAAC,MAAc,EAAE,MAAgB;QACjD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;IAEM,OAAO;QACb,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;IAEM,MAAM;QACZ,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;IAEM,eAAe,CAAC,KAAa;QACnC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;IAEM,mBAAmB,CAAC,IAAY;QACtC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;IAEM,gBAAgB;QACtB,8EAA8E;IAC/E,CAAC;CACD;AAxCD,oCAwCC"}
|
|
@@ -3,16 +3,19 @@ import { BaseOAuth2Provider } from './base-oauth2-provider';
|
|
|
3
3
|
export declare class OAuth2CodeProvider extends BaseOAuth2Provider<OAuth2CodeAuthConfig> {
|
|
4
4
|
private readonly _sessionContext;
|
|
5
5
|
private readonly _tokenRefreshScheduler;
|
|
6
|
+
private readonly _inflightRefresh;
|
|
6
7
|
protected readonly authErrorCode = "oauth2_code_need_consent";
|
|
7
8
|
private get _scope();
|
|
8
9
|
constructor(config: CreatioClientConfig);
|
|
9
10
|
private _exchangeCodeForTokens;
|
|
10
11
|
private _refreshTokens;
|
|
11
12
|
protected throwNoTokenError(): void;
|
|
13
|
+
private _refreshTokensDeduped;
|
|
12
14
|
protected ensureAccessToken(force?: boolean): Promise<string | undefined>;
|
|
13
15
|
finishAuthorization(code: string): Promise<void>;
|
|
14
16
|
getAuthorizeUrl(state: string): Promise<string>;
|
|
15
17
|
revoke(): Promise<void>;
|
|
16
18
|
refreshUserTokens(userKey: string): Promise<void>;
|
|
19
|
+
cancelAllRefresh(): void;
|
|
17
20
|
}
|
|
18
21
|
//# sourceMappingURL=oauth2-code-provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth2-code-provider.d.ts","sourceRoot":"","sources":["../../../../src/creatio/auth/providers/oauth2-code-provider.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAGhF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,qBAAa,kBAAmB,SAAQ,kBAAkB,CAAC,oBAAoB,CAAC;IAC/E,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA2B;IAC3D,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAA+B;
|
|
1
|
+
{"version":3,"file":"oauth2-code-provider.d.ts","sourceRoot":"","sources":["../../../../src/creatio/auth/providers/oauth2-code-provider.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAGhF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,qBAAa,kBAAmB,SAAQ,kBAAkB,CAAC,oBAAoB,CAAC;IAC/E,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA2B;IAC3D,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAA+B;IAGtE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA0C;IAE3E,SAAS,CAAC,QAAQ,CAAC,aAAa,8BAA8B;IAE9D,OAAO,KAAK,MAAM,GAEjB;gBAEW,MAAM,EAAE,mBAAmB;YAKzB,sBAAsB;YA2CtB,cAAc;IAuD5B,SAAS,CAAC,iBAAiB,IAAI,IAAI;IAQnC,OAAO,CAAC,qBAAqB;cAcb,iBAAiB,CAAC,KAAK,UAAQ,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IA+BhE,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYhD,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAa/C,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAwCvB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWvD,gBAAgB,IAAI,IAAI;CAG/B"}
|
|
@@ -13,6 +13,9 @@ const base_oauth2_provider_1 = require("./base-oauth2-provider");
|
|
|
13
13
|
class OAuth2CodeProvider extends base_oauth2_provider_1.BaseOAuth2Provider {
|
|
14
14
|
_sessionContext = services_1.SessionContext.instance;
|
|
15
15
|
_tokenRefreshScheduler = new services_1.TokenRefreshScheduler();
|
|
16
|
+
// Deduplicates concurrent refreshes per user so K simultaneous requests trigger
|
|
17
|
+
// one refresh call, not K (avoids the thundering herd + rotating-refresh-token races).
|
|
18
|
+
_inflightRefresh = new Map();
|
|
16
19
|
authErrorCode = 'oauth2_code_need_consent';
|
|
17
20
|
get _scope() {
|
|
18
21
|
return this.authConfig.scope || 'offline_access';
|
|
@@ -126,15 +129,23 @@ class OAuth2CodeProvider extends base_oauth2_provider_1.BaseOAuth2Provider {
|
|
|
126
129
|
: this.authErrorCode;
|
|
127
130
|
throw new Error(errorMessage);
|
|
128
131
|
}
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
this.accessToken &&
|
|
134
|
-
this.accessTokenExpiryMs &&
|
|
135
|
-
now < this.accessTokenExpiryMs) {
|
|
136
|
-
return this.accessToken;
|
|
132
|
+
_refreshTokensDeduped(userKey, refreshToken) {
|
|
133
|
+
const existing = this._inflightRefresh.get(userKey);
|
|
134
|
+
if (existing) {
|
|
135
|
+
return existing;
|
|
137
136
|
}
|
|
137
|
+
const promise = (async () => {
|
|
138
|
+
const updated = await this._refreshTokens(refreshToken);
|
|
139
|
+
await this._sessionContext.setTokensForUser(userKey, updated);
|
|
140
|
+
return updated;
|
|
141
|
+
})().finally(() => this._inflightRefresh.delete(userKey));
|
|
142
|
+
this._inflightRefresh.set(userKey, promise);
|
|
143
|
+
return promise;
|
|
144
|
+
}
|
|
145
|
+
async ensureAccessToken(force = false) {
|
|
146
|
+
// This provider is a process-wide singleton serving many concurrent users, so the
|
|
147
|
+
// per-user tokens in SessionContext are the only cache — never instance fields,
|
|
148
|
+
// which a second user would overwrite (token thrash + cross-user bleed).
|
|
138
149
|
const userKey = (0, utils_1.getEffectiveUserKey)();
|
|
139
150
|
if (!userKey) {
|
|
140
151
|
log_1.default.warn('oauth2_code.no_user_key');
|
|
@@ -145,20 +156,16 @@ class OAuth2CodeProvider extends base_oauth2_provider_1.BaseOAuth2Provider {
|
|
|
145
156
|
log_1.default.warn('oauth2_code.no_saved_tokens', { userKey });
|
|
146
157
|
return undefined;
|
|
147
158
|
}
|
|
159
|
+
const now = Date.now();
|
|
148
160
|
if (!force &&
|
|
149
161
|
saved.accessToken &&
|
|
150
162
|
saved.accessTokenExpiryMs &&
|
|
151
163
|
now < saved.accessTokenExpiryMs) {
|
|
152
|
-
|
|
153
|
-
this.accessTokenExpiryMs = saved.accessTokenExpiryMs;
|
|
154
|
-
return this.accessToken;
|
|
164
|
+
return saved.accessToken;
|
|
155
165
|
}
|
|
156
166
|
if (saved.refreshToken) {
|
|
157
|
-
const updated = await this.
|
|
158
|
-
|
|
159
|
-
this.accessToken = updated.accessToken;
|
|
160
|
-
this.accessTokenExpiryMs = updated.accessTokenExpiryMs;
|
|
161
|
-
return this.accessToken;
|
|
167
|
+
const updated = await this._refreshTokensDeduped(userKey, saved.refreshToken);
|
|
168
|
+
return updated.accessToken;
|
|
162
169
|
}
|
|
163
170
|
await this._sessionContext.deleteTokensForUser(userKey);
|
|
164
171
|
return undefined;
|
|
@@ -171,8 +178,6 @@ class OAuth2CodeProvider extends base_oauth2_provider_1.BaseOAuth2Provider {
|
|
|
171
178
|
}
|
|
172
179
|
const tokens = await this._exchangeCodeForTokens(code);
|
|
173
180
|
await this._sessionContext.setTokensForUser(userKey, tokens);
|
|
174
|
-
this.accessToken = tokens.accessToken;
|
|
175
|
-
this.accessTokenExpiryMs = tokens.accessTokenExpiryMs;
|
|
176
181
|
this._tokenRefreshScheduler.scheduleRefresh(userKey);
|
|
177
182
|
log_1.default.info('oauth2_code.authorization_complete', { userKey });
|
|
178
183
|
}
|
|
@@ -185,10 +190,7 @@ class OAuth2CodeProvider extends base_oauth2_provider_1.BaseOAuth2Provider {
|
|
|
185
190
|
u.searchParams.set('state', state);
|
|
186
191
|
const scopeParam = encodeURIComponent(this._scope);
|
|
187
192
|
u.search += '&scope=' + scopeParam;
|
|
188
|
-
log_1.default.info('oauth2_code.authorize_url', {
|
|
189
|
-
idBase,
|
|
190
|
-
url: u.toString(),
|
|
191
|
-
});
|
|
193
|
+
log_1.default.info('oauth2_code.authorize_url', { idBase });
|
|
192
194
|
return u.toString();
|
|
193
195
|
}
|
|
194
196
|
async revoke() {
|
|
@@ -236,10 +238,14 @@ class OAuth2CodeProvider extends base_oauth2_provider_1.BaseOAuth2Provider {
|
|
|
236
238
|
if (!saved?.refreshToken) {
|
|
237
239
|
throw new Error('oauth2_no_refresh_token');
|
|
238
240
|
}
|
|
239
|
-
|
|
240
|
-
|
|
241
|
+
// Share the same in-flight refresh as on-demand callers to avoid colliding
|
|
242
|
+
// refresh calls that would invalidate each other's rotating refresh token.
|
|
243
|
+
await this._refreshTokensDeduped(userKey, saved.refreshToken);
|
|
241
244
|
log_1.default.info('oauth2_code.background_refresh_success', { userKey });
|
|
242
245
|
}
|
|
246
|
+
cancelAllRefresh() {
|
|
247
|
+
this._tokenRefreshScheduler.cancelAllRefresh();
|
|
248
|
+
}
|
|
243
249
|
}
|
|
244
250
|
exports.OAuth2CodeProvider = OAuth2CodeProvider;
|
|
245
251
|
//# sourceMappingURL=oauth2-code-provider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth2-code-provider.js","sourceRoot":"","sources":["../../../../src/creatio/auth/providers/oauth2-code-provider.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAgD;AAChD,uDAA+B;AAC/B,gDAA2F;AAC3F,0CAAiE;AAEjE,kCAAkF;AAElF,iEAA4D;AAE5D,MAAa,kBAAmB,SAAQ,yCAAwC;IAC9D,eAAe,GAAG,yBAAc,CAAC,QAAQ,CAAC;IAC1C,sBAAsB,GAAG,IAAI,gCAAqB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"oauth2-code-provider.js","sourceRoot":"","sources":["../../../../src/creatio/auth/providers/oauth2-code-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
export type ConfigurationServiceHttpMethod = 'GET' | 'POST' | 'PATCH' | 'PUT' | 'DELETE';
|
|
2
2
|
export type ConfigurationServiceQueryValue = string | number | boolean;
|
|
3
3
|
export interface CallConfigurationServiceRequest {
|
|
4
|
-
service
|
|
5
|
-
method
|
|
4
|
+
service?: string;
|
|
5
|
+
method?: string;
|
|
6
|
+
rawPath?: string;
|
|
6
7
|
httpMethod?: ConfigurationServiceHttpMethod;
|
|
7
8
|
body?: unknown;
|
|
8
9
|
query?: Record<string, ConfigurationServiceQueryValue>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configuration-provider.d.ts","sourceRoot":"","sources":["../../../src/creatio/providers/configuration-provider.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,8BAA8B,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;AAEzF,MAAM,MAAM,8BAA8B,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAEvE,MAAM,WAAW,+BAA+B;IAC/C,OAAO,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"configuration-provider.d.ts","sourceRoot":"","sources":["../../../src/creatio/providers/configuration-provider.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,8BAA8B,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;AAEzF,MAAM,MAAM,8BAA8B,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAEvE,MAAM,WAAW,+BAA+B;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAKhB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,8BAA8B,CAAC;IAC5C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,8BAA8B,CAAC,CAAC;CACvD;AAED,MAAM,WAAW,8BAA8B;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,OAAO,CAAC;CACd;AAED,MAAM,WAAW,qBAAqB;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,OAAO,EAAE,+BAA+B,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAAC;CACxF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crud-provider.d.ts","sourceRoot":"","sources":["../../../src/creatio/providers/crud-provider.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,uBAAuB;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,UAAU,EAAE,oBAAoB,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,cAAc;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC9B,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"crud-provider.d.ts","sourceRoot":"","sources":["../../../src/creatio/providers/crud-provider.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,uBAAuB;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,UAAU,EAAE,oBAAoB,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,cAAc;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC9B,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,eAAe;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,GAAG,CAAC;CACV;AAED,MAAM,WAAW,gBAAiB,SAAQ,eAAe;IACxD,EAAE,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,gBAAgB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACpC,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACpE,IAAI,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9C,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/C,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;CAC/C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configuration-service-provider.d.ts","sourceRoot":"","sources":["../../../src/creatio/services/configuration-service-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,+BAA+B,EAC/B,8BAA8B,EAC9B,qBAAqB,EAGrB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAQlD,qBAAa,4BAA6B,YAAW,qBAAqB;IACzE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAE5C,SAAgB,IAAI,mCAAmC;gBAE3C,MAAM,EAAE,iBAAiB;IAIrC,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,iBAAiB;IAczB,OAAO,CAAC,SAAS;
|
|
1
|
+
{"version":3,"file":"configuration-service-provider.d.ts","sourceRoot":"","sources":["../../../src/creatio/services/configuration-service-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,+BAA+B,EAC/B,8BAA8B,EAC9B,qBAAqB,EAGrB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAQlD,qBAAa,4BAA6B,YAAW,qBAAqB;IACzE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAE5C,SAAgB,IAAI,mCAAmC;gBAE3C,MAAM,EAAE,iBAAiB;IAIrC,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,iBAAiB;IAczB,OAAO,CAAC,SAAS;YAaH,iBAAiB;YAejB,kBAAkB;IAmBnB,IAAI,CAChB,OAAO,EAAE,+BAA+B,GACtC,OAAO,CAAC,8BAA8B,CAAC;CAwC1C"}
|
|
@@ -29,8 +29,14 @@ class ConfigurationServiceProvider {
|
|
|
29
29
|
return serialized ? `?${serialized}` : '';
|
|
30
30
|
}
|
|
31
31
|
_buildUrl(request) {
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
if (request.rawPath) {
|
|
33
|
+
// Caller-built multi-segment path (already safely encoded). Bypass the
|
|
34
|
+
// single-segment service/method validation.
|
|
35
|
+
const path = request.rawPath.startsWith('/') ? request.rawPath : `/${request.rawPath}`;
|
|
36
|
+
return `${this._client.normalizedBaseUrl}${path}${this._buildQueryString(request.query)}`;
|
|
37
|
+
}
|
|
38
|
+
this._validateName('service', request.service ?? '');
|
|
39
|
+
this._validateName('method', request.method ?? '');
|
|
34
40
|
const base = `${this._client.normalizedBaseUrl}/0/rest/${request.service}/${request.method}`;
|
|
35
41
|
return `${base}${this._buildQueryString(request.query)}`;
|
|
36
42
|
}
|
|
@@ -64,7 +70,9 @@ class ConfigurationServiceProvider {
|
|
|
64
70
|
async call(request) {
|
|
65
71
|
const httpMethod = request.httpMethod ?? 'POST';
|
|
66
72
|
const url = this._buildUrl(request);
|
|
67
|
-
const operation =
|
|
73
|
+
const operation = request.rawPath
|
|
74
|
+
? `call-configuration-service:${request.rawPath}`
|
|
75
|
+
: `call-configuration-service:${request.service}.${request.method}`;
|
|
68
76
|
return this._client.executeWithTiming(operation, url, async () => {
|
|
69
77
|
const init = await this._buildRequestInit(httpMethod, request.body);
|
|
70
78
|
return this._client.fetchWithAuth(url, async () => init);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configuration-service-provider.js","sourceRoot":"","sources":["../../../src/creatio/services/configuration-service-provider.ts"],"names":[],"mappings":";;;AAUA,MAAM,kBAAkB,GAAG,0BAA0B,CAAC;AACtD,MAAM,oBAAoB,GAAgD,IAAI,GAAG,CAAC;IACjF,KAAK;IACL,QAAQ;CACR,CAAC,CAAC;AAEH,MAAa,4BAA4B;IACvB,OAAO,CAAoB;IAE5B,IAAI,GAAG,+BAA+B,CAAC;IAEvD,YAAY,MAAyB;QACpC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACvB,CAAC;IAEO,aAAa,CAAC,IAA0B,EAAE,KAAa;QAC9D,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,iCAAiC,IAAI,SAAS,KAAK,EAAE,CAAC,CAAC;QACxE,CAAC;IACF,CAAC;IAEO,iBAAiB,CACxB,KAAiE;QAEjE,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,OAAO,EAAE,CAAC;QACX,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAClD,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACnC,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrC,OAAO,UAAU,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3C,CAAC;IAEO,SAAS,CAAC,OAAwC;QACzD,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"configuration-service-provider.js","sourceRoot":"","sources":["../../../src/creatio/services/configuration-service-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../../src/creatio/services/http-client.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,KAAK,cAAc,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC;AACjD,KAAK,cAAc,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;AAC9E,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;AAE5E,KAAK,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAEtC,qBAAa,iBAAiB;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAC9C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAS;IAE5C,IAAW,YAAY,IAAI,oBAAoB,CAE9C;IAED,IAAW,iBAAiB,IAAI,MAAM,CAErC;IAED,IAAW,SAAS,IAAI,MAAM,CAE7B;gBAEW,MAAM,EAAE,mBAAmB,EAAE,WAAW,EAAE,kBAAkB;IAMxE,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,wBAAwB;
|
|
1
|
+
{"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../../src/creatio/services/http-client.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,KAAK,cAAc,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC;AACjD,KAAK,cAAc,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;AAC9E,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;AAE5E,KAAK,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAEtC,qBAAa,iBAAiB;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAC9C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAS;IAE5C,IAAW,YAAY,IAAI,oBAAoB,CAE9C;IAED,IAAW,iBAAiB,IAAI,MAAM,CAErC;IAED,IAAW,SAAS,IAAI,MAAM,CAE7B;gBAEW,MAAM,EAAE,mBAAmB,EAAE,WAAW,EAAE,kBAAkB;IAMxE,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,wBAAwB;IAYnB,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAIjD,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAIhD,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAQjD,iBAAiB,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC;IASnD,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc;IASlD,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc;IASlD,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC;IAkB1E,iBAAiB,CAAC,CAAC,EAC/B,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,EAChC,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC,EACjC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,EAC7B,UAAU,GAAE,UAAe,GACzB,OAAO,CAAC,CAAC,CAAC;IAqBA,mBAAmB,CAC/B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,UAAU,GAAE,UAAe,GACzB,OAAO,CAAC,KAAK,CAAC;IAWV,UAAU,CAChB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,UAAU,GAAE,UAAe;CAQ5B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-client.js","sourceRoot":"","sources":["../../../src/creatio/services/http-client.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAC5B,uCAAsD;AAUtD,MAAa,iBAAiB;IACZ,OAAO,CAAsB;IAC7B,YAAY,CAAqB;IACjC,kBAAkB,CAAS;IAE5C,IAAW,YAAY;QACtB,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;IACxC,CAAC;IAED,IAAW,iBAAiB;QAC3B,OAAO,IAAI,CAAC,kBAAkB,CAAC;IAChC,CAAC;IAED,IAAW,SAAS;QACnB,OAAO,GAAG,IAAI,CAAC,kBAAkB,UAAU,CAAC;IAC7C,CAAC;IAED,YAAY,MAA2B,EAAE,WAA+B;QACvE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACnE,CAAC;IAEO,WAAW,CAAC,GAAW,EAAE,WAAwB;QACxD,aAAG,CAAC,IAAI,CAAC,sBAAsB,EAAE;YAChC,GAAG;YACH,MAAM,EAAE,WAAW,CAAC,MAAM,IAAI,KAAK;YACnC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,OAAO,IAAK,WAAW,CAAC,OAAe,CAAC,eAAe,CAAC,CAAC;SACtF,CAAC,CAAC;IACJ,CAAC;IAEO,wBAAwB,CAC/B,GAAW,EACX,QAAkB,EAClB,eAAwB;QAExB,aAAG,CAAC,IAAI,CAAC,2BAA2B,EAAE;YACrC,GAAG;YACH,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,YAAY,EAAE,eAAe;
|
|
1
|
+
{"version":3,"file":"http-client.js","sourceRoot":"","sources":["../../../src/creatio/services/http-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
import { EntitySchemaDescription } from '../providers';
|
|
2
2
|
import { CreatioHttpClient } from './http-client';
|
|
3
3
|
export declare class ODataMetadataStore {
|
|
4
|
+
private static readonly METADATA_TTL_MS;
|
|
4
5
|
private readonly _client;
|
|
5
6
|
private _metadataXml?;
|
|
6
7
|
private _metadataParsed?;
|
|
8
|
+
private _metadataFetchedAt;
|
|
9
|
+
private _entitySetsCache?;
|
|
10
|
+
private _entitySetsFetchedAt;
|
|
7
11
|
constructor(client: CreatioHttpClient);
|
|
12
|
+
private _isFresh;
|
|
8
13
|
private _arrayify;
|
|
9
14
|
private _getMetadataXml;
|
|
10
15
|
private _getParsedMetadata;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata-store.d.ts","sourceRoot":"","sources":["../../../src/creatio/services/metadata-store.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAEvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD,qBAAa,kBAAkB;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAC5C,OAAO,CAAC,YAAY,CAAC,CAAS;IAC9B,OAAO,CAAC,eAAe,CAAC,CAAM;
|
|
1
|
+
{"version":3,"file":"metadata-store.d.ts","sourceRoot":"","sources":["../../../src/creatio/services/metadata-store.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAEvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD,qBAAa,kBAAkB;IAC9B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAkB;IACzD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAC5C,OAAO,CAAC,YAAY,CAAC,CAAS;IAC9B,OAAO,CAAC,eAAe,CAAC,CAAM;IAC9B,OAAO,CAAC,kBAAkB,CAAK;IAC/B,OAAO,CAAC,gBAAgB,CAAC,CAAW;IACpC,OAAO,CAAC,oBAAoB,CAAK;gBAErB,MAAM,EAAE,iBAAiB;IAIrC,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,SAAS;YAOH,eAAe;YAaf,kBAAkB;IAahC,OAAO,CAAC,eAAe;YAKT,4BAA4B;YA4B5B,0BAA0B;IAmBxC,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,sBAAsB;IA2BjB,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAWnC,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;CAmBhF"}
|
|
@@ -7,12 +7,19 @@ exports.ODataMetadataStore = void 0;
|
|
|
7
7
|
const fast_xml_parser_1 = require("fast-xml-parser");
|
|
8
8
|
const log_1 = __importDefault(require("../../log"));
|
|
9
9
|
class ODataMetadataStore {
|
|
10
|
+
static METADATA_TTL_MS = 30 * 60 * 1000;
|
|
10
11
|
_client;
|
|
11
12
|
_metadataXml;
|
|
12
13
|
_metadataParsed;
|
|
14
|
+
_metadataFetchedAt = 0;
|
|
15
|
+
_entitySetsCache;
|
|
16
|
+
_entitySetsFetchedAt = 0;
|
|
13
17
|
constructor(client) {
|
|
14
18
|
this._client = client;
|
|
15
19
|
}
|
|
20
|
+
_isFresh(fetchedAt) {
|
|
21
|
+
return Date.now() - fetchedAt < ODataMetadataStore.METADATA_TTL_MS;
|
|
22
|
+
}
|
|
16
23
|
_arrayify(value) {
|
|
17
24
|
if (value == null) {
|
|
18
25
|
return [];
|
|
@@ -20,20 +27,22 @@ class ODataMetadataStore {
|
|
|
20
27
|
return Array.isArray(value) ? value : [value];
|
|
21
28
|
}
|
|
22
29
|
async _getMetadataXml() {
|
|
23
|
-
if (this._metadataXml) {
|
|
30
|
+
if (this._metadataXml && this._isFresh(this._metadataFetchedAt)) {
|
|
24
31
|
return this._metadataXml;
|
|
25
32
|
}
|
|
26
33
|
const headers = await this._client.getXmlHeaders();
|
|
27
34
|
const metadataUrl = `${this._client.odataRoot}/$metadata`;
|
|
28
35
|
const xmlContent = await this._client.fetchText(metadataUrl, async () => ({ headers }));
|
|
29
36
|
this._metadataXml = xmlContent;
|
|
37
|
+
this._metadataParsed = undefined; // force re-parse against the refreshed document
|
|
38
|
+
this._metadataFetchedAt = Date.now();
|
|
30
39
|
return this._metadataXml;
|
|
31
40
|
}
|
|
32
41
|
async _getParsedMetadata() {
|
|
42
|
+
const xmlContent = await this._getMetadataXml();
|
|
33
43
|
if (this._metadataParsed) {
|
|
34
44
|
return this._metadataParsed;
|
|
35
45
|
}
|
|
36
|
-
const xmlContent = await this._getMetadataXml();
|
|
37
46
|
const parser = new fast_xml_parser_1.XMLParser({
|
|
38
47
|
ignoreAttributes: false,
|
|
39
48
|
attributeNamePrefix: '@_',
|
|
@@ -132,11 +141,14 @@ class ODataMetadataStore {
|
|
|
132
141
|
return { key, properties };
|
|
133
142
|
}
|
|
134
143
|
async listEntitySets() {
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
return serviceSets;
|
|
144
|
+
if (this._entitySetsCache && this._isFresh(this._entitySetsFetchedAt)) {
|
|
145
|
+
return this._entitySetsCache;
|
|
138
146
|
}
|
|
139
|
-
|
|
147
|
+
const serviceSets = await this._tryGetEntitySetsFromService();
|
|
148
|
+
const result = serviceSets ?? (await this._getEntitySetsFromMetadata());
|
|
149
|
+
this._entitySetsCache = result;
|
|
150
|
+
this._entitySetsFetchedAt = Date.now();
|
|
151
|
+
return result;
|
|
140
152
|
}
|
|
141
153
|
async describeEntity(entitySet) {
|
|
142
154
|
const metadata = await this._getParsedMetadata();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata-store.js","sourceRoot":"","sources":["../../../src/creatio/services/metadata-store.ts"],"names":[],"mappings":";;;;;;AAAA,qDAA4C;AAE5C,oDAA4B;AAK5B,MAAa,kBAAkB;
|
|
1
|
+
{"version":3,"file":"metadata-store.js","sourceRoot":"","sources":["../../../src/creatio/services/metadata-store.ts"],"names":[],"mappings":";;;;;;AAAA,qDAA4C;AAE5C,oDAA4B;AAK5B,MAAa,kBAAkB;IACtB,MAAM,CAAU,eAAe,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACxC,OAAO,CAAoB;IACpC,YAAY,CAAU;IACtB,eAAe,CAAO;IACtB,kBAAkB,GAAG,CAAC,CAAC;IACvB,gBAAgB,CAAY;IAC5B,oBAAoB,GAAG,CAAC,CAAC;IAEjC,YAAY,MAAyB;QACpC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACvB,CAAC;IAEO,QAAQ,CAAC,SAAiB;QACjC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,kBAAkB,CAAC,eAAe,CAAC;IACpE,CAAC;IAEO,SAAS,CAAI,KAAiC;QACrD,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YACnB,OAAO,EAAE,CAAC;QACX,CAAC;QACD,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;IAEO,KAAK,CAAC,eAAe;QAC5B,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACjE,OAAO,IAAI,CAAC,YAAY,CAAC;QAC1B,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QACnD,MAAM,WAAW,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,YAAY,CAAC;QAC1D,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QACxF,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC;QAC/B,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC,CAAC,gDAAgD;QAClF,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC,YAAY,CAAC;IAC1B,CAAC;IAEO,KAAK,CAAC,kBAAkB;QAC/B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAChD,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,eAAe,CAAC;QAC7B,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,2BAAS,CAAC;YAC5B,gBAAgB,EAAE,KAAK;YACvB,mBAAmB,EAAE,IAAI;SACzB,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC,eAAe,CAAC;IAC7B,CAAC;IAEO,eAAe,CAAC,QAAa;QACpC,MAAM,YAAY,GAAG,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC,SAAS,CAAM,YAAY,EAAE,MAAM,CAAC,CAAC;IAClD,CAAC;IAEO,KAAK,CAAC,4BAA4B;QACzC,IAAI,CAAC;YACJ,MAAM,UAAU,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,CAAC;YAChD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YACpD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;gBAC1E,OAAO;aACP,CAAC,CAAC,CAAC;YACJ,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,GAAQ,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;gBAC1D,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBACvC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACzD,CAAC;YACF,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBAClB,aAAG,CAAC,KAAK,CAAC,yCAAyC,EAAE;oBACpD,GAAG,EAAE,UAAU;oBACf,MAAM,EAAE,QAAQ,CAAC,MAAM;iBACvB,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACrB,aAAG,CAAC,KAAK,CAAC,yCAAyC,EAAE;gBACpD,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG;gBACjC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,KAAK,CAAC;aACtC,CAAC,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAEO,KAAK,CAAC,0BAA0B;QACvC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACjD,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC/C,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAM,MAAM,CAAC,eAAe,CAAC,CAAC;YAC/D,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;gBACpC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAM,SAAS,CAAC,SAAS,CAAC,CAAC;gBACtD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;oBACxB,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC;oBAC7B,IAAI,IAAI,EAAE,CAAC;wBACV,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;oBAC/B,CAAC;gBACF,CAAC;YACF,CAAC;QACF,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;IACxC,CAAC;IAEO,eAAe,CAAC,OAAc,EAAE,SAAiB;QACxD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAM,MAAM,CAAC,eAAe,CAAC,CAAC;YAC/D,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;gBACpC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAM,SAAS,CAAC,SAAS,CAAC,CAAC;gBACtD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;oBACxB,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,SAAS,EAAE,CAAC;wBACnC,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC5C,CAAC;gBACF,CAAC;YACF,CAAC;QACF,CAAC;QACD,OAAO,EAAE,CAAC;IACX,CAAC;IAEO,mBAAmB,CAAC,OAAc,EAAE,QAAgB;QAC3D,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAM,MAAM,CAAC,UAAU,CAAC,CAAC;YACrD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBAC1B,IAAI,IAAI,EAAE,CAAC,QAAQ,CAAC,KAAK,QAAQ,EAAE,CAAC;oBACnC,OAAO,IAAI,CAAC;gBACb,CAAC;YACF,CAAC;QACF,CAAC;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IAEO,sBAAsB,CAAC,cAAmB;QAQjD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAM,cAAc,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QACrE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAa,CAAC;QAC5F,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAM,cAAc,CAAC,QAAQ,CAAC,CAAC;QACnE,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;YAC5C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;YAC5C,MAAM,MAAM,GAIR,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACnB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,CAAC;gBAC9D,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,KAAK,MAAM,CAAC;YACzD,CAAC;YACD,OAAO,MAAM,CAAC;QACf,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC;IAC5B,CAAC;IAEM,KAAK,CAAC,cAAc;QAC1B,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC;YACvE,OAAO,IAAI,CAAC,gBAAgB,CAAC;QAC9B,CAAC;QACD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,4BAA4B,EAAE,CAAC;QAC9D,MAAM,MAAM,GAAG,WAAW,IAAI,CAAC,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC,CAAC;QACxE,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC;QAC/B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvC,OAAO,MAAM,CAAC;IACf,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,SAAiB;QAC5C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACjD,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC1D,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,MAAM,KAAK,GAAG,oBAAoB,SAAS,EAAE,CAAC;YAC9C,aAAG,CAAC,KAAK,CAAC,wCAAwC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;YAC1E,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;QACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAG,CAAC;QAC5C,MAAM,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACnE,IAAI,CAAC,cAAc,EAAE,CAAC;YACrB,MAAM,KAAK,GAAG,yBAAyB,QAAQ,EAAE,CAAC;YAClD,aAAG,CAAC,KAAK,CAAC,wCAAwC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;YAC1E,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;QACD,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAC;QACxE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC;IAC7D,CAAC;;AAzLF,gDA0LC"}
|
|
@@ -9,12 +9,14 @@ export declare class ODataCrudProvider implements CrudProvider {
|
|
|
9
9
|
private _buildODataQueryParams;
|
|
10
10
|
private _buildQueryString;
|
|
11
11
|
private _extractODataValue;
|
|
12
|
+
private static readonly ENTITY_NAME_PATTERN;
|
|
13
|
+
private _validateEntityName;
|
|
12
14
|
private _buildEntityUrl;
|
|
13
15
|
private _formatEntityKey;
|
|
14
16
|
listEntitySets(): Promise<string[]>;
|
|
15
17
|
describeEntity(entitySet: string): Promise<EntitySchemaDescription>;
|
|
16
18
|
create({ entity, data }: CrudWriteParams): Promise<unknown>;
|
|
17
|
-
read({ entity, filter, select, top, expand, orderBy }: CrudReadParams): Promise<any>;
|
|
19
|
+
read({ entity, filter, select, top, expand, orderBy, skip, count }: CrudReadParams): Promise<any>;
|
|
18
20
|
update({ entity, id, data }: CrudUpdateParams): Promise<string>;
|
|
19
21
|
delete({ entity, id }: CrudDeleteParams): Promise<string>;
|
|
20
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"odata-crud-provider.d.ts","sourceRoot":"","sources":["../../../src/creatio/services/odata-crud-provider.ts"],"names":[],"mappings":"AACA,OAAO,EACN,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,uBAAuB,EACvB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,qBAAa,iBAAkB,YAAW,YAAY;IACrD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAC5C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqB;IAEpD,SAAgB,IAAI,mBAAmB;gBAE3B,MAAM,EAAE,iBAAiB,EAAE,aAAa,EAAE,kBAAkB;IAKxE,OAAO,CAAC,sBAAsB;
|
|
1
|
+
{"version":3,"file":"odata-crud-provider.d.ts","sourceRoot":"","sources":["../../../src/creatio/services/odata-crud-provider.ts"],"names":[],"mappings":"AACA,OAAO,EACN,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,uBAAuB,EACvB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,qBAAa,iBAAkB,YAAW,YAAY;IACrD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAC5C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqB;IAEpD,SAAgB,IAAI,mBAAmB;gBAE3B,MAAM,EAAE,iBAAiB,EAAE,aAAa,EAAE,kBAAkB;IAKxE,OAAO,CAAC,sBAAsB;IAkC9B,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAA6B;IAExE,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,gBAAgB;IAUjB,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAInC,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAI7D,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,eAAe;IAgCxC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,cAAc;IAkDlF,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,gBAAgB;IAiC7C,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,gBAAgB;CA+BpD"}
|
|
@@ -13,7 +13,7 @@ class ODataCrudProvider {
|
|
|
13
13
|
this._client = client;
|
|
14
14
|
this._metadataStore = metadataStore;
|
|
15
15
|
}
|
|
16
|
-
_buildODataQueryParams(filter, select, top, expand, orderBy) {
|
|
16
|
+
_buildODataQueryParams(filter, select, top, expand, orderBy, skip, count) {
|
|
17
17
|
const params = [];
|
|
18
18
|
if (filter) {
|
|
19
19
|
params.push(`$filter=${encodeURIComponent(filter)}`);
|
|
@@ -27,9 +27,15 @@ class ODataCrudProvider {
|
|
|
27
27
|
if (orderBy) {
|
|
28
28
|
params.push(`$orderby=${encodeURIComponent(orderBy)}`);
|
|
29
29
|
}
|
|
30
|
-
if (top) {
|
|
30
|
+
if (typeof top === 'number') {
|
|
31
31
|
params.push(`$top=${top}`);
|
|
32
32
|
}
|
|
33
|
+
if (typeof skip === 'number' && skip > 0) {
|
|
34
|
+
params.push(`$skip=${skip}`);
|
|
35
|
+
}
|
|
36
|
+
if (count) {
|
|
37
|
+
params.push('$count=true');
|
|
38
|
+
}
|
|
33
39
|
return params;
|
|
34
40
|
}
|
|
35
41
|
_buildQueryString(params) {
|
|
@@ -38,8 +44,17 @@ class ODataCrudProvider {
|
|
|
38
44
|
_extractODataValue(body) {
|
|
39
45
|
return body && typeof body === 'object' && 'value' in body ? body.value : body;
|
|
40
46
|
}
|
|
47
|
+
static ENTITY_NAME_PATTERN = /^[A-Za-z][A-Za-z0-9_]*$/;
|
|
48
|
+
_validateEntityName(entity) {
|
|
49
|
+
// OData entity-set names are simple identifiers. Reject anything else to prevent
|
|
50
|
+
// path/segment injection into the request URL (CWE-20 / CWE-943).
|
|
51
|
+
if (!entity || !ODataCrudProvider.ENTITY_NAME_PATTERN.test(entity)) {
|
|
52
|
+
throw new Error(`invalid_entity_name:${entity}`);
|
|
53
|
+
}
|
|
54
|
+
return entity;
|
|
55
|
+
}
|
|
41
56
|
_buildEntityUrl(entity) {
|
|
42
|
-
return `${this._client.odataRoot}/${entity}`;
|
|
57
|
+
return `${this._client.odataRoot}/${this._validateEntityName(entity)}`;
|
|
43
58
|
}
|
|
44
59
|
_formatEntityKey(id) {
|
|
45
60
|
const GUID_PATTERN = /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/;
|
|
@@ -72,16 +87,20 @@ class ODataCrudProvider {
|
|
|
72
87
|
url,
|
|
73
88
|
}), { entity });
|
|
74
89
|
}
|
|
75
|
-
async read({ entity, filter, select, top, expand, orderBy }) {
|
|
90
|
+
async read({ entity, filter, select, top, expand, orderBy, skip, count }) {
|
|
76
91
|
const startTime = Date.now();
|
|
77
|
-
const queryParams = this._buildODataQueryParams(filter, select, top, expand, orderBy);
|
|
92
|
+
const queryParams = this._buildODataQueryParams(filter, select, top, expand, orderBy, skip, count);
|
|
78
93
|
const url = this._buildEntityUrl(entity) + this._buildQueryString(queryParams);
|
|
79
94
|
const headers = await this._client.getJsonHeaders();
|
|
80
95
|
try {
|
|
81
96
|
const body = await this._client.fetchJson(url, async () => ({ headers }));
|
|
82
|
-
const
|
|
97
|
+
const value = this._extractODataValue(body);
|
|
83
98
|
const duration = Date.now() - startTime;
|
|
84
|
-
const resultCount = Array.isArray(
|
|
99
|
+
const resultCount = Array.isArray(value) ? value.length : value ? 1 : 0;
|
|
100
|
+
// `@odata.count` is the server-side total of all matching records (ignores $top/$skip).
|
|
101
|
+
const total = body && typeof body === 'object' && '@odata.count' in body
|
|
102
|
+
? body['@odata.count']
|
|
103
|
+
: undefined;
|
|
85
104
|
log_1.default.info('creatio.crud.read.success', {
|
|
86
105
|
entity,
|
|
87
106
|
filter,
|
|
@@ -89,10 +108,14 @@ class ODataCrudProvider {
|
|
|
89
108
|
expand: expand?.join(','),
|
|
90
109
|
orderBy,
|
|
91
110
|
top,
|
|
111
|
+
skip,
|
|
112
|
+
count,
|
|
92
113
|
resultCount,
|
|
114
|
+
total,
|
|
93
115
|
duration,
|
|
94
116
|
});
|
|
95
|
-
|
|
117
|
+
// When a count was requested, surface the total alongside the rows.
|
|
118
|
+
return count ? { total, value } : value;
|
|
96
119
|
}
|
|
97
120
|
catch (error) {
|
|
98
121
|
const duration = Date.now() - startTime;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"odata-crud-provider.js","sourceRoot":"","sources":["../../../src/creatio/services/odata-crud-provider.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAa5B,MAAa,iBAAiB;IACZ,OAAO,CAAoB;IAC3B,cAAc,CAAqB;IAEpC,IAAI,GAAG,eAAe,CAAC;IAEvC,YAAY,MAAyB,EAAE,aAAiC;QACvE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;IACrC,CAAC;IAEO,sBAAsB,CAC7B,MAAe,EACf,MAAiB,EACjB,GAAY,EACZ,MAAiB,EACjB,OAAgB;
|
|
1
|
+
{"version":3,"file":"odata-crud-provider.js","sourceRoot":"","sources":["../../../src/creatio/services/odata-crud-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,6 @@ export declare class CreatioOAuthHandlers {
|
|
|
6
6
|
private readonly _server;
|
|
7
7
|
private readonly _oauthServer;
|
|
8
8
|
constructor(server: Server, oauthServer: OAuthServer);
|
|
9
|
-
private _mapAllSessionsToUser;
|
|
10
9
|
handleOAuthStart(req: Request, res: Response): Promise<void>;
|
|
11
10
|
handleOAuthCallback(req: Request, res: Response): Promise<void>;
|
|
12
11
|
handleOAuthRevoke(req: Request, res: Response): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"creatio-oauth-handlers.d.ts","sourceRoot":"","sources":["../../../src/server/http/creatio-oauth-handlers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"creatio-oauth-handlers.d.ts","sourceRoot":"","sources":["../../../src/server/http/creatio-oauth-handlers.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEjD,qBAAa,oBAAoB;IAChC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA2B;IAC3D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAc;gBAE/B,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW;IAKvC,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAiC5D,mBAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAsF/D,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CAgB1E"}
|