mcp-dataverse 0.1.5 → 0.1.7
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/CAPABILITIES.md +1049 -992
- package/README.md +92 -80
- package/config.example.json +0 -1
- package/dist/auth/auth-provider.factory.d.ts +2 -2
- package/dist/auth/auth-provider.factory.js +4 -4
- package/dist/auth/msal-auth-provider.d.ts +2 -2
- package/dist/auth/msal-auth-provider.d.ts.map +1 -1
- package/dist/auth/msal-auth-provider.js +9 -7
- package/dist/auth/msal-auth-provider.js.map +1 -1
- package/dist/auth/pac-auth-provider.d.ts +1 -1
- package/dist/auth/pac-auth-provider.d.ts.map +1 -1
- package/dist/auth/pac-auth-provider.js +39 -35
- package/dist/auth/pac-auth-provider.js.map +1 -1
- package/dist/config/config.loader.d.ts +1 -1
- package/dist/config/config.loader.js +25 -28
- package/dist/config/config.loader.js.map +1 -1
- package/dist/config/config.schema.d.ts +1 -4
- package/dist/config/config.schema.d.ts.map +1 -1
- package/dist/config/config.schema.js +11 -11
- package/dist/config/config.schema.js.map +1 -1
- package/dist/dataverse/dataverse-client-advanced.d.ts +1 -1
- package/dist/dataverse/dataverse-client-advanced.d.ts.map +1 -1
- package/dist/dataverse/dataverse-client-advanced.js +70 -39
- package/dist/dataverse/dataverse-client-advanced.js.map +1 -1
- package/dist/dataverse/dataverse-client.actions.d.ts +11 -0
- package/dist/dataverse/dataverse-client.actions.d.ts.map +1 -0
- package/dist/dataverse/dataverse-client.actions.js +25 -0
- package/dist/dataverse/dataverse-client.actions.js.map +1 -0
- package/dist/dataverse/dataverse-client.batch.d.ts +2 -2
- package/dist/dataverse/dataverse-client.batch.d.ts.map +1 -1
- package/dist/dataverse/dataverse-client.batch.js +12 -12
- package/dist/dataverse/dataverse-client.batch.js.map +1 -1
- package/dist/dataverse/dataverse-client.d.ts +5 -8
- package/dist/dataverse/dataverse-client.d.ts.map +1 -1
- package/dist/dataverse/dataverse-client.js +81 -81
- package/dist/dataverse/dataverse-client.js.map +1 -1
- package/dist/dataverse/dataverse-client.metadata.d.ts +3 -3
- package/dist/dataverse/dataverse-client.metadata.d.ts.map +1 -1
- package/dist/dataverse/dataverse-client.metadata.js +45 -45
- package/dist/dataverse/dataverse-client.metadata.js.map +1 -1
- package/dist/dataverse/dataverse-client.utils.d.ts.map +1 -1
- package/dist/dataverse/dataverse-client.utils.js +5 -5
- package/dist/dataverse/dataverse-client.utils.js.map +1 -1
- package/dist/dataverse/http-client.d.ts +1 -1
- package/dist/dataverse/http-client.d.ts.map +1 -1
- package/dist/dataverse/http-client.js +25 -18
- package/dist/dataverse/http-client.js.map +1 -1
- package/dist/dataverse/types.d.ts +5 -5
- package/dist/server.js +57 -57
- package/dist/server.js.map +1 -1
- package/dist/setup-auth.js +8 -8
- package/dist/setup-auth.js.map +1 -1
- package/dist/tools/actions.tools.d.ts +2 -2
- package/dist/tools/actions.tools.d.ts.map +1 -1
- package/dist/tools/actions.tools.js +108 -65
- package/dist/tools/actions.tools.js.map +1 -1
- package/dist/tools/annotations.tools.d.ts +2 -2
- package/dist/tools/annotations.tools.d.ts.map +1 -1
- package/dist/tools/annotations.tools.js +79 -70
- package/dist/tools/annotations.tools.js.map +1 -1
- package/dist/tools/audit.tools.d.ts +2 -2
- package/dist/tools/audit.tools.d.ts.map +1 -1
- package/dist/tools/audit.tools.js +51 -48
- package/dist/tools/audit.tools.js.map +1 -1
- package/dist/tools/auth.tools.d.ts +2 -2
- package/dist/tools/auth.tools.d.ts.map +1 -1
- package/dist/tools/auth.tools.js +9 -7
- package/dist/tools/auth.tools.js.map +1 -1
- package/dist/tools/batch.tools.d.ts +2 -2
- package/dist/tools/batch.tools.d.ts.map +1 -1
- package/dist/tools/batch.tools.js +39 -26
- package/dist/tools/batch.tools.js.map +1 -1
- package/dist/tools/crud.tools.d.ts +2 -2
- package/dist/tools/crud.tools.d.ts.map +1 -1
- package/dist/tools/crud.tools.js +140 -83
- package/dist/tools/crud.tools.js.map +1 -1
- package/dist/tools/customization.tools.d.ts +2 -2
- package/dist/tools/customization.tools.d.ts.map +1 -1
- package/dist/tools/customization.tools.js +72 -62
- package/dist/tools/customization.tools.js.map +1 -1
- package/dist/tools/environment.tools.d.ts +2 -2
- package/dist/tools/environment.tools.d.ts.map +1 -1
- package/dist/tools/environment.tools.js +62 -55
- package/dist/tools/environment.tools.js.map +1 -1
- package/dist/tools/file.tools.d.ts +2 -2
- package/dist/tools/file.tools.d.ts.map +1 -1
- package/dist/tools/file.tools.js +63 -44
- package/dist/tools/file.tools.js.map +1 -1
- package/dist/tools/impersonate.tools.d.ts +3 -3
- package/dist/tools/impersonate.tools.d.ts.map +1 -1
- package/dist/tools/impersonate.tools.js +22 -20
- package/dist/tools/impersonate.tools.js.map +1 -1
- package/dist/tools/metadata.tools.d.ts +2 -2
- package/dist/tools/metadata.tools.d.ts.map +1 -1
- package/dist/tools/metadata.tools.js +110 -75
- package/dist/tools/metadata.tools.js.map +1 -1
- package/dist/tools/org.tools.d.ts +2 -2
- package/dist/tools/org.tools.d.ts.map +1 -1
- package/dist/tools/org.tools.js +21 -15
- package/dist/tools/org.tools.js.map +1 -1
- package/dist/tools/quality.tools.d.ts +2 -2
- package/dist/tools/quality.tools.d.ts.map +1 -1
- package/dist/tools/quality.tools.js +19 -17
- package/dist/tools/quality.tools.js.map +1 -1
- package/dist/tools/query.tools.d.ts +2 -2
- package/dist/tools/query.tools.d.ts.map +1 -1
- package/dist/tools/query.tools.js +81 -58
- package/dist/tools/query.tools.js.map +1 -1
- package/dist/tools/relations.tools.d.ts +2 -2
- package/dist/tools/relations.tools.d.ts.map +1 -1
- package/dist/tools/relations.tools.js +62 -26
- package/dist/tools/relations.tools.js.map +1 -1
- package/dist/tools/search.tools.d.ts +2 -2
- package/dist/tools/search.tools.d.ts.map +1 -1
- package/dist/tools/search.tools.js +45 -45
- package/dist/tools/search.tools.js.map +1 -1
- package/dist/tools/solution.tools.d.ts +2 -2
- package/dist/tools/solution.tools.d.ts.map +1 -1
- package/dist/tools/solution.tools.js +89 -55
- package/dist/tools/solution.tools.js.map +1 -1
- package/dist/tools/teams.tools.d.ts +2 -2
- package/dist/tools/teams.tools.d.ts.map +1 -1
- package/dist/tools/teams.tools.js +33 -29
- package/dist/tools/teams.tools.js.map +1 -1
- package/dist/tools/trace.tools.d.ts +2 -2
- package/dist/tools/trace.tools.d.ts.map +1 -1
- package/dist/tools/trace.tools.js +111 -101
- package/dist/tools/trace.tools.js.map +1 -1
- package/dist/tools/tracking.tools.d.ts +2 -2
- package/dist/tools/tracking.tools.d.ts.map +1 -1
- package/dist/tools/tracking.tools.js +16 -14
- package/dist/tools/tracking.tools.js.map +1 -1
- package/dist/tools/users.tools.d.ts +2 -2
- package/dist/tools/users.tools.d.ts.map +1 -1
- package/dist/tools/users.tools.js +62 -57
- package/dist/tools/users.tools.js.map +1 -1
- package/dist/tools/validation.utils.d.ts +1 -1
- package/dist/tools/validation.utils.d.ts.map +1 -1
- package/dist/tools/validation.utils.js +9 -3
- package/dist/tools/validation.utils.js.map +1 -1
- package/dist/tools/views.tools.d.ts +2 -2
- package/dist/tools/views.tools.d.ts.map +1 -1
- package/dist/tools/views.tools.js +32 -24
- package/dist/tools/views.tools.js.map +1 -1
- package/package.json +81 -81
- package/server.json +59 -4
|
@@ -1,51 +1,48 @@
|
|
|
1
|
-
import { readFileSync, existsSync } from
|
|
2
|
-
import { join } from
|
|
3
|
-
import { ConfigSchema } from
|
|
4
|
-
const CONFIG_FILE_NAME =
|
|
1
|
+
import { readFileSync, existsSync } from "fs";
|
|
2
|
+
import { join } from "path";
|
|
3
|
+
import { ConfigSchema } from "./config.schema.js";
|
|
4
|
+
const CONFIG_FILE_NAME = "config.json";
|
|
5
5
|
export function loadConfig() {
|
|
6
|
-
// Priority: env vars > config.json > defaults
|
|
7
|
-
const configPath = join(process.cwd(), CONFIG_FILE_NAME);
|
|
6
|
+
// Priority: env vars > MCP_CONFIG_PATH file > cwd/config.json > defaults
|
|
7
|
+
const configPath = process.env["MCP_CONFIG_PATH"] ?? join(process.cwd(), CONFIG_FILE_NAME);
|
|
8
8
|
let rawConfig = {};
|
|
9
9
|
if (existsSync(configPath)) {
|
|
10
|
-
const fileContent = readFileSync(configPath,
|
|
10
|
+
const fileContent = readFileSync(configPath, "utf-8");
|
|
11
11
|
try {
|
|
12
12
|
rawConfig = JSON.parse(fileContent);
|
|
13
13
|
}
|
|
14
14
|
catch {
|
|
15
|
-
throw new Error(`Invalid JSON in ${
|
|
15
|
+
throw new Error(`Invalid JSON in ${configPath}. Check for syntax errors (trailing commas, missing quotes).`);
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
18
|
// Override with env vars if present
|
|
19
|
-
if (process.env[
|
|
20
|
-
rawConfig[
|
|
19
|
+
if (process.env["DATAVERSE_ENV_URL"]) {
|
|
20
|
+
rawConfig["environmentUrl"] = process.env["DATAVERSE_ENV_URL"];
|
|
21
21
|
}
|
|
22
|
-
if (process.env[
|
|
23
|
-
rawConfig[
|
|
22
|
+
if (process.env["AUTH_MODE"]) {
|
|
23
|
+
rawConfig["authMode"] = process.env["AUTH_MODE"];
|
|
24
24
|
}
|
|
25
|
-
if (process.env[
|
|
26
|
-
rawConfig[
|
|
25
|
+
if (process.env["PAC_PROFILE_NAME"]) {
|
|
26
|
+
rawConfig["pacProfileName"] = process.env["PAC_PROFILE_NAME"];
|
|
27
27
|
}
|
|
28
|
-
if (process.env[
|
|
29
|
-
rawConfig[
|
|
28
|
+
if (process.env["TENANT_ID"]) {
|
|
29
|
+
rawConfig["tenantId"] = process.env["TENANT_ID"];
|
|
30
30
|
}
|
|
31
|
-
if (process.env[
|
|
32
|
-
rawConfig[
|
|
31
|
+
if (process.env["CLIENT_ID"]) {
|
|
32
|
+
rawConfig["clientId"] = process.env["CLIENT_ID"];
|
|
33
33
|
}
|
|
34
|
-
if (process.env[
|
|
35
|
-
rawConfig[
|
|
34
|
+
if (process.env["CLIENT_SECRET"]) {
|
|
35
|
+
rawConfig["clientSecret"] = process.env["CLIENT_SECRET"];
|
|
36
36
|
}
|
|
37
|
-
if (process.env[
|
|
38
|
-
rawConfig[
|
|
37
|
+
if (process.env["REQUEST_TIMEOUT_MS"]) {
|
|
38
|
+
rawConfig["requestTimeoutMs"] = Number(process.env["REQUEST_TIMEOUT_MS"]);
|
|
39
39
|
}
|
|
40
|
-
if (process.env[
|
|
41
|
-
rawConfig[
|
|
42
|
-
}
|
|
43
|
-
if (process.env['MAX_RETRIES']) {
|
|
44
|
-
rawConfig['maxRetries'] = Number(process.env['MAX_RETRIES']);
|
|
40
|
+
if (process.env["MAX_RETRIES"]) {
|
|
41
|
+
rawConfig["maxRetries"] = Number(process.env["MAX_RETRIES"]);
|
|
45
42
|
}
|
|
46
43
|
const result = ConfigSchema.safeParse(rawConfig);
|
|
47
44
|
if (!result.success) {
|
|
48
|
-
throw new Error(`Invalid configuration:\n${result.error.issues.map(i => ` - ${i.path.join(
|
|
45
|
+
throw new Error(`Invalid configuration:\n${result.error.issues.map((i) => ` - ${i.path.join(".")}: ${i.message}`).join("\n")}`);
|
|
49
46
|
}
|
|
50
47
|
return result.data;
|
|
51
48
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.loader.js","sourceRoot":"","sources":["../../src/config/config.loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAe,MAAM,oBAAoB,CAAC;AAE/D,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAEvC,MAAM,UAAU,UAAU;IACxB,
|
|
1
|
+
{"version":3,"file":"config.loader.js","sourceRoot":"","sources":["../../src/config/config.loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { z } from
|
|
1
|
+
import { z } from "zod";
|
|
2
2
|
export declare const ConfigSchema: z.ZodObject<{
|
|
3
3
|
environmentUrl: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
|
|
4
4
|
authMode: z.ZodDefault<z.ZodEnum<["pac", "msal"]>>;
|
|
@@ -6,7 +6,6 @@ export declare const ConfigSchema: z.ZodObject<{
|
|
|
6
6
|
tenantId: z.ZodOptional<z.ZodString>;
|
|
7
7
|
clientId: z.ZodOptional<z.ZodString>;
|
|
8
8
|
clientSecret: z.ZodOptional<z.ZodString>;
|
|
9
|
-
redirectUri: z.ZodOptional<z.ZodString>;
|
|
10
9
|
requestTimeoutMs: z.ZodDefault<z.ZodNumber>;
|
|
11
10
|
maxRetries: z.ZodDefault<z.ZodNumber>;
|
|
12
11
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -18,7 +17,6 @@ export declare const ConfigSchema: z.ZodObject<{
|
|
|
18
17
|
tenantId?: string | undefined;
|
|
19
18
|
clientId?: string | undefined;
|
|
20
19
|
clientSecret?: string | undefined;
|
|
21
|
-
redirectUri?: string | undefined;
|
|
22
20
|
}, {
|
|
23
21
|
environmentUrl: string;
|
|
24
22
|
authMode?: "pac" | "msal" | undefined;
|
|
@@ -26,7 +24,6 @@ export declare const ConfigSchema: z.ZodObject<{
|
|
|
26
24
|
tenantId?: string | undefined;
|
|
27
25
|
clientId?: string | undefined;
|
|
28
26
|
clientSecret?: string | undefined;
|
|
29
|
-
redirectUri?: string | undefined;
|
|
30
27
|
requestTimeoutMs?: number | undefined;
|
|
31
28
|
maxRetries?: number | undefined;
|
|
32
29
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.schema.d.ts","sourceRoot":"","sources":["../../src/config/config.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,YAAY
|
|
1
|
+
{"version":3,"file":"config.schema.d.ts","sourceRoot":"","sources":["../../src/config/config.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwBvB,CAAC;AAEH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC"}
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
import { z } from
|
|
1
|
+
import { z } from "zod";
|
|
2
2
|
export const ConfigSchema = z.object({
|
|
3
|
-
environmentUrl: z
|
|
4
|
-
.
|
|
5
|
-
.
|
|
6
|
-
|
|
3
|
+
environmentUrl: z
|
|
4
|
+
.string()
|
|
5
|
+
.url("Must be a valid Dataverse environment URL")
|
|
6
|
+
.refine((url) => url.startsWith("https://"), {
|
|
7
|
+
message: "Dataverse environment URL must use HTTPS",
|
|
7
8
|
})
|
|
8
|
-
.refine(url => {
|
|
9
|
+
.refine((url) => {
|
|
9
10
|
try {
|
|
10
|
-
return new URL(url).hostname.toLowerCase().endsWith(
|
|
11
|
+
return new URL(url).hostname.toLowerCase().endsWith(".dynamics.com");
|
|
11
12
|
}
|
|
12
13
|
catch {
|
|
13
14
|
return false;
|
|
14
15
|
}
|
|
15
|
-
}, { message:
|
|
16
|
-
authMode: z.enum([
|
|
17
|
-
pacProfileName: z.string().default(
|
|
16
|
+
}, { message: "environmentUrl must be a *.dynamics.com host" }),
|
|
17
|
+
authMode: z.enum(["pac", "msal"]).default("pac"),
|
|
18
|
+
pacProfileName: z.string().default("default"),
|
|
18
19
|
tenantId: z.string().optional(),
|
|
19
20
|
clientId: z.string().optional(),
|
|
20
21
|
clientSecret: z.string().optional(),
|
|
21
|
-
redirectUri: z.string().url().optional(),
|
|
22
22
|
requestTimeoutMs: z.number().positive().default(30000),
|
|
23
23
|
maxRetries: z.number().min(0).max(10).default(3),
|
|
24
24
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.schema.js","sourceRoot":"","sources":["../../src/config/config.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,cAAc,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"config.schema.js","sourceRoot":"","sources":["../../src/config/config.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,cAAc,EAAE,CAAC;SACd,MAAM,EAAE;SACR,GAAG,CAAC,2CAA2C,CAAC;SAChD,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;QAC3C,OAAO,EAAE,0CAA0C;KACpD,CAAC;SACD,MAAM,CACL,CAAC,GAAG,EAAE,EAAE;QACN,IAAI,CAAC;YACH,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QACvE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,EACD,EAAE,OAAO,EAAE,8CAA8C,EAAE,CAC5D;IACH,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IAChD,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;IAC7C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACtD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CACjD,CAAC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DataverseBatchClient } from
|
|
1
|
+
import { DataverseBatchClient } from "./dataverse-client.batch.js";
|
|
2
2
|
/**
|
|
3
3
|
* Extends DataverseMetadataClient with advanced query capabilities:
|
|
4
4
|
* bound functions, server-side paging, and change tracking (delta queries).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataverse-client-advanced.d.ts","sourceRoot":"","sources":["../../src/dataverse/dataverse-client-advanced.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"dataverse-client-advanced.d.ts","sourceRoot":"","sources":["../../src/dataverse/dataverse-client-advanced.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AA6BnE;;;GAGG;AACH,qBAAa,uBAAwB,SAAQ,oBAAoB;IAGzD,oBAAoB,CAAC,CAAC,GAAG,OAAO,EACpC,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAClC,OAAO,CAAC,CAAC,CAAC;IAYP,eAAe,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/C,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE;QACP,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACd,GACL,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IA8BjE,iBAAiB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjD,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,GAAG,IAAI,EACzB,MAAM,CAAC,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC;QACT,cAAc,EAAE,CAAC,EAAE,CAAC;QACpB,OAAO,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC/B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;KAC/B,CAAC;IAiDI,qBAAqB,CACzB,YAAY,EAAE,MAAM,EACpB,aAAa,CAAC,EAAE,MAAM,EACtB,GAAG,SAAM,GACR,OAAO,CAAC;QACT,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,KAAK,CAAC;YAChB,aAAa,EAAE,MAAM,CAAC;YACtB,iBAAiB,EAAE,MAAM,CAAC;YAC1B,QAAQ,EAAE,MAAM,CAAC;SAClB,CAAC,CAAC;QACH,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IAuCI,qBAAqB,CAAC,UAAU,CAAC,EAAE;QACvC,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;QAChC,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;QACpC,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;KACnC,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAkDrD"}
|
|
@@ -1,18 +1,27 @@
|
|
|
1
|
-
import { DataverseBatchClient } from
|
|
2
|
-
import { esc } from
|
|
1
|
+
import { DataverseBatchClient } from "./dataverse-client.batch.js";
|
|
2
|
+
import { esc } from "./dataverse-client.utils.js";
|
|
3
3
|
const COMPONENT_TYPE_MAP = {
|
|
4
|
-
1:
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
1: "Entity",
|
|
5
|
+
2: "Attribute",
|
|
6
|
+
3: "Relationship",
|
|
7
|
+
9: "OptionSet",
|
|
8
|
+
29: "Workflow",
|
|
9
|
+
61: "SystemForm",
|
|
10
|
+
71: "SiteMap",
|
|
11
|
+
90: "PluginAssembly",
|
|
12
|
+
92: "PluginType",
|
|
13
|
+
97: "WebResource",
|
|
14
|
+
95: "ServiceEndpoint",
|
|
15
|
+
79: "ConnectionRole",
|
|
7
16
|
};
|
|
8
17
|
/** Escapes a string for safe embedding inside an XML element value. */
|
|
9
18
|
function xmlEscape(v) {
|
|
10
19
|
return v
|
|
11
|
-
.replace(/&/g,
|
|
12
|
-
.replace(/</g,
|
|
13
|
-
.replace(/>/g,
|
|
14
|
-
.replace(/"/g,
|
|
15
|
-
.replace(/'/g,
|
|
20
|
+
.replace(/&/g, "&")
|
|
21
|
+
.replace(/</g, "<")
|
|
22
|
+
.replace(/>/g, ">")
|
|
23
|
+
.replace(/"/g, """)
|
|
24
|
+
.replace(/'/g, "'");
|
|
16
25
|
}
|
|
17
26
|
/**
|
|
18
27
|
* Extends DataverseMetadataClient with advanced query capabilities:
|
|
@@ -23,9 +32,9 @@ export class DataverseAdvancedClient extends DataverseBatchClient {
|
|
|
23
32
|
async executeBoundFunction(entitySetName, recordId, functionName, params = {}) {
|
|
24
33
|
const paramStr = Object.entries(params)
|
|
25
34
|
.map(([k, v]) => `${esc(k)}='${esc(v)}'`)
|
|
26
|
-
.join(
|
|
35
|
+
.join(",");
|
|
27
36
|
const url = `${entitySetName}(${recordId})/${functionName}(${paramStr})`;
|
|
28
|
-
return this.requestWithRetry(() => this.http.get(url).then(r => r.data));
|
|
37
|
+
return this.requestWithRetry(() => this.http.get(url).then((r) => r.data));
|
|
29
38
|
}
|
|
30
39
|
// ─── Paging ──────────────────────────────────────────────────────────────
|
|
31
40
|
async queryWithPaging(entitySetName, options = {}) {
|
|
@@ -44,9 +53,9 @@ export class DataverseAdvancedClient extends DataverseBatchClient {
|
|
|
44
53
|
let response = await this.query(entitySetName, queryOptions);
|
|
45
54
|
records.push(...response.value);
|
|
46
55
|
pageCount++;
|
|
47
|
-
while (response[
|
|
48
|
-
const nextLink = response[
|
|
49
|
-
response = await this.requestWithRetry(() => this.http.get(nextLink).then(r => r.data));
|
|
56
|
+
while (response["@odata.nextLink"] && records.length < maxTotal) {
|
|
57
|
+
const nextLink = response["@odata.nextLink"];
|
|
58
|
+
response = await this.requestWithRetry(() => this.http.get(nextLink).then((r) => r.data));
|
|
50
59
|
records.push(...response.value);
|
|
51
60
|
pageCount++;
|
|
52
61
|
}
|
|
@@ -58,23 +67,23 @@ export class DataverseAdvancedClient extends DataverseBatchClient {
|
|
|
58
67
|
let url;
|
|
59
68
|
const extraHeaders = {};
|
|
60
69
|
if (deltaToken === null) {
|
|
61
|
-
const selectStr = select?.length ? `?$select=${select.join(
|
|
70
|
+
const selectStr = select?.length ? `?$select=${select.join(",")}` : "";
|
|
62
71
|
url = `${entitySetName}${selectStr}`;
|
|
63
|
-
extraHeaders[
|
|
72
|
+
extraHeaders["Prefer"] = "odata.track-changes";
|
|
64
73
|
}
|
|
65
74
|
else {
|
|
66
|
-
const selectStr = select?.length ? `&$select=${select.join(
|
|
75
|
+
const selectStr = select?.length ? `&$select=${select.join(",")}` : "";
|
|
67
76
|
url = `${entitySetName}?$deltatoken=${deltaToken}${selectStr}`;
|
|
68
77
|
}
|
|
69
78
|
const response = await this.requestWithRetry(() => this.http
|
|
70
79
|
.get(url, { headers: extraHeaders })
|
|
71
|
-
.then(r => r.data));
|
|
80
|
+
.then((r) => r.data));
|
|
72
81
|
const value = response.value ?? [];
|
|
73
82
|
const newAndModified = [];
|
|
74
83
|
const deleted = [];
|
|
75
84
|
for (const record of value) {
|
|
76
|
-
if (
|
|
77
|
-
const idUrl = String(record[
|
|
85
|
+
if ("@removed" in record) {
|
|
86
|
+
const idUrl = String(record["@id"] ?? "");
|
|
78
87
|
const match = idUrl.match(/\(([^)]+)\)$/);
|
|
79
88
|
deleted.push({ id: match ? match[1] : idUrl });
|
|
80
89
|
}
|
|
@@ -82,7 +91,7 @@ export class DataverseAdvancedClient extends DataverseBatchClient {
|
|
|
82
91
|
newAndModified.push(record);
|
|
83
92
|
}
|
|
84
93
|
}
|
|
85
|
-
const deltaLink = response[
|
|
94
|
+
const deltaLink = response["@odata.deltaLink"];
|
|
86
95
|
let nextDeltaToken = null;
|
|
87
96
|
if (deltaLink) {
|
|
88
97
|
const match = deltaLink.match(/\$deltatoken=([^&]+)/);
|
|
@@ -98,21 +107,22 @@ export class DataverseAdvancedClient extends DataverseBatchClient {
|
|
|
98
107
|
if (!solutions.length)
|
|
99
108
|
throw new Error(`Solution '${solutionName}' not found`);
|
|
100
109
|
const sol = solutions[0];
|
|
101
|
-
const solutionId = sol[
|
|
110
|
+
const solutionId = sol["solutionid"];
|
|
102
111
|
let filter = `_solutionid_value eq ${solutionId}`;
|
|
103
112
|
if (componentType !== undefined)
|
|
104
113
|
filter += ` and componenttype eq ${componentType}`;
|
|
105
114
|
const compResp = await this.http.get(`solutioncomponents?$filter=${filter}&$select=componenttype,objectid&$top=${top}&$orderby=componenttype`);
|
|
106
|
-
const components = compResp.data.value.map(c => ({
|
|
107
|
-
componentType: c[
|
|
108
|
-
componentTypeName: COMPONENT_TYPE_MAP[c[
|
|
109
|
-
|
|
115
|
+
const components = compResp.data.value.map((c) => ({
|
|
116
|
+
componentType: c["componenttype"],
|
|
117
|
+
componentTypeName: COMPONENT_TYPE_MAP[c["componenttype"]] ??
|
|
118
|
+
`Type${c["componenttype"]}`,
|
|
119
|
+
objectId: c["objectid"],
|
|
110
120
|
}));
|
|
111
121
|
return {
|
|
112
|
-
solutionName: sol[
|
|
122
|
+
solutionName: sol["uniquename"],
|
|
113
123
|
solutionId,
|
|
114
|
-
friendlyName: sol[
|
|
115
|
-
version: sol[
|
|
124
|
+
friendlyName: sol["friendlyname"],
|
|
125
|
+
version: sol["version"],
|
|
116
126
|
components,
|
|
117
127
|
count: components.length,
|
|
118
128
|
};
|
|
@@ -125,22 +135,43 @@ export class DataverseAdvancedClient extends DataverseBatchClient {
|
|
|
125
135
|
(components.webResources?.length ?? 0) > 0 ||
|
|
126
136
|
(components.optionSets?.length ?? 0) > 0);
|
|
127
137
|
if (!hasComponents) {
|
|
128
|
-
await this.http.post(
|
|
129
|
-
return {
|
|
138
|
+
await this.http.post("PublishAllXml", {});
|
|
139
|
+
return {
|
|
140
|
+
published: true,
|
|
141
|
+
message: "All customizations published successfully",
|
|
142
|
+
};
|
|
130
143
|
}
|
|
131
|
-
let paramXml =
|
|
144
|
+
let paramXml = "<importexportxml>";
|
|
132
145
|
if (components.entities?.length) {
|
|
133
|
-
paramXml +=
|
|
146
|
+
paramXml +=
|
|
147
|
+
"<entities>" +
|
|
148
|
+
components.entities
|
|
149
|
+
.map((e) => `<entity>${xmlEscape(e)}</entity>`)
|
|
150
|
+
.join("") +
|
|
151
|
+
"</entities>";
|
|
134
152
|
}
|
|
135
153
|
if (components.webResources?.length) {
|
|
136
|
-
paramXml +=
|
|
154
|
+
paramXml +=
|
|
155
|
+
"<webresources>" +
|
|
156
|
+
components.webResources
|
|
157
|
+
.map((r) => `<webresource>${xmlEscape(r)}</webresource>`)
|
|
158
|
+
.join("") +
|
|
159
|
+
"</webresources>";
|
|
137
160
|
}
|
|
138
161
|
if (components.optionSets?.length) {
|
|
139
|
-
paramXml +=
|
|
162
|
+
paramXml +=
|
|
163
|
+
"<optionsets>" +
|
|
164
|
+
components.optionSets
|
|
165
|
+
.map((o) => `<optionset>${xmlEscape(o)}</optionset>`)
|
|
166
|
+
.join("") +
|
|
167
|
+
"</optionsets>";
|
|
140
168
|
}
|
|
141
|
-
paramXml +=
|
|
142
|
-
await this.http.post(
|
|
143
|
-
return {
|
|
169
|
+
paramXml += "</importexportxml>";
|
|
170
|
+
await this.http.post("PublishXml", { ParameterXml: paramXml });
|
|
171
|
+
return {
|
|
172
|
+
published: true,
|
|
173
|
+
message: "Selected customizations published successfully",
|
|
174
|
+
};
|
|
144
175
|
});
|
|
145
176
|
}
|
|
146
177
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataverse-client-advanced.js","sourceRoot":"","sources":["../../src/dataverse/dataverse-client-advanced.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,OAAO,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAC;AAElD,MAAM,kBAAkB,GAA2B;IACjD,CAAC,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"dataverse-client-advanced.js","sourceRoot":"","sources":["../../src/dataverse/dataverse-client-advanced.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { DataverseClient } from "./dataverse-client.js";
|
|
2
|
+
/**
|
|
3
|
+
* Extends DataverseClient with action/function execution support.
|
|
4
|
+
* Kept in a separate file to stay within the 400-line hard limit.
|
|
5
|
+
*/
|
|
6
|
+
export declare class DataverseActionsClient extends DataverseClient {
|
|
7
|
+
executeAction(actionName: string, parameters?: Record<string, unknown>): Promise<unknown>;
|
|
8
|
+
executeFunction(functionName: string, parameters?: Record<string, string>): Promise<unknown>;
|
|
9
|
+
executeBoundAction(entitySetName: string, id: string, actionName: string, parameters?: Record<string, unknown>): Promise<unknown>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=dataverse-client.actions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dataverse-client.actions.d.ts","sourceRoot":"","sources":["../../src/dataverse/dataverse-client.actions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD;;;GAGG;AACH,qBAAa,sBAAuB,SAAQ,eAAe;IAGnD,aAAa,CACjB,UAAU,EAAE,MAAM,EAClB,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACvC,OAAO,CAAC,OAAO,CAAC;IAMb,eAAe,CACnB,YAAY,EAAE,MAAM,EACpB,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GACtC,OAAO,CAAC,OAAO,CAAC;IAQb,kBAAkB,CACtB,aAAa,EAAE,MAAM,EACrB,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,MAAM,EAClB,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACvC,OAAO,CAAC,OAAO,CAAC;CAUpB"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { DataverseClient } from "./dataverse-client.js";
|
|
2
|
+
import { esc } from "./dataverse-client.utils.js";
|
|
3
|
+
/**
|
|
4
|
+
* Extends DataverseClient with action/function execution support.
|
|
5
|
+
* Kept in a separate file to stay within the 400-line hard limit.
|
|
6
|
+
*/
|
|
7
|
+
export class DataverseActionsClient extends DataverseClient {
|
|
8
|
+
// ─── Actions & Functions ─────────────────────────────────────────────────
|
|
9
|
+
async executeAction(actionName, parameters = {}) {
|
|
10
|
+
return this.requestWithRetry(() => this.http.post(actionName, parameters).then((r) => r.data));
|
|
11
|
+
}
|
|
12
|
+
async executeFunction(functionName, parameters = {}) {
|
|
13
|
+
const paramStr = Object.entries(parameters)
|
|
14
|
+
.map(([k, v]) => `${esc(k)}='${esc(v)}'`)
|
|
15
|
+
.join(",");
|
|
16
|
+
const url = paramStr ? `${functionName}(${paramStr})` : `${functionName}()`;
|
|
17
|
+
return this.requestWithRetry(() => this.http.get(url).then((r) => r.data));
|
|
18
|
+
}
|
|
19
|
+
async executeBoundAction(entitySetName, id, actionName, parameters = {}) {
|
|
20
|
+
return this.requestWithRetry(() => this.http
|
|
21
|
+
.post(`${entitySetName}(${id})/Microsoft.Dynamics.CRM.${actionName}`, parameters)
|
|
22
|
+
.then((r) => r.data));
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=dataverse-client.actions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dataverse-client.actions.js","sourceRoot":"","sources":["../../src/dataverse/dataverse-client.actions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAC;AAElD;;;GAGG;AACH,MAAM,OAAO,sBAAuB,SAAQ,eAAe;IACzD,4EAA4E;IAE5E,KAAK,CAAC,aAAa,CACjB,UAAkB,EAClB,aAAsC,EAAE;QAExC,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAChC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAC3D,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,YAAoB,EACpB,aAAqC,EAAE;QAEvC,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;aACxC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;aACxC,IAAI,CAAC,GAAG,CAAC,CAAC;QACb,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,YAAY,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,YAAY,IAAI,CAAC;QAC5E,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,aAAqB,EACrB,EAAU,EACV,UAAkB,EAClB,aAAsC,EAAE;QAExC,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAChC,IAAI,CAAC,IAAI;aACN,IAAI,CACH,GAAG,aAAa,IAAI,EAAE,4BAA4B,UAAU,EAAE,EAC9D,UAAU,CACX;aACA,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CACvB,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { DataverseMetadataClient } from
|
|
2
|
-
import type { BatchRequest } from
|
|
1
|
+
import { DataverseMetadataClient } from "./dataverse-client.metadata.js";
|
|
2
|
+
import type { BatchRequest } from "./types.js";
|
|
3
3
|
/**
|
|
4
4
|
* Extends DataverseMetadataClient with batch execution support.
|
|
5
5
|
* Kept in a separate file to stay within the 400-line hard limit.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataverse-client.batch.d.ts","sourceRoot":"","sources":["../../src/dataverse/dataverse-client.batch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG/C;;;GAGG;AACH,qBAAa,oBAAqB,SAAQ,uBAAuB;IAGzD,YAAY,
|
|
1
|
+
{"version":3,"file":"dataverse-client.batch.d.ts","sourceRoot":"","sources":["../../src/dataverse/dataverse-client.batch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG/C;;;GAGG;AACH,qBAAa,oBAAqB,SAAQ,uBAAuB;IAGzD,YAAY,CAChB,QAAQ,EAAE,YAAY,EAAE,EACxB,YAAY,UAAQ,GACnB,OAAO,CAAC,OAAO,EAAE,CAAC;CA6EtB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { DataverseMetadataClient } from
|
|
2
|
-
import { parseMultipartResponse } from
|
|
1
|
+
import { DataverseMetadataClient } from "./dataverse-client.metadata.js";
|
|
2
|
+
import { parseMultipartResponse } from "./dataverse-client.utils.js";
|
|
3
3
|
/**
|
|
4
4
|
* Extends DataverseMetadataClient with batch execution support.
|
|
5
5
|
* Kept in a separate file to stay within the 400-line hard limit.
|
|
@@ -8,11 +8,11 @@ export class DataverseBatchClient extends DataverseMetadataClient {
|
|
|
8
8
|
// ─── Batch ───────────────────────────────────────────────────────────────
|
|
9
9
|
async batchExecute(requests, useChangeset = false) {
|
|
10
10
|
const batchId = `batch_${Date.now()}`;
|
|
11
|
-
let body =
|
|
11
|
+
let body = "";
|
|
12
12
|
if (useChangeset) {
|
|
13
13
|
const changesetId = `changeset_${Date.now() + 1}`;
|
|
14
|
-
const getOps = requests.filter(r => r.method ===
|
|
15
|
-
const mutatingOps = requests.filter(r => r.method !==
|
|
14
|
+
const getOps = requests.filter((r) => r.method === "GET");
|
|
15
|
+
const mutatingOps = requests.filter((r) => r.method !== "GET");
|
|
16
16
|
for (const req of getOps) {
|
|
17
17
|
body += `--${batchId}\n`;
|
|
18
18
|
body += `Content-Type: application/http\n`;
|
|
@@ -33,7 +33,7 @@ export class DataverseBatchClient extends DataverseMetadataClient {
|
|
|
33
33
|
body += `Content-Type: application/json\n\n`;
|
|
34
34
|
if (op.body)
|
|
35
35
|
body += JSON.stringify(op.body);
|
|
36
|
-
body +=
|
|
36
|
+
body += "\n\n";
|
|
37
37
|
}
|
|
38
38
|
body += `--${changesetId}--\n`;
|
|
39
39
|
}
|
|
@@ -47,20 +47,20 @@ export class DataverseBatchClient extends DataverseMetadataClient {
|
|
|
47
47
|
body += `Content-Type: application/json\n\n`;
|
|
48
48
|
if (req.body)
|
|
49
49
|
body += JSON.stringify(req.body);
|
|
50
|
-
body +=
|
|
50
|
+
body += "\n";
|
|
51
51
|
});
|
|
52
52
|
}
|
|
53
53
|
body += `--${batchId}--`;
|
|
54
|
-
const response = await this.requestWithRetry(() => this.http.post(
|
|
55
|
-
headers: {
|
|
56
|
-
responseType:
|
|
54
|
+
const response = await this.requestWithRetry(() => this.http.post("$batch", body, {
|
|
55
|
+
headers: { "Content-Type": `multipart/mixed;boundary=${batchId}` },
|
|
56
|
+
responseType: "text",
|
|
57
57
|
}));
|
|
58
58
|
try {
|
|
59
|
-
const contentType = response.headers[
|
|
59
|
+
const contentType = response.headers["content-type"] ?? "";
|
|
60
60
|
const boundaryMatch = contentType.match(/boundary=(?:"([^"]+)"|([^;"\s]+))/);
|
|
61
61
|
const responseBoundary = boundaryMatch?.[1] ?? boundaryMatch?.[2];
|
|
62
62
|
if (!responseBoundary) {
|
|
63
|
-
process.stderr.write(
|
|
63
|
+
process.stderr.write("[batchExecute] No multipart boundary in response Content-Type; returning raw data.\n");
|
|
64
64
|
return [response.data];
|
|
65
65
|
}
|
|
66
66
|
return parseMultipartResponse(response.data, responseBoundary);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataverse-client.batch.js","sourceRoot":"","sources":["../../src/dataverse/dataverse-client.batch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAEzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE;;;GAGG;AACH,MAAM,OAAO,oBAAqB,SAAQ,uBAAuB;IAC/D,4EAA4E;IAE5E,KAAK,CAAC,YAAY,
|
|
1
|
+
{"version":3,"file":"dataverse-client.batch.js","sourceRoot":"","sources":["../../src/dataverse/dataverse-client.batch.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { HttpClient } from
|
|
2
|
-
import type { AuthProvider } from
|
|
3
|
-
import type { ODataResponse, EntityMetadata, RelationshipMetadata } from
|
|
1
|
+
import { HttpClient } from "./http-client.js";
|
|
2
|
+
import type { AuthProvider } from "../auth/auth-provider.interface.js";
|
|
3
|
+
import type { ODataResponse, EntityMetadata, RelationshipMetadata } from "./types.js";
|
|
4
4
|
export declare class DataverseClient {
|
|
5
5
|
protected readonly http: HttpClient;
|
|
6
6
|
private readonly authProvider;
|
|
@@ -35,14 +35,11 @@ export declare class DataverseClient {
|
|
|
35
35
|
createRecord(entitySetName: string, data: Record<string, unknown>): Promise<string>;
|
|
36
36
|
updateRecord(entitySetName: string, id: string, data: Record<string, unknown>, etag?: string): Promise<void>;
|
|
37
37
|
deleteRecord(entitySetName: string, id: string): Promise<void>;
|
|
38
|
-
upsertRecord(entitySetName: string, alternateKey: string, alternateKeyValue: string, data: Record<string, unknown>, mode?:
|
|
39
|
-
operation:
|
|
38
|
+
upsertRecord(entitySetName: string, alternateKey: string, alternateKeyValue: string, data: Record<string, unknown>, mode?: "upsert" | "createOnly" | "updateOnly", keySegment?: string): Promise<{
|
|
39
|
+
operation: "created" | "updated";
|
|
40
40
|
id: string;
|
|
41
41
|
}>;
|
|
42
42
|
associate(entitySetName: string, id: string, relationshipName: string, relatedEntitySetName: string, relatedId: string): Promise<void>;
|
|
43
43
|
disassociate(entitySetName: string, id: string, relationshipName: string, relatedId?: string, relatedEntitySetName?: string): Promise<void>;
|
|
44
|
-
executeAction(actionName: string, parameters?: Record<string, unknown>): Promise<unknown>;
|
|
45
|
-
executeFunction(functionName: string, parameters?: Record<string, string>): Promise<unknown>;
|
|
46
|
-
executeBoundAction(entitySetName: string, id: string, actionName: string, parameters?: Record<string, unknown>): Promise<unknown>;
|
|
47
44
|
}
|
|
48
45
|
//# sourceMappingURL=dataverse-client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataverse-client.d.ts","sourceRoot":"","sources":["../../src/dataverse/dataverse-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,oBAAoB,EAErB,MAAM,YAAY,CAAC;AAmBpB,qBAAa,eAAe;IAC1B,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IACpC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;gBAExB,YAAY,EAAE,YAAY,EAAE,UAAU,SAAI,EAAE,SAAS,SAAS;cAiB1D,gBAAgB,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"dataverse-client.d.ts","sourceRoot":"","sources":["../../src/dataverse/dataverse-client.ts"],"names":[],"mappings":"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"}
|