@overmap-ai/core 1.0.58-qr-code-field-fix.0 → 1.0.58-sign-up-hotfix.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.
@@ -1,11 +1,11 @@
1
1
  import { BaseApiService } from "./BaseApiService";
2
- import { Asset, Payload } from "../../typings";
2
+ import { Asset, Created, Payload } from "../../typings";
3
3
  import { OptimisticModelResult } from "../typings";
4
4
  export declare class AssetService extends BaseApiService {
5
5
  add(asset: Payload<Asset>, workspaceId: string): OptimisticModelResult<Asset>;
6
6
  update(asset: Asset, workspaceId: string): OptimisticModelResult<Asset>;
7
7
  remove(assetId: string): Promise<undefined>;
8
8
  deleteAllAssetsOfAssetType(assetTypeId: string): Promise<undefined>;
9
- addBatch(assetsToCreate: Payload<Asset>[], workspaceId: string, assetTypeId: string): Promise<Record<string, Asset>>;
9
+ bulkAdd(assetsToCreate: Payload<Asset>[], workspaceId: string, assetTypeId: string, batchSize: number): Promise<Created<Asset>[]>[];
10
10
  refreshStore(): Promise<void>;
11
11
  }
@@ -1,19 +1,15 @@
1
- import { SubmittedUserForm, UserFormRevision, UserFormRevisionPayload } from '../../typings/models/forms';
1
+ import { UserForm, UserFormRevision, UserFormRevisionPayload } from '../../typings/models/forms';
2
2
  import { OptimisticModelResult } from "../typings";
3
3
  import { BaseApiService } from "./BaseApiService";
4
+ import { Created, Submitted } from "../../typings";
5
+ import { ISerializedField } from "../../forms";
4
6
  export declare class UserFormService extends BaseApiService {
5
7
  private getAttachImagePromises;
6
8
  private add;
7
- addForOrganization(initialRevision: UserFormRevisionPayload, attachedTo?: {
8
- assetTypeId: string;
9
- } | {
10
- issueTypeId: string;
11
- }): Promise<[SubmittedUserForm, UserFormRevision, Promise<UserFormRevision>, Promise<UserFormRevision>]>;
12
- addForCurrentUser(initialRevision: UserFormRevision, attachedTo?: {
13
- assetTypeId: string;
14
- } | {
15
- issueTypeId: string;
16
- }): Promise<[SubmittedUserForm, UserFormRevision, Promise<UserFormRevision>, Promise<UserFormRevision>]>;
9
+ addForOrganization(organizationId: number, initialRevision: UserFormRevisionPayload): Promise<[Submitted<UserForm>, Submitted<UserFormRevision<ISerializedField>>, Promise<Created<UserFormRevision<ISerializedField>>>, Promise<Created<UserFormRevision<ISerializedField>>>]>;
10
+ addForProject(projectId: number, initialRevision: UserFormRevisionPayload): Promise<[Submitted<UserForm>, Submitted<UserFormRevision<ISerializedField>>, Promise<Created<UserFormRevision<ISerializedField>>>, Promise<Created<UserFormRevision<ISerializedField>>>]>;
11
+ addForIssueType(issueTypeId: string, initialRevision: UserFormRevisionPayload): Promise<[Submitted<UserForm>, Submitted<UserFormRevision<ISerializedField>>, Promise<Created<UserFormRevision<ISerializedField>>>, Promise<Created<UserFormRevision<ISerializedField>>>]>;
12
+ addForAssetType(assetTypeId: string, initialRevision: UserFormRevisionPayload): Promise<[Submitted<UserForm>, Submitted<UserFormRevision<ISerializedField>>, Promise<Created<UserFormRevision<ISerializedField>>>, Promise<Created<UserFormRevision<ISerializedField>>>]>;
17
13
  createRevision(formId: string, revision: UserFormRevisionPayload): Promise<OptimisticModelResult<UserFormRevision>>;
18
14
  favorite(formId: string): Promise<undefined>;
19
15
  unfavorite(formId: string): Promise<undefined>;
@@ -1,18 +1,25 @@
1
1
  import { Offline } from '../../typings/models/base';
2
2
  import { BaseApiService } from "./BaseApiService";
3
- import { UserFormSubmission, UserFormSubmissionPayload } from '../../typings/models/forms';
4
- import { OptimisticModelResult, OptimisticMultipleModelResult } from "../typings";
3
+ import { UserFormSubmission, UserFormSubmissionAttachment, UserFormSubmissionPayload } from '../../typings/models/forms';
4
+ import { OptimisticModelResult } from "../typings";
5
5
  import { FieldValue } from '../../forms';
6
- import { Stored } from "../../typings";
6
+ import { Created, Stored } from "../../typings";
7
+ import { GetS3UrlSuccessResponse } from "./FileService";
8
+ interface BulkAddRequestReturnValue {
9
+ submissions: Created<UserFormSubmission>[];
10
+ attachments: Created<UserFormSubmissionAttachment>[];
11
+ presigned_urls: Record<string, GetS3UrlSuccessResponse>;
12
+ }
7
13
  export declare class UserFormSubmissionService extends BaseApiService {
8
14
  private getAttachFilesPromises;
9
15
  add(payload: Offline<UserFormSubmissionPayload>): OptimisticModelResult<UserFormSubmission>;
10
16
  bulkAdd(args: {
11
17
  formRevision: string;
12
- values: Record<string, FieldValue>;
13
- assetOfflineIds: string[];
14
- }): Promise<OptimisticMultipleModelResult<UserFormSubmission>>;
18
+ commonFieldValues: Record<string, FieldValue>;
19
+ fieldValuesByAsset: Record<string, Record<string, FieldValue>>;
20
+ }, batchSize: number): Promise<Promise<BulkAddRequestReturnValue>[]>;
15
21
  update(submission: Stored<UserFormSubmission>): OptimisticModelResult<UserFormSubmission>;
