@overmap-ai/core 1.0.78-gcs.3 → 1.0.78-gcs.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.
Files changed (49) hide show
  1. package/dist/overmap-core.js +6607 -6519
  2. package/dist/overmap-core.umd.cjs +7 -8
  3. package/dist/sdk/constants.d.ts +1 -1
  4. package/dist/sdk/services/AssetAttachmentService.d.ts +8 -17
  5. package/dist/sdk/services/AssetProcedureStepFieldValuesAttachmentService.d.ts +9 -11
  6. package/dist/sdk/services/AssetProcedureStepFieldsAttachmentService.d.ts +18 -18
  7. package/dist/sdk/services/AssetProcedureTypeAttachmentService.d.ts +8 -17
  8. package/dist/sdk/services/AssetProcedureTypeFieldValuesAttachmentService.d.ts +9 -11
  9. package/dist/sdk/services/AssetProcedureTypeFieldsAttachmentService.d.ts +18 -18
  10. package/dist/sdk/services/AssetTypeAttachmentService.d.ts +8 -17
  11. package/dist/sdk/services/AssetTypeFieldValuesAttachmentService.d.ts +9 -8
  12. package/dist/sdk/services/AssetTypeFieldsAttachmentService.d.ts +9 -9
  13. package/dist/sdk/services/AssetTypeIdentifierValueService.d.ts +2 -1
  14. package/dist/sdk/services/BaseOfflineFileModelApiService.d.ts +17 -0
  15. package/dist/sdk/services/BaseService.d.ts +2 -1
  16. package/dist/sdk/services/DocumentAttachmentService.d.ts +10 -17
  17. package/dist/sdk/services/FileService.d.ts +6 -28
  18. package/dist/sdk/services/FormRevisionAttachmentService.d.ts +18 -18
  19. package/dist/sdk/services/FormService.d.ts +4 -2
  20. package/dist/sdk/services/FormSubmissionAttachmentService.d.ts +18 -18
  21. package/dist/sdk/services/GeoImageService.d.ts +10 -7
  22. package/dist/sdk/services/IssueAssociationService.d.ts +2 -1
  23. package/dist/sdk/services/IssueAttachmentService.d.ts +8 -17
  24. package/dist/sdk/services/IssueCommentAttachmentService.d.ts +8 -17
  25. package/dist/sdk/services/IssueService.d.ts +1 -0
  26. package/dist/sdk/services/IssueTypeAttachmentService.d.ts +8 -17
  27. package/dist/sdk/services/IssueTypeFieldValuesAttachmentService.d.ts +18 -18
  28. package/dist/sdk/services/IssueTypeFieldsAttachmentService.d.ts +18 -18
  29. package/dist/sdk/services/ProjectAttachmentService.d.ts +8 -17
  30. package/dist/sdk/services/ProjectFileService.d.ts +20 -16
  31. package/dist/sdk/services/index.d.ts +1 -1
  32. package/dist/sdk/typings.d.ts +12 -4
  33. package/dist/store/adapters/selectionAdapter.d.ts +9 -10
  34. package/dist/store/adapters/typings.d.ts +1 -3
  35. package/dist/store/slices/fileSlice.d.ts +0 -3
  36. package/dist/store/slices/issueAssociationSlice.d.ts +3 -0
  37. package/dist/store/slices/projectFileSlice.d.ts +2 -16
  38. package/dist/typings/files.d.ts +27 -14
  39. package/dist/typings/models/assets.d.ts +4 -4
  40. package/dist/typings/models/documents.d.ts +2 -2
  41. package/dist/typings/models/fields.d.ts +3 -3
  42. package/dist/typings/models/forms.d.ts +3 -2
  43. package/dist/typings/models/geoImages.d.ts +3 -3
  44. package/dist/typings/models/issues.d.ts +4 -4
  45. package/dist/typings/models/projects.d.ts +3 -3
  46. package/dist/typings/models/users.d.ts +0 -4
  47. package/dist/utils/file.d.ts +7 -11
  48. package/package.json +3 -3
  49. package/dist/sdk/services/BaseOfflineAttachmentModelService.d.ts +0 -23
@@ -1,4 +1,4 @@
1
1
  export declare const DEFAULT_PAGE_SIZE = 10000;
2
- export declare const ATTACHMENT_MODEL_DEFAULT_PAGE_SIZE = 200;
2
+ export declare const FILE_MODEL_DEFAULT_PAGE_SIZE = 200;
3
3
  export declare const DISCARD_HTTP_STATUSES: number[];
4
4
  export declare const MAX_SERVICE_BATCH_SIZE = 10000;
@@ -1,9 +1,8 @@
1
- import { Asset, AssetAttachment, FilePayload, Project, Stored, Submitted } from '../../typings';
1
+ import { AssetAttachment, Payload, Project, Stored, Submitted } from '../../typings';
2
2
  import { BaseSDK } from '../base';
3
- import { OptimisticMultipleModelResult } from '../typings';
4
3
  import { OvermapRootState } from '../../store';
