sb-mig 5.0.8-beta.1 → 5.0.8-beta.2

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.
Files changed (50) hide show
  1. package/dist/api/assets/assets.js +10 -10
  2. package/dist/api/assets/assets.types.d.ts +3 -0
  3. package/dist/api/data-migration/component-data-migration.js +5 -5
  4. package/dist/api/datasources/datasources.d.ts +1 -3
  5. package/dist/api/datasources/datasources.js +0 -36
  6. package/dist/api/datasources/index.d.ts +1 -1
  7. package/dist/api/datasources/index.js +1 -1
  8. package/dist/api/managementApi.d.ts +0 -4
  9. package/dist/api/migrate.js +4 -4
  10. package/dist/api/migrate.types.d.ts +1 -1
  11. package/dist/api/presets/componentPresets.js +4 -7
  12. package/dist/api/presets/presets.js +1 -2
  13. package/dist/api/roles/index.d.ts +1 -1
  14. package/dist/api/roles/index.js +1 -1
  15. package/dist/api/roles/roles.d.ts +1 -3
  16. package/dist/api/roles/roles.js +0 -41
  17. package/dist/api/roles/roles.types.d.ts +1 -1
  18. package/dist/api/stories/backup.js +2 -2
  19. package/dist/api/stories/stories.js +4 -6
  20. package/dist/api/testApi.d.ts +70 -0
  21. package/dist/api/testApi.js +20 -0
  22. package/dist/api/utils/request.d.ts +2 -4
  23. package/dist/cli/api-config.js +1 -0
  24. package/dist/cli/commands/backup.js +14 -14
  25. package/dist/cli/commands/discover.js +3 -2
  26. package/dist/cli/commands/migrate.js +7 -6
  27. package/dist/cli/commands/migrations.js +1 -1
  28. package/dist/cli/commands/revert.js +5 -4
  29. package/dist/cli/commands/sync.js +10 -7
  30. package/dist/cli/datasources/sync.d.ts +3 -0
  31. package/dist/cli/datasources/sync.js +37 -0
  32. package/dist/cli/helpers.d.ts +1 -0
  33. package/dist/cli/helpers.js +36 -0
  34. package/dist/cli/roles/sync.d.ts +3 -0
  35. package/dist/cli/roles/sync.js +42 -0
  36. package/dist/{utils → cli/utils}/discover.js +3 -3
  37. package/dist/config/config.d.ts +3 -5
  38. package/dist/config/config.js +2 -5
  39. package/dist/config/constants.d.ts +4 -0
  40. package/dist/config/constants.js +4 -0
  41. package/dist/config/defaultConfig.d.ts +2 -0
  42. package/dist/config/defaultConfig.js +51 -0
  43. package/dist/config/helper.d.ts +2 -2
  44. package/dist/config/helper.js +2 -51
  45. package/dist/utils/files.d.ts +5 -4
  46. package/dist/utils/files.js +10 -9
  47. package/dist/utils/others.d.ts +3 -3
  48. package/dist/utils/others.js +2 -39
  49. package/package.json +1 -1
  50. /package/dist/{utils → cli/utils}/discover.d.ts +0 -0
@@ -2,11 +2,11 @@ import fs from "fs";
2
2
  import https from "https";
3
3
  import path from "path";
4
4
  import FormData from "form-data";
5
- import storyblokConfig from "../../config/config.js";
6
5
  import { createDir, isDirectoryExists } from "../../utils/files.js";
7
6
  import Logger from "../../utils/logger.js";
8
7
  // GET