16
22
  delete(submissionId: string): Promise<undefined>;
17
23
  refreshStore(): Promise<void>;
18
24
  }
25
+ export {};
@@ -9,7 +9,9 @@ export declare const assetSlice: import("@reduxjs/toolkit").Slice<AssetState, {
9
9
  addAssetsInBatches: (state: import("immer/dist/internal.js").WritableDraft<AssetState>, action: PayloadAction<(Asset | Submitted<Asset>)[]>) => void;
10
10
  setAssets: (state: import("immer/dist/internal.js").WritableDraft<AssetState>, action: PayloadAction<Asset[]>) => void;
11
11
  updateAsset: (state: import("immer/dist/internal.js").WritableDraft<AssetState>, action: PayloadAction<Asset>) => void;
12
+ updateAssets: (state: import("immer/dist/internal.js").WritableDraft<AssetState>, action: PayloadAction<Asset[]>) => void;
12
13
  removeAsset: (state: import("immer/dist/internal.js").WritableDraft<AssetState>, action: PayloadAction<string>) => void;
14
+ removeAssets: (state: import("immer/dist/internal.js").WritableDraft<AssetState>, action: PayloadAction<string[]>) => void;
13
15
  removeAllAssetsOfType: (state: import("immer/dist/internal.js").WritableDraft<AssetState>, action: PayloadAction<string>) => void;
14
16
  setAssetAttachment: (state: AssetState, action: {
15
17
  payload: Stored<AssetAttachment>;
@@ -44,7 +46,7 @@ export declare const assetSlice: import("@reduxjs/toolkit").Slice<AssetState, {
44
46
  type: string;
45
47
  }) => void;
46
48
  }, "assets">;
47
- export declare const addAsset: import("@reduxjs/toolkit").ActionCreatorWithPayload<Asset, "assets/addAsset">, updateAsset: import("@reduxjs/toolkit").ActionCreatorWithPayload<Asset, "assets/updateAsset">, removeAsset: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "assets/removeAsset">, addAssetsInBatches: import("@reduxjs/toolkit").ActionCreatorWithPayload<(Asset | Submitted<Asset>)[], "assets/addAssetsInBatches">, setAssets: import("@reduxjs/toolkit").ActionCreatorWithPayload<Asset[], "assets/setAssets">, removeAllAssetsOfType: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "assets/removeAllAssetsOfType">, setAssetAttachment: import("@reduxjs/toolkit").ActionCreatorWithPayload<Stored<AssetAttachment>, "assets/setAssetAttachment">, setAssetAttachments: import("@reduxjs/toolkit").ActionCreatorWithPayload<Stored<AssetAttachment>[], "assets/setAssetAttachments">, addAssetAttachment: import("@reduxjs/toolkit").ActionCreatorWithPayload<Submitted<AssetAttachment>, "assets/addAssetAttachment">, addAssetAttachments: import("@reduxjs/toolkit").ActionCreatorWithPayload<Submitted<AssetAttachment>[], "assets/addAssetAttachments">, updateAssetAttachment: import("@reduxjs/toolkit").ActionCreatorWithPayload<Submitted<AssetAttachment>, "assets/updateAssetAttachment">, updateAssetAttachments: import("@reduxjs/toolkit").ActionCreatorWithPayload<Submitted<AssetAttachment>[], "assets/updateAssetAttachments">, removeAssetAttachment: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "assets/removeAssetAttachment">, removeAssetAttachments: import("@reduxjs/toolkit").ActionCreatorWithPayload<string[], "assets/removeAssetAttachments">;
49
+ export declare const addAsset: import("@reduxjs/toolkit").ActionCreatorWithPayload<Asset, "assets/addAsset">, updateAsset: import("@reduxjs/toolkit").ActionCreatorWithPayload<Asset, "assets/updateAsset">, updateAssets: import("@reduxjs/toolkit").ActionCreatorWithPayload<Asset[], "assets/updateAssets">, removeAsset: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "assets/removeAsset">, removeAssets: import("@reduxjs/toolkit").ActionCreatorWithPayload<string[], "assets/removeAssets">, addAssetsInBatches: import("@reduxjs/toolkit").ActionCreatorWithPayload<(Asset | Submitted<Asset>)[], "assets/addAssetsInBatches">, setAssets: import("@reduxjs/toolkit").ActionCreatorWithPayload<Asset[], "assets/setAssets">, removeAllAssetsOfType: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "assets/removeAllAssetsOfType">, setAssetAttachment: import("@reduxjs/toolkit").ActionCreatorWithPayload<Stored<AssetAttachment>, "assets/setAssetAttachment">, setAssetAttachments: import("@reduxjs/toolkit").ActionCreatorWithPayload<Stored<AssetAttachment>[], "assets/setAssetAttachments">, addAssetAttachment: import("@reduxjs/toolkit").ActionCreatorWithPayload<Submitted<AssetAttachment>, "assets/addAssetAttachment">, addAssetAttachments: import("@reduxjs/toolkit").ActionCreatorWithPayload<Submitted<AssetAttachment>[], "assets/addAssetAttachments">, updateAssetAttachment: import("@reduxjs/toolkit").ActionCreatorWithPayload<Submitted<AssetAttachment>, "assets/updateAssetAttachment">, updateAssetAttachments: import("@reduxjs/toolkit").ActionCreatorWithPayload<Submitted<AssetAttachment>[], "assets/updateAssetAttachments">, removeAssetAttachment: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "assets/removeAssetAttachment">, removeAssetAttachments: import("@reduxjs/toolkit").ActionCreatorWithPayload<string[], "assets/removeAssetAttachments">;
48
50
  export declare const selectAssets: (state: RootState) => Asset[];
49
51
  export declare const selectAssetsMapping: (state: RootState) => Record<string, Asset | Submitted<Asset>>;
50
52
  export declare const selectAssetsOfAssetType: SelectorWithArgs<string, Asset[]>;
@@ -22,79 +22,7 @@ export declare const formSlice: import("@reduxjs/toolkit").Slice<FormState, {
22
22
  }) => void;