5
- import { BaseOfflineAttachmentModelService, BuildModelData } from './BaseOfflineAttachmentModelService';
6
- export declare abstract class AssetAttachmentService<TState extends OvermapRootState, TSDK extends BaseSDK<TState>> extends BaseOfflineAttachmentModelService<TState, TSDK, AssetAttachment["uuid"], AssetAttachment> {
4
+ import { BaseOfflineFileModelApiService } from './BaseOfflineFileModelApiService';
5
+ export declare abstract class AssetAttachmentService<TState extends OvermapRootState, TSDK extends BaseSDK<TState>> extends BaseOfflineFileModelApiService<AssetAttachment["uuid"], AssetAttachment, TState, TSDK> {
7
6
  name: string;
8
7
  url: string;
9
8
  actions: {
@@ -22,18 +21,10 @@ export declare abstract class AssetAttachmentService<TState extends OvermapRootS
22
21
  selectByIds: (uuids: string[]) => (state: any) => Stored<AssetAttachment>[];
23
22
  };
24
23
  protected getId(model: Stored<AssetAttachment>): AssetAttachment["uuid"];
25
- protected buildModel(data: BuildModelData): Submitted<AssetAttachment>;
26
- protected buildPayload(model: Submitted<AssetAttachment>, filePayload: FilePayload): {
27
- uuid: string;
28
- file_name: string;
29
- file_sha1: string;
30
- file_extension: string;
31
- asset: string;
32
- };
33
- bulkAdd(payloads: {
34
- assetUuid: Asset["uuid"];
35
- file: File;
36
- }[]): Promise<OptimisticMultipleModelResult<AssetAttachment>>;
37
- delete(uuid: AssetAttachment["uuid"]): Promise<void>;
24
+ protected getBlockers(model: Stored<AssetAttachment>): string[];
25
+ protected getBlocks(model: Stored<AssetAttachment>): string[];
26
+ protected buildModel(data: Payload<AssetAttachment>): Submitted<AssetAttachment>;
27
+ protected buildPayload(model: Submitted<AssetAttachment>): object;
28
+ protected buildBulkPayload(model: Submitted<AssetAttachment>): object;
38
29
  refreshStore(projectUuid: Project["uuid"], signal?: AbortSignal): Promise<AssetAttachment[]>;
39
30
  }
@@ -1,8 +1,8 @@
1
- import { AssetProcedureStepFieldValues, AssetProcedureStepFieldValuesAttachment, Created, Project, Stored } from '../../typings';
1
+ import { AssetProcedureStepFieldValuesAttachment, Payload, Project, Stored, Submitted, UUID } from '../../typings';
2
2
  import { BaseSDK } from '../base';
3
3
  import { OvermapRootState } from '../../store';
4
- import { BaseOfflineModelApiService } from './BaseOfflineModelApiService';
5
- export declare abstract class AssetProcedureStepFieldValuesAttachmentService<TState extends OvermapRootState, TSDK extends BaseSDK<TState>> extends BaseOfflineModelApiService<AssetProcedureStepFieldValuesAttachment["uuid"], AssetProcedureStepFieldValuesAttachment, TState, TSDK> {
4
+ import { BaseOfflineFileModelApiService } from './BaseOfflineFileModelApiService';
5
+ export declare abstract class AssetProcedureStepFieldValuesAttachmentService<TState extends OvermapRootState, TSDK extends BaseSDK<TState>> extends BaseOfflineFileModelApiService<AssetProcedureStepFieldValuesAttachment["uuid"], AssetProcedureStepFieldValuesAttachment, TState, TSDK> {
6
6
  name: string;
7
7
  url: string;
8
8
  actions: {
@@ -20,14 +20,12 @@ export declare abstract class AssetProcedureStepFieldValuesAttachmentService<TSt
20
20
  selectById: import('../..').OvermapSelectorWithArgs<string, Stored<AssetProcedureStepFieldValuesAttachment> | undefined>;
21
21
  selectByIds: (uuids: string[]) => (state: any) => Stored<AssetProcedureStepFieldValuesAttachment>[];
22
22
  };
23
- bulkAdd(payloads: {
24
- fieldValuesUuid: AssetProcedureStepFieldValues["uuid"];
25
- fieldIdentifier: string;
26
- file: File;
27
- }[], batchSize?: number): Promise<[
28
- Stored<AssetProcedureStepFieldValuesAttachment>[],
29
- Promise<Created<AssetProcedureStepFieldValuesAttachment>[]>[]
30
- ]>;
23
+ protected getId(model: Stored<AssetProcedureStepFieldValuesAttachment>): string;
24
+ protected getBlockers(payload: UUID<Omit<Payload<AssetProcedureStepFieldValuesAttachment>, "file_type" | "file_url">>): string[];
25
+ protected getBlocks(model: Stored<AssetProcedureStepFieldValuesAttachment>): string[];
26
+ protected buildModel(data: Payload<AssetProcedureStepFieldValuesAttachment>): Submitted<AssetProcedureStepFieldValuesAttachment>;
27
+ protected buildPayload(model: Submitted<AssetProcedureStepFieldValuesAttachment>): object;
28
+ protected buildBulkPayload(model: Submitted<AssetProcedureStepFieldValuesAttachment>): object;
31
29
  bulkDelete(uuids: AssetProcedureStepFieldValuesAttachment["uuid"][]): Promise<void>;
32
30
  refreshStore(projectUuid: Project["uuid"], signal?: AbortSignal): Promise<AssetProcedureStepFieldValuesAttachment[]>;
33
31
  }
@@ -1,30 +1,30 @@
1
- import { AssetProcedureStepFields, AssetProcedureStepFieldsAttachment, Organization } from '../../typings';
1
+ import { AssetProcedureStepFieldsAttachment, Organization, Payload, Stored, Submitted } from '../../typings';
2
2
  import { BaseSDK } from '../base';
3
- import { OptimisticMultipleModelResult } from '../typings';
4
3
  import { OvermapRootState } from '../../store';
5
- import { BaseOfflineModelApiService } from './BaseOfflineModelApiService';
6
- export declare abstract class AssetProcedureStepFieldsAttachmentService<TState extends OvermapRootState, TSDK extends BaseSDK<TState>> extends BaseOfflineModelApiService<AssetProcedureStepFieldsAttachment["uuid"], AssetProcedureStepFieldsAttachment, TState, TSDK> {
4
+ import { BaseOfflineFileModelApiService } from './BaseOfflineFileModelApiService';
5
+ export declare abstract class AssetProcedureStepFieldsAttachmentService<TState extends OvermapRootState, TSDK extends BaseSDK<TState>> extends BaseOfflineFileModelApiService<AssetProcedureStepFieldsAttachment["uuid"], AssetProcedureStepFieldsAttachment, TState, TSDK> {
7
6
  name: string;
8
7
  url: string;
9
8
  actions: {
10
- addOne: import('@reduxjs/toolkit').ActionCreatorWithPayload<import('../..').Stored<AssetProcedureStepFieldsAttachment>, "assetProcedureStepFieldsAttachments/addAssetProcedureStepFieldsAttachment">;
11
- addMany: import('@reduxjs/toolkit').ActionCreatorWithPayload<import('../..').Stored<AssetProcedureStepFieldsAttachment>[], "assetProcedureStepFieldsAttachments/addAssetProcedureStepFieldsAttachments">;
12
- setOne: import('@reduxjs/toolkit').ActionCreatorWithPayload<import('../..').Stored<AssetProcedureStepFieldsAttachment>, "assetProcedureStepFieldsAttachments/setAssetProcedureStepFieldsAttachment">;
13
- setMany: import('@reduxjs/toolkit').ActionCreatorWithPayload<import('../..').Stored<AssetProcedureStepFieldsAttachment>[], "assetProcedureStepFieldsAttachments/setAssetProcedureStepFieldsAttachments">;
14
- updateOne: import('@reduxjs/toolkit').ActionCreatorWithPayload<import('../..').Stored<AssetProcedureStepFieldsAttachment>, "assetProcedureStepFieldsAttachments/updateAssetProcedureStepFieldsAttachment">;
15
- updateMany: import('@reduxjs/toolkit').ActionCreatorWithPayload<import('../..').Stored<AssetProcedureStepFieldsAttachment>[], "assetProcedureStepFieldsAttachments/updateAssetProcedureStepFieldsAttachments">;
9
+ addOne: import('@reduxjs/toolkit').ActionCreatorWithPayload<Stored<AssetProcedureStepFieldsAttachment>, "assetProcedureStepFieldsAttachments/addAssetProcedureStepFieldsAttachment">;
10
+ addMany: import('@reduxjs/toolkit').ActionCreatorWithPayload<Stored<AssetProcedureStepFieldsAttachment>[], "assetProcedureStepFieldsAttachments/addAssetProcedureStepFieldsAttachments">;
11
+ setOne: import('@reduxjs/toolkit').ActionCreatorWithPayload<Stored<AssetProcedureStepFieldsAttachment>, "assetProcedureStepFieldsAttachments/setAssetProcedureStepFieldsAttachment">;
12
+ setMany: import('@reduxjs/toolkit').ActionCreatorWithPayload<Stored<AssetProcedureStepFieldsAttachment>[], "assetProcedureStepFieldsAttachments/setAssetProcedureStepFieldsAttachments">;
13
+ updateOne: import('@reduxjs/toolkit').ActionCreatorWithPayload<Stored<AssetProcedureStepFieldsAttachment>, "assetProcedureStepFieldsAttachments/updateAssetProcedureStepFieldsAttachment">;
14
+ updateMany: import('@reduxjs/toolkit').ActionCreatorWithPayload<Stored<AssetProcedureStepFieldsAttachment>[], "assetProcedureStepFieldsAttachments/updateAssetProcedureStepFieldsAttachments">;
16
15
  deleteOne: import('@reduxjs/toolkit').ActionCreatorWithPayload<string, "assetProcedureStepFieldsAttachments/deleteAssetProcedureStepFieldsAttachment">;
17
16
  deleteMany: import('@reduxjs/toolkit').ActionCreatorWithPayload<string[], "assetProcedureStepFieldsAttachments/deleteAssetProcedureStepFieldsAttachments">;
18
- initialize: import('@reduxjs/toolkit').ActionCreatorWithPayload<import('../..').Stored<AssetProcedureStepFieldsAttachment>[], "assetProcedureStepFieldsAttachments/initializeAssetProcedureStepFieldsAttachments">;
17
+ initialize: import('@reduxjs/toolkit').ActionCreatorWithPayload<Stored<AssetProcedureStepFieldsAttachment>[], "assetProcedureStepFieldsAttachments/initializeAssetProcedureStepFieldsAttachments">;
19
18
  };
20
19
  selectors: {
21
- selectById: import('../..').OvermapSelectorWithArgs<string, import('../..').Stored<AssetProcedureStepFieldsAttachment> | undefined>;
22
- selectByIds: (uuids: string[]) => (state: any) => import('../..').Stored<AssetProcedureStepFieldsAttachment>[];
20
+ selectById: import('../..').OvermapSelectorWithArgs<string, Stored<AssetProcedureStepFieldsAttachment> | undefined>;
21
+ selectByIds: (uuids: string[]) => (state: any) => Stored<AssetProcedureStepFieldsAttachment>[];
23
22
  };
24
- bulkAdd(payloads: {
25
- fieldsRevisionUuid: AssetProcedureStepFields["uuid"];
26
- fieldIdentifier: string;
27
- file: File;
28
- }[]): Promise<OptimisticMultipleModelResult<AssetProcedureStepFieldsAttachment>>;
23
+ protected getId(model: Stored<AssetProcedureStepFieldsAttachment>): string;
24
+ protected getBlockers(model: Stored<AssetProcedureStepFieldsAttachment>): string[];
25
+ protected getBlocks(model: Stored<AssetProcedureStepFieldsAttachment>): string[];
26
+ protected buildModel(data: Payload<AssetProcedureStepFieldsAttachment>): Submitted<AssetProcedureStepFieldsAttachment>;
27
+ protected buildPayload(model: Submitted<AssetProcedureStepFieldsAttachment>): object;
28
+ protected buildBulkPayload(model: Submitted<AssetProcedureStepFieldsAttachment>): object;
29
29
  refreshStore(organizationUuid: Organization["uuid"], signal?: AbortSignal): Promise<AssetProcedureStepFieldsAttachment[]>;
30
30
  }
@@ -1,9 +1,8 @@
1
- import { AssetProcedureType, AssetProcedureTypeAttachment, FilePayload, Organization, Stored, Submitted } from '../../typings';
1
+ import { AssetProcedureTypeAttachment, Organization, Payload, Stored, Submitted } from '../../typings';
2
2
  import { BaseSDK } from '../base';
3
- import { OptimisticMultipleModelResult } from '../typings';
4
3
  import { OvermapRootState } from '../../store';
5
- import { BaseOfflineAttachmentModelService, BuildModelData } from './BaseOfflineAttachmentModelService';
6
- export declare abstract class AssetProcedureTypeAttachmentService<TState extends OvermapRootState, TSDK extends BaseSDK<TState>> extends BaseOfflineAttachmentModelService<TState, TSDK, AssetProcedureTypeAttachment["uuid"], AssetProcedureTypeAttachment> {
4
+ import { BaseOfflineFileModelApiService } from './BaseOfflineFileModelApiService';
5
+ export declare abstract class AssetProcedureTypeAttachmentService<TState extends OvermapRootState, TSDK extends BaseSDK<TState>> extends BaseOfflineFileModelApiService<AssetProcedureTypeAttachment["uuid"], AssetProcedureTypeAttachment, TState, TSDK> {
7
6
  name: string;
8
7
  url: string;
9
8
  actions: {
@@ -22,18 +21,10 @@ export declare abstract class AssetProcedureTypeAttachmentService<TState extends
22
21
  selectByIds: (uuids: string[]) => (state: any) => Stored<AssetProcedureTypeAttachment>[];
23
22
  };
24
23
  protected getId(model: Stored<AssetProcedureTypeAttachment>): AssetProcedureTypeAttachment["uuid"];
25
- protected buildModel(data: BuildModelData): Submitted<AssetProcedureTypeAttachment>;
26
- protected buildPayload(model: Submitted<AssetProcedureTypeAttachment>, filePayload: FilePayload): {
27
- uuid: string;
28
- file_name: string;
29
- file_sha1: string;
30
- file_extension: string;
31
- asset_procedure_type: string;
32
- };
33
- bulkAdd(payloads: {
34
- assetProcedureTypeUuid: AssetProcedureType["uuid"];
35
- file: File;
36
- }[]): Promise<OptimisticMultipleModelResult<AssetProcedureTypeAttachment>>;
37
- delete(uuid: AssetProcedureTypeAttachment["uuid"]): Promise<void>;
24
+ protected getBlockers(model: Stored<AssetProcedureTypeAttachment>): string[];
25
+ protected getBlocks(model: Stored<AssetProcedureTypeAttachment>): string[];
26
+ protected buildModel(data: Payload<AssetProcedureTypeAttachment>): Submitted<AssetProcedureTypeAttachment>;
27
+ protected buildPayload(model: Submitted<AssetProcedureTypeAttachment>): object;
28
+ protected buildBulkPayload(model: Submitted<AssetProcedureTypeAttachment>): object;
38
29
  refreshStore(organizationUuid: Organization["uuid"], signal?: AbortSignal): Promise<AssetProcedureTypeAttachment[]>;
39
30
  }
@@ -1,8 +1,8 @@
1
- import { AssetProcedureTypeFieldValues, AssetProcedureTypeFieldValuesAttachment, Created, Project, Stored } from '../../typings';
1
+ import { AssetProcedureTypeFieldValuesAttachment, Payload, Project, Stored, Submitted } from '../../typings';
2
2
  import { BaseSDK } from '../base';
3
3
  import { OvermapRootState } from '../../store';
4
- import { BaseOfflineModelApiService } from './BaseOfflineModelApiService';
5
- export declare abstract class AssetProcedureTypeFieldValuesAttachmentService<TState extends OvermapRootState, TSDK extends BaseSDK<TState>> extends BaseOfflineModelApiService<AssetProcedureTypeFieldValuesAttachment["uuid"], AssetProcedureTypeFieldValuesAttachment, TState, TSDK> {
4
+ import { BaseOfflineFileModelApiService } from './BaseOfflineFileModelApiService';
5
+ export declare abstract class AssetProcedureTypeFieldValuesAttachmentService<TState extends OvermapRootState, TSDK extends BaseSDK<TState>> extends BaseOfflineFileModelApiService<AssetProcedureTypeFieldValuesAttachment["uuid"], AssetProcedureTypeFieldValuesAttachment, TState, TSDK> {
6
6
  name: string;
7
7
  url: string;
8
8
  actions: {
@@ -20,14 +20,12 @@ export declare abstract class AssetProcedureTypeFieldValuesAttachmentService<TSt
20
20
  selectById: import('../..').OvermapSelectorWithArgs<string, Stored<AssetProcedureTypeFieldValuesAttachment> | undefined>;
21
21
  selectByIds: (uuids: string[]) => (state: any) => Stored<AssetProcedureTypeFieldValuesAttachment>[];
22
22
  };
23
- bulkAdd(payloads: {
24
- fieldValuesUuid: AssetProcedureTypeFieldValues["uuid"];
25
- fieldIdentifier: string;
26
- file: File;
27
- }[], batchSize?: number): Promise<[
28
- Stored<AssetProcedureTypeFieldValuesAttachment>[],
29
- Promise<Created<AssetProcedureTypeFieldValuesAttachment>[]>[]
30
- ]>;
23
+ protected getId(model: Stored<AssetProcedureTypeFieldValuesAttachment>): string;
24
+ protected getBlockers(model: Stored<AssetProcedureTypeFieldValuesAttachment>): string[];
25
+ protected getBlocks(model: Stored<AssetProcedureTypeFieldValuesAttachment>): string[];
26
+ protected buildModel(data: Payload<AssetProcedureTypeFieldValuesAttachment>): Submitted<AssetProcedureTypeFieldValuesAttachment>;
27
+ protected buildPayload(model: Submitted<AssetProcedureTypeFieldValuesAttachment>): object;
28
+ protected buildBulkPayload(model: Submitted<AssetProcedureTypeFieldValuesAttachment>): object;
31
29
  bulkDelete(uuids: AssetProcedureTypeFieldValuesAttachment["uuid"][]): Promise<void>;
32
30
  refreshStore(projectUuid: Project["uuid"], signal?: AbortSignal): Promise<AssetProcedureTypeFieldValuesAttachment[]>;
33
31
  }
@@ -1,30 +1,30 @@
1
- import { AssetProcedureTypeFields, AssetProcedureTypeFieldsAttachment, Organization } from '../../typings';
1
+ import { AssetProcedureTypeFieldsAttachment, Organization, Payload, Stored, Submitted } from '../../typings';
2
2
  import { BaseSDK } from '../base';
3
- import { OptimisticMultipleModelResult } from '../typings';
4
3
  import { OvermapRootState } from '../../store';
5
- import { BaseOfflineModelApiService } from './BaseOfflineModelApiService';
6
- export declare abstract class AssetProcedureTypeFieldsAttachmentService<TState extends OvermapRootState, TSDK extends BaseSDK<TState>> extends BaseOfflineModelApiService<AssetProcedureTypeFieldsAttachment["uuid"], AssetProcedureTypeFieldsAttachment, TState, TSDK> {
4
+ import { BaseOfflineFileModelApiService } from './BaseOfflineFileModelApiService';
5
+ export declare abstract class AssetProcedureTypeFieldsAttachmentService<TState extends OvermapRootState, TSDK extends BaseSDK<TState>> extends BaseOfflineFileModelApiService<AssetProcedureTypeFieldsAttachment["uuid"], AssetProcedureTypeFieldsAttachment, TState, TSDK> {
7
6
  name: string;
8
7
  url: string;
9
8
  actions: {
10
- addOne: import('@reduxjs/toolkit').ActionCreatorWithPayload<import('../..').Stored<AssetProcedureTypeFieldsAttachment>, "assetProcedureTypeFieldsAttachments/addAssetProcedureTypeFieldsAttachment">;
11
- addMany: import('@reduxjs/toolkit').ActionCreatorWithPayload<import('../..').Stored<AssetProcedureTypeFieldsAttachment>[], "assetProcedureTypeFieldsAttachments/addAssetProcedureTypeFieldsAttachments">;
12
- setOne: import('@reduxjs/toolkit').ActionCreatorWithPayload<import('../..').Stored<AssetProcedureTypeFieldsAttachment>, "assetProcedureTypeFieldsAttachments/setAssetProcedureTypeFieldsAttachment">;
13
- setMany: import('@reduxjs/toolkit').ActionCreatorWithPayload<import('../..').Stored<AssetProcedureTypeFieldsAttachment>[], "assetProcedureTypeFieldsAttachments/setAssetProcedureTypeFieldsAttachments">;
14
- updateOne: import('@reduxjs/toolkit').ActionCreatorWithPayload<import('../..').Stored<AssetProcedureTypeFieldsAttachment>, "assetProcedureTypeFieldsAttachments/updateAssetProcedureTypeFieldsAttachment">;
15
- updateMany: import('@reduxjs/toolkit').ActionCreatorWithPayload<import('../..').Stored<AssetProcedureTypeFieldsAttachment>[], "assetProcedureTypeFieldsAttachments/updateAssetProcedureTypeFieldsAttachments">;
9
+ addOne: import('@reduxjs/toolkit').ActionCreatorWithPayload<Stored<AssetProcedureTypeFieldsAttachment>, "assetProcedureTypeFieldsAttachments/addAssetProcedureTypeFieldsAttachment">;
10
+ addMany: import('@reduxjs/toolkit').ActionCreatorWithPayload<Stored<AssetProcedureTypeFieldsAttachment>[], "assetProcedureTypeFieldsAttachments/addAssetProcedureTypeFieldsAttachments">;
11
+ setOne: import('@reduxjs/toolkit').ActionCreatorWithPayload<Stored<AssetProcedureTypeFieldsAttachment>, "assetProcedureTypeFieldsAttachments/setAssetProcedureTypeFieldsAttachment">;
12
+ setMany: import('@reduxjs/toolkit').ActionCreatorWithPayload<Stored<AssetProcedureTypeFieldsAttachment>[], "assetProcedureTypeFieldsAttachments/setAssetProcedureTypeFieldsAttachments">;
13
+ updateOne: import('@reduxjs/toolkit').ActionCreatorWithPayload<Stored<AssetProcedureTypeFieldsAttachment>, "assetProcedureTypeFieldsAttachments/updateAssetProcedureTypeFieldsAttachment">;
14
+ updateMany: import('@reduxjs/toolkit').ActionCreatorWithPayload<Stored<AssetProcedureTypeFieldsAttachment>[], "assetProcedureTypeFieldsAttachments/updateAssetProcedureTypeFieldsAttachments">;
16
15
  deleteOne: import('@reduxjs/toolkit').ActionCreatorWithPayload<string, "assetProcedureTypeFieldsAttachments/deleteAssetProcedureTypeFieldsAttachment">;
17
16
  deleteMany: import('@reduxjs/toolkit').ActionCreatorWithPayload<string[], "assetProcedureTypeFieldsAttachments/deleteAssetProcedureTypeFieldsAttachments">;
18
- initialize: import('@reduxjs/toolkit').ActionCreatorWithPayload<import('../..').Stored<AssetProcedureTypeFieldsAttachment>[], "assetProcedureTypeFieldsAttachments/initializeAssetProcedureTypeFieldsAttachments">;
17
+ initialize: import('@reduxjs/toolkit').ActionCreatorWithPayload<Stored<AssetProcedureTypeFieldsAttachment>[], "assetProcedureTypeFieldsAttachments/initializeAssetProcedureTypeFieldsAttachments">;
19
18
  };
20
19
  selectors: {
21
- selectById: import('../..').OvermapSelectorWithArgs<string, import('../..').Stored<AssetProcedureTypeFieldsAttachment> | undefined>;
22
- selectByIds: (uuids: string[]) => (state: any) => import('../..').Stored<AssetProcedureTypeFieldsAttachment>[];
20
+ selectById: import('../..').OvermapSelectorWithArgs<string, Stored<AssetProcedureTypeFieldsAttachment> | undefined>;
21
+ selectByIds: (uuids: string[]) => (state: any) => Stored<AssetProcedureTypeFieldsAttachment>[];
23
22
  };
24
- bulkAdd(payloads: {
25
- fieldsRevisionUuid: AssetProcedureTypeFields["uuid"];
26
- fieldIdentifier: string;
27
- file: File;
28
- }[]): Promise<OptimisticMultipleModelResult<AssetProcedureTypeFieldsAttachment>>;
23
+ protected getId(model: Stored<AssetProcedureTypeFieldsAttachment>): string;
24
+ protected getBlockers(model: Stored<AssetProcedureTypeFieldsAttachment>): string[];
25
+ protected getBlocks(model: Stored<AssetProcedureTypeFieldsAttachment>): string[];
26
+ protected buildModel(data: Payload<AssetProcedureTypeFieldsAttachment>): Submitted<AssetProcedureTypeFieldsAttachment>;
27
+ protected buildPayload(model: Submitted<AssetProcedureTypeFieldsAttachment>): object;
28
+ protected buildBulkPayload(model: Submitted<AssetProcedureTypeFieldsAttachment>): object;
29
29
  refreshStore(organizationUuid: Organization["uuid"], signal?: AbortSignal): Promise<AssetProcedureTypeFieldsAttachment[]>;
30
30
  }
@@ -1,9 +1,8 @@
1
- import { AssetType, AssetTypeAttachment, FilePayload, Organization, Stored, Submitted } from '../../typings';
1
+ import { AssetTypeAttachment, Organization, Payload, Stored, Submitted } from '../../typings';
2
2
  import { BaseSDK } from '../base';
3
- import { OptimisticMultipleModelResult } from '../typings';
4
3
  import { OvermapRootState } from '../../store';
5
- import { BaseOfflineAttachmentModelService, BuildModelData } from './BaseOfflineAttachmentModelService';
6
- export declare abstract class AssetTypeAttachmentService<TState extends OvermapRootState, TSDK extends BaseSDK<TState>> extends BaseOfflineAttachmentModelService<TState, TSDK, AssetTypeAttachment["uuid"], AssetTypeAttachment> {
4
+ import { BaseOfflineFileModelApiService } from './BaseOfflineFileModelApiService';
5
+ export declare abstract class AssetTypeAttachmentService<TState extends OvermapRootState, TSDK extends BaseSDK<TState>> extends BaseOfflineFileModelApiService<AssetTypeAttachment["uuid"], AssetTypeAttachment, TState, TSDK> {
7
6
  name: string;
8
7
  url: string;
9
8
  actions: {
@@ -22,18 +21,10 @@ export declare abstract class AssetTypeAttachmentService<TState extends OvermapR
22
21
  selectByIds: (uuids: string[]) => (state: any) => Stored<AssetTypeAttachment>[];
23
22
  };
24
23
  protected getId(model: Stored<AssetTypeAttachment>): AssetTypeAttachment["uuid"];
25
- protected buildModel(data: BuildModelData): Submitted<AssetTypeAttachment>;
26
- protected buildPayload(model: Submitted<AssetTypeAttachment>, filePayload: FilePayload): {
27
- uuid: string;
28
- file_name: string;
29
- file_sha1: string;
30
- file_extension: string;
31
- asset_type: string;
32
- };
33
- bulkAdd(payloads: {
34
- assetTypeUuid: AssetType["uuid"];
35
- file: File;
36
- }[]): Promise<OptimisticMultipleModelResult<AssetTypeAttachment>>;
37
- delete(uuid: AssetTypeAttachment["uuid"]): Promise<void>;
24
+ protected getBlockers(model: Stored<AssetTypeAttachment>): string[];
25
+ protected getBlocks(model: Stored<AssetTypeAttachment>): string[];
26
+ protected buildModel(payload: Payload<AssetTypeAttachment>): Submitted<AssetTypeAttachment>;
27
+ protected buildPayload(model: Submitted<AssetTypeAttachment>): object;
28
+ protected buildBulkPayload(model: Submitted<AssetTypeAttachment>): object;
38
29
  refreshStore(organizationUuid: Organization["uuid"], signal?: AbortSignal): Promise<AssetTypeAttachment[]>;
39
30
  }
@@ -1,8 +1,8 @@
1
- import { AssetTypeFieldValues, AssetTypeFieldValuesAttachment, Created, Project, Stored } from '../../typings';
1
+ import { AssetTypeFieldValuesAttachment, Payload, Project, Stored, Submitted } from '../../typings';
2
2
  import { BaseSDK } from '../base';
3
3
  import { OvermapRootState } from '../../store';
4
- import { BaseOfflineModelApiService } from './BaseOfflineModelApiService';
5
- export declare abstract class AssetTypeFieldValuesAttachmentService<TState extends OvermapRootState, TSDK extends BaseSDK<TState>> extends BaseOfflineModelApiService<AssetTypeFieldValuesAttachment["uuid"], AssetTypeFieldValuesAttachment, TState, TSDK> {
4
+ import { BaseOfflineFileModelApiService } from './BaseOfflineFileModelApiService';
5
+ export declare abstract class AssetTypeFieldValuesAttachmentService<TState extends OvermapRootState, TSDK extends BaseSDK<TState>> extends BaseOfflineFileModelApiService<AssetTypeFieldValuesAttachment["uuid"], AssetTypeFieldValuesAttachment, TState, TSDK> {
6
6
  name: string;
7
7
  url: string;
8
8
  actions: {
@@ -20,11 +20,12 @@ export declare abstract class AssetTypeFieldValuesAttachmentService<TState exten
20
20
  selectById: import('../..').OvermapSelectorWithArgs<string, Stored<AssetTypeFieldValuesAttachment> | undefined>;
21
21
  selectByIds: (uuids: string[]) => (state: any) => Stored<AssetTypeFieldValuesAttachment>[];
22
22
  };
23
- bulkAdd(payloads: {
24
- fieldValuesUuid: AssetTypeFieldValues["uuid"];
25
- fieldIdentifier: string;
26
- file: File;
27
- }[], batchSize?: number): Promise<[Stored<AssetTypeFieldValuesAttachment>[], Promise<Created<AssetTypeFieldValuesAttachment>[]>[]]>;
23
+ protected getId(model: Stored<AssetTypeFieldValuesAttachment>): string;
24
+ protected getBlockers(model: Stored<AssetTypeFieldValuesAttachment>): string[];
25
+ protected getBlocks(model: Stored<AssetTypeFieldValuesAttachment>): string[];
26
+ protected buildModel(data: Payload<AssetTypeFieldValuesAttachment>): Submitted<AssetTypeFieldValuesAttachment>;
27
+ protected buildPayload(model: Submitted<AssetTypeFieldValuesAttachment>): object;
28
+ protected buildBulkPayload(model: Submitted<AssetTypeFieldValuesAttachment>): object;
28
29
  bulkDelete(uuids: AssetTypeFieldValuesAttachment["uuid"][]): Promise<void>;
29
30
  refreshStore(projectUuid: Project["uuid"], signal?: AbortSignal): Promise<AssetTypeFieldValuesAttachment[]>;
30
31
  }
@@ -1,9 +1,8 @@
1
- import { AssetTypeFields, AssetTypeFieldsAttachment, Organization, Stored } from '../../typings';
1
+ import { AssetTypeFieldsAttachment, Organization, Payload, Stored, Submitted } from '../../typings';
2
2
  import { BaseSDK } from '../base';
3
- import { OptimisticMultipleModelResult } from '../typings';
4
3
  import { OvermapRootState } from '../../store';
5
- import { BaseOfflineModelApiService } from './BaseOfflineModelApiService';
6
- export declare abstract class AssetTypeFieldsAttachmentService<TState extends OvermapRootState, TSDK extends BaseSDK<TState>> extends BaseOfflineModelApiService<AssetTypeFieldsAttachment["uuid"], AssetTypeFieldsAttachment, TState, TSDK> {
4
+ import { BaseOfflineFileModelApiService } from './BaseOfflineFileModelApiService';
5
+ export declare abstract class AssetTypeFieldsAttachmentService<TState extends OvermapRootState, TSDK extends BaseSDK<TState>> extends BaseOfflineFileModelApiService<AssetTypeFieldsAttachment["uuid"], AssetTypeFieldsAttachment, TState, TSDK> {
7
6
  name: string;
8
7
  url: string;
9
8
  actions: {
@@ -21,10 +20,11 @@ export declare abstract class AssetTypeFieldsAttachmentService<TState extends Ov
21
20
  selectById: import('../..').OvermapSelectorWithArgs<string, Stored<AssetTypeFieldsAttachment> | undefined>;
22
21
  selectByIds: (uuids: string[]) => (state: any) => Stored<AssetTypeFieldsAttachment>[];
23
22
  };
24
- bulkAdd(payloads: {
25
- fieldsRevisionUuid: AssetTypeFields["uuid"];
26
- fieldIdentifier: string;
27
- file: File;
28
- }[]): Promise<OptimisticMultipleModelResult<AssetTypeFieldsAttachment>>;
23
+ protected getId(model: Stored<AssetTypeFieldsAttachment>): string;
24
+ protected getBlockers(model: Stored<AssetTypeFieldsAttachment>): string[];
25
+ protected getBlocks(model: Stored<AssetTypeFieldsAttachment>): string[];
26
+ protected buildModel(data: Payload<AssetTypeFieldsAttachment>): Submitted<AssetTypeFieldsAttachment>;
27
+ protected buildPayload(model: Submitted<AssetTypeFieldsAttachment>): object;
28
+ protected buildBulkPayload(model: Submitted<AssetTypeFieldsAttachment>): object;
29
29
  refreshStore(organization: Organization["uuid"], signal?: AbortSignal): Promise<AssetTypeFieldsAttachment[]>;
30
30
  }
@@ -1,6 +1,6 @@
1
1
  import { AssetTypeIdentifierValue, Payload, Project, Stored } from '../../typings';
2
2
  import { BaseSDK } from '../base';
3
- import { OptimisticModelResult } from '../typings';
3
+ import { OptimisticModelResult, OptimisticMultipleModelResult } from '../typings';
4
4
  import { OvermapRootState } from '../../store';
5
5
  import { BaseOfflineModelApiService } from './BaseOfflineModelApiService';
6
6
  export declare abstract class AssetTypeIdentifierValueService<TState extends OvermapRootState, TSDK extends BaseSDK<TState>> extends BaseOfflineModelApiService<AssetTypeIdentifierValue["uuid"], AssetTypeIdentifierValue, TState, TSDK> {
@@ -22,6 +22,7 @@ export declare abstract class AssetTypeIdentifierValueService<TState extends Ove
22
22
  selectByIds: (uuids: string[]) => (state: any) => Stored<AssetTypeIdentifierValue>[];
23
23
  };
24
24
  add(payload: Payload<AssetTypeIdentifierValue>): OptimisticModelResult<AssetTypeIdentifierValue>;
25
+ bulkAdd(payloads: Payload<AssetTypeIdentifierValue>[], batchSize?: number): OptimisticMultipleModelResult<AssetTypeIdentifierValue>;
25
26
  delete(uuid: AssetTypeIdentifierValue["uuid"]): Promise<undefined>;
26
27
  refreshStore(projectUuid: Project["uuid"], signal?: AbortSignal): Promise<AssetTypeIdentifierValue[]>;
27
28
  }
@@ -0,0 +1,17 @@
1
+ import { OvermapRootState } from '../../store';
2
+ import { FileAnnotated, Payload, RequiredFileModel, Stored, Submitted } from '../../typings';
3
+ import { BaseSDK } from '../base';
4
+ import { OptimisticFileModelResult, OptimisticMultipleFileModelResult } from '../typings';
5
+ import { BaseOfflineModelApiService } from './BaseOfflineModelApiService';
6
+ export declare abstract class BaseOfflineFileModelApiService<TModelId extends string, TModel extends RequiredFileModel, TState extends OvermapRootState, TSDK extends BaseSDK<TState>> extends BaseOfflineModelApiService<TModelId, TModel, TState, TSDK> {
7
+ protected pageSize: number;
8
+ protected abstract getId(model: Stored<TModel>): TModelId;
9
+ protected abstract getBlockers(model: Stored<TModel>): string[];
10
+ protected abstract getBlocks(model: Stored<TModel>): string[];
11
+ protected abstract buildModel(data: Payload<TModel>): Submitted<TModel>;
12
+ protected abstract buildPayload(model: Submitted<TModel>): object;
13
+ protected abstract buildBulkPayload(model: Submitted<TModel>): object;
14
+ add(payload: Payload<TModel> | FileAnnotated<Omit<Payload<TModel>, keyof RequiredFileModel>>): Promise<OptimisticFileModelResult<TModel>>;
15
+ bulkAdd(payloads: (Payload<TModel> | FileAnnotated<Omit<Payload<TModel>, keyof RequiredFileModel>>)[], batchSize?: number): Promise<OptimisticMultipleFileModelResult<TModel>>;
16
+ delete(uuid: TModelId): Promise<void>;
17
+ }
@@ -1,6 +1,6 @@
1
1
  import { ResultAction } from '@redux-offline/redux-offline/lib/types';
2
2
  import { ActionCreatorWithPayload, UnknownAction } from '@reduxjs/toolkit';
3
- import { BaseState } from '../../store';
3
+ import { BaseState, Selector } from '../../store';
4
4
  import { BaseSDK } from '../base';
5
5
  import { OfflineSDKRequest, PaginatedSDKRequest, SDKRequest } from '../typings';
6
6
  export declare const CLASS_NAME_TO_SERVICE: Record<string, BaseService<BaseState, BaseSDK<BaseState>>>;
@@ -16,4 +16,5 @@ export declare abstract class BaseService<TStore extends BaseState, TSDK extends
16
16
  protected enqueueRequest<TResult>(requestDetails: OfflineSDKRequest): Promise<TResult>;
17
17
  protected performPagination<TResult>(requestDetails: PaginatedSDKRequest, signal?: AbortSignal): Promise<TResult[]>;
18
18
  protected dispatch(action: UnknownAction | ResultAction | ActionCreatorWithPayload<any, any>): void;
19
+ protected select<TRet>(selector: Selector<TStore, TRet>): TRet;
19
20
  }
@@ -1,9 +1,9 @@
1
- import { Document, DocumentAttachment, FilePayload, Organization, Stored, Submitted } from '../../typings';
1
+ import { DocumentAttachment, FileAnnotated, Organization, Payload, RequiredFileModel, Stored, Submitted } from '../../typings';
2
2
  import { BaseSDK } from '../base';
3
- import { OptimisticMultipleModelResult } from '../typings';
3
+ import { OptimisticMultipleFileModelResult } from '../typings';
4
4
  import { OvermapRootState } from '../../store';
5
- import { BaseOfflineAttachmentModelService, BuildModelData } from './BaseOfflineAttachmentModelService';
6
- export declare abstract class DocumentAttachmentService<TState extends OvermapRootState, TSDK extends BaseSDK<TState>> extends BaseOfflineAttachmentModelService<TState, TSDK, DocumentAttachment["uuid"], DocumentAttachment> {
5
+ import { BaseOfflineFileModelApiService } from './BaseOfflineFileModelApiService';
6
+ export declare abstract class DocumentAttachmentService<TState extends OvermapRootState, TSDK extends BaseSDK<TState>> extends BaseOfflineFileModelApiService<DocumentAttachment["uuid"], DocumentAttachment, TState, TSDK> {
7
7
  name: string;
8
8
  url: string;
9
9
  actions: {
@@ -22,19 +22,12 @@ export declare abstract class DocumentAttachmentService<TState extends OvermapRo
22
22
  selectByIds: (uuids: string[]) => (state: any) => Stored<DocumentAttachment>[];
23
23
  };
24
24
  protected getId(model: Stored<DocumentAttachment>): DocumentAttachment["uuid"];
25
- protected buildModel(data: BuildModelData): Submitted<DocumentAttachment>;
26
- protected buildPayload(model: Submitted<DocumentAttachment>, filePayload: FilePayload): {
27
- uuid: string;
28
- file_name: string;
29
- file_sha1: string;
30
- file_extension: string;
31
- document: string;
32
- };
33
- bulkAdd(payloads: {
34
- documentUuid: Document["uuid"];
35
- file: File;
36
- }[]): Promise<OptimisticMultipleModelResult<DocumentAttachment>>;
37
- delete(uuid: DocumentAttachment["uuid"]): Promise<void>;
25
+ protected getBlockers(model: Stored<DocumentAttachment>): string[];
26
+ protected getBlocks(model: Stored<DocumentAttachment>): string[];
27
+ protected buildModel(data: Payload<DocumentAttachment>): Submitted<DocumentAttachment>;
28
+ protected buildPayload(model: Submitted<DocumentAttachment>): object;
29
+ protected buildBulkPayload(model: Submitted<DocumentAttachment>): object;
30
+ bulkAdd(payloads: (Payload<DocumentAttachment> | FileAnnotated<Omit<Payload<DocumentAttachment>, keyof RequiredFileModel>>)[], batchSize?: number): Promise<OptimisticMultipleFileModelResult<DocumentAttachment>>;
38
31
  private makeReadable;
39
32
  refreshStore(organizationUuid: Organization["uuid"], signal?: AbortSignal): Promise<DocumentAttachment[]>;
40
33
  }
@@ -1,40 +1,18 @@
1
- import { FilePayload } from '../../typings';
1
+ import { FilePayload, GetS3UrlResponse, PresignedUrlsResponse } from '../../typings';
2
2
  import { BaseSDK } from '../base';
3
- import { PresignedUrlsResponse } from '../typings';
4
3
  import { BaseState } from '../../store';
5
4
  import { BaseApiService } from './BaseApiService';
6
- export interface GetS3UrlSuccessResponse {
7
- url: string;
8
- fields: Record<string, string>;
9
- }
10
- interface GetS3UrlWarningResponse {
11
- warning: string;
12
- }
13
- export type GetS3UrlResponse = GetS3UrlSuccessResponse | GetS3UrlWarningResponse;
14
- interface DatabaseFileProperties {
15
- file_name: string;
16
- file_sha1: string;
17
- /** When uploading, this is the s3 key of the file.
18
- * When downloading, this is the s3 public url.
19
- */
20
- file: string;
21
- }
22
5
  export declare abstract class FileService<TState extends BaseState, TSDK extends BaseSDK<TState>> extends BaseApiService<TState, TSDK> {
23
6
  host: string;
24
- private _dbPromise;
25
- private renewUploadUrl;
7
+ private dbPromise;
8
+ private getDB;
26
9
  /**
27
10
  * Adds a file to the cache using the sha1 hash as the key and returns the sha1 hash.
28
11
  * @param file The file to add to the cache
29
- * TODO: This should be removed once the bug described in [1] is fixed.
30
- * @param sha1 The sha1 hash of the file to cache.
31
12
  */
32
- addCache(file: File, sha1: string): Promise<void>;
13
+ addCache(file: File): Promise<void>;
33
14
  removeCache(sha1: string): Promise<void>;
34
15
  fetchCache(sha1: string): Promise<File | undefined>;
35
- getOrRenewUploadUrl(sha1: string): Promise<GetS3UrlResponse>;
36
- /** Ensure the file has been added to the file cache before calling `uploadFileToS3()` */
37
- uploadFileToS3(sha1: string): Promise<[DatabaseFileProperties, Promise<undefined>]>;
38
16
  /**
39
17
  * Fetches a file based on its URL and SHA1. SHA1 values should be known ahead of time because the SHA1 and URL of
40
18
  * any file is stored in a FileModelMixin (see backend). If the expected SHA1 doesn't match the actual SHA1 of the
@@ -46,7 +24,7 @@ export declare abstract class FileService<TState extends BaseState, TSDK extends
46
24
  * example.
47
25
  */
48
26
  fetchFileFromUrl(url: string, expectedSha1: string, downloadedName?: string): Promise<File>;
49
- processPresignedUrls(presignedUrls: PresignedUrlsResponse): Record<string, Promise<undefined>>;
27
+ processPresignedUrl(sha1: string, presignedUrl: GetS3UrlResponse): Promise<void>;
28
+ processPresignedUrls(presignedUrls: PresignedUrlsResponse): Record<string, Promise<void>>;
50
29
  getFilePayload(file: File): Promise<FilePayload>;
51
30
  }
52
- export {};
@@ -1,30 +1,30 @@
1
- import { FormRevision, FormRevisionAttachment, Organization } from '../../typings';
1
+ import { FormRevisionAttachment, Organization, Payload, Stored, Submitted } from '../../typings';
2
2
  import { BaseSDK } from '../base';
3
- import { OptimisticMultipleModelResult } from '../typings';
4
3
  import { OvermapRootState } from '../../store';
5
- import { BaseOfflineModelApiService } from './BaseOfflineModelApiService';
6
- export declare abstract class FormRevisionAttachmentService<TState extends OvermapRootState, TSDK extends BaseSDK<TState>> extends BaseOfflineModelApiService<FormRevisionAttachment["uuid"], FormRevisionAttachment, TState, TSDK> {
4
+ import { BaseOfflineFileModelApiService } from './BaseOfflineFileModelApiService';
5
+ export declare abstract class FormRevisionAttachmentService<TState extends OvermapRootState, TSDK extends BaseSDK<TState>> extends BaseOfflineFileModelApiService<FormRevisionAttachment["uuid"], FormRevisionAttachment, TState, TSDK> {
7
6
  name: string;
8
7
  url: string;
9
8
  actions: {
10
- addOne: import('@reduxjs/toolkit').ActionCreatorWithPayload<import('../..').Stored<FormRevisionAttachment>, "formRevisionAttachments/addFormRevisionAttachment">;
11
- addMany: import('@reduxjs/toolkit').ActionCreatorWithPayload<import('../..').Stored<FormRevisionAttachment>[], "formRevisionAttachments/addFormRevisionAttachments">;
12
- setOne: import('@reduxjs/toolkit').ActionCreatorWithPayload<import('../..').Stored<FormRevisionAttachment>, "formRevisionAttachments/setFormRevisionAttachment">;
13
- setMany: import('@reduxjs/toolkit').ActionCreatorWithPayload<import('../..').Stored<FormRevisionAttachment>[], "formRevisionAttachments/setFormRevisionAttachments">;
14
- updateOne: import('@reduxjs/toolkit').ActionCreatorWithPayload<import('../..').Stored<FormRevisionAttachment>, "formRevisionAttachments/updateFormRevisionAttachment">;
15
- updateMany: import('@reduxjs/toolkit').ActionCreatorWithPayload<import('../..').Stored<FormRevisionAttachment>[], "formRevisionAttachments/updateFormRevisionAttachments">;
9
+ addOne: import('@reduxjs/toolkit').ActionCreatorWithPayload<Stored<FormRevisionAttachment>, "formRevisionAttachments/addFormRevisionAttachment">;
10
+ addMany: import('@reduxjs/toolkit').ActionCreatorWithPayload<Stored<FormRevisionAttachment>[], "formRevisionAttachments/addFormRevisionAttachments">;
11
+ setOne: import('@reduxjs/toolkit').ActionCreatorWithPayload<Stored<FormRevisionAttachment>, "formRevisionAttachments/setFormRevisionAttachment">;
12
+ setMany: import('@reduxjs/toolkit').ActionCreatorWithPayload<Stored<FormRevisionAttachment>[], "formRevisionAttachments/setFormRevisionAttachments">;
13
+ updateOne: import('@reduxjs/toolkit').ActionCreatorWithPayload<Stored<FormRevisionAttachment>, "formRevisionAttachments/updateFormRevisionAttachment">;
14
+ updateMany: import('@reduxjs/toolkit').ActionCreatorWithPayload<Stored<FormRevisionAttachment>[], "formRevisionAttachments/updateFormRevisionAttachments">;
16
15
  deleteOne: import('@reduxjs/toolkit').ActionCreatorWithPayload<string, "formRevisionAttachments/deleteFormRevisionAttachment">;
17
16
  deleteMany: import('@reduxjs/toolkit').ActionCreatorWithPayload<string[], "formRevisionAttachments/deleteFormRevisionAttachments">;
18
- initialize: import('@reduxjs/toolkit').ActionCreatorWithPayload<import('../..').Stored<FormRevisionAttachment>[], "formRevisionAttachments/initializeFormRevisionAttachments">;
17
+ initialize: import('@reduxjs/toolkit').ActionCreatorWithPayload<Stored<FormRevisionAttachment>[], "formRevisionAttachments/initializeFormRevisionAttachments">;
19
18
  };
20
19
  selectors: {
21
- selectById: (uuid: string) => (state: any) => import('../..').Stored<FormRevisionAttachment> | undefined;
22
- selectByIds: (uuids: string[]) => (state: any) => import('../..').Stored<FormRevisionAttachment>[];
20
+ selectById: (uuid: string) => (state: any) => Stored<FormRevisionAttachment> | undefined;
21
+ selectByIds: (uuids: string[]) => (state: any) => Stored<FormRevisionAttachment>[];
23
22
  };
24
- bulkAdd(payloads: {
25
- revisionUuid: FormRevision["uuid"];
26
- fieldIdentifier: string;
27
- file: File;
28
- }[]): Promise<OptimisticMultipleModelResult<FormRevisionAttachment>>;
23
+ protected getId(model: Stored<FormRevisionAttachment>): string;
24
+ protected getBlockers(model: Stored<FormRevisionAttachment>): string[];
25
+ protected getBlocks(model: Stored<FormRevisionAttachment>): string[];
26
+ protected buildModel(data: Payload<FormRevisionAttachment>): Submitted<FormRevisionAttachment>;
27
+ protected buildPayload(model: Submitted<FormRevisionAttachment>): object;
28
+ protected buildBulkPayload(model: Submitted<FormRevisionAttachment>): object;
29
29
  refreshStore(organizationUuid: Organization["uuid"], signal?: AbortSignal): Promise<FormRevisionAttachment[]>;
30
30
  }
@@ -1,5 +1,6 @@
1
- import { Created, Form, FormRevision, Organization, Payload, Stored } from '../../typings';
1
+ import { Form, Organization, Payload, Stored, UUID } from '../../typings';
2
2
  import { BaseSDK } from '../base';
3
+ import { OptimisticModelResult } from '../typings';
3
4
  import { OvermapRootState } from '../../store';
4
5
  import { BaseOfflineModelApiService } from './BaseOfflineModelApiService';
5
6
  export declare abstract class FormService<TState extends OvermapRootState, TSDK extends BaseSDK<TState>> extends BaseOfflineModelApiService<Form["uuid"], Form, TState, TSDK> {
@@ -20,7 +21,8 @@ export declare abstract class FormService<TState extends OvermapRootState, TSDK
20
21
  selectById: import('../..').OvermapSelectorWithArgs<string, Stored<Form> | undefined>;
21
22
  selectByIds: (uuids: string[]) => (state: any) => Stored<Form>[];
22
23
  };
23
- add(payload: Payload<Form>, initialRevision: Pick<FormRevision, "title" | "description" | "fields">): [Stored<Form>, Stored<FormRevision>, Promise<Created<FormRevision>>];
24
+ add(payload: Payload<Form>): OptimisticModelResult<Form>;
25
+ update(payload: UUID<Partial<Payload<Form>>>): OptimisticModelResult<Form>;
24
26
  delete(uuid: Form["uuid"]): Promise<undefined>;
25
27
  refreshStore(organizationUuid: Organization["uuid"], signal?: AbortSignal): Promise<Form[]>;
26
28
  }