mcp-creatio 0.6.3 → 0.6.4
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 +55 -0
- package/dist/cli.js +6 -1
- package/dist/cli.js.map +1 -1
- package/dist/creatio/engines/engine-manager.d.ts +3 -0
- package/dist/creatio/engines/engine-manager.d.ts.map +1 -1
- package/dist/creatio/engines/engine-manager.js +5 -0
- package/dist/creatio/engines/engine-manager.js.map +1 -1
- package/dist/creatio/provider-context.d.ts +3 -0
- package/dist/creatio/provider-context.d.ts.map +1 -1
- package/dist/creatio/services/client-cache-hash-client.d.ts +22 -0
- package/dist/creatio/services/client-cache-hash-client.d.ts.map +1 -0
- package/dist/creatio/services/client-cache-hash-client.js +56 -0
- package/dist/creatio/services/client-cache-hash-client.js.map +1 -0
- package/dist/creatio/services/creatio-service-context.d.ts +5 -0
- package/dist/creatio/services/creatio-service-context.d.ts.map +1 -1
- package/dist/creatio/services/creatio-service-context.js +15 -1
- package/dist/creatio/services/creatio-service-context.js.map +1 -1
- package/dist/creatio/services/crud-provider-factory.d.ts +4 -0
- package/dist/creatio/services/crud-provider-factory.d.ts.map +1 -1
- package/dist/creatio/services/crud-provider-factory.js +1 -1
- package/dist/creatio/services/crud-provider-factory.js.map +1 -1
- package/dist/creatio/services/dataservice/data-service-crud-provider.d.ts +2 -0
- package/dist/creatio/services/dataservice/data-service-crud-provider.d.ts.map +1 -1
- package/dist/creatio/services/dataservice/data-service-crud-provider.js +3 -1
- package/dist/creatio/services/dataservice/data-service-crud-provider.js.map +1 -1
- package/dist/creatio/services/dataservice/data-service-schema.d.ts +3 -1
- package/dist/creatio/services/dataservice/data-service-schema.d.ts.map +1 -1
- package/dist/creatio/services/dataservice/data-service-schema.js +13 -4
- package/dist/creatio/services/dataservice/data-service-schema.js.map +1 -1
- package/dist/creatio/services/dataservice/data-service-transport.d.ts +3 -0
- package/dist/creatio/services/dataservice/data-service-transport.d.ts.map +1 -1
- package/dist/creatio/services/dataservice/data-service-transport.js +5 -0
- package/dist/creatio/services/dataservice/data-service-transport.js.map +1 -1
- package/dist/creatio/services/index.d.ts +2 -0
- package/dist/creatio/services/index.d.ts.map +1 -1
- package/dist/creatio/services/index.js +2 -0
- package/dist/creatio/services/index.js.map +1 -1
- package/dist/creatio/services/odata/metadata-store.d.ts +10 -1
- package/dist/creatio/services/odata/metadata-store.d.ts.map +1 -1
- package/dist/creatio/services/odata/metadata-store.js +35 -4
- package/dist/creatio/services/odata/metadata-store.js.map +1 -1
- package/dist/creatio/services/schema-freshness-gate.d.ts +26 -0
- package/dist/creatio/services/schema-freshness-gate.d.ts.map +1 -0
- package/dist/creatio/services/schema-freshness-gate.js +58 -0
- package/dist/creatio/services/schema-freshness-gate.js.map +1 -0
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/log.d.ts.map +1 -1
- package/dist/log.js +4 -1
- package/dist/log.js.map +1 -1
- package/dist/server/mcp/server.d.ts.map +1 -1
- package/dist/server/mcp/server.js +10 -2
- package/dist/server/mcp/server.js.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/redact.d.ts +25 -0
- package/dist/utils/redact.d.ts.map +1 -0
- package/dist/utils/redact.js +64 -0
- package/dist/utils/redact.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -175,6 +175,29 @@ the client logs in directly against Creatio. Needs no server-side credentials. T
|
|
|
175
175
|
through unverified (Creatio is the authority) — a **trusted-environment** mode (see the trust note
|
|
176
176
|
above).
|
|
177
177
|
|
|
178
|
+
**What the client sends.** The MCP **client** attaches the Creatio access token as a Bearer header
|
|
179
|
+
on every `/mcp` request. In a client that supports static headers:
|
|
180
|
+
|
|
181
|
+
```jsonc
|
|
182
|
+
{
|
|
183
|
+
"creatio": {
|
|
184
|
+
"type": "http",
|
|
185
|
+
"url": "http://localhost:3000/mcp",
|
|
186
|
+
"headers": { "Authorization": "Bearer <CREATIO_ACCESS_TOKEN>" },
|
|
187
|
+
},
|
|
188
|
+
}
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
Server side, just select the mode (no credentials needed):
|
|
192
|
+
|
|
193
|
+
```bash
|
|
194
|
+
CREATIO_MCP_AUTH_MODE=delegated
|
|
195
|
+
CREATIO_BASE_URL=https://your-creatio.com
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
A request with **no** `Authorization` header gets `401` with a `WWW-Authenticate` challenge pointing
|
|
199
|
+
at Creatio Identity (RFC 9728), so a compliant client knows where to log in.
|
|
200
|
+
|
|
178
201
|
### `gateway`
|
|
179
202
|
|
|
180
203
|
A trusted fronting service (Creatio.ai Control-Plane) injects the Bearer; the MCP trusts and uses
|
|
@@ -184,6 +207,38 @@ is sent, it is validated: set **`CREATIO_MCP_ALLOWED_BASE_URLS`** (comma-separat
|
|
|
184
207
|
restrict it to your tenants. When unset, any `http(s)` host is accepted (trusting the gateway) except
|
|
185
208
|
the cloud-metadata link-local address, which is always blocked (SSRF guard).
|
|
186
209
|
|
|
210
|
+
**Who sends what.** Unlike `delegated`, the end client talks to the **gateway**, not to the MCP — so
|
|
211
|
+
the **gateway** is what injects the per-request headers. On each forwarded `/mcp` call it sends:
|
|
212
|
+
|
|
213
|
+
```http
|
|
214
|
+
POST /mcp HTTP/1.1
|
|
215
|
+
Authorization: Bearer <CREATIO_ACCESS_TOKEN> # required — the tenant's Creatio token
|
|
216
|
+
X-Creatio-Base-Url: https://tenant-a.creatio.com # optional — pick the tenant's instance (multi-tenant)
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
Server side:
|
|
220
|
+
|
|
221
|
+
```bash
|
|
222
|
+
CREATIO_MCP_AUTH_MODE=gateway
|
|
223
|
+
CREATIO_BASE_URL=https://default-creatio.com # fallback when no X-Creatio-Base-Url
|
|
224
|
+
CREATIO_MCP_ALLOWED_BASE_URLS=https://tenant-a.creatio.com,https://tenant-b.creatio.com # SSRF allowlist
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
Smoke-test it directly with `curl` (mint a token out-of-band first):
|
|
228
|
+
|
|
229
|
+
```bash
|
|
230
|
+
curl -sS http://localhost:3000/mcp \
|
|
231
|
+
-H "Authorization: Bearer $CREATIO_ACCESS_TOKEN" \
|
|
232
|
+
-H "X-Creatio-Base-Url: https://tenant-a.creatio.com" \
|
|
233
|
+
-H 'Content-Type: application/json' -H 'Accept: application/json, text/event-stream' \
|
|
234
|
+
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get-current-user-info","arguments":{}}}'
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
> **Only the Bearer token is injected** — not arbitrary credentials. The gateway owns auth: it should
|
|
238
|
+
> exchange whatever it holds (SSO, cookie, etc.) into a Creatio OAuth access token **before** calling
|
|
239
|
+
> the MCP. (Injecting other credential shapes, e.g. cookie/basic per tenant, is intentionally out of
|
|
240
|
+
> scope for now.)
|
|
241
|
+
|
|
187
242
|
### `client_credentials` / `legacy`
|
|
188
243
|
|
|
189
244
|
```bash
|
package/dist/cli.js
CHANGED
|
@@ -136,7 +136,12 @@ async function main() {
|
|
|
136
136
|
});
|
|
137
137
|
// Proactive keep-alive applies only to the single-session modes (legacy / client_credentials),
|
|
138
138
|
// which is exactly what stdio runs; it is opt-in via CREATIO_MCP_KEEPALIVE_SECONDS.
|
|
139
|
-
const keepAlive = new server_1.SessionKeepAlive((0, server_1.keepAliveIntervalMs)(), () =>
|
|
139
|
+
const keepAlive = new server_1.SessionKeepAlive((0, server_1.keepAliveIntervalMs)(), async () => {
|
|
140
|
+
await engines.user.getCurrentUserInfo();
|
|
141
|
+
// Reuse the periodic ping to also refresh the schema-freshness snapshot, so it isn't a
|
|
142
|
+
// wasted round-trip — the next schema read starts from a warm, validated cache.
|
|
143
|
+
await engines.warmSchemaCache();
|
|
144
|
+
});
|
|
140
145
|
keepAlive.start();
|
|
141
146
|
const state = { server, keepAlive };
|
|
142
147
|
process.on('SIGINT', () => {
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -44,6 +44,9 @@ export declare class CreatioEngineManager {
|
|
|
44
44
|
get process(): ProcessEngine;
|
|
45
45
|
get sysSettings(): SysSettingsEngine;
|
|
46
46
|
get user(): UserEngine;
|
|
47
|
+
/** Proactively refresh the schema-freshness snapshot (no-op when the context doesn't support
|
|
48
|
+
* it). Lets the single-session keep-alive tick double as a cache-freshness check. */
|
|
49
|
+
warmSchemaCache(): Promise<void>;
|
|
47
50
|
constructor(context: CreatioProviderContext, options?: EngineManagerOptions);
|
|
48
51
|
private _initialize;
|
|
49
52
|
private _registerEngine;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine-manager.d.ts","sourceRoot":"","sources":["../../../src/creatio/engines/engine-manager.ts"],"names":[],"mappings":"AACA,OAAO,EACN,sBAAsB,EACtB,qBAAqB,EACrB,YAAY,EACZ,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAiB,SAAS,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,cAAc,EAAc,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,MAAM,WAAW,oBAAoB;IACpC,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;IAChD,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,mFAAmF;IACnF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yDAAyD;IACzD,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;CAC3B;AAED,qBAAa,oBAAoB;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyB;IAClD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmC;IAC5D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwB;IAClD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAY;IAEjC,IAAW,YAAY,sCAEtB;IAED,IAAW,QAAQ,IAAI,OAAO,CAE7B;IAED,IAAW,QAAQ,IAAI,cAAc,CAEpC;IAED,IAAW,cAAc,IAAI,oBAAoB,CAEhD;IAED,IAAW,aAAa,IAAI,mBAAmB,CAE9C;IAED,IAAW,IAAI,IAAI,UAAU,CAE5B;IAED,IAAW,OAAO,IAAI,aAAa,CAElC;IAED,IAAW,OAAO,IAAI,aAAa,CAElC;IAED,IAAW,WAAW,IAAI,iBAAiB,CAE1C;IAED,IAAW,IAAI,IAAI,UAAU,CAE5B;
|
|
1
|
+
{"version":3,"file":"engine-manager.d.ts","sourceRoot":"","sources":["../../../src/creatio/engines/engine-manager.ts"],"names":[],"mappings":"AACA,OAAO,EACN,sBAAsB,EACtB,qBAAqB,EACrB,YAAY,EACZ,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAiB,SAAS,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,cAAc,EAAc,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,MAAM,WAAW,oBAAoB;IACpC,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;IAChD,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,mFAAmF;IACnF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yDAAyD;IACzD,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;CAC3B;AAED,qBAAa,oBAAoB;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyB;IAClD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmC;IAC5D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwB;IAClD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAY;IAEjC,IAAW,YAAY,sCAEtB;IAED,IAAW,QAAQ,IAAI,OAAO,CAE7B;IAED,IAAW,QAAQ,IAAI,cAAc,CAEpC;IAED,IAAW,cAAc,IAAI,oBAAoB,CAEhD;IAED,IAAW,aAAa,IAAI,mBAAmB,CAE9C;IAED,IAAW,IAAI,IAAI,UAAU,CAE5B;IAED,IAAW,OAAO,IAAI,aAAa,CAElC;IAED,IAAW,OAAO,IAAI,aAAa,CAElC;IAED,IAAW,WAAW,IAAI,iBAAiB,CAE1C;IAED,IAAW,IAAI,IAAI,UAAU,CAE5B;IAED;0FACsF;IACzE,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;gBAIjC,OAAO,EAAE,sBAAsB,EAAE,OAAO,CAAC,EAAE,oBAAoB;IAU3E,OAAO,CAAC,WAAW;IA0DnB,OAAO,CAAC,eAAe;CAUvB"}
|
|
@@ -48,6 +48,11 @@ class CreatioEngineManager {
|
|
|
48
48
|
get user() {
|
|
49
49
|
return this._registry.require(engine_registry_1.EngineType.User);
|
|
50
50
|
}
|
|
51
|
+
/** Proactively refresh the schema-freshness snapshot (no-op when the context doesn't support
|
|
52
|
+
* it). Lets the single-session keep-alive tick double as a cache-freshness check. */
|
|
53
|
+
async warmSchemaCache() {
|
|
54
|
+
await this._context.warmSchemaCache?.();
|
|
55
|
+
}
|
|
51
56
|
constructor(context, options) {
|
|
52
57
|
this._context = context;
|
|
53
58
|
this._options = options;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine-manager.js","sourceRoot":"","sources":["../../../src/creatio/engines/engine-manager.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"engine-manager.js","sourceRoot":"","sources":["../../../src/creatio/engines/engine-manager.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAY5B,qEAAgE;AAChE,iEAA6D;AAC7D,+CAA2C;AAE3C,uDAA+D;AAC/D,qDAAiD;AACjD,qDAAiD;AACjD,+DAA0D;AAC1D,+CAA2C;AAuB3C,MAAa,oBAAoB;IACf,QAAQ,CAAyB;IACjC,QAAQ,CAAmC;IAC3C,SAAS,GAAG,IAAI,gCAAc,EAAE,CAAC;IACjC,IAAI,CAAY;IAEjC,IAAW,YAAY;QACtB,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;IACnC,CAAC;IAED,IAAW,QAAQ;QAClB,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;IAC3B,CAAC;IAED,IAAW,QAAQ;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC;IACvB,CAAC;IAED,IAAW,cAAc;QACxB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAuB,4BAAU,CAAC,cAAc,CAAC,CAAC;IAChF,CAAC;IAED,IAAW,aAAa;QACvB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAsB,4BAAU,CAAC,aAAa,CAAC,CAAC;IAC9E,CAAC;IAED,IAAW,IAAI;QACd,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAa,4BAAU,CAAC,IAAI,CAAC,CAAC;IAC5D,CAAC;IAED,IAAW,OAAO;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAgB,4BAAU,CAAC,OAAO,CAAC,CAAC;IAClE,CAAC;IAED,IAAW,OAAO;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAgB,4BAAU,CAAC,OAAO,CAAC,CAAC;IAClE,CAAC;IAED,IAAW,WAAW;QACrB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAoB,4BAAU,CAAC,WAAW,CAAC,CAAC;IAC1E,CAAC;IAED,IAAW,IAAI;QACd,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAa,4BAAU,CAAC,IAAI,CAAC,CAAC;IAC5D,CAAC;IAED;0FACsF;IAC/E,KAAK,CAAC,eAAe;QAC3B,MAAM,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,EAAE,CAAC;IACzC,CAAC;IAED,YAAY,OAA+B,EAAE,OAA8B;QAC1E,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG;YACX,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,KAAK;YACpC,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,aAAG,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SAC1E,CAAC;QACF,IAAI,CAAC,WAAW,EAAE,CAAC;IACpB,CAAC;IAEO,WAAW;QAClB,IAAI,CAAC,eAAe,CACnB,4BAAU,CAAC,cAAc,EACzB,GAAG,EAAE,CACJ,IAAI,6CAAoB,CACvB,IAAI,CAAC,QAAQ,EAAE,sBAAsB,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,EACrE,IAAI,CAAC,IAAI,CACT,EACF,IAAI,CAAC,QAAQ,EAAE,oBAAoB,IAAI,IAAI,CAC3C,CAAC;QACF,IAAI,CAAC,eAAe,CACnB,4BAAU,CAAC,aAAa,EACxB,GAAG,EAAE,CACJ,IAAI,0CAAmB,CACtB,IAAI,CAAC,QAAQ,EAAE,qBAAqB,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,EACnE,IAAI,CAAC,IAAI,CACT,EACF,IAAI,CAAC,QAAQ,EAAE,mBAAmB,IAAI,IAAI,CAC1C,CAAC;QACF,IAAI,CAAC,eAAe,CACnB,4BAAU,CAAC,IAAI,EACf,GAAG,EAAE,CAAC,IAAI,wBAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,EAClF,IAAI,CAAC,QAAQ,EAAE,UAAU,IAAI,IAAI,CACjC,CAAC;QACF,IAAI,CAAC,eAAe,CACnB,4BAAU,CAAC,OAAO,EAClB,GAAG,EAAE,CACJ,IAAI,8BAAa,CAChB,IAAI,CAAC,QAAQ,EAAE,eAAe,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EACvD,IAAI,CAAC,IAAI,CACT,EACF,IAAI,CAAC,QAAQ,EAAE,aAAa,IAAI,IAAI,CACpC,CAAC;QACF,IAAI,CAAC,eAAe,CACnB,4BAAU,CAAC,OAAO,EAClB,GAAG,EAAE,CACJ,IAAI,8BAAa,CAChB,IAAI,CAAC,QAAQ,EAAE,eAAe,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EACvD,IAAI,CAAC,IAAI,CACT,EACF,IAAI,CAAC,QAAQ,EAAE,aAAa,IAAI,IAAI,CACpC,CAAC;QACF,IAAI,CAAC,eAAe,CACnB,4BAAU,CAAC,WAAW,EACtB,GAAG,EAAE,CACJ,IAAI,uCAAiB,CACpB,IAAI,CAAC,QAAQ,EAAE,mBAAmB,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAC/D,IAAI,CAAC,IAAI,CACT,EACF,IAAI,CAAC,QAAQ,EAAE,iBAAiB,IAAI,IAAI,CACxC,CAAC;QACF,IAAI,CAAC,eAAe,CACnB,4BAAU,CAAC,IAAI,EACf,GAAG,EAAE,CAAC,IAAI,wBAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,EAClF,IAAI,CAAC,QAAQ,EAAE,UAAU,IAAI,IAAI,CACjC,CAAC;IACH,CAAC;IAEO,eAAe,CACtB,IAAgB,EAChB,OAAgB,EAChB,OAAgB;QAEhB,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,OAAO;QACR,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpC,CAAC;CACD;AAlID,oDAkIC"}
|
|
@@ -9,5 +9,8 @@ export interface CreatioProviderContext {
|
|
|
9
9
|
process: ProcessProvider;
|
|
10
10
|
sysSettings: SysSettingsProvider;
|
|
11
11
|
user: UserProvider;
|
|
12
|
+
/** Optional: proactively refresh the schema-freshness snapshot (implemented by
|
|
13
|
+
* {@link CreatioServiceContext}; absent on test fakes). */
|
|
14
|
+
warmSchemaCache?(): Promise<void>;
|
|
12
15
|
}
|
|
13
16
|
//# sourceMappingURL=provider-context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-context.d.ts","sourceRoot":"","sources":["../../src/creatio/provider-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACN,sBAAsB,EACtB,qBAAqB,EACrB,YAAY,EACZ,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,sBAAsB;IACtC,YAAY,EAAE,oBAAoB,CAAC;IACnC,cAAc,EAAE,sBAAsB,CAAC;IACvC,aAAa,EAAE,qBAAqB,CAAC;IACrC,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,eAAe,CAAC;IACzB,OAAO,EAAE,eAAe,CAAC;IACzB,WAAW,EAAE,mBAAmB,CAAC;IACjC,IAAI,EAAE,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"provider-context.d.ts","sourceRoot":"","sources":["../../src/creatio/provider-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACN,sBAAsB,EACtB,qBAAqB,EACrB,YAAY,EACZ,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,sBAAsB;IACtC,YAAY,EAAE,oBAAoB,CAAC;IACnC,cAAc,EAAE,sBAAsB,CAAC;IACvC,aAAa,EAAE,qBAAqB,CAAC;IACrC,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,eAAe,CAAC;IACzB,OAAO,EAAE,eAAe,CAAC;IACzB,WAAW,EAAE,mBAAmB,CAAC;IACjC,IAAI,EAAE,YAAY,CAAC;IACnB;gEAC4D;IAC5D,eAAe,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAClC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { CreatioHttpClient } from './http-client';
|
|
2
|
+
/** Parsed `/api/ClientCache/Hashes` response: the global cache version + a name→hash map. */
|
|
3
|
+
export interface ClientCacheHashes {
|
|
4
|
+
/** SysSetting `ClientCacheVersion` — a manual global bump that force-busts every client cache. */
|
|
5
|
+
cacheVersion: number;
|
|
6
|
+
/** Per-cache content hashes keyed by cache name (e.g. `runtime-entity-schema`). */
|
|
7
|
+
hashes: Record<string, string>;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Thin transport for Creatio's client-cache hash endpoint (`GET /0/api/ClientCache/Hashes`) — the
|
|
11
|
+
* same stamp the Freedom UI polls to learn when its cached schemas/settings went stale (see core
|
|
12
|
+
* `ClientCacheController` + `CacheHashBuilder`). Pure transport: it fetches and shapes the
|
|
13
|
+
* response and NEVER throws (returns `null` on any failure) so the freshness policy can degrade
|
|
14
|
+
* gracefully. It knows nothing about WHAT we cache or WHEN to invalidate — that is the gate's job.
|
|
15
|
+
*/
|
|
16
|
+
export declare class ClientCacheHashClient {
|
|
17
|
+
private readonly _client;
|
|
18
|
+
constructor(client: CreatioHttpClient);
|
|
19
|
+
private _url;
|
|
20
|
+
getHashes(): Promise<ClientCacheHashes | null>;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=client-cache-hash-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client-cache-hash-client.d.ts","sourceRoot":"","sources":["../../../src/creatio/services/client-cache-hash-client.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD,6FAA6F;AAC7F,MAAM,WAAW,iBAAiB;IACjC,kGAAkG;IAClG,YAAY,EAAE,MAAM,CAAC;IACrB,mFAAmF;IACnF,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED;;;;;;GAMG;AACH,qBAAa,qBAAqB;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;gBAEhC,MAAM,EAAE,iBAAiB;IAIrC,OAAO,CAAC,IAAI;IAKC,SAAS,IAAI,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;CA6B3D"}
|
|
@@ -0,0 +1,56 @@
|
|
|
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.ClientCacheHashClient = void 0;
|
|
7
|
+
const log_1 = __importDefault(require("../../log"));
|
|
8
|
+
/**
|
|
9
|
+
* Thin transport for Creatio's client-cache hash endpoint (`GET /0/api/ClientCache/Hashes`) — the
|
|
10
|
+
* same stamp the Freedom UI polls to learn when its cached schemas/settings went stale (see core
|
|
11
|
+
* `ClientCacheController` + `CacheHashBuilder`). Pure transport: it fetches and shapes the
|
|
12
|
+
* response and NEVER throws (returns `null` on any failure) so the freshness policy can degrade
|
|
13
|
+
* gracefully. It knows nothing about WHAT we cache or WHEN to invalidate — that is the gate's job.
|
|
14
|
+
*/
|
|
15
|
+
class ClientCacheHashClient {
|
|
16
|
+
_client;
|
|
17
|
+
constructor(client) {
|
|
18
|
+
this._client = client;
|
|
19
|
+
}
|
|
20
|
+
_url() {
|
|
21
|
+
// `/api/…` (not `/rest/…`), under the same `/0` workspace prefix the rest of our calls use.
|
|
22
|
+
return `${this._client.normalizedBaseUrl}/0/api/ClientCache/Hashes`;
|
|
23
|
+
}
|
|
24
|
+
async getHashes() {
|
|
25
|
+
const url = this._url();
|
|
26
|
+
try {
|
|
27
|
+
const headers = await this._client.getJsonHeaders();
|
|
28
|
+
const response = await this._client.fetchWithAuth(url, async () => ({ headers }));
|
|
29
|
+
if (!response.ok) {
|
|
30
|
+
log_1.default.warn('creatio.client_cache.hashes.not_ok', { url, status: response.status });
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
const body = await response.json().catch(() => null);
|
|
34
|
+
if (!body || !Array.isArray(body.hashes)) {
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
const hashes = {};
|
|
38
|
+
for (const entry of body.hashes) {
|
|
39
|
+
if (entry && typeof entry.name === 'string') {
|
|
40
|
+
hashes[entry.name] = String(entry.value ?? '');
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
const parsedVersion = Number(body.cacheVersion);
|
|
44
|
+
return {
|
|
45
|
+
cacheVersion: Number.isFinite(parsedVersion) ? parsedVersion : 0,
|
|
46
|
+
hashes,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
catch (err) {
|
|
50
|
+
log_1.default.warn('creatio.client_cache.hashes.failed', { url, error: String(err) });
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
exports.ClientCacheHashClient = ClientCacheHashClient;
|
|
56
|
+
//# sourceMappingURL=client-cache-hash-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client-cache-hash-client.js","sourceRoot":"","sources":["../../../src/creatio/services/client-cache-hash-client.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAY5B;;;;;;GAMG;AACH,MAAa,qBAAqB;IAChB,OAAO,CAAoB;IAE5C,YAAY,MAAyB;QACpC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACvB,CAAC;IAEO,IAAI;QACX,4FAA4F;QAC5F,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,2BAA2B,CAAC;IACrE,CAAC;IAEM,KAAK,CAAC,SAAS;QACrB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC;YACJ,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YACpD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;YAClF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBAClB,aAAG,CAAC,IAAI,CAAC,oCAAoC,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;gBACjF,OAAO,IAAI,CAAC;YACb,CAAC;YACD,MAAM,IAAI,GAAQ,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YAC1D,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1C,OAAO,IAAI,CAAC;YACb,CAAC;YACD,MAAM,MAAM,GAA2B,EAAE,CAAC;YAC1C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACjC,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC7C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;gBAChD,CAAC;YACF,CAAC;YACD,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAChD,OAAO;gBACN,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;gBAChE,MAAM;aACN,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,aAAG,CAAC,IAAI,CAAC,oCAAoC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC5E,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;CACD;AAzCD,sDAyCC"}
|
|
@@ -6,6 +6,7 @@ export declare class CreatioServiceContext implements CreatioProviderContext {
|
|
|
6
6
|
private readonly _config;
|
|
7
7
|
private readonly _authManager;
|
|
8
8
|
private readonly _httpClient;
|
|
9
|
+
private readonly _freshness;
|
|
9
10
|
readonly kind = "creatio-services";
|
|
10
11
|
readonly adminOperation: AdminOperationProvider;
|
|
11
12
|
readonly configuration: ConfigurationProvider;
|
|
@@ -16,5 +17,9 @@ export declare class CreatioServiceContext implements CreatioProviderContext {
|
|
|
16
17
|
readonly user: UserProvider;
|
|
17
18
|
get authProvider(): ICreatioAuthProvider;
|
|
18
19
|
constructor(config: CreatioClientConfig);
|
|
20
|
+
/** Proactively refresh the schema-freshness snapshot for the current base URL. Lets the
|
|
21
|
+
* single-session keep-alive tick double as a cache-freshness check, so its periodic ping isn't
|
|
22
|
+
* wasted. Best-effort: the gate already swallows endpoint failures. */
|
|
23
|
+
warmSchemaCache(): Promise<void>;
|
|
19
24
|
}
|
|
20
25
|
//# sourceMappingURL=creatio-service-context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"creatio-service-context.d.ts","sourceRoot":"","sources":["../../../src/creatio/services/creatio-service-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,oBAAoB,EAAE,MAAM,SAAS,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EACN,sBAAsB,EACtB,qBAAqB,EACrB,YAAY,EACZ,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"creatio-service-context.d.ts","sourceRoot":"","sources":["../../../src/creatio/services/creatio-service-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,oBAAoB,EAAE,MAAM,SAAS,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EACN,sBAAsB,EACtB,qBAAqB,EACrB,YAAY,EACZ,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAc7D,qBAAa,qBAAsB,YAAW,sBAAsB;IACnE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAC9C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoB;IAChD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IAEjD,SAAgB,IAAI,sBAAsB;IAC1C,SAAgB,cAAc,EAAE,sBAAsB,CAAC;IACvD,SAAgB,aAAa,EAAE,qBAAqB,CAAC;IACrD,SAAgB,IAAI,EAAE,YAAY,CAAC;IACnC,SAAgB,OAAO,EAAE,eAAe,CAAC;IACzC,SAAgB,OAAO,EAAE,eAAe,CAAC;IACzC,SAAgB,WAAW,EAAE,mBAAmB,CAAC;IACjD,SAAgB,IAAI,EAAE,YAAY,CAAC;IAEnC,IAAW,YAAY,IAAI,oBAAoB,CAE9C;gBAEW,MAAM,EAAE,mBAAmB;IAsBvC;;4EAEwE;IAC3D,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7C"}
|
|
@@ -3,18 +3,21 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.CreatioServiceContext = void 0;
|
|
4
4
|
const auth_1 = require("../auth");
|
|
5
5
|
const admin_operation_service_provider_1 = require("./admin-operation-service-provider");
|
|
6
|
+
const client_cache_hash_client_1 = require("./client-cache-hash-client");
|
|
6
7
|
const configuration_service_provider_1 = require("./configuration-service-provider");
|
|
7
8
|
const crud_provider_factory_1 = require("./crud-provider-factory");
|
|
8
9
|
const feature_service_provider_1 = require("./feature-service-provider");
|
|
9
10
|
const http_client_1 = require("./http-client");
|
|
10
11
|
const metadata_store_1 = require("./odata/metadata-store");
|
|
11
12
|
const process_service_provider_1 = require("./process-service-provider");
|
|
13
|
+
const schema_freshness_gate_1 = require("./schema-freshness-gate");
|
|
12
14
|
const sys_settings_service_provider_1 = require("./sys-settings-service-provider");
|
|
13
15
|
const user_info_provider_1 = require("./user-info-provider");
|
|
14
16
|
class CreatioServiceContext {
|
|
15
17
|
_config;
|
|
16
18
|
_authManager;
|
|
17
19
|
_httpClient;
|
|
20
|
+
_freshness;
|
|
18
21
|
kind = 'creatio-services';
|
|
19
22
|
adminOperation;
|
|
20
23
|
configuration;
|
|
@@ -30,18 +33,29 @@ class CreatioServiceContext {
|
|
|
30
33
|
this._config = config;
|
|
31
34
|
this._authManager = new auth_1.CreatioAuthManager(this._config);
|
|
32
35
|
this._httpClient = new http_client_1.CreatioHttpClient(this._config, this._authManager);
|
|
33
|
-
|
|
36
|
+
// Content-validated schema freshness: polls Creatio's own client-cache hash stamp
|
|
37
|
+
// (`/api/ClientCache/Hashes`) so cached schemas/metadata invalidate when the data model
|
|
38
|
+
// changes — the same signal the Freedom UI uses. Shared by both CRUD backends.
|
|
39
|
+
this._freshness = new schema_freshness_gate_1.SchemaFreshnessGate(new client_cache_hash_client_1.ClientCacheHashClient(this._httpClient));
|
|
40
|
+
const metadataStore = new metadata_store_1.ODataMetadataStore(this._httpClient, this._freshness);
|
|
34
41
|
this.adminOperation = new admin_operation_service_provider_1.AdminOperationServiceProvider(this._httpClient);
|
|
35
42
|
this.configuration = new configuration_service_provider_1.ConfigurationServiceProvider(this._httpClient);
|
|
36
43
|
this.crud = (0, crud_provider_factory_1.createCrudProvider)(config.crudBackend, {
|
|
37
44
|
client: this._httpClient,
|
|
38
45
|
metadataStore,
|
|
46
|
+
freshness: this._freshness,
|
|
39
47
|
});
|
|
40
48
|
this.feature = new feature_service_provider_1.FeatureServiceProvider(this._httpClient);
|
|
41
49
|
this.process = new process_service_provider_1.ProcessServiceProvider(this._httpClient);
|
|
42
50
|
this.sysSettings = new sys_settings_service_provider_1.SysSettingsServiceProvider(this._httpClient);
|
|
43
51
|
this.user = new user_info_provider_1.UserInfoProvider(this._httpClient);
|
|
44
52
|
}
|
|
53
|
+
/** Proactively refresh the schema-freshness snapshot for the current base URL. Lets the
|
|
54
|
+
* single-session keep-alive tick double as a cache-freshness check, so its periodic ping isn't
|
|
55
|
+
* wasted. Best-effort: the gate already swallows endpoint failures. */
|
|
56
|
+
async warmSchemaCache() {
|
|
57
|
+
await this._freshness.getSchemaVersion(this._httpClient.normalizedBaseUrl);
|
|
58
|
+
}
|
|
45
59
|
}
|
|
46
60
|
exports.CreatioServiceContext = CreatioServiceContext;
|
|
47
61
|
//# sourceMappingURL=creatio-service-context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"creatio-service-context.js","sourceRoot":"","sources":["../../../src/creatio/services/creatio-service-context.ts"],"names":[],"mappings":";;;AAAA,kCAAmE;AAanE,yFAAmF;AACnF,qFAAgF;AAChF,mEAA6D;AAC7D,yEAAoE;AACpE,+CAAkD;AAClD,2DAA4D;AAC5D,yEAAoE;AACpE,mFAA6E;AAC7E,6DAAwD;AAExD,MAAa,qBAAqB;IAChB,OAAO,CAAsB;IAC7B,YAAY,CAAqB;IACjC,WAAW,CAAoB;
|
|
1
|
+
{"version":3,"file":"creatio-service-context.js","sourceRoot":"","sources":["../../../src/creatio/services/creatio-service-context.ts"],"names":[],"mappings":";;;AAAA,kCAAmE;AAanE,yFAAmF;AACnF,yEAAmE;AACnE,qFAAgF;AAChF,mEAA6D;AAC7D,yEAAoE;AACpE,+CAAkD;AAClD,2DAA4D;AAC5D,yEAAoE;AACpE,mEAA8D;AAC9D,mFAA6E;AAC7E,6DAAwD;AAExD,MAAa,qBAAqB;IAChB,OAAO,CAAsB;IAC7B,YAAY,CAAqB;IACjC,WAAW,CAAoB;IAC/B,UAAU,CAAsB;IAEjC,IAAI,GAAG,kBAAkB,CAAC;IAC1B,cAAc,CAAyB;IACvC,aAAa,CAAwB;IACrC,IAAI,CAAe;IACnB,OAAO,CAAkB;IACzB,OAAO,CAAkB;IACzB,WAAW,CAAsB;IACjC,IAAI,CAAe;IAEnC,IAAW,YAAY;QACtB,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;IACxC,CAAC;IAED,YAAY,MAA2B;QACtC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,YAAY,GAAG,IAAI,yBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzD,IAAI,CAAC,WAAW,GAAG,IAAI,+BAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1E,kFAAkF;QAClF,wFAAwF;QACxF,+EAA+E;QAC/E,IAAI,CAAC,UAAU,GAAG,IAAI,2CAAmB,CAAC,IAAI,gDAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACvF,MAAM,aAAa,GAAG,IAAI,mCAAkB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAChF,IAAI,CAAC,cAAc,GAAG,IAAI,gEAA6B,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1E,IAAI,CAAC,aAAa,GAAG,IAAI,6DAA4B,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxE,IAAI,CAAC,IAAI,GAAG,IAAA,0CAAkB,EAAC,MAAM,CAAC,WAAW,EAAE;YAClD,MAAM,EAAE,IAAI,CAAC,WAAW;YACxB,aAAa;YACb,SAAS,EAAE,IAAI,CAAC,UAAU;SAC1B,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,GAAG,IAAI,iDAAsB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5D,IAAI,CAAC,OAAO,GAAG,IAAI,iDAAsB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5D,IAAI,CAAC,WAAW,GAAG,IAAI,0DAA0B,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACpE,IAAI,CAAC,IAAI,GAAG,IAAI,qCAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACpD,CAAC;IAED;;4EAEwE;IACjE,KAAK,CAAC,eAAe;QAC3B,MAAM,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;IAC5E,CAAC;CACD;AA/CD,sDA+CC"}
|
|
@@ -2,9 +2,13 @@ import { CrudBackend } from '../client-config';
|
|
|
2
2
|
import { CrudProvider } from '../contracts';
|
|
3
3
|
import { CreatioHttpClient } from './http-client';
|
|
4
4
|
import { ODataMetadataStore } from './odata/metadata-store';
|
|
5
|
+
import { SchemaFreshnessGate } from './schema-freshness-gate';
|
|
5
6
|
export interface CrudProviderDeps {
|
|
6
7
|
client: CreatioHttpClient;
|
|
7
8
|
metadataStore: ODataMetadataStore;
|
|
9
|
+
/** Shared schema-freshness gate (content-validated cache). Optional: omitted in tests, where
|
|
10
|
+
* schema caches stay purely TTL-driven. */
|
|
11
|
+
freshness?: SchemaFreshnessGate;
|
|
8
12
|
}
|
|
9
13
|
/**
|
|
10
14
|
* Selects the CRUD provider for the configured backend — the same per-deployment,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crud-provider-factory.d.ts","sourceRoot":"","sources":["../../../src/creatio/services/crud-provider-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAG5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"crud-provider-factory.d.ts","sourceRoot":"","sources":["../../../src/creatio/services/crud-provider-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAG5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,MAAM,WAAW,gBAAgB;IAChC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,aAAa,EAAE,kBAAkB,CAAC;IAClC;gDAC4C;IAC5C,SAAS,CAAC,EAAE,mBAAmB,CAAC;CAChC;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CACjC,OAAO,EAAE,WAAW,GAAG,SAAS,EAChC,IAAI,EAAE,gBAAgB,GACpB,YAAY,CAYd"}
|
|
@@ -12,7 +12,7 @@ const odata_crud_provider_1 = require("./odata/odata-crud-provider");
|
|
|
12
12
|
function createCrudProvider(backend, deps) {
|
|
13
13
|
switch (backend ?? 'dataservice') {
|
|
14
14
|
case 'dataservice':
|
|
15
|
-
return new data_service_crud_provider_1.DataServiceCrudProvider(deps.client);
|
|
15
|
+
return new data_service_crud_provider_1.DataServiceCrudProvider(deps.client, deps.freshness ? { freshness: deps.freshness } : {});
|
|
16
16
|
case 'odata':
|
|
17
17
|
return new odata_crud_provider_1.ODataCrudProvider(deps.client, deps.metadataStore);
|
|
18
18
|
default:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crud-provider-factory.js","sourceRoot":"","sources":["../../../src/creatio/services/crud-provider-factory.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"crud-provider-factory.js","sourceRoot":"","sources":["../../../src/creatio/services/crud-provider-factory.ts"],"names":[],"mappings":";;AAuBA,gDAeC;AAnCD,yFAAmF;AAGnF,qEAAgE;AAWhE;;;;;GAKG;AACH,SAAgB,kBAAkB,CACjC,OAAgC,EAChC,IAAsB;IAEtB,QAAQ,OAAO,IAAI,aAAa,EAAE,CAAC;QAClC,KAAK,aAAa;YACjB,OAAO,IAAI,oDAAuB,CACjC,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CACnD,CAAC;QACH,KAAK,OAAO;YACX,OAAO,IAAI,uCAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAC/D;YACC,MAAM,IAAI,KAAK,CAAC,4BAA4B,OAAO,EAAE,CAAC,CAAC;IACzD,CAAC;AACF,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { CrudCapabilities, CrudDeleteParams, CrudProvider, CrudUpdateParams, CrudWriteParams, EntitySchemaDescription, ReadQuery, ReadResult } from '../../contracts';
|
|
2
2
|
import { CreatioHttpClient } from '../http-client';
|
|
3
|
+
import { SchemaFreshnessGate } from '../schema-freshness-gate';
|
|
3
4
|
import { DataServiceFilterTranslator } from './data-service-filter-translator';
|
|
4
5
|
import { DataServiceQueryBuilder } from './data-service-query-builder';
|
|
5
6
|
import { DataServiceSchemaProvider } from './data-service-schema';
|
|
@@ -28,6 +29,7 @@ export declare class DataServiceCrudProvider implements CrudProvider {
|
|
|
28
29
|
queryBuilder?: DataServiceQueryBuilder;
|
|
29
30
|
filters?: DataServiceFilterTranslator;
|
|
30
31
|
schema?: DataServiceSchemaProvider;
|
|
32
|
+
freshness?: SchemaFreshnessGate;
|
|
31
33
|
});
|
|
32
34
|
private _rows;
|
|
33
35
|
private _extractCount;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-service-crud-provider.d.ts","sourceRoot":"","sources":["../../../../src/creatio/services/dataservice/data-service-crud-provider.ts"],"names":[],"mappings":"AACA,OAAO,EACN,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,uBAAuB,EACvB,SAAS,EACT,UAAU,EACV,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"data-service-crud-provider.d.ts","sourceRoot":"","sources":["../../../../src/creatio/services/dataservice/data-service-crud-provider.ts"],"names":[],"mappings":"AACA,OAAO,EACN,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,uBAAuB,EACvB,SAAS,EACT,UAAU,EACV,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAG/D,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAsB,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAC3F,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAEN,sBAAsB,EAEtB,MAAM,sBAAsB,CAAC;AAI9B;;;;;;;;;;GAUG;AACH,qBAAa,uBAAwB,YAAW,YAAY;IAC3D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuB;IAClD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA0B;IACxD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA8B;IACvD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;IAEpD,SAAgB,IAAI,yBAAyB;IAG7C,SAAgB,YAAY,EAAE,gBAAgB,CAAuC;gBAGpF,MAAM,EAAE,iBAAiB,EACzB,IAAI,GAAE;QACL,SAAS,CAAC,EAAE,oBAAoB,CAAC;QACjC,YAAY,CAAC,EAAE,uBAAuB,CAAC;QACvC,OAAO,CAAC,EAAE,2BAA2B,CAAC;QACtC,MAAM,CAAC,EAAE,yBAAyB,CAAC;QACnC,SAAS,CAAC,EAAE,mBAAmB,CAAC;KAC3B;IAUP,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,aAAa;IAOrB,iGAAiG;IACjG,OAAO,CAAC,WAAW;YAaL,aAAa;IAgB3B;oEACgE;IAChE,OAAO,CAAC,QAAQ;IAehB,qEAAqE;IAC9D,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,sBAAsB;IAI1D,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAI7B,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAInE,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;IA8B3C,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC;IAWvD,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC;IAgB5D,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC;CAanE"}
|
|
@@ -37,7 +37,9 @@ class DataServiceCrudProvider {
|
|
|
37
37
|
this._transport = deps.transport ?? new data_service_transport_1.DataServiceTransport(client);
|
|
38
38
|
this._queryBuilder = deps.queryBuilder ?? new data_service_query_builder_1.DataServiceQueryBuilder();
|
|
39
39
|
this._filters = deps.filters ?? new data_service_filter_translator_1.DataServiceFilterTranslator();
|
|
40
|
-
this._schema =
|
|
40
|
+
this._schema =
|
|
41
|
+
deps.schema ??
|
|
42
|
+
new data_service_schema_1.DataServiceSchemaProvider(this._transport, undefined, undefined, deps.freshness);
|
|
41
43
|
}
|
|
42
44
|
_rows(body) {
|
|
43
45
|
return Array.isArray(body?.rows) ? body.rows : [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-service-crud-provider.js","sourceRoot":"","sources":["../../../../src/creatio/services/dataservice/data-service-crud-provider.ts"],"names":[],"mappings":";;;;;;AAAA,uDAA+B;AAW/B,gDAAkD;
|
|
1
|
+
{"version":3,"file":"data-service-crud-provider.js","sourceRoot":"","sources":["../../../../src/creatio/services/dataservice/data-service-crud-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { EntitySchemaDescription } from '../../contracts';
|
|
2
|
+
import { SchemaFreshnessGate } from '../schema-freshness-gate';
|
|
2
3
|
import { DataServiceFilterTranslator } from './data-service-filter-translator';
|
|
3
4
|
import { DataServiceQueryBuilder } from './data-service-query-builder';
|
|
4
5
|
import { DataServiceTransport } from './data-service-transport';
|
|
@@ -17,8 +18,9 @@ export declare class DataServiceSchemaProvider {
|
|
|
17
18
|
private readonly _transport;
|
|
18
19
|
private readonly _queryBuilder;
|
|
19
20
|
private readonly _filters;
|
|
21
|
+
private readonly _freshness;
|
|
20
22
|
private readonly _schemaCache;
|
|
21
|
-
constructor(transport: DataServiceTransport, queryBuilder?: DataServiceQueryBuilder, filters?: DataServiceFilterTranslator);
|
|
23
|
+
constructor(transport: DataServiceTransport, queryBuilder?: DataServiceQueryBuilder, filters?: DataServiceFilterTranslator, freshness?: SchemaFreshnessGate);
|
|
22
24
|
private _getRuntimeSchema;
|
|
23
25
|
private _columns;
|
|
24
26
|
/** Build the entity-list SelectQuery (visible for tests). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-service-schema.d.ts","sourceRoot":"","sources":["../../../../src/creatio/services/dataservice/data-service-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAoB7E;;;;;;;;;GASG;AACH,qBAAa,yBAAyB;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuB;IAClD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA0B;IACxD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA8B;IACvD,OAAO,CAAC,QAAQ,CAAC,YAAY,
|
|
1
|
+
{"version":3,"file":"data-service-schema.d.ts","sourceRoot":"","sources":["../../../../src/creatio/services/dataservice/data-service-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAoB7E;;;;;;;;;GASG;AACH,qBAAa,yBAAyB;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuB;IAClD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA0B;IACxD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA8B;IACvD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkC;IAK7D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA6E;gBAGzG,SAAS,EAAE,oBAAoB,EAC/B,YAAY,0BAAgC,EAC5C,OAAO,8BAAoC,EAC3C,SAAS,CAAC,EAAE,mBAAmB;YAQlB,iBAAiB;IAqB/B,OAAO,CAAC,QAAQ;IAIhB,6DAA6D;IACtD,cAAc,IAAI,sBAAsB;IAWlC,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAanC,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAgBhF,4FAA4F;IAC/E,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CAS7E"}
|
|
@@ -21,15 +21,24 @@ class DataServiceSchemaProvider {
|
|
|
21
21
|
_transport;
|
|
22
22
|
_queryBuilder;
|
|
23
23
|
_filters;
|
|
24
|
+
_freshness;
|
|
25
|
+
// Keyed by `${baseUrl}::${name}` so a multi-tenant gateway never serves tenant A's schema to B.
|
|
26
|
+
// Each entry is stamped with the freshness version at fetch time; a version mismatch (the data
|
|
27
|
+
// model changed) treats it as a miss. The TTL is a coarse backstop (and the sole freshness gate
|
|
28
|
+
// when no SchemaFreshnessGate is wired — then `version` is constant and behaviour is unchanged).
|
|
24
29
|
_schemaCache = new Map();
|
|
25
|
-
constructor(transport, queryBuilder = new data_service_query_builder_1.DataServiceQueryBuilder(), filters = new data_service_filter_translator_1.DataServiceFilterTranslator()) {
|
|
30
|
+
constructor(transport, queryBuilder = new data_service_query_builder_1.DataServiceQueryBuilder(), filters = new data_service_filter_translator_1.DataServiceFilterTranslator(), freshness) {
|
|
26
31
|
this._transport = transport;
|
|
27
32
|
this._queryBuilder = queryBuilder;
|
|
28
33
|
this._filters = filters;
|
|
34
|
+
this._freshness = freshness;
|
|
29
35
|
}
|
|
30
36
|
async _getRuntimeSchema(name) {
|
|
31
|
-
const
|
|
32
|
-
|
|
37
|
+
const baseUrl = this._transport.baseUrl;
|
|
38
|
+
const version = this._freshness ? await this._freshness.getSchemaVersion(baseUrl) : '';
|
|
39
|
+
const key = `${baseUrl}::${name}`;
|
|
40
|
+
const cached = this._schemaCache.get(key);
|
|
41
|
+
if (cached && cached.version === version && Date.now() - cached.at < CACHE_TTL_MS) {
|
|
33
42
|
return cached.schema;
|
|
34
43
|
}
|
|
35
44
|
const body = await this._transport.post('RuntimeEntitySchemaRequest', { name }, { logContext: { entity: name }, checkSuccess: true });
|
|
@@ -37,7 +46,7 @@ class DataServiceSchemaProvider {
|
|
|
37
46
|
if (!schema || !schema.name) {
|
|
38
47
|
throw new Error(`entity_not_found:${name}`);
|
|
39
48
|
}
|
|
40
|
-
this._schemaCache.set(
|
|
49
|
+
this._schemaCache.set(key, { schema, version, at: Date.now() });
|
|
41
50
|
return schema;
|
|
42
51
|
}
|
|
43
52
|
_columns(schema) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-service-schema.js","sourceRoot":"","sources":["../../../../src/creatio/services/dataservice/data-service-schema.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"data-service-schema.js","sourceRoot":"","sources":["../../../../src/creatio/services/dataservice/data-service-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,9 @@ export declare class DataServiceTransport {
|
|
|
12
12
|
private readonly _client;
|
|
13
13
|
constructor(client: CreatioHttpClient);
|
|
14
14
|
private _assertSuccess;
|
|
15
|
+
/** The Creatio instance base for the current request (honors the gateway per-request override).
|
|
16
|
+
* Used to key schema caches per tenant. */
|
|
17
|
+
get baseUrl(): string;
|
|
15
18
|
endpoint(operation: string): string;
|
|
16
19
|
post(operation: string, payload: unknown, opts?: {
|
|
17
20
|
logContext?: Record<string, unknown>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-service-transport.d.ts","sourceRoot":"","sources":["../../../../src/creatio/services/dataservice/data-service-transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD;;;;;;;;GAQG;AACH,qBAAa,oBAAoB;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;gBAEhC,MAAM,EAAE,iBAAiB;IAIrC,OAAO,CAAC,cAAc;
|
|
1
|
+
{"version":3,"file":"data-service-transport.d.ts","sourceRoot":"","sources":["../../../../src/creatio/services/dataservice/data-service-transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD;;;;;;;;GAQG;AACH,qBAAa,oBAAoB;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;gBAEhC,MAAM,EAAE,iBAAiB;IAIrC,OAAO,CAAC,cAAc;IAatB;gDAC4C;IAC5C,IAAW,OAAO,IAAI,MAAM,CAE3B;IAEM,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAI7B,IAAI,CAChB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,EAChB,IAAI,GAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAO,GACzE,OAAO,CAAC,GAAG,CAAC;CA0Bf"}
|
|
@@ -26,6 +26,11 @@ class DataServiceTransport {
|
|
|
26
26
|
throw new Error(`creatio_dataservice_${operation}_error:${message}`);
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
|
+
/** The Creatio instance base for the current request (honors the gateway per-request override).
|
|
30
|
+
* Used to key schema caches per tenant. */
|
|
31
|
+
get baseUrl() {
|
|
32
|
+
return this._client.normalizedBaseUrl;
|
|
33
|
+
}
|
|
29
34
|
endpoint(operation) {
|
|
30
35
|
return `${this._client.normalizedBaseUrl}/0/DataService/json/SyncReply/${operation}`;
|
|
31
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-service-transport.js","sourceRoot":"","sources":["../../../../src/creatio/services/dataservice/data-service-transport.ts"],"names":[],"mappings":";;;AAEA;;;;;;;;GAQG;AACH,MAAa,oBAAoB;IACf,OAAO,CAAoB;IAE5C,YAAY,MAAyB;QACpC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACvB,CAAC;IAEO,cAAc,CAAC,SAAiB,EAAE,IAAS;QAClD,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YACpC,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC;YACrC,MAAM,OAAO,GACZ,EAAE,CAAC,OAAO;gBACV,EAAE,CAAC,OAAO;gBACV,IAAI,CAAC,SAAS,EAAE,OAAO;gBACvB,IAAI,CAAC,SAAS,EAAE,OAAO;gBACvB,eAAe,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,uBAAuB,SAAS,UAAU,OAAO,EAAE,CAAC,CAAC;QACtE,CAAC;IACF,CAAC;IAEM,QAAQ,CAAC,SAAiB;QAChC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,iCAAiC,SAAS,EAAE,CAAC;IACtF,CAAC;IAEM,KAAK,CAAC,IAAI,CAChB,SAAiB,EACjB,OAAgB,EAChB,OAAyE,EAAE;QAE3E,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;QACzC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAC1B,eAAe,SAAS,EAAE,EAC1B,GAAG,EACH,KAAK,IAAI,EAAE;YACV,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC;QAC1D,CAAC,EACD,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;YAC5B,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACrD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACvB,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YACtC,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,UAAU,CACtB,eAAe,SAAS,EAAE,EAC1B,QAAQ,CAAC,MAAM,EACf,QAAQ,EACR,UAAU,CACV,CAAC;YACF,OAAO,IAAI,CAAC;QACb,CAAC,EACD,EAAE,WAAW,EAAE,uBAAuB,SAAS,SAAS,EAAE,UAAU,EAAE,CACtE,CAAC;IACH,CAAC;CACD;
|
|
1
|
+
{"version":3,"file":"data-service-transport.js","sourceRoot":"","sources":["../../../../src/creatio/services/dataservice/data-service-transport.ts"],"names":[],"mappings":";;;AAEA;;;;;;;;GAQG;AACH,MAAa,oBAAoB;IACf,OAAO,CAAoB;IAE5C,YAAY,MAAyB;QACpC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACvB,CAAC;IAEO,cAAc,CAAC,SAAiB,EAAE,IAAS;QAClD,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YACpC,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC;YACrC,MAAM,OAAO,GACZ,EAAE,CAAC,OAAO;gBACV,EAAE,CAAC,OAAO;gBACV,IAAI,CAAC,SAAS,EAAE,OAAO;gBACvB,IAAI,CAAC,SAAS,EAAE,OAAO;gBACvB,eAAe,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,uBAAuB,SAAS,UAAU,OAAO,EAAE,CAAC,CAAC;QACtE,CAAC;IACF,CAAC;IAED;gDAC4C;IAC5C,IAAW,OAAO;QACjB,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC;IACvC,CAAC;IAEM,QAAQ,CAAC,SAAiB;QAChC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,iCAAiC,SAAS,EAAE,CAAC;IACtF,CAAC;IAEM,KAAK,CAAC,IAAI,CAChB,SAAiB,EACjB,OAAgB,EAChB,OAAyE,EAAE;QAE3E,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;QACzC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAC1B,eAAe,SAAS,EAAE,EAC1B,GAAG,EACH,KAAK,IAAI,EAAE;YACV,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC;QAC1D,CAAC,EACD,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;YAC5B,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACrD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACvB,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YACtC,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,UAAU,CACtB,eAAe,SAAS,EAAE,EAC1B,QAAQ,CAAC,MAAM,EACf,QAAQ,EACR,UAAU,CACV,CAAC;YACF,OAAO,IAAI,CAAC;QACb,CAAC,EACD,EAAE,WAAW,EAAE,uBAAuB,SAAS,SAAS,EAAE,UAAU,EAAE,CACtE,CAAC;IACH,CAAC;CACD;AA5DD,oDA4DC"}
|