9
- export const getAllAssets = async ({ spaceId, search }, config) => {
8
+ export const getAllAssets = async (args, config) => {
9
+ const { spaceId, search } = args;
10
10
  const { sbApi } = config;
11
11
  return sbApi
12
12
  .get(`spaces/${spaceId}/assets/`, {
@@ -36,7 +36,7 @@ export const getAssetByName = async ({ spaceId, fileName }, config) => {
36
36
  }
37
37
  };
38
38
  const requestSignedUploadUrl = ({ spaceId, payload }, config) => {
39
- const { sbApi } = config;
39
+ const { sbApi, debug } = config;
40
40
  const { filename: _1, asset_folder_id, ext_id, space_id, ...restPayload } = payload;
41
41
  const filename = getFileName(payload.filename);
42
42
  const size = getSizeFromURL(payload.filename);
@@ -47,7 +47,7 @@ const requestSignedUploadUrl = ({ spaceId, payload }, config) => {
47
47
  ...restPayload,
48
48
  })
49
49
  .then((signedResponseObject) => {
50
- if (storyblokConfig.debug) {
50
+ if (debug) {
51
51
  Logger.log(`Signed upload URL has been requested for ${filename}.`);
52
52
  }
53
53
  return signedResponseObject.data; // this is very bad... but storyblok-js-client types are pretty broken
@@ -91,13 +91,13 @@ const getSizeFromURL = (fileUrl) => {
91
91
  const sizePos = data.length - 3;
92
92
  return data[sizePos];
93
93
  };
94
- const downloadAsset = async ({ payload }) => {
94
+ const downloadAsset = async (args, config) => {
95
+ const { debug, sbmigWorkingDirectory } = config;
96
+ const { payload } = args;
95
97
  const fileName = getFileName(payload.filename);
96
98
  const fileUrl = payload.filename;
97
- const downloadedAssetsFolder = path.join(storyblokConfig.sbmigWorkingDirectory, "downloadedAssets");
98
- Logger.log(`Downloading ${fileName} asset ${storyblokConfig.debug
99
- ? `from ${fileUrl} to ${downloadedAssetsFolder}`
100
- : ""}`);
99
+ const downloadedAssetsFolder = path.join(sbmigWorkingDirectory, "downloadedAssets");
100
+ Logger.log(`Downloading ${fileName} asset ${debug ? `from ${fileUrl} to ${downloadedAssetsFolder}` : ""}`);
101
101
  if (!isDirectoryExists(downloadedAssetsFolder)) {
102
102
  await createDir(downloadedAssetsFolder);
103
103
  }
@@ -119,7 +119,7 @@ const downloadAsset = async ({ payload }) => {
119
119
  });
120
120
  };
121
121
  export const migrateAsset = async ({ migrateTo, payload, syncDirection }, config) => {
122
- const pathToFile = await downloadAsset({ payload });
122
+ const pathToFile = await downloadAsset({ payload }, config);
123
123
  if (syncDirection === "fromSpaceToSpace") {
124
124
  const signedResponseObject = await requestSignedUploadUrl({
125
125
  spaceId: migrateTo,
@@ -63,3 +63,6 @@ export type RequestSignedUploadUrl = ({ spaceId, payload, }: {
63
63
  spaceId: string;
64
64
  payload: AssetPayload;
65
65
  }, config: RequestBaseConfig) => Promise<any>;
66
+ export type DownloadAsset = (args: {
67
+ payload: AssetPayload;
68
+ }, config: RequestBaseConfig) => Promise<string>;
@@ -1,7 +1,7 @@
1
1
  import path from "path";
2
2
  import chalk from "chalk";
3
+ import { discoverMigrationConfig, discoverStories, LOOKUP_TYPE, SCOPE, } from "../../cli/utils/discover.js";
3
4
  import storyblokConfig from "../../config/config.js";
4
- import { discoverMigrationConfig, discoverStories, LOOKUP_TYPE, SCOPE, } from "../../utils/discover.js";
5
5
  import { createAndSaveToFile } from "../../utils/files.js";
6
6
  import Logger from "../../utils/logger.js";
7
7
  import { getFilesContentWithRequire, isObjectEmpty } from "../../utils/main.js";
@@ -193,7 +193,7 @@ export const doTheMigration = async ({ itemType = "story", from, itemsToMigrate,
193
193
  filename: `${from}---${itemType}-to-migrate`,
194
194
  folder: "migrations",
195
195
  res: notNullMigratedItems,
196
- });
196
+ }, config);
197
197
  await modifyOrCreateAppliedMigrationsFile(migrationConfig, itemType);
198
198
  if (itemType === "story") {
199
199
  await managementApi.stories.updateStories({
@@ -210,7 +210,7 @@ export const doTheMigration = async ({ itemType = "story", from, itemsToMigrate,
210
210
  }, config);
211
211
  }
212
212
  };
213
- const saveBackupToFile = async ({ itemType, res, folder, filename, }) => {
213
+ const saveBackupToFile = async ({ itemType, res, folder, filename }, config) => {
214
214
  await createAndSaveToFile({
215
215
  ext: "json",
216
216
  datestamp: true,
@@ -218,7 +218,7 @@ const saveBackupToFile = async ({ itemType, res, folder, filename, }) => {
218
218
  filename,
219
219
  folder,
220
220
  res: res,
221
- });
221
+ }, config);
222
222
  };
223
223
  export const migrateProvidedComponentsDataInStories = async ({ itemType, migrationConfig, migrateFrom, from, to, componentsToMigrate, }, config) => {
224
224
  const migrationConfigFileContent = prepareMigrationConfig({
@@ -257,7 +257,7 @@ export const migrateProvidedComponentsDataInStories = async ({ itemType, migrati
257
257
  filename: `before__${migrationConfig}__${from}`,
258
258
  folder: backupFolder,
259
259
  res: itemsToMigrate,
260
- });
260
+ }, config);
261
261
  await doTheMigration({
262
262
  itemType,
263
263
  itemsToMigrate,
@@ -1,8 +1,6 @@
1
- import type { CreateDatasource, GetAllDatasources, GetDatasource, SyncAllDatasources, SyncDatasources, SyncProvidedDatasources, UpdateDatasource } from "./datasources.types.js";
1
+ import type { CreateDatasource, GetAllDatasources, GetDatasource, SyncDatasources, UpdateDatasource } from "./datasources.types.js";
2
2
  export declare const getAllDatasources: GetAllDatasources;
3
3
  export declare const getDatasource: GetDatasource;
4
4
  export declare const createDatasource: CreateDatasource;
5
5
  export declare const updateDatasource: UpdateDatasource;
6
6
  export declare const syncDatasources: SyncDatasources;
7
- export declare const syncProvidedDatasources: SyncProvidedDatasources;
8
- export declare const syncAllDatasources: SyncAllDatasources;
@@ -1,4 +1,3 @@
1
- import { discoverDatasources, discoverManyDatasources, LOOKUP_TYPE, SCOPE, } from "../../utils/discover.js";
2
1
  import Logger from "../../utils/logger.js";
3
2
  import { getFilesContentWithRequire } from "../../utils/main.js";
4
3
  import { getAllItemsWithPagination } from "../utils/request.js";
@@ -142,38 +141,3 @@ export const syncDatasources = async (args, config) => {
142
141
  return false;
143
142
  });
144
143
  };
145
- export const syncProvidedDatasources = async (args, config) => {
146
- const { datasources } = args;
147
- const allLocalDatasources = await discoverManyDatasources({
148
- scope: SCOPE.local,
149
- type: LOOKUP_TYPE.fileName,
150
- fileNames: datasources,
151
- });
152
- const allExternalDatasources = await discoverManyDatasources({
153
- scope: SCOPE.external,
154
- type: LOOKUP_TYPE.fileName,
155
- fileNames: datasources,
156
- });
157
- syncDatasources({
158
- providedDatasources: [
159
- ...allLocalDatasources,
160
- ...allExternalDatasources,
161
- ],
162
- }, config);
163
- };
164
- export const syncAllDatasources = (config) => {
165
- const allLocalDatasources = discoverDatasources({
166
- scope: SCOPE.local,
167
- type: LOOKUP_TYPE.fileName,
168
- });
169
- const allExternalDatasources = discoverDatasources({
170
- scope: SCOPE.external,
171
- type: LOOKUP_TYPE.fileName,
172
- });
173
- syncDatasources({
174
- providedDatasources: [
175
- ...allLocalDatasources,
176
- ...allExternalDatasources,
177
- ],
178
- }, config);
179
- };
@@ -1 +1 @@
1
- export { createDatasource, getDatasource, getAllDatasources, syncAllDatasources, syncDatasources, syncProvidedDatasources, updateDatasource, } from "./datasources.js";
1
+ export { createDatasource, getDatasource, getAllDatasources, syncDatasources, updateDatasource, } from "./datasources.js";
@@ -1 +1 @@
1
- export { createDatasource, getDatasource, getAllDatasources, syncAllDatasources, syncDatasources, syncProvidedDatasources, updateDatasource, } from "./datasources.js";
1
+ export { createDatasource, getDatasource, getAllDatasources, syncDatasources, updateDatasource, } from "./datasources.js";
@@ -25,9 +25,7 @@ export declare const managementApi: {
25
25
  createDatasource: import("./datasources/datasources.types.js").CreateDatasource;
26
26
  getDatasource: import("./datasources/datasources.types.js").GetDatasource;
27
27
  getAllDatasources: import("./datasources/datasources.types.js").GetAllDatasources;
28
- syncAllDatasources: import("./datasources/datasources.types.js").SyncAllDatasources;
29
28
  syncDatasources: import("./datasources/datasources.types.js").SyncDatasources;
30
- syncProvidedDatasources: import("./datasources/datasources.types.js").SyncProvidedDatasources;
31
29
  updateDatasource: import("./datasources/datasources.types.js").UpdateDatasource;
32
30
  };
33
31
  plugins: {
@@ -50,8 +48,6 @@ export declare const managementApi: {
50
48
  createRole: import("./roles/roles.types.js").CreateRole;
51
49
  getRole: import("./roles/roles.types.js").GetRole;
52
50
  getAllRoles: import("./roles/roles.types.js").GetAllRoles;
53
- syncAllRoles: import("./roles/roles.types.js").SyncAllRoles;
54
- syncProvidedRoles: import("./roles/roles.types.js").SyncProvidedRoles;
55
51
  syncRoles: import("./roles/roles.types.js").SyncRoles;
56
52
  updateRole: import("./roles/roles.types.js").UpdateRole;
57
53
  };
@@ -1,6 +1,5 @@
1
1
  import { apiConfig } from "../cli/api-config.js";
2
- import storyblokConfig from "../config/config.js";
3
- import { compare, discover, discoverMany, discoverManyByPackageName, discoverStories, LOOKUP_TYPE, SCOPE, } from "../utils/discover.js";
2
+ import { compare, discover, discoverMany, discoverManyByPackageName, discoverStories, LOOKUP_TYPE, SCOPE, } from "../cli/utils/discover.js";
4
3
  import { dumpToFile } from "../utils/files.js";
5
4
  import Logger from "../utils/logger.js";
6
5
  import { getFileContentWithRequire, getFilesContentWithRequire, isObjectEmpty, } from "../utils/main.js";
@@ -188,12 +187,12 @@ const syncStories = async ({ transmission: { from, to }, stories, toSpaceId }, c
188
187
  .map((item) => item.parent_id === 0 ? { ...item, parent_id: null } : item);
189
188
  Logger.warning(`Amount of all stories to migrate: ${storiesToPass.length}`);
190
189
  const storiesToPassJson = JSON.stringify(storiesToPass, null, 2);
191
- if (storyblokConfig.debug) {
190
+ if (config.debug) {
192
191
  dumpToFile("storiesToPass.json", storiesToPassJson);
193
192
  }
194
193
  const tree = createTree(storiesToPass);
195
194
  const jsonString = JSON.stringify(tree, null, 2);
196
- if (storyblokConfig.debug) {
195
+ if (config.debug) {
197
196
  dumpToFile("tree.json", jsonString);
198
197
  }
199
198
  await traverseAndCreate({ tree, realParentId: null, spaceId: toSpaceId }, config);
@@ -209,6 +208,7 @@ export const syncContent = async ({ type, transmission, syncDirection, filename
209
208
  }
210
209
  if (syncDirection === "fromSpaceToSpace") {
211
210
  const stories = await getAllStories({
211
+ ...config,
212
212
  spaceId: transmission.from,
213
213
  sbApi: config.sbApi,
214
214
  });
@@ -1,6 +1,6 @@
1
1
  import type { RequestBaseConfig } from "./utils/request.js";
2
2
  import type { SyncDirection } from "../cli/sync.types.js";
3
- import type { OneComponent } from "../utils/discover.js";
3
+ import type { OneComponent } from "../cli/utils/discover.js";
4
4
  export type SyncComponents = (specifiedComponents: OneComponent[], presets: boolean, config: RequestBaseConfig) => Promise<any>;
5
5
  export type SyncAllComponents = (presets: boolean, config: RequestBaseConfig) => Promise<any>;
6
6
  export type SyncProvidedComponents = (presets: boolean, components: string[], packageName: boolean, config: RequestBaseConfig) => Promise<any>;
@@ -1,19 +1,16 @@
1
1
  import Logger from "../../utils/logger.js";
2
- import { managementApi } from "../managementApi.js";
2
+ import { getAllComponents } from "../components/components.js";
3
+ import { getPreset } from "./presets.js";
3
4
  export const getComponentPresets = (componentName, config) => {
4
5
  Logger.log(`Trying to get all '${componentName}' presets.`);
5
- return managementApi.components
6
- .getAllComponents(config)
7
- .then(async (res) => {
6
+ return getAllComponents(config).then(async (res) => {
8
7
  const componentPresets = res.filter((component) => component.name === componentName);
9
8
  if (componentPresets.length > 0) {
10
9
  if (componentPresets[0].all_presets.length === 0) {
11
10
  Logger.warning(`There is no presets for: '${componentName}' component`);
12
11
  return false;
13
12
  }
14
- return Promise.all(componentPresets[0].all_presets.map((preset) => managementApi.presets
15
- .getPreset({ presetId: preset.id }, config)
16
- .catch((err) => Logger.error(err))));
13
+ return Promise.all(componentPresets[0].all_presets.map((preset) => getPreset({ presetId: preset.id }, config).catch((err) => Logger.error(err))));
17
14
  }
18
15
  Logger.warning(`There is no '${componentName}' component`);
19
16
  return false;
@@ -70,13 +70,12 @@ export const updatePreset = (args, config) => {
70
70
  });
71
71
  };
72
72
  export const updatePresets = (args, config) => {
73
- const { sbApi } = config;
74
73
  const { presets, spaceId } = args;
75
74
  return Promise.allSettled(presets.map(async (item) => {
76
75
  return updatePreset({
77
76
  p: {
78
77
  preset: item,
79
78
  },
80
- }, { sbApi, spaceId });
79
+ }, { ...config, spaceId });
81
80
  }));
82
81
  };
@@ -1 +1 @@
1
- export { createRole, getRole, getAllRoles, syncAllRoles, syncProvidedRoles, syncRoles, updateRole, } from "./roles.js";
1
+ export { createRole, getRole, getAllRoles, syncRoles, updateRole, } from "./roles.js";
@@ -1 +1 @@
1
- export { createRole, getRole, getAllRoles, syncAllRoles, syncProvidedRoles, syncRoles, updateRole, } from "./roles.js";
1
+ export { createRole, getRole, getAllRoles, syncRoles, updateRole, } from "./roles.js";
@@ -1,8 +1,6 @@
1
- import type { CreateRole, GetAllRoles, GetRole, SyncAllRoles, SyncProvidedRoles, SyncRoles, UpdateRole } from "./roles.types.js";
1
+ import type { CreateRole, GetAllRoles, GetRole, SyncRoles, UpdateRole } from "./roles.types.js";
2
2
  export declare const createRole: CreateRole;
3
3
  export declare const updateRole: UpdateRole;
4
4
  export declare const getAllRoles: GetAllRoles;
5
5
  export declare const getRole: GetRole;
6
6
  export declare const syncRoles: SyncRoles;
7
- export declare const syncAllRoles: SyncAllRoles;
8
- export declare const syncProvidedRoles: SyncProvidedRoles;
@@ -1,4 +1,3 @@
1
- import { LOOKUP_TYPE, SCOPE, compare, discoverRoles, discoverManyRoles, } from "../../utils/discover.js";
2
1
  import Logger from "../../utils/logger.js";
3
2
  import { getFileContentWithRequire } from "../../utils/main.js";
4
3
  import { getAllItemsWithPagination } from "../utils/request.js";
@@ -96,43 +95,3 @@ export const syncRoles = async ({ specifiedRoles }, config) => {
96
95
  await createRole(role, config);
97
96
  });
98
97
  };
99
- export const syncAllRoles = async (config) => {
100
- // #1: discover all external .roles.sb.js files
101
- const allLocalSbComponentsSchemaFiles = discoverRoles({
102
- scope: SCOPE.local,
103
- type: LOOKUP_TYPE.fileName,
104
- });
105
- // #2: discover all local .roles.sb.js files
106
- const allExternalSbComponentsSchemaFiles = discoverRoles({
107
- scope: SCOPE.external,
108
- type: LOOKUP_TYPE.fileName,
109
- });
110
- // #3: compare results, prefare local ones (so we have to create final external paths array and local array of things to sync from where)
111
- const { local, external } = compare({
112
- local: allLocalSbComponentsSchemaFiles,
113
- external: allExternalSbComponentsSchemaFiles,
114
- });
115
- // #4: sync - do all stuff already done (groups resolving, and so on)
116
- await syncRoles({ specifiedRoles: [...local, ...external] }, config);
117
- };
118
- export const syncProvidedRoles = async ({ roles }, config) => {
119
- // #1: discover all external .sb.js files
120
- const allLocalSbComponentsSchemaFiles = await discoverManyRoles({
121
- scope: SCOPE.local,
122
- type: LOOKUP_TYPE.fileName,
123
- fileNames: roles,
124
- });
125
- // #2: discover all local .sb.js files
126
- const allExternalSbComponentsSchemaFiles = await discoverManyRoles({
127
- scope: SCOPE.external,
128
- type: LOOKUP_TYPE.fileName,
129
- fileNames: roles,
130
- });
131
- // #3: compare results, prefer local ones (so we have to create final external paths array and local array of things to sync from where)
132
- const { local, external } = compare({
133
- local: allLocalSbComponentsSchemaFiles,
134
- external: allExternalSbComponentsSchemaFiles,
135
- });
136
- // #4: sync - do all stuff already done (groups resolving, and so on)
137
- await syncRoles({ specifiedRoles: [...local, ...external] }, config);
138
- };
@@ -1,4 +1,4 @@
1
- import type { OneComponent } from "../../utils/discover.js";
1
+ import type { OneComponent } from "../../cli/utils/discover.js";
2
2
  import type { RequestBaseConfig } from "../utils/request.js";
3
3
  export type GetRole = (roleName: string | undefined, config: RequestBaseConfig) => Promise<void>;
4
4
  export type GetAllRoles = (config: RequestBaseConfig) => Promise<any>;
@@ -3,7 +3,7 @@ import Logger from "../../utils/logger.js";
3
3
  import { getAllStories } from "./stories.js";
4
4
  export const backupStories = async ({ suffix, spaceId, filename }, config) => {
5
5
  Logger.log(`Making backup of your stories.`);
6
- await getAllStories({ spaceId, sbApi: config.sbApi })
6
+ await getAllStories({ ...config, spaceId })
7
7
  .then(async (res) => {
8
8
  await createAndSaveToFile({
9
9
  ext: "json",
@@ -12,7 +12,7 @@ export const backupStories = async ({ suffix, spaceId, filename }, config) => {
12
12
  suffix,
13
13
  folder: "stories",
14
14
  res,
15
- });
15
+ }, config);
16
16
  })
17
17
  .catch((err) => {
18
18
  Logger.error(err);
@@ -1,5 +1,4 @@
1
1
  import chalk from "chalk";
2
- import storyblokConfig from "../../config/config.js";
3
2
  import Logger from "../../utils/logger.js";
4
3
  import { getAllItemsWithPagination } from "../utils/request.js";
5
4
  export const removeStory = (args, config) => {
@@ -55,14 +54,14 @@ export const getAllStories = async (config) => {
55
54
  };
56
55
  // GET
57
56
  export const getStoryById = (storyId, config) => {
58
- const { spaceId, sbApi } = config;
59
- if (storyblokConfig.debug) {
57
+ const { spaceId, sbApi, debug } = config;
58
+ if (debug) {
60
59
  console.log(`Trying to get Story with id: ${storyId} from space: ${spaceId}, to fill content field.`);
61
60
  }
62
61
  return sbApi
63
62
  .get(`spaces/${spaceId}/stories/${storyId}`)
64
63
  .then((res) => {
65
- if (storyblokConfig.debug) {
64
+ if (debug) {
66
65
  Logger.success(`Successfuly fetched story with content, with id: ${storyId} from space: ${spaceId}.`);
67
66
  }
68
67
  return res.data;
@@ -111,11 +110,10 @@ export const updateStory = (content, storyId, options, config) => {
111
110
  .catch((err) => console.error(err));
112
111
  };
113
112
  export const updateStories = (args, config) => {
114
- const { sbApi } = config;
115
113
  const { stories, options, spaceId } = args;
116
114
  return Promise.allSettled(
117
115
  // Run through stories, and update the space with migrated version of stories
118
116
  stories.map(async (stories) => {
119
- return updateStory(stories.story, stories.story.id, { publish: options.publish }, { sbApi, spaceId });
117
+ return updateStory(stories.story, stories.story.id, { publish: options.publish }, { ...config, spaceId });
120
118
  }));
121
119
  };
@@ -0,0 +1,70 @@
1
+ export declare const testApi: {
2
+ assets: {
3
+ getAllAssets: import("./assets/assets.types.js").GetAllAssets;
4
+ migrateAsset: import("./assets/assets.types.js").MigrateAsset;
5
+ getAsset: (assetName: string | undefined) => Promise<void>;
6
+ getAssetById: import("./assets/assets.types.js").GetAssetById;
7
+ getAssetByName: import("./assets/assets.types.js").GetAssetByName;
8
+ };
9
+ auth: {
10
+ getCurrentUser: import("./auth/auth.types.js").GetCurrentUser;
11
+ hasAccessToSpace: import("./auth/auth.types.js").HasAccessToSpace;
12
+ };
13
+ components: {
14
+ getAllComponents: import("./components/components.types.js").GetAllComponents;
15
+ getComponent: import("./components/components.types.js").GetComponent;
16
+ getAllComponentsGroups: import("./components/components.types.js").GetAllComponentsGroups;
17
+ createComponentsGroup: import("./components/components.types.js").CreateComponentsGroup;
18
+ getComponentsGroup: import("./components/components.types.js").GetComponentsGroup;
19
+ removeComponentGroup: import("./components/components.types.js").RemoveComponentGroup;
20
+ removeComponent: import("./components/components.types.js").RemoveComponent;
21
+ updateComponent: import("./components/components.types.js").UpdateComponent;
22
+ createComponent: import("./components/components.types.js").CreateComponent;
23
+ };
24
+ datasources: {
25
+ createDatasource: import("./datasources/datasources.types.js").CreateDatasource;
26
+ getDatasource: import("./datasources/datasources.types.js").GetDatasource;
27
+ getAllDatasources: import("./datasources/datasources.types.js").GetAllDatasources;
28
+ syncDatasources: import("./datasources/datasources.types.js").SyncDatasources;
29
+ updateDatasource: import("./datasources/datasources.types.js").UpdateDatasource;
30
+ };
31
+ plugins: {
32
+ getAllPlugins: import("./plugins/plugins.types.js").GetAllPlugins;
33
+ getPlugin: import("./plugins/plugins.types.js").GetPlugin;
34
+ updatePlugin: import("./plugins/plugins.types.js").UpdatePlugin;
35
+ createPlugin: import("./plugins/plugins.types.js").CreatePlugin;
36
+ getPluginDetails: import("./plugins/plugins.types.js").GetPluginDetails;
37
+ syncProvidedPlugins: import("./plugins/plugins.types.js").SyncProvidedPlugins;
38
+ };
39
+ presets: {
40
+ getComponentPresets: (componentName: string | undefined, config: import("./utils/request.js").RequestBaseConfig) => Promise<false | any[]>;
41
+ getPreset: import("./presets/presets.types.js").GetPresetById;
42
+ createPreset: (p: any, config: import("./utils/request.js").RequestBaseConfig) => Promise<any>;
43
+ getAllPresets: (config: import("./utils/request.js").RequestBaseConfig) => Promise<any[]>;
44
+ updatePreset: import("./presets/presets.types.js").UpdatePreset;
45
+ updatePresets: import("./presets/presets.types.js").UpdatePresets;
46
+ };
47
+ roles: {
48
+ createRole: import("./roles/roles.types.js").CreateRole;
49
+ getRole: import("./roles/roles.types.js").GetRole;
50
+ getAllRoles: import("./roles/roles.types.js").GetAllRoles;
51
+ syncRoles: import("./roles/roles.types.js").SyncRoles;
52
+ updateRole: import("./roles/roles.types.js").UpdateRole;
53
+ };
54
+ stories: {
55
+ createStory: import("./stories/stories.types.js").CreateStory;
56
+ updateStory: import("./stories/stories.types.js").UpdateStory;
57
+ getStoryById: import("./stories/stories.types.js").GetStoryById;
58
+ removeStory: import("./stories/stories.types.js").RemoveStory;
59
+ getStoryBySlug: import("./stories/stories.types.js").GetStoryBySlug;
60
+ updateStories: import("./stories/stories.types.js").UpdateStories;
61
+ getAllStories: import("./stories/stories.types.js").GetAllStories;
62
+ removeAllStories: import("./stories/stories.types.js").RemoveAllStories;
63
+ backupStories: import("./stories/stories.types.js").BackupStories;
64
+ };
65
+ spaces: {
66
+ getAllSpaces: import("./spaces/spaces.types.js").GetAllSpaces;
67
+ getSpace: import("./spaces/spaces.types.js").GetSpace;
68
+ updateSpace: import("./spaces/spaces.types.js").UpdateSpace;
69
+ };
70
+ };
@@ -0,0 +1,20 @@
1
+ import * as assets from "./assets/index.js";
2
+ import * as auth from "./auth/index.js";
3
+ import * as components from "./components/index.js";
4
+ import * as datasources from "./datasources/index.js";
5
+ import * as plugins from "./plugins/index.js";
6
+ import * as presets from "./presets/index.js";
7
+ import * as roles from "./roles/index.js";
8
+ import * as spaces from "./spaces/index.js";
9
+ import * as stories from "./stories/index.js";
10
+ export const testApi = {
11
+ assets: { ...assets },
12
+ auth: { ...auth },
13
+ components: { ...components },
14
+ datasources: { ...datasources },
15
+ plugins: { ...plugins },
16
+ presets: { ...presets },
17
+ roles: { ...roles },
18
+ stories: { ...stories },
19
+ spaces: { ...spaces },
20
+ };
@@ -1,10 +1,8 @@
1
+ import type { IStoryblokConfig } from "../../config/config.js";
1
2
  import type StoryblokClient from "storyblok-js-client";
2
- export interface RequestBaseConfig {
3
+ export interface RequestBaseConfig extends Omit<IStoryblokConfig, "sbApi"> {
3
4
  spaceId: string;
4
5
  sbApi: StoryblokClient;
5
- debug?: boolean;
6
- contentHubOriginUrl?: string;
7
- contentHubAuthorizationToken?: string;
8
6
  }
9
7
  interface GetAllItemsWithPagination {
10
8
  apiFn: (...args: any) => any;
@@ -13,6 +13,7 @@ const globalSbapi = new StoryblokClient({
13
13
  const generateApi = (custom) => custom;
14
14
  export const sbApi = generateApi(storyblokConfig.sbApi ? storyblokConfig.sbApi() : globalSbapi);
15
15
  export const apiConfig = {
16
+ ...storyblokConfig,
16
17
  spaceId: storyblokConfig.spaceId,
17
18
  sbApi: sbApi,
18
19
  };
@@ -44,7 +44,7 @@ export const backup = async (props) => {
44
44
  datestamp: true,
45
45
  res,
46
46
  folder: "components",
47
- });
47
+ }, apiConfig);
48
48
  })
49
49
  .catch((err) => {
50
50
  console.log(err);
@@ -64,7 +64,7 @@ export const backup = async (props) => {
64
64
  datestamp: true,
65
65
  res,
66
66
  folder: "components",
67
- });
67
+ }, apiConfig);
68
68
  }
69
69
  })
70
70
  .catch((err) => {
@@ -94,7 +94,7 @@ export const backup = async (props) => {
94
94
  datestamp: true,
95
95
  res,
96
96
  folder: "component-groups",
97
- });
97
+ }, apiConfig);
98
98
  })
99
99
  .catch((err) => {
100
100
  console.log(err);
@@ -113,7 +113,7 @@ export const backup = async (props) => {
113
113
  filename: componentGroupToBackup,
114
114
  res,
115
115
  folder: "component-groups",
116
- });
116
+ }, apiConfig);
117
117
  })
118
118
  .catch((err) => {
119
119
  console.log(err);
@@ -132,7 +132,7 @@ export const backup = async (props) => {
132
132
  datestamp: true,
133
133
  res,
134
134
  folder: "datasources",
135
- });
135
+ }, apiConfig);
136
136
  })
137
137
  .catch((err) => {
138
138
  console.log(err);
@@ -152,7 +152,7 @@ export const backup = async (props) => {
152
152
  datestamp: true,
153
153
  res,
154
154
  folder: "datasources",
155
- });
155
+ }, apiConfig);
156
156
  }
157
157
  })
158
158
  .catch((err) => {
@@ -172,7 +172,7 @@ export const backup = async (props) => {
172
172
  datestamp: true,
173
173
  res,
174
174
  folder: "roles",
175
- });
175
+ }, apiConfig);
176
176
  })
177
177
  .catch((err) => {
178
178
  console.log(err);
@@ -192,7 +192,7 @@ export const backup = async (props) => {
192
192
  datestamp: true,
193
193
  res,
194
194
  folder: "roles",
195
- });
195
+ }, apiConfig);
196
196
  }