23
23
  deleteForm: (state: import("immer/dist/internal.js").WritableDraft<FormState>, action: PayloadAction<string>) => void;
24
24
  }, "forms">;
25
- export declare const setForms: import("@reduxjs/toolkit").ActionCreatorWithPayload<((Pick<import('../../typings/models/workspace').WorkspaceIndexedModel, "index_workspace"> & {
26
- favorite: boolean;
27
- asset_type?: string | undefined;
28
- issue_type?: string | undefined;
29
- } & {
30
- owner_organization: number;
31
- owner_user: undefined;
32
- } & {
33
- offline_id: string;
34
- } & import('../../typings/models/base').OfflineModel & {
35
- created_by: number;
36
- submitted_at: string;
37
- }) | (Pick<import('../../typings/models/workspace').WorkspaceIndexedModel, "index_workspace"> & {
38
- favorite: boolean;
39
- asset_type?: string | undefined;
40
- issue_type?: string | undefined;
41
- } & {
42
- owner_organization: undefined;
43
- owner_user: number;
44
- } & {
45
- offline_id: string;
46
- } & import('../../typings/models/base').OfflineModel & {
47
- created_by: number;
48
- submitted_at: string;
49
- }))[], "forms/setForms">, addForm: import("@reduxjs/toolkit").ActionCreatorWithPayload<(Pick<import('../../typings/models/workspace').WorkspaceIndexedModel, "index_workspace"> & {
50
- favorite: boolean;
51
- asset_type?: string | undefined;
52
- issue_type?: string | undefined;
53
- } & {
54
- owner_organization: number;
55
- owner_user: undefined;
56
- } & {
57
- offline_id: string;
58
- } & import('../../typings/models/base').OfflineModel & {
59
- created_by: number;
60
- submitted_at: string;
61
- }) | (Pick<import('../../typings/models/workspace').WorkspaceIndexedModel, "index_workspace"> & {
62
- favorite: boolean;
63
- asset_type?: string | undefined;
64
- issue_type?: string | undefined;
65
- } & {
66
- owner_organization: undefined;
67
- owner_user: number;
68
- } & {
69
- offline_id: string;
70
- } & import('../../typings/models/base').OfflineModel & {
71
- created_by: number;
72
- submitted_at: string;
73
- }), "forms/addForm">, addForms: import("@reduxjs/toolkit").ActionCreatorWithPayload<((Pick<import('../../typings/models/workspace').WorkspaceIndexedModel, "index_workspace"> & {
74
- favorite: boolean;
75
- asset_type?: string | undefined;
76
- issue_type?: string | undefined;
77
- } & {
78
- owner_organization: number;
79
- owner_user: undefined;
80
- } & {
81
- offline_id: string;
82
- } & import('../../typings/models/base').OfflineModel & {
83
- created_by: number;
84
- submitted_at: string;
85
- }) | (Pick<import('../../typings/models/workspace').WorkspaceIndexedModel, "index_workspace"> & {
86
- favorite: boolean;
87
- asset_type?: string | undefined;
88
- issue_type?: string | undefined;
89
- } & {
90
- owner_organization: undefined;
91
- owner_user: number;
92
- } & {
93
- offline_id: string;
94
- } & import('../../typings/models/base').OfflineModel & {
95
- created_by: number;
96
- submitted_at: string;
97
- }))[], "forms/addForms">, favoriteForm: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
25
+ export declare const setForms: import("@reduxjs/toolkit").ActionCreatorWithPayload<Submitted<UserForm>[], "forms/setForms">, addForm: import("@reduxjs/toolkit").ActionCreatorWithPayload<Submitted<UserForm>, "forms/addForm">, addForms: import("@reduxjs/toolkit").ActionCreatorWithPayload<Submitted<UserForm>[], "forms/addForms">, favoriteForm: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
98
26
  formId: string;
