@overmap-ai/core 1.0.74-gcs.1 → 1.0.74-geojson-layers.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.
Files changed (92) hide show
  1. package/dist/overmap-core.js +3751 -3096
  2. package/dist/overmap-core.umd.cjs +7 -7
  3. package/dist/sdk/services/AssetAttachmentService.d.ts +1 -1
  4. package/dist/sdk/services/AssetProcedureAttachmentService.d.ts +39 -0
  5. package/dist/sdk/services/AssetTypeAttachmentService.d.ts +1 -1
  6. package/dist/sdk/services/BaseAttachmentService.d.ts +1 -1
  7. package/dist/sdk/services/DocumentAttachmentService.d.ts +1 -1
  8. package/dist/sdk/services/EmailDomainsService.d.ts +8 -0
  9. package/dist/sdk/services/GeoJsonFeatureService.d.ts +10 -0
  10. package/dist/sdk/services/GeoJsonLayerService.d.ts +10 -0
  11. package/dist/sdk/services/IssueAttachmentService.d.ts +1 -1
  12. package/dist/sdk/services/IssueCommentAttachmentService.d.ts +1 -1
  13. package/dist/sdk/services/IssueTypeAttachmentService.d.ts +1 -1
  14. package/dist/sdk/services/LicenseService.d.ts +13 -0
  15. package/dist/sdk/services/OrganizationAccessService.d.ts +0 -3
  16. package/dist/sdk/services/ProjectAccessService.d.ts +0 -3
  17. package/dist/sdk/services/ProjectAttachmentService.d.ts +1 -1
  18. package/dist/sdk/services/ProjectService.d.ts +1 -1
  19. package/dist/sdk/services/TeamService.d.ts +3 -3
  20. package/dist/sdk/services/index.d.ts +5 -0
  21. package/dist/store/adapters/index.d.ts +2 -0
  22. package/dist/store/adapters/modelAdapter.d.ts +15 -0
  23. package/dist/store/adapters/selectionAdapter.d.ts +13 -0
  24. package/dist/store/index.d.ts +1 -1
  25. package/dist/store/slices/agentsSlice.d.ts +5 -5
  26. package/dist/store/slices/assetAttachmentSlice.d.ts +16 -10
  27. package/dist/store/slices/assetProcedureAttachmentSlice.d.ts +47 -0
  28. package/dist/store/slices/assetProcedureFieldValuesAttachmentSlice.d.ts +16 -10
  29. package/dist/store/slices/assetProcedureFieldValuesSlice.d.ts +16 -10
  30. package/dist/store/slices/assetProcedureFieldsAttachmentSlice.d.ts +16 -10
  31. package/dist/store/slices/assetProcedureFieldsSlice.d.ts +16 -10
  32. package/dist/store/slices/assetProcedureInstanceSlice.d.ts +16 -10
  33. package/dist/store/slices/assetProcedureSlice.d.ts +16 -10
  34. package/dist/store/slices/assetSlice.d.ts +16 -10
  35. package/dist/store/slices/assetStageCompletionSlice.d.ts +14 -8
  36. package/dist/store/slices/assetStageSlice.d.ts +16 -10
  37. package/dist/store/slices/assetTypeAttachmentSlice.d.ts +16 -10
  38. package/dist/store/slices/assetTypeFieldValuesAttachmentSlice.d.ts +16 -10
  39. package/dist/store/slices/assetTypeFieldValuesSlice.d.ts +16 -10
  40. package/dist/store/slices/assetTypeFieldsAttachmentSlice.d.ts +16 -10
  41. package/dist/store/slices/assetTypeFieldsSlice.d.ts +16 -10
  42. package/dist/store/slices/assetTypeSlice.d.ts +16 -10
  43. package/dist/store/slices/categorySlice.d.ts +8 -5
  44. package/dist/store/slices/documentAttachmentSlice.d.ts +16 -10
  45. package/dist/store/slices/emailDomainsSlice.d.ts +42 -0
  46. package/dist/store/slices/formRevisionAttachmentSlice.d.ts +16 -10
  47. package/dist/store/slices/formRevisionSlice.d.ts +13 -7
  48. package/dist/store/slices/formSlice.d.ts +10 -7
  49. package/dist/store/slices/formSubmissionAttachmentSlice.d.ts +16 -10
  50. package/dist/store/slices/formSubmissionSlice.d.ts +16 -10
  51. package/dist/store/slices/geoImageSlice.d.ts +16 -10
  52. package/dist/store/slices/geoJsonFeatureSlice.d.ts +68 -0
  53. package/dist/store/slices/geoJsonLayerSlice.d.ts +68 -0
  54. package/dist/store/slices/index.d.ts +5 -0
  55. package/dist/store/slices/issueAssociationSlice.d.ts +16 -10
  56. package/dist/store/slices/issueAttachmentSlice.d.ts +16 -10
  57. package/dist/store/slices/issueCommentAttachmentSlice.d.ts +16 -10
  58. package/dist/store/slices/issueCommentSlice.d.ts +13 -7
  59. package/dist/store/slices/issueSlice.d.ts +13 -7
  60. package/dist/store/slices/issueTypeAttachmentSlice.d.ts +16 -10
  61. package/dist/store/slices/issueTypeFieldValuesAttachmentSlice.d.ts +16 -10
  62. package/dist/store/slices/issueTypeFieldValuesSlice.d.ts +16 -10
  63. package/dist/store/slices/issueTypeFieldsAttachmentSlice.d.ts +16 -10
  64. package/dist/store/slices/issueTypeFieldsSlice.d.ts +16 -10
  65. package/dist/store/slices/issueTypeSlice.d.ts +9 -6
  66. package/dist/store/slices/issueUpdateSlice.d.ts +13 -7
  67. package/dist/store/slices/licenseSlice.d.ts +24 -0
  68. package/dist/store/slices/organizationAccessSlice.d.ts +7 -4
  69. package/dist/store/slices/organizationSlice.d.ts +20 -13
  70. package/dist/store/slices/projectAccessSlice.d.ts +11 -5
  71. package/dist/store/slices/projectAttachmentSlice.d.ts +16 -10
  72. package/dist/store/slices/projectFileSlice.d.ts +16 -10
  73. package/dist/store/slices/projectSlice.d.ts +18 -12
  74. package/dist/store/slices/teamSlice.d.ts +10 -7
  75. package/dist/store/slices/userSlice.d.ts +31 -15
  76. package/dist/store/store.d.ts +4 -0
  77. package/dist/store/typings.d.ts +5 -2
  78. package/dist/typings/models/assets.d.ts +1 -2
  79. package/dist/typings/models/attachments.d.ts +3 -0
  80. package/dist/typings/models/base.d.ts +56 -12
  81. package/dist/typings/models/geo.d.ts +11 -12
  82. package/dist/typings/models/geoImages.d.ts +1 -2
  83. package/dist/typings/models/index.d.ts +1 -0
  84. package/dist/typings/models/issues.d.ts +4 -43
  85. package/dist/typings/models/license.d.ts +13 -0
  86. package/dist/typings/models/organizations.d.ts +2 -1
  87. package/dist/typings/models/projects.d.ts +5 -5
  88. package/dist/typings/models/store.d.ts +6 -1
  89. package/dist/typings/models/teams.d.ts +2 -2
  90. package/dist/typings/models/users.d.ts +7 -8
  91. package/package.json +1 -1
  92. package/dist/store/adapter.d.ts +0 -15