197
197
  })
198
198
  .catch((err) => {
@@ -212,7 +212,7 @@ export const backup = async (props) => {
212
212
  datestamp: true,
213
213
  res,
214
214
  folder: "presets",
215
- });
215
+ }, apiConfig);
216
216
  })
217
217
  .catch((err) => {
218
218
  console.log(err);
@@ -231,7 +231,7 @@ export const backup = async (props) => {
231
231
  datestamp: true,
232
232
  res,
233
233
  folder: "presets",
234
- });
234
+ }, apiConfig);
235
235
  })
236
236
  .catch((err) => {
237
237
  console.log(err);
@@ -250,7 +250,7 @@ export const backup = async (props) => {
250
250
  filename: `${componentPresetToBackup}.presets.sb.json`,
251
251
  res,
252
252
  folder: storyblokConfig.presetsBackupDirectory,
253
- });
253
+ }, apiConfig);
254
254
  })
255
255
  .catch((err) => {
256
256
  console.log(err);
@@ -276,7 +276,7 @@ export const backup = async (props) => {
276
276
  filename: `${component.name}.presets.sb.json`,
277
277
  res: { allPresets: res, ...metadata },
278
278
  folder: storyblokConfig.presetsBackupDirectory,
279
- });
279
+ }, apiConfig);
280
280
  }
281
281
  })
282
282
  .catch((err) => {
@@ -300,7 +300,7 @@ export const backup = async (props) => {
300
300
  datestamp: true,
301
301
  res,
302
302
  folder: "plugins",
303
- });
303
+ }, apiConfig);
304
304
  }
305
305
  })
306
306
  .catch((err) => {
@@ -319,7 +319,7 @@ export const backup = async (props) => {
319
319
  datestamp: true,
320
320
  res,
321
321
  folder: "plugins",
322
- });
322
+ }, apiConfig);
323
323
  })
324
324
  .catch((err) => {
325
325
  console.log(err);