99
27
  }, "forms/favoriteForm">, unfavoriteForm: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
100
28
  formId: string;
@@ -103,9 +31,7 @@ export type FormSearchArgs = SearchArgs<{
103
31
  /** `undefined` means don't filter by favorite. `boolean` filters forms. */
104
32
  favorites?: boolean;
105
33
  /** organization owner */
106
- owner_organization?: number;
107
- /** user owner */
108
- owner_user?: number;
34
+ organization?: number;
109
35
  }>;
110
36
  export declare const selectFilteredForms: SelectorWithArgs<FormSearchArgs, CachedUserForm[]>;
111
37
  export declare const selectForm: SelectorWithArgs<string, Stored<UserForm>>;
@@ -5,6 +5,7 @@ export interface Asset extends OfflineModel {
5
5
  asset_type: string;
6
6
  created_at?: string;
7
7
  label: string | null;
8
+ description?: string;
8
9
  }
9
10
  export interface AssetType extends OfflineModel, IconModel {
10
11
  name?: string;
@@ -1,23 +1,19 @@
1
1
  import { CreatedByModel, OfflineModel, Payload, SubmittedAtModel } from "./base";
2
2
  import { BaseSerializedObject, FieldValue, ISerializedField } from "../../forms";
3
3
  import { FileWithNameModel } from '../files';
4
- import { WorkspaceIndexedModel } from "./workspace";
5
- export type UserForm = Pick<WorkspaceIndexedModel, "index_workspace"> & {
4
+ export interface UserForm extends OfflineModel {
6
5
  favorite: boolean;
6
+ created_by: number;
7
7
  asset_type?: string;
8
8
  issue_type?: string;
9
- } & ({
10
- owner_organization: number;
11
- owner_user: undefined;
12
- } | {
13
- owner_organization: undefined;
14
- owner_user: number;
15
- });
9
+ organization?: number;
10
+ project?: number;
11
+ }
16
12
  export type SubmittedUserForm = UserForm & OfflineModel & {
17
13
  created_by: number;
18
14
  submitted_at: string;
19
15
  };
20
- export type CreatedUserForm = SubmittedUserForm & Pick<WorkspaceIndexedModel, "index"> & {
16
+ export type CreatedUserForm = SubmittedUserForm & {
21
17
  created_at: string;
22
18
  };
23
19
  export type CachedUserForm = SubmittedUserForm & {
@@ -0,0 +1 @@
1
+ export declare function chunkArray<T>(arr: T[], chunkSize: number): T[][];
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "Core functionality for Overmap",
4
4
  "author": "Wôrdn Inc.",
5
5
  "license": "UNLICENSED",
6
- "version": "1.0.58-qr-code-field-fix.0",
6
+ "version": "1.0.58-sign-up-hotfix.0",
7
7
  "type": "module",
8
8
  "main": "dist/overmap-core.umd.cjs",
9
9
  "module": "dist/overmap-core.js",