dataverse-utils 2.8.1 → 2.9.1

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.
@@ -59,7 +59,9 @@ async function createImage(image, stepName, apiConfig) {
59
59
  }
60
60
  async function updateImage(id, image, stepName, apiConfig) {
61
61
  logger_1.logger.info(`update plugin image ${image.name} for step ${stepName}`);
62
- const result = await (0, node_1.update)(apiConfig, 'sdkmessageprocessingstepimages', id, image);
62
+ const entity = { ...image };
63
+ delete entity.sdkmessageprocessingstepimageid;
64
+ const result = await (0, node_1.update)(apiConfig, 'sdkmessageprocessingstepimages', id, entity);
63
65
  if (result?.error) {
64
66
  throw new Error(result.error.message);
65
67
  }
@@ -88,7 +88,9 @@ async function createStep(step, apiConfig, solution) {
88
88
  }
89
89
  async function updateStep(id, step, apiConfig) {
90
90
  logger_1.logger.info(`update plugin step ${step.name}`);
91
- const result = await (0, node_1.update)(apiConfig, 'sdkmessageprocessingsteps', id, step);
91
+ const entity = { ...step };
92
+ delete entity.sdkmessageprocessingstepid;
93
+ const result = await (0, node_1.update)(apiConfig, 'sdkmessageprocessingsteps', id, entity);
92
94
  if (result?.error) {
93
95
  throw new Error(result.error.message);
94
96
  }
@@ -58,7 +58,9 @@ async function createType(type, apiConfig) {
58
58
  }
59
59
  async function updateType(id, type, apiConfig) {
60
60
  logger_1.logger.info(`update assembly type ${type.name}`);
61
- const result = await (0, node_1.update)(apiConfig, 'plugintypes', id, type);
61
+ const entity = { ...type };
62
+ delete entity.plugintypeid;
63
+ const result = await (0, node_1.update)(apiConfig, 'plugintypes', id, entity);
62
64
  if (result?.error) {
63
65
  throw new Error(result.error.message);
64
66
  }
@@ -54,9 +54,10 @@ async function deploy(webResources, apiConfig, solution, files) {
54
54
  }
55
55
  }
56
56
  const promises = resources.map(async (resource) => {
57
- let resourceId = '';
58
57
  try {
59
- resourceId = await retrieveResource(resource.name, apiConfig);
58
+ if (!resource.webresourceid) {
59
+ resource.webresourceid = await retrieveResource(resource.name, apiConfig);
60
+ }
60
61
  }
61
62
  catch (error) {
62
63
  logger_1.logger.error(`failed to retrieve resource ${resource.name}: ${error.message}`);
@@ -64,9 +65,9 @@ async function deploy(webResources, apiConfig, solution, files) {
64
65
  }
65
66
  const fileContent = await fs_1.default.promises.readFile(resource.path, 'utf8');
66
67
  const content = Buffer.from(fileContent).toString('base64');
67
- if (resourceId != '') {
68
+ if (resource.webresourceid) {
68
69
  try {
69
- const updated = await updateResource(resourceId, resource, content, apiConfig);
70
+ const updated = await updateResource(resource, content, apiConfig);
70
71
  publishXml.push(updated);
71
72
  }
72
73
  catch (error) {
@@ -75,7 +76,7 @@ async function deploy(webResources, apiConfig, solution, files) {
75
76
  }
76
77
  else {
77
78
  try {
78
- resourceId = await createResource(resource, content, apiConfig, solution);
79
+ resource.webresourceid = await createResource(resource, content, apiConfig, solution);
79
80
  }
80
81
  catch (error) {
81
82
  logger_1.logger.error(`failed to create resource: ${error.message}`);
@@ -117,14 +118,16 @@ async function createResource(resource, content, apiConfig, solution) {
117
118
  }
118
119
  return result.webresourceid;
119
120
  }
120
- async function updateResource(id, resource, content, apiConfig) {
121
+ async function updateResource(resource, content, apiConfig) {
121
122
  logger_1.logger.info(`update web resource ${resource.name}`);
122
123
  const webResource = {
123
- content: content
124
+ content: content,
125
+ name: resource.name,
126
+ displayname: resource.displayname || resource.name
124
127
  };
125
- const result = await (0, node_1.update)(apiConfig, 'webresourceset', id, webResource);
128
+ const result = await (0, node_1.update)(apiConfig, 'webresourceset', resource.webresourceid, webResource);
126
129
  if (result?.error) {
127
130
  throw new Error(result.error.message);
128
131
  }
129
- return `<webresource>{${id}}</webresource>`;
132
+ return `<webresource>{${resource.webresourceid}}</webresource>`;
130
133
  }
@@ -15,15 +15,17 @@ async function webResourceDeploy(creds, apiConfig, files) {
15
15
  logger_1.logger.warn('unable to find dataverse.config.json file');
16
16
  return;
17
17
  }
18
- const config = JSON.parse(configFile).webResources;
18
+ const config = JSON.parse(configFile);
19
+ const resources = config.webResources;
19
20
  logger_1.logger.info('deploy web resources');
20
21
  try {
21
- await (0, webResource_1.deploy)(config, apiConfig, creds.solution, files);
22
+ await (0, webResource_1.deploy)(resources, apiConfig, creds.solution, files);
22
23
  }
23
24
  catch (error) {
24
25
  logger_1.logger.error(error.message);
25
26
  return;
26
27
  }
27
28
  logger_1.logger.done('deployed web resources');
29
+ await fs_1.default.promises.writeFile(path_1.default.resolve(currentPath, 'dataverse.config.json'), JSON.stringify(config, null, 4), 'utf8');
28
30
  }
29
31
  exports.webResourceDeploy = webResourceDeploy;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dataverse-utils",
3
- "version": "2.8.1",
3
+ "version": "2.9.1",
4
4
  "license": "MIT",
5
5
  "description": "Utilities for interacting with Dataverse environments",
6
6
  "main": "lib/index.js",
@@ -24,7 +24,7 @@
24
24
  },
25
25
  "dependencies": {
26
26
  "@azure/msal-node": "^2.6.1",
27
- "commander": "^8.3.0",
27
+ "commander": "^12.0.0",
28
28
  "cryptr": "^6.2.0",
29
29
  "dataverse-webapi": "^2.4.2",
30
30
  "envinfo": "^7.10.0",
@@ -36,7 +36,7 @@
36
36
  "devDependencies": {
37
37
  "@types/cryptr": "^4.0.1",
38
38
  "@types/glob": "^7.2.0",
39
- "@types/node": "^16.18.37",
39
+ "@types/node": "^18.19.20",
40
40
  "@types/prompts": "^2.4.4"
41
41
  },
42
42
  "volta": {