@@ -1,46 +1,62 @@
1
1
  import { PayloadAction } from '@reduxjs/toolkit';
2
2
  import { OvermapRootState, OvermapSelectorWithArgs, User } from '../../typings';
3
3
  import { ModelState } from '../typings';
4
- export interface UserState extends ModelState<User> {
4
+ export interface UserState extends ModelState<User["id"], User> {
5
5
  currentUser: User | null;
6
6
  }
7
7
  export declare const userSlice: import('@reduxjs/toolkit').Slice<UserState, {
8
- initializeUsers: (state: ModelState<User>, action: {
8
+ initializeUsers: (state: ModelState<number, User>, action: {
9
9
  payload: User[];
10
10
  type: string;
11
11
  }) => void;
12
- setUsers: (state: ModelState<User>, action: {
12
+ setUsers: (state: ModelState<number, User>, action: {
13
13
  payload: User[];
14
14
  type: string;
15
15
  }) => void;
16
- setUser: (state: ModelState<User>, action: {
16
+ setUser: (state: ModelState<number, User>, action: {
17
17
  payload: User;
18
18
  type: string;
19
19
  }) => void;
20
- addUsers: (state: ModelState<User>, action: {
20
+ addUsers: (state: ModelState<number, User>, action: {
21
21
  payload: User[];
22
22
  type: string;
23
23
  }) => void;
24
- addUser: (state: ModelState<User>, action: {
24
+ addUser: (state: ModelState<number, User>, action: {
25
25
  payload: User;
26
26
  type: string;
27
27
  }) => void;
28
- updateUsers: (state: ModelState<User>, action: {
28
+ updateUsers: (state: ModelState<number, User>, action: {
29
29
  payload: User[];
30
30
  type: string;
31
31
  }) => void;
32
- updateUser: (state: ModelState<User>, action: {
32
+ updateUser: (state: ModelState<number, User>, action: {
33
33
  payload: User;
34
34
  type: string;
35
35
  }) => void;
36
- deleteUser: (state: ModelState<User>, action: PayloadAction<string>) => void;
37
- deleteUsers: (state: ModelState<User>, action: PayloadAction<string[]>) => void;
38
- removeUser: (state: ModelState<User>, action: PayloadAction<string>) => void;
36
+ deleteUser: (state: ModelState<number, User>, action: {
37
+ payload: number;
38
+ type: string;
39
+ }) => void;
40
+ deleteUsers: (state: ModelState<number, User>, action: {
41
+ payload: number[];
42
+ type: string;
43
+ }) => void;
44
+ removeUser: (state: ModelState<number, User>, action: {
45
+ payload: number;
46
+ type: string;
47
+ }) => void;
39
48
  setCurrentUser: (state: import('immer').WritableDraft<UserState>, action: PayloadAction<User | null>) => void;
49
+ setProfilePicture: (state: import('immer').WritableDraft<UserState>, action: PayloadAction<{
50
+ file?: string;
51
+ file_sha1?: string;
52
+ }>) => void;
40
53
  }, "users", "users", import('@reduxjs/toolkit').SliceSelectors<UserState>>;
41
- export declare const initializeUsers: import('@reduxjs/toolkit').ActionCreatorWithPayload<User[], "users/initializeUsers">, setUsers: import('@reduxjs/toolkit').ActionCreatorWithPayload<User[], "users/setUsers">, setUser: import('@reduxjs/toolkit').ActionCreatorWithPayload<User, "users/setUser">, addUsers: import('@reduxjs/toolkit').ActionCreatorWithPayload<User[], "users/addUsers">, addUser: import('@reduxjs/toolkit').ActionCreatorWithPayload<User, "users/addUser">, updateUsers: import('@reduxjs/toolkit').ActionCreatorWithPayload<User[], "users/updateUsers">, updateUser: import('@reduxjs/toolkit').ActionCreatorWithPayload<User, "users/updateUser">, deleteUser: import('@reduxjs/toolkit').ActionCreatorWithPayload<string, "users/deleteUser">, deleteUsers: import('@reduxjs/toolkit').ActionCreatorWithPayload<string[], "users/deleteUsers">, removeUser: import('@reduxjs/toolkit').ActionCreatorWithPayload<string, "users/removeUser">, setCurrentUser: import('@reduxjs/toolkit').ActionCreatorWithPayload<User | null, "users/setCurrentUser">;
54
+ export declare const initializeUsers: import('@reduxjs/toolkit').ActionCreatorWithPayload<User[], "users/initializeUsers">, setUsers: import('@reduxjs/toolkit').ActionCreatorWithPayload<User[], "users/setUsers">, setUser: import('@reduxjs/toolkit').ActionCreatorWithPayload<User, "users/setUser">, addUsers: import('@reduxjs/toolkit').ActionCreatorWithPayload<User[], "users/addUsers">, addUser: import('@reduxjs/toolkit').ActionCreatorWithPayload<User, "users/addUser">, updateUsers: import('@reduxjs/toolkit').ActionCreatorWithPayload<User[], "users/updateUsers">, updateUser: import('@reduxjs/toolkit').ActionCreatorWithPayload<User, "users/updateUser">, deleteUser: import('@reduxjs/toolkit').ActionCreatorWithPayload<number, "users/deleteUser">, deleteUsers: import('@reduxjs/toolkit').ActionCreatorWithPayload<number[], "users/deleteUsers">, removeUser: import('@reduxjs/toolkit').ActionCreatorWithPayload<number, "users/removeUser">, setCurrentUser: import('@reduxjs/toolkit').ActionCreatorWithPayload<User | null, "users/setCurrentUser">, setProfilePicture: import('@reduxjs/toolkit').ActionCreatorWithPayload<{
55
+ file?: string;
56
+ file_sha1?: string;
57
+ }, "users/setProfilePicture">;
42
58
  export declare const userReducer: import('redux').Reducer<UserState>;
43
59
  export declare const selectCurrentUser: (state: OvermapRootState) => User | null;
44
- export declare const selectUsersMapping: (state: OvermapRootState) => Record<string, User>;
45
- export declare const selectUserById: OvermapSelectorWithArgs<User["uuid"], User | undefined>;
46
- export declare const selectUsersByIds: (args: string[]) => (state: OvermapRootState) => User[];
60
+ export declare const selectUsersMapping: (state: OvermapRootState) => Record<number, User>;
61
+ export declare const selectUserById: OvermapSelectorWithArgs<User["id"], User | undefined>;
62
+ export declare const selectUsersByIds: (args: number[]) => (state: OvermapRootState) => User[];
@@ -33,6 +33,8 @@ export declare const overmapReducers: {
33
33
  formSubmissionAttachmentReducer: Reducer<import('./slices').FormSubmissionAttachmentState>;
34
34
  formSubmissionReducer: Reducer<import('./slices').FormSubmissionState>;
35
35
  userReducer: Reducer<import('./slices').UserState>;
36
+ emailDomainsReducer: Reducer<import('./slices').EmailDomainState>;
37
+ licenseReducer: Reducer<import('./slices').LicenseState>;
36
38
  documentsReducer: Reducer<import('./slices').DocumentState>;
37
39
  documentAttachmentReducer: Reducer<import('./slices').DocumentAttachmentState>;
38
40
  teamReducer: Reducer<import('./slices').TeamState>;
@@ -41,6 +43,8 @@ export declare const overmapReducers: {
41
43
  issueCommentAttachmentReducer: Reducer<import('./slices').IssueCommentAttachmentState>;
42
44
  issueUpdateReducer: Reducer<import('./slices').IssueUpdateState>;
43
45
  geoImageReducer: Reducer<import('./slices').GeoImageSliceState>;
46
+ geoJsonFeatureReducer: Reducer<import('./slices').GeoJsonFeatureState>;
47
+ geoJsonLayerReducer: Reducer<import('./slices').GeoJsonLayerState>;
44
48
  issueAssociationReducer: Reducer<import('./slices').IssueAssociationSliceState>;
45
49
  issueTypeFieldsReducer: Reducer<import('./slices').IssueTypeFieldsState>;
46
50
  issueTypeFieldValuesReducer: Reducer<import('./slices').IssueTypeFieldValuesState>;
@@ -1,3 +1,6 @@
1
- export interface ModelState<TModel> {
2
- instances: Record<string, TModel>;
1
+ export interface ModelState<TId extends number | string | symbol, TModel> {
2
+ instances: Record<TId, TModel>;
3
+ }
4
+ export interface SelectionState<TSelection> {
5
+ selection: TSelection[];
3
6
  }
@@ -1,7 +1,6 @@
1
1
  import { BaseSerializedObject, ISerializedField } from '@overmap-ai/forms';
2
- import { ColorModel, CreatedByModel, IconModel, IndexedModel, SubmittedAtModel, TimestampedModel, UUIDModel } from './base';
2
+ import { CanvasMarkableModel, ColorModel, CreatedByModel, IconModel, IndexedModel, MarkableModel, SubmittedAtModel, TimestampedModel, UUIDModel } from './base';
3
3
  import { FieldsAttachmentModel, FieldsModel, FieldValuesModel } from './fields';
4
- import { CanvasMarkableModel, MarkableModel } from './geo';
5
4
  export interface Asset extends UUIDModel, TimestampedModel, SubmittedAtModel, CreatedByModel, MarkableModel, CanvasMarkableModel, IndexedModel {
6
5
  asset_type: string;
7
6
  label: string | null;
@@ -19,6 +19,9 @@ export interface AssetAttachment extends Attachment {
19
19
  export interface AssetTypeAttachment extends Attachment {
20
20
  asset_type: string;
21
21
  }
22
+ export interface AssetProcedureAttachment extends Attachment {
23
+ asset_procedure: string;
24
+ }
22
25
  export interface ProjectAttachment extends Attachment {
23
26
  project: string;
24
27
  }
@@ -1,9 +1,50 @@
1
1
  import { IconType } from '@overmap-ai/blocks';
2
+ import { MultiPoint, Point } from 'geojson';
3
+ import { COMMON_AUTO_FIELDS } from '../../utils';
2
4
  import { CSSColor } from '../colors';
3
- import { CommonAutoFields } from './issues';
4
5
  import { User } from './users';
6
+ export type UUID<T> = T & {
7
+ uuid: string;
8
+ };
9
+ export type UUIDModelMapping<TModel extends UUIDModel> = Record<TModel["uuid"], TModel>;
10
+ type FilteredKeys<T> = {
11
+ [P in keyof T]: T[P] extends never ? never : P;
12
+ }[keyof T];
13
+ type ExcludeNeverFields<O> = {
14
+ [K in FilteredKeys<O>]: O[K];
15
+ };
16
+ type PropertyUndefined<T> = {
17
+ [P in keyof T]?: T[P];
18
+ };
19
+ export type CommonAutoFields = (typeof COMMON_AUTO_FIELDS)[number];
20
+ /**
21
+ * Represents a model instance that has been submitted to the backend. Some properties (depending on which model, but in
22
+ * all cases, the `offline_id`) are guaranteed to be set.
23
+ */
24
+ export type Submitted<TModel> = Omit<TModel, CommonAutoFields> & PropertyUndefined<ExcludeNeverFields<{
25
+ created_at: "created_at" extends keyof TModel ? undefined : never;
26
+ updated_at: "updated_at" extends keyof TModel ? undefined : never;
27
+ index: "index" extends keyof TModel ? undefined : never;
28
+ revision: "revision" extends keyof TModel ? undefined : never;
29
+ }>>;
30
+ /**
31
+ * Represents a model instance that has been submitted to the backend, accepted, then downloaded. Created models
32
+ * typically have additional properties that are only known once it has been processed and accepted by the API, such as
33
+ * the `created_at` timestamp, which is the time at which the data was written to the database.
34
+ */
35
+ export type Created<TModel> = TModel;
36
+ /**
37
+ * Model instances that are stored in the Redux store can be already-created (and will likely be gotten with the initial
38
+ * data load), or to-be-created. In the former case, you will get a `Created<TModel>`. In the latter case, you will get
39
+ * a `Submitted<TModel>`.
40
+ */
41
+ export type Stored<TModel> = Created<TModel> | Submitted<TModel>;
42
+ export type Payload<TModel> = Omit<TModel, CommonAutoFields | "uuid" | "id" | "submitted_at" | "created_by">;
5
43
  export interface Model {
6
44
  }
45
+ export interface IdModel extends Model {
46
+ id: number;
47
+ }
7
48
  export interface UUIDModel extends Model {
8
49
  uuid: string;
9
50
  }
@@ -14,16 +55,6 @@ export interface TimestampedModel extends Model {
14
55
  created_at: string;
15
56
  updated_at: string;
16
57
  }
17
- export type UUID<T> = T & {
18
- uuid: string;
19
- };
20
- export type UUIDModelMapping<TModel extends UUIDModel> = Record<TModel["uuid"], TModel>;
21
- export type Payload<TModel> = Omit<TModel, CommonAutoFields | "uuid" | "id" | "submitted_at" | "created_by">;
22
- export interface FileObject {
23
- file_sha1: string;
24
- file: string;
25
- objectURL?: string;
26
- }
27
58
  export interface OptionalFileModel {
28
59
  file_sha1?: string | null;
29
60
  file?: string | null;
@@ -39,8 +70,21 @@ export interface ColorModel {
39
70
  color: CSSColor;
40
71
  }
41
72
  export interface CreatedByModel {
42
- created_by?: User["uuid"] | null;
73
+ created_by?: User["id"] | null;
43
74
  }
44
75
  export interface IndexedModel {
45
76
  index: number;
46
77
  }
78
+ export interface BoundableModel {
79
+ bounds?: MultiPoint;
80
+ }
81
+ export interface CanvasBoundableModel {
82
+ canvas_bounds?: MultiPoint;
83
+ }
84
+ export interface MarkableModel {
85
+ geo_marker?: Point;
86
+ }
87
+ export interface CanvasMarkableModel {
88
+ canvas_marker?: Point;
89
+ }
90
+ export {};
@@ -1,13 +1,12 @@
1
- import { MultiPoint, Point } from 'geojson';
2
- export interface BoundableModel {
3
- bounds?: MultiPoint;
4
- }
5
- export interface CanvasBoundableModel {
6
- canvas_bounds?: MultiPoint;
7
- }
8
- export interface MarkableModel {
9
- geo_marker?: Point;
10
- }
11
- export interface CanvasMarkableModel {
12
- canvas_marker?: Point;
1
+ import { Geometry } from 'geojson';
2
+ import { CreatedByModel, SubmittedAtModel, TimestampedModel, UUIDModel } from './base';
3
+ import { Project } from './projects';
4
+ export interface GeoJsonLayer extends UUIDModel, TimestampedModel, SubmittedAtModel, CreatedByModel {
5
+ name?: string | null;
6
+ project: Project["uuid"];
7
+ }
8
+ export interface GeoJsonFeature extends UUIDModel, TimestampedModel, SubmittedAtModel, CreatedByModel {
9
+ geojson_layer: GeoJsonLayer["uuid"];
10
+ properties: object;
11
+ geometry: Geometry;
13
12
  }
@@ -1,6 +1,5 @@
1
1
  import { FileWithNameModel } from '../files';
2
- import { CreatedByModel, IndexedModel, Payload, SubmittedAtModel, UUIDModel } from './base';
3
- import { CanvasMarkableModel, MarkableModel } from './geo';
2
+ import { CanvasMarkableModel, CreatedByModel, IndexedModel, MarkableModel, Payload, SubmittedAtModel, UUIDModel } from './base';
4
3
  import { Project } from './projects';
5
4
  export interface GeoImage extends UUIDModel, SubmittedAtModel, CreatedByModel, MarkableModel, CanvasMarkableModel, FileWithNameModel, IndexedModel {
6
5
  title?: string;
@@ -12,6 +12,7 @@ export * from './geo';
12
12
  export * from './geoImages';
13
13
  export * from './issues';
14
14
  export * from './issueTypes';
15
+ export * from './license';
15
16
  export * from './organizations';
16
17
  export * from './projects';
17
18
  export * from './store';
@@ -1,53 +1,15 @@
1
1
  import { BaseSerializedObject, ISerializedField } from '@overmap-ai/forms';
2
2
  import { IssuePriority, IssueStatus, IssueUpdateChange } from '../../enums';
3
- import { COMMON_AUTO_FIELDS } from '../../utils';
4
3
  import { CSSColor } from '../colors';
5
- import { CreatedByModel, IndexedModel, SubmittedAtModel, TimestampedModel, UUIDModel } from './base';
4
+ import { CanvasMarkableModel, CreatedByModel, IndexedModel, MarkableModel, SubmittedAtModel, TimestampedModel, UUIDModel } from './base';
6
5
  import { FieldsAttachmentModel, FieldsModel, FieldValuesModel } from './fields';
7
- import { CanvasMarkableModel, MarkableModel } from './geo';
8
6
  import { User } from './users';
9
- type FilteredKeys<T> = {
10
- [P in keyof T]: T[P] extends never ? never : P;
11
- }[keyof T];
12
- type ExcludeNeverFields<O> = {
13
- [K in FilteredKeys<O>]: O[K];
14
- };
15
- type PropertyUndefined<T> = {
16
- [P in keyof T]?: T[P];
17
- };
18
- export type CommonAutoFields = (typeof COMMON_AUTO_FIELDS)[number];
19
- /**
20
- * Represents a model instance that has been submitted to the backend. Some properties (depending on which model, but in
21
- * all cases, the `offline_id`) are guaranteed to be set.
22
- */
23
- export type Submitted<TModel> = Omit<TModel, CommonAutoFields> & PropertyUndefined<ExcludeNeverFields<{
24
- created_at: "created_at" extends keyof TModel ? undefined : never;
25
- updated_at: "updated_at" extends keyof TModel ? undefined : never;
26
- index: "index" extends keyof TModel ? undefined : never;
27
- revision: "revision" extends keyof TModel ? undefined : never;
28
- }>>;
29
- /**
30
- * Represents a model instance that has been submitted to the backend, accepted, then downloaded. Created models
31
- * typically have additional properties that are only known once it has been processed and accepted by the API, such as
32
- * the `created_at` timestamp, which is the time at which the data was written to the database.
33
- */
34
- export type Created<TModel> = TModel;
35
- /**
36
- * Model instances that are stored in the Redux store can be already-created (and will likely be gotten with the initial
37
- * data load), or to-be-created. In the former case, you will get a `Created<TModel>`. In the latter case, you will get
38
- * a `Submitted<TModel>`.
39
- */
40
- export type Stored<TModel> = Created<TModel> | Submitted<TModel>;
41
- /**
42
- * Represents the properties you can always expect on any object representing an issue. These are the minimal details
43
- * required when creating an issue.
44
- */
45
7
  export interface Issue extends UUIDModel, SubmittedAtModel, CreatedByModel, MarkableModel, CanvasMarkableModel, IndexedModel {
46
8
  title?: string | null;
47
9
  description?: string | null;
48
10
  priority: IssuePriority;
49
11
  status: IssueStatus;
50
- assigned_to?: string | null;
12
+ assigned_to?: User["id"] | null;
51
13
  due_date?: string | Date | null;
52
14
  category?: string | null;
53
15
  issue_type: string;
@@ -56,7 +18,7 @@ export interface Issue extends UUIDModel, SubmittedAtModel, CreatedByModel, Mark
56
18
  export interface IssueComment extends UUIDModel, SubmittedAtModel, TimestampedModel {
57
19
  issue: string;
58
20
  content: string;
59
- author?: string;
21
+ author?: number;
60
22
  }
61
23
  export interface IssueUpdateChangeTypes {
62
24
  status: IssueStatus;
@@ -70,7 +32,7 @@ export interface IssueUpdateChangeTypes {
70
32
  title: string;
71
33
  assigned_to: {
72
34
  full_name: string;
73
- uuid: User["uuid"];
35
+ id: User["id"];
74
36
  } | null;
75
37
  due_date: string;
76
38
  }
@@ -97,4 +59,3 @@ export interface IssueTypeFieldValues extends UUIDModel, SubmittedAtModel, Times
97
59
  export interface IssueTypeFieldValuesAttachment extends UUIDModel, SubmittedAtModel, TimestampedModel, CreatedByModel, FieldsAttachmentModel {
98
60
  field_values: string;
99
61
  }
100
- export {};
@@ -0,0 +1,13 @@
1
+ import { LicenseLevel, LicenseStatus } from '../../enums';
2
+ import { OwnedByOrganization, UUIDModel } from './base';
3
+ export interface Transaction {
4
+ id: string;
5
+ }
6
+ export interface License extends UUIDModel, OwnedByOrganization {
7
+ project: string | null;
8
+ level: LicenseLevel;
9
+ status: LicenseStatus;
10
+ is_special: boolean;
11
+ is_active: boolean;
12
+ next_billing_date: Date;
13
+ }
@@ -1,11 +1,12 @@
1
1
  import { OrganizationAccessLevel } from '../../enums';
2
2
  import { CreatedByModel, UUIDModel } from './base';
3
+ import { User } from './users';
3
4
  export interface Organization extends UUIDModel, CreatedByModel {
4
5
  name: string;
5
6
  has_access: boolean;
6
7
  }
7
8
  export interface OrganizationAccess extends UUIDModel {
8
- user: string;
9
+ user: User["id"];
9
10
  organization: string;
10
11
  access_level: OrganizationAccessLevel;
11
12
  }
@@ -1,7 +1,7 @@
1
1
  import { ProjectAccessLevel } from '../../enums';
2
2
  import { FileWithNameModel } from '../files';
3
- import { OwnedByOrganization, SubmittedAtModel, UUIDModel } from './base';
4
- import { BoundableModel, CanvasBoundableModel } from './geo';
3
+ import { BoundableModel, CanvasBoundableModel, OwnedByOrganization, SubmittedAtModel, UUIDModel } from './base';
4
+ import { User } from './users';
5
5
  export interface Project extends UUIDModel, BoundableModel, CanvasBoundableModel, OwnedByOrganization {
6
6
  name: string;
7
7
  invited?: boolean;
@@ -10,10 +10,10 @@ export interface Project extends UUIDModel, BoundableModel, CanvasBoundableModel
10
10
  }
11
11
  export interface ProjectFile extends UUIDModel, SubmittedAtModel, FileWithNameModel, BoundableModel, CanvasBoundableModel {
12
12
  z_index: number;
13
- project: string;
13
+ project: Project["uuid"];
14
14
  }
15
15
  export interface ProjectAccess extends UUIDModel {
16
- user: string;
17
- project: string;
16
+ user: User["id"];
17
+ project: Project["uuid"];
18
18
  access_level: ProjectAccessLevel;
19
19
  }
@@ -1,5 +1,5 @@
1
1
  import { OfflineState } from '@redux-offline/redux-offline/lib/types';
2
- import { AgentsState, AssetAttachmentState, AssetProcedureFieldsAttachmentState, AssetProcedureFieldsState, AssetProcedureFieldValuesAttachmentState, AssetProcedureFieldValuesState, AssetProcedureInstanceState, AssetProcedureState, AssetStageCompletionState, AssetStageState, AssetState, AssetTypeAttachmentState, AssetTypeFieldsAttachmentState, AssetTypeFieldsState, AssetTypeFieldValuesAttachmentState, AssetTypeFieldValuesState, AssetTypeState, AuthState, CategoryState, DocumentAttachmentState, DocumentState, FileState, FormRevisionAttachmentState, FormRevisionState, FormState, FormSubmissionAttachmentState, FormSubmissionState, GeoImageSliceState, IssueAssociationSliceState, IssueAttachmentState, IssueCommentAttachmentState, IssueCommentState, IssueState, IssueTypeAttachmentState, IssueTypeFieldsAttachmentState, IssueTypeFieldsState, IssueTypeFieldValuesAttachmentState, IssueTypeFieldValuesState, IssueTypeState, IssueUpdateState, OrganizationAccessState, OrganizationState, OutboxState, ProjectAccessState, ProjectAttachmentState, ProjectFileState, ProjectState, RehydratedState, TeamState, UserState, VERSION_REDUCER_KEY, VersioningState } from '../../store';
2
+ import { AgentsState, AssetAttachmentState, AssetProcedureAttachmentState, AssetProcedureFieldsAttachmentState, AssetProcedureFieldsState, AssetProcedureFieldValuesAttachmentState, AssetProcedureFieldValuesState, AssetProcedureInstanceState, AssetProcedureState, AssetStageCompletionState, AssetStageState, AssetState, AssetTypeAttachmentState, AssetTypeFieldsAttachmentState, AssetTypeFieldsState, AssetTypeFieldValuesAttachmentState, AssetTypeFieldValuesState, AssetTypeState, AuthState, CategoryState, DocumentAttachmentState, DocumentState, EmailDomainState, FileState, FormRevisionAttachmentState, FormRevisionState, FormState, FormSubmissionAttachmentState, FormSubmissionState, GeoImageSliceState, GeoJsonFeatureState, GeoJsonLayerState, IssueAssociationSliceState, IssueAttachmentState, IssueCommentAttachmentState, IssueCommentState, IssueState, IssueTypeAttachmentState, IssueTypeFieldsAttachmentState, IssueTypeFieldsState, IssueTypeFieldValuesAttachmentState, IssueTypeFieldValuesState, IssueTypeState, IssueUpdateState, LicenseState, OrganizationAccessState, OrganizationState, OutboxState, ProjectAccessState, ProjectAttachmentState, ProjectFileState, ProjectState, RehydratedState, TeamState, UserState, VERSION_REDUCER_KEY, VersioningState } from '../../store';
3
3
  export interface BaseState {
4
4
  outboxReducer: OutboxState;
5
5
  offline: OfflineState;
@@ -35,11 +35,15 @@ export interface OvermapRootState extends BaseState {
35
35
  formSubmissionReducer: FormSubmissionState;
36
36
  formSubmissionAttachmentReducer: FormSubmissionAttachmentState;
37
37
  userReducer: UserState;
38
+ emailDomainsReducer: EmailDomainState;
39
+ licenseReducer: LicenseState;
38
40
  documentsReducer: DocumentState;
39
41
  documentAttachmentReducer: DocumentAttachmentState;
40
42
  teamReducer: TeamState;
41
43
  agentsReducer: AgentsState;
42
44
  geoImageReducer: GeoImageSliceState;
45
+ geoJsonFeatureReducer: GeoJsonFeatureState;
46
+ geoJsonLayerReducer: GeoJsonLayerState;
43
47
  issueAssociationReducer: IssueAssociationSliceState;
44
48
  issueTypeFieldsReducer: IssueTypeFieldsState;
45
49
  issueTypeFieldValuesReducer: IssueTypeFieldValuesState;
@@ -50,6 +54,7 @@ export interface OvermapRootState extends BaseState {
50
54
  assetTypeFieldsAttachmentReducer: AssetTypeFieldsAttachmentState;
51
55
  assetTypeFieldValuesAttachmentReducer: AssetTypeFieldValuesAttachmentState;
52
56
  assetProcedureReducer: AssetProcedureState;
57
+ assetProcedureAttachmentReducer: AssetProcedureAttachmentState;
53
58
  assetProcedureInstanceReducer: AssetProcedureInstanceState;
54
59
  assetProcedureFieldsReducer: AssetProcedureFieldsState;
55
60
  assetProcedureFieldValuesReducer: AssetProcedureFieldValuesState;
@@ -3,7 +3,7 @@ import { Organization } from './organizations';
3
3
  import { User } from './users';
4
4
  export interface Team extends UUIDModel, SubmittedAtModel, IconModel, ColorModel {
5
5
  name: string;
6
- parent: UUIDModel["uuid"] | null;
6
+ parent: Team["uuid"] | null;
7
7
  organization: Organization["uuid"];
8
- members: User["uuid"][];
8
+ members: User["id"][];
9
9
  }
@@ -1,12 +1,11 @@
1
- import { UUIDModel } from './base';
2
- export interface User extends UUIDModel {
3
- uuid: string;
4
- first_name: string;
5
- last_name: string;
1
+ import { IdModel, OptionalFileModel } from './base';
2
+ export interface Profile extends OptionalFileModel {
3
+ tour_step: number;
4
+ }
5
+ export interface User extends IdModel {
6
+ username: string;
6
7
  email: string;
7
- is_staff: boolean;
8
- is_active: boolean;
9
- date_joined: string;
8
+ profile: Profile;
10
9
  }
11
10
  export interface RegistrationPayload {
12
11
  username: string;
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.74-gcs.1",
6
+ "version": "1.0.74-geojson-layers.0",
7
7
  "type": "module",
8
8
  "main": "dist/overmap-core.umd.cjs",
9
9
  "module": "dist/overmap-core.js",
@@ -1,15 +0,0 @@
1
- import { PayloadAction } from '@reduxjs/toolkit';
2
- import { ModelState } from './typings';
3
- export interface OvermapModelAdapter<TModel> {
4
- addOne: (state: ModelState<TModel>, action: PayloadAction<TModel>) => void;
5
- addMany: (state: ModelState<TModel>, action: PayloadAction<TModel[]>) => void;
6
- setOne: (state: ModelState<TModel>, action: PayloadAction<TModel>) => void;
7
- setMany: (state: ModelState<TModel>, action: PayloadAction<TModel[]>) => void;
8
- updateOne: (state: ModelState<TModel>, action: PayloadAction<TModel>) => void;
9
- updateMany: (state: ModelState<TModel>, action: PayloadAction<TModel[]>) => void;
10
- deleteOne: (state: ModelState<TModel>, action: PayloadAction<string>) => void;
11
- deleteMany: (state: ModelState<TModel>, action: PayloadAction<string[]>) => void;
12
- initialize: (state: ModelState<TModel>, action: PayloadAction<TModel[]>) => void;
13
- getInitialState: <TState extends object>(state: TState) => TState & ModelState<TModel>;
14
- }
15
- export declare function createModelAdapter<TModel>(computeModelId: (model: TModel) => string): OvermapModelAdapter<TModel>;