@forge/migrations 2.0.23 → 2.1.0-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @forge/migrations
2
2
 
3
+ ## 2.1.0-next.0
4
+
5
+ ### Minor Changes
6
+
7
+ - d37ea76: Added `migration.getAppDataPage` and `migration.getAppDataIterator` for iterating uploaded app data files via the new paginated `/data/{transferId}/page` endpoint. Prefer these over the now-deprecated unbounded `getAppDataList`.
8
+
3
9
  ## 2.0.23
4
10
 
5
11
  ### Patch Changes
@@ -1,5 +1,5 @@
1
1
  import { Migration } from './migration';
2
- import { ContainerType } from './migration-adaptor';
2
+ import { AppDataIteratorOptions, AppDataPageOptions, ContainerType } from './migration-adaptor';
3
3
  import { DefaultQueryBuilder } from './query-api';
4
4
  export declare const getMigrationInstance: (adapter: Migration) => {
5
5
  getMappingById: (transferId: string, namespace: string, keys: Array<string>) => Promise<import("./migration-adaptor").MappingResponse>;
@@ -7,6 +7,8 @@ export declare const getMigrationInstance: (adapter: Migration) => {
7
7
  messageFailed: (transferId: string, messageId: string) => Promise<void>;
8
8
  addLog: (transferId: string, logMessage: string) => Promise<void>;
9
9
  getAppDataList: (transferId: string) => Promise<import("./migration-adaptor").AppDataListResponse>;
10
+ getAppDataPage: (transferId: string, options?: AppDataPageOptions) => Promise<import("./migration-adaptor").FileMetadataPageResponse>;
11
+ getAppDataIterator: (transferId: string, options?: AppDataIteratorOptions) => AsyncIterableIterator<import("./migration-adaptor").FileMetadata>;
10
12
  getAppDataPayload: (s3Key: string) => Promise<import("@forge/api").Response>;
11
13
  getMappings: (transferId: string, namespace: string) => DefaultQueryBuilder;
12
14
  getContainers: (transferId: string, containerType: ContainerType) => DefaultQueryBuilder;
@@ -17,6 +19,8 @@ export declare const migration: {
17
19
  messageFailed: (transferId: string, messageId: string) => Promise<void>;
18
20
  addLog: (transferId: string, logMessage: string) => Promise<void>;
19
21
  getAppDataList: (transferId: string) => Promise<import("./migration-adaptor").AppDataListResponse>;
22
+ getAppDataPage: (transferId: string, options?: AppDataPageOptions) => Promise<import("./migration-adaptor").FileMetadataPageResponse>;
23
+ getAppDataIterator: (transferId: string, options?: AppDataIteratorOptions) => AsyncIterableIterator<import("./migration-adaptor").FileMetadata>;
20
24
  getAppDataPayload: (s3Key: string) => Promise<import("@forge/api").Response>;
21
25
  getMappings: (transferId: string, namespace: string) => DefaultQueryBuilder;
22
26
  getContainers: (transferId: string, containerType: ContainerType) => DefaultQueryBuilder;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/migration/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,eAAO,MAAM,oBAAoB,YAAa,SAAS;iCAEtB,MAAM,aAAa,MAAM,QAAQ,MAAM,MAAM,CAAC;mCAE5C,MAAM,aAAa,MAAM;gCAC5B,MAAM,aAAa,MAAM;yBAChC,MAAM,cAAc,MAAM;iCAClB,MAAM;+BACR,MAAM;8BACP,MAAM,aAAa,MAAM;gCAEvB,MAAM,iBAAiB,aAAa;CAGnE,CAAC;AAEF,eAAO,MAAM,SAAS;iCACS,MAAM,aAAa,MAAM,QAAQ,MAAM,MAAM,CAAC;mCAE5C,MAAM,aAAa,MAAM;gCAE5B,MAAM,aAAa,MAAM;yBAEhC,MAAM,cAAc,MAAM;iCAElB,MAAM;+BACR,MAAM;8BACP,MAAM,aAAa,MAAM;gCAEvB,MAAM,iBAAiB,aAAa;CAEjE,CAAC;AAEF,OAAO,EAAE,QAAQ,IAAI,iBAAiB,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/migration/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAChG,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,eAAO,MAAM,oBAAoB,YAAa,SAAS;iCAEtB,MAAM,aAAa,MAAM,QAAQ,MAAM,MAAM,CAAC;mCAE5C,MAAM,aAAa,MAAM;gCAC5B,MAAM,aAAa,MAAM;yBAChC,MAAM,cAAc,MAAM;iCAClB,MAAM;iCACN,MAAM,YAAY,kBAAkB;qCAChC,MAAM,YAAY,sBAAsB;+BAE9C,MAAM;8BACP,MAAM,aAAa,MAAM;gCAEvB,MAAM,iBAAiB,aAAa;CAGnE,CAAC;AAEF,eAAO,MAAM,SAAS;iCACS,MAAM,aAAa,MAAM,QAAQ,MAAM,MAAM,CAAC;mCAE5C,MAAM,aAAa,MAAM;gCAE5B,MAAM,aAAa,MAAM;yBAEhC,MAAM,cAAc,MAAM;iCAElB,MAAM;iCACN,MAAM,YAAY,kBAAkB;qCAEhC,MAAM,YAAY,sBAAsB;+BAE9C,MAAM;8BACP,MAAM,aAAa,MAAM;gCAEvB,MAAM,iBAAiB,aAAa;CAEjE,CAAC;AAEF,OAAO,EAAE,QAAQ,IAAI,iBAAiB,EAAE,MAAM,UAAU,CAAC"}
@@ -10,6 +10,8 @@ const getMigrationInstance = (adapter) => {
10
10
  messageFailed: (transferId, messageId) => adapter.messageFailed(transferId, messageId),
11
11
  addLog: (transferId, logMessage) => adapter.addLog(transferId, logMessage),
12
12
  getAppDataList: (transferId) => adapter.getAppDataList(transferId),
13
+ getAppDataPage: (transferId, options) => adapter.getAppDataPage(transferId, options),
14
+ getAppDataIterator: (transferId, options) => adapter.getAppDataIterator(transferId, options),
13
15
  getAppDataPayload: (s3Key) => adapter.getAppDataPayload(s3Key),
14
16
  getMappings: (transferId, namespace) => new query_api_1.DefaultQueryBuilder(adapter, { transferId: transferId, namespace: namespace }),
15
17
  getContainers: (transferId, containerType) => new query_api_1.DefaultQueryBuilder(adapter, { transferId: transferId, containerType: containerType })
@@ -22,6 +24,8 @@ exports.migration = {
22
24
  messageFailed: (transferId, messageId) => (0, exports.getMigrationInstance)(new migration_1.Migration()).messageFailed(transferId, messageId),
23
25
  addLog: (transferId, logMessage) => (0, exports.getMigrationInstance)(new migration_1.Migration()).addLog(transferId, logMessage),
24
26
  getAppDataList: (transferId) => (0, exports.getMigrationInstance)(new migration_1.Migration()).getAppDataList(transferId),
27
+ getAppDataPage: (transferId, options) => (0, exports.getMigrationInstance)(new migration_1.Migration()).getAppDataPage(transferId, options),
28
+ getAppDataIterator: (transferId, options) => (0, exports.getMigrationInstance)(new migration_1.Migration()).getAppDataIterator(transferId, options),
25
29
  getAppDataPayload: (s3Key) => (0, exports.getMigrationInstance)(new migration_1.Migration()).getAppDataPayload(s3Key),
26
30
  getMappings: (transferId, namespace) => (0, exports.getMigrationInstance)(new migration_1.Migration()).getMappings(transferId, namespace),
27
31
  getContainers: (transferId, containerType) => (0, exports.getMigrationInstance)(new migration_1.Migration()).getContainers(transferId, containerType)
@@ -2,11 +2,29 @@ import { APIResponse } from '@forge/api';
2
2
  export interface MigrationAdapter {
3
3
  getMappingById(transferId: string, namespace: string, keys: Array<string>): Promise<MappingResponse>;
4
4
  getAppDataList(transferId: string): Promise<AppDataListResponse>;
5
+ getAppDataPage(transferId: string, options?: AppDataPageOptions): Promise<FileMetadataPageResponse>;
6
+ getAppDataIterator(transferId: string, options?: AppDataIteratorOptions): AsyncIterableIterator<FileMetadata>;
5
7
  getAppDataPayload(s3Key: string): Promise<APIResponse>;
6
8
  messageProcessed(transferId: string, messageId: string): Promise<void>;
7
9
  messageFailed(transferId: string, messageId: string): Promise<void>;
8
10
  addLog(transferId: string, logMessage: string): Promise<void>;
9
11
  }
12
+ export interface FileMetadata {
13
+ key: string;
14
+ label?: string;
15
+ fileSize?: number;
16
+ }
17
+ export interface FileMetadataPageResponse {
18
+ items: FileMetadata[];
19
+ lastEvaluatedKey: string | null;
20
+ }
21
+ export interface AppDataPageOptions {
22
+ pageSize?: number;
23
+ lastEvaluatedKey?: string;
24
+ }
25
+ export interface AppDataIteratorOptions {
26
+ pageSize?: number;
27
+ }
10
28
  export interface MappingResponse {
11
29
  result: Map<string, string>;
12
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"migration-adaptor.d.ts","sourceRoot":"","sources":["../../src/migration/migration-adaptor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,MAAM,WAAW,gBAAgB;IAC/B,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IACrG,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACjE,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACvD,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvE,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/D;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,OAAO;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED,oBAAY,mBAAmB,GAAG,OAAO,EAAE,CAAC;AAE5C,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,sBAAsB,CAAC;IAC7B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5B;AAED,UAAU,sBAAsB;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,2BAA2B;IAC1C,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1B,IAAI,EAAE,sBAAsB,CAAC;CAC9B;AAED,oBAAY,aAAa,GAAG,iBAAiB,GAAG,aAAa,GAAG,MAAM,CAAC;AAEvE,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,MAAM;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAAC;IACrC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAAC;IACnC,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;IAChC,MAAM,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CACvC"}
1
+ {"version":3,"file":"migration-adaptor.d.ts","sourceRoot":"","sources":["../../src/migration/migration-adaptor.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,11 @@
1
- import { AppDataListResponse, MappingResponse, MigrationAdapter, ListOptions, ListResults } from './migration-adaptor';
1
+ import { AppDataIteratorOptions, AppDataListResponse, AppDataPageOptions, FileMetadata, FileMetadataPageResponse, MappingResponse, MigrationAdapter, ListOptions, ListResults } from './migration-adaptor';
2
2
  import { APIResponse } from '@forge/api';
3
3
  export declare class Migration implements MigrationAdapter {
4
4
  private readonly basePath;
5
5
  getMappingById: (transferId: string, namespace: string, keys: Array<string>) => Promise<MappingResponse>;
6
6
  getAppDataList: (transferId: string) => Promise<AppDataListResponse>;
7
+ getAppDataPage: (transferId: string, options?: AppDataPageOptions) => Promise<FileMetadataPageResponse>;
8
+ getAppDataIterator(transferId: string, { pageSize }?: AppDataIteratorOptions): AsyncIterableIterator<FileMetadata>;
7
9
  getAppDataPayload: (key: string) => Promise<APIResponse>;
8
10
  messageProcessed: (transferId: string, messageId: string) => Promise<void>;
9
11
  messageFailed: (transferId: string, messageId: string) => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"migration.d.ts","sourceRoot":"","sources":["../../src/migration/migration.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,WAAW,EAIZ,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAIzC,qBAAa,SAAU,YAAW,gBAAgB;IAChD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6B;IAEtD,cAAc,eAAsB,MAAM,aAAa,MAAM,QAAQ,MAAM,MAAM,CAAC,KAAG,QAAQ,eAAe,CAAC,CAG3G;IAEF,cAAc,eAAsB,MAAM,KAAG,QAAQ,mBAAmB,CAAC,CAGvE;IAEF,iBAAiB,QAAe,MAAM,KAAG,QAAQ,WAAW,CAAC,CAE3D;IAEF,gBAAgB,eAAsB,MAAM,aAAa,MAAM,KAAG,QAAQ,IAAI,CAAC,CAO7E;IAEF,aAAa,eAAsB,MAAM,aAAa,MAAM,KAAG,QAAQ,IAAI,CAAC,CAO1E;IAEF,MAAM,eAAsB,MAAM,cAAc,MAAM,KAAG,QAAQ,IAAI,CAAC,CAMpE;IAEF,WAAW,eACG,MAAM,cACN,MAAM,eACL,MAAM,aACR,MAAM,KAChB,QAAQ,WAAW,CAAC,CAuBrB;IAEF,aAAa,eACC,MAAM,kBACF,MAAM,eACT,MAAM,aACR,MAAM,KAChB,QAAQ,WAAW,CAAC,CAsBrB;IAEF,IAAI,YAAmB,WAAW,aAAa,MAAM,KAAG,QAAQ,WAAW,CAAC,CAI1E;CACH"}
1
+ {"version":3,"file":"migration.d.ts","sourceRoot":"","sources":["../../src/migration/migration.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,EAClB,YAAY,EACZ,wBAAwB,EACxB,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,WAAW,EAIZ,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAIzC,qBAAa,SAAU,YAAW,gBAAgB;IAChD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6B;IAEtD,cAAc,eAAsB,MAAM,aAAa,MAAM,QAAQ,MAAM,MAAM,CAAC,KAAG,QAAQ,eAAe,CAAC,CAG3G;IAEF,cAAc,eAAsB,MAAM,KAAG,QAAQ,mBAAmB,CAAC,CAGvE;IAEF,cAAc,eAAsB,MAAM,YAAW,kBAAkB,KAAQ,QAAQ,wBAAwB,CAAC,CAY9G;IAEK,kBAAkB,CACvB,UAAU,EAAE,MAAM,EAClB,EAAE,QAAQ,EAAE,GAAE,sBAA2B,GACxC,qBAAqB,CAAC,YAAY,CAAC;IAWtC,iBAAiB,QAAe,MAAM,KAAG,QAAQ,WAAW,CAAC,CAE3D;IAEF,gBAAgB,eAAsB,MAAM,aAAa,MAAM,KAAG,QAAQ,IAAI,CAAC,CAO7E;IAEF,aAAa,eAAsB,MAAM,aAAa,MAAM,KAAG,QAAQ,IAAI,CAAC,CAO1E;IAEF,MAAM,eAAsB,MAAM,cAAc,MAAM,KAAG,QAAQ,IAAI,CAAC,CAMpE;IAEF,WAAW,eACG,MAAM,cACN,MAAM,eACL,MAAM,aACR,MAAM,KAChB,QAAQ,WAAW,CAAC,CAuBrB;IAEF,aAAa,eACC,MAAM,kBACF,MAAM,eACT,MAAM,aACR,MAAM,KAChB,QAAQ,WAAW,CAAC,CAsBrB;IAEF,IAAI,YAAmB,WAAW,aAAa,MAAM,KAAG,QAAQ,WAAW,CAAC,CAI1E;CACH"}
@@ -12,6 +12,29 @@ class Migration {
12
12
  const result = await (0, utils_1.invokeGETApi)(`${this.basePath}/data/${transferId}/all`);
13
13
  return (0, utils_1.getResponseBody)(result);
14
14
  };
15
+ getAppDataPage = async (transferId, options = {}) => {
16
+ const params = new URLSearchParams();
17
+ if (options.pageSize !== undefined) {
18
+ params.append('pageSize', String(options.pageSize));
19
+ }
20
+ if (options.lastEvaluatedKey !== undefined) {
21
+ params.append('lastEvaluatedKey', options.lastEvaluatedKey);
22
+ }
23
+ const queryString = params.toString();
24
+ const url = `${this.basePath}/data/${transferId}/page${queryString ? `?${queryString}` : ''}`;
25
+ const result = await (0, utils_1.invokeGETApi)(url);
26
+ return (0, utils_1.getResponseBody)(result);
27
+ };
28
+ async *getAppDataIterator(transferId, { pageSize } = {}) {
29
+ let lastEvaluatedKey;
30
+ do {
31
+ const page = await this.getAppDataPage(transferId, { pageSize, lastEvaluatedKey });
32
+ for (const item of page.items) {
33
+ yield item;
34
+ }
35
+ lastEvaluatedKey = page.lastEvaluatedKey ?? undefined;
36
+ } while (lastEvaluatedKey);
37
+ }
15
38
  getAppDataPayload = async (key) => {
16
39
  return (0, utils_1.invokeGETApi)(`${this.basePath}/data/${key}/payload`);
17
40
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forge/migrations",
3
- "version": "2.0.23",
3
+ "version": "2.1.0-next.0",
4
4
  "description": "App migration methods for Forge app",
5
5
  "main": "out/index.js",
6
6
  "scripts": {