@overmap-ai/core 1.0.75 → 1.0.77-store-typing-improvements.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 (157) hide show
  1. package/dist/overmap-core.js +4731 -3705
  2. package/dist/overmap-core.umd.cjs +11 -11
  3. package/dist/sdk/base.d.ts +1 -1
  4. package/dist/sdk/globals.d.ts +1 -1
  5. package/dist/sdk/sdk.d.ts +1 -1
  6. package/dist/sdk/services/AgentService.d.ts +7 -6
  7. package/dist/sdk/services/AssetAttachmentService.d.ts +10 -9
  8. package/dist/sdk/services/AssetProcedureAttachmentService.d.ts +40 -0
  9. package/dist/sdk/services/AssetProcedureFieldValuesAttachmentService.d.ts +16 -0
  10. package/dist/sdk/services/AssetProcedureFieldValuesService.d.ts +22 -0
  11. package/dist/sdk/services/AssetProcedureFieldsAttachmentService.d.ts +13 -0
  12. package/dist/sdk/services/AssetProcedureFieldsService.d.ts +9 -0
  13. package/dist/sdk/services/AssetProcedureInstanceService.d.ts +11 -0
  14. package/dist/sdk/services/AssetProcedureService.d.ts +11 -0
  15. package/dist/sdk/services/AssetService.d.ts +6 -5
  16. package/dist/sdk/services/AssetStageCompletionService.d.ts +5 -4
  17. package/dist/sdk/services/AssetStageService.d.ts +7 -6
  18. package/dist/sdk/services/AssetTypeAttachmentService.d.ts +10 -9
  19. package/dist/sdk/services/AssetTypeFieldValuesAttachmentService.d.ts +5 -4
  20. package/dist/sdk/services/AssetTypeFieldValuesService.d.ts +10 -9
  21. package/dist/sdk/services/AssetTypeFieldsAttachmentService.d.ts +4 -3
  22. package/dist/sdk/services/AssetTypeFieldsService.d.ts +3 -2
  23. package/dist/sdk/services/AssetTypeService.d.ts +5 -4
  24. package/dist/sdk/services/BaseApiService.d.ts +1 -1
  25. package/dist/sdk/services/BaseAttachmentService.d.ts +13 -12
  26. package/dist/sdk/services/BaseAuthService.d.ts +1 -1
  27. package/dist/sdk/services/BaseService.d.ts +1 -1
  28. package/dist/sdk/services/BaseUploadService.d.ts +2 -1
  29. package/dist/sdk/services/CategoryService.d.ts +5 -4
  30. package/dist/sdk/services/DocumentAttachmentService.d.ts +10 -9
  31. package/dist/sdk/services/DocumentService.d.ts +6 -5
  32. package/dist/sdk/services/EmailDomainsService.d.ts +4 -3
  33. package/dist/sdk/services/EmailVerificationService.d.ts +2 -1
  34. package/dist/sdk/services/FileService.d.ts +1 -1
  35. package/dist/sdk/services/FormRevisionAttachmentService.d.ts +4 -3
  36. package/dist/sdk/services/FormRevisionService.d.ts +3 -2
  37. package/dist/sdk/services/FormService.d.ts +4 -12
  38. package/dist/sdk/services/FormSubmissionAttachmentService.d.ts +5 -4
  39. package/dist/sdk/services/FormSubmissionService.d.ts +5 -9
  40. package/dist/sdk/services/GeoImageService.d.ts +6 -5
  41. package/dist/sdk/services/IssueAssociationService.d.ts +4 -3
  42. package/dist/sdk/services/IssueAttachmentService.d.ts +10 -9
  43. package/dist/sdk/services/IssueCommentAttachmentService.d.ts +10 -9
  44. package/dist/sdk/services/IssueCommentService.d.ts +5 -4
  45. package/dist/sdk/services/IssueService.d.ts +5 -4
  46. package/dist/sdk/services/IssueTypeAttachmentService.d.ts +10 -9
  47. package/dist/sdk/services/IssueTypeFieldValuesAttachmentService.d.ts +5 -4
  48. package/dist/sdk/services/IssueTypeFieldValuesService.d.ts +5 -4
  49. package/dist/sdk/services/IssueTypeFieldsAttachmentService.d.ts +4 -3
  50. package/dist/sdk/services/IssueTypeFieldsService.d.ts +3 -2
  51. package/dist/sdk/services/IssueTypeService.d.ts +5 -4
  52. package/dist/sdk/services/IssueUpdateService.d.ts +3 -2
  53. package/dist/sdk/services/JWTAuthService.d.ts +1 -1
  54. package/dist/sdk/services/LicenseService.d.ts +3 -2
  55. package/dist/sdk/services/OrganizationAccessService.d.ts +3 -5
  56. package/dist/sdk/services/OrganizationService.d.ts +4 -3
  57. package/dist/sdk/services/ProjectAccessService.d.ts +4 -6
  58. package/dist/sdk/services/ProjectAttachmentService.d.ts +12 -11
  59. package/dist/sdk/services/ProjectFileService.d.ts +4 -3
  60. package/dist/sdk/services/ProjectService.d.ts +6 -5
  61. package/dist/sdk/services/TeamService.d.ts +8 -7
  62. package/dist/sdk/services/UserService.d.ts +3 -2
  63. package/dist/sdk/services/index.d.ts +7 -0
  64. package/dist/sdk/typings.d.ts +2 -1
  65. package/dist/store/adapters/index.d.ts +3 -0
  66. package/dist/store/adapters/modelAdapter.d.ts +15 -0
  67. package/dist/store/adapters/selectionAdapter.d.ts +13 -0
  68. package/dist/store/adapters/typings.d.ts +6 -0
  69. package/dist/store/constants.d.ts +2 -0
  70. package/dist/store/index.d.ts +4 -2
  71. package/dist/store/migrations.d.ts +1 -1
  72. package/dist/store/reducers.d.ts +181 -0
  73. package/dist/store/slices/agentsSlice.d.ts +11 -11
  74. package/dist/store/slices/assetAttachmentSlice.d.ts +23 -17
  75. package/dist/store/slices/assetProcedureAttachmentSlice.d.ts +48 -0
  76. package/dist/store/slices/assetProcedureFieldValuesAttachmentSlice.d.ts +126 -0
  77. package/dist/store/slices/assetProcedureFieldValuesSlice.d.ts +126 -0
  78. package/dist/store/slices/assetProcedureFieldsAttachmentSlice.d.ts +125 -0
  79. package/dist/store/slices/assetProcedureFieldsSlice.d.ts +126 -0
  80. package/dist/store/slices/assetProcedureInstanceSlice.d.ts +127 -0
  81. package/dist/store/slices/assetProcedureSlice.d.ts +126 -0
  82. package/dist/store/slices/assetSlice.d.ts +81 -18
  83. package/dist/store/slices/assetStageCompletionSlice.d.ts +80 -17
  84. package/dist/store/slices/assetStageSlice.d.ts +85 -22
  85. package/dist/store/slices/assetTypeAttachmentSlice.d.ts +23 -17
  86. package/dist/store/slices/assetTypeFieldValuesAttachmentSlice.d.ts +80 -17
  87. package/dist/store/slices/assetTypeFieldValuesSlice.d.ts +81 -18
  88. package/dist/store/slices/assetTypeFieldsAttachmentSlice.d.ts +80 -17
  89. package/dist/store/slices/assetTypeFieldsSlice.d.ts +94 -31
  90. package/dist/store/slices/assetTypeSlice.d.ts +21 -15
  91. package/dist/store/slices/authSlice.d.ts +4 -4
  92. package/dist/store/slices/categorySlice.d.ts +71 -11
  93. package/dist/store/slices/documentAttachmentSlice.d.ts +23 -17
  94. package/dist/store/slices/documentSlice.d.ts +64 -7
  95. package/dist/store/slices/emailDomainsSlice.d.ts +72 -12
  96. package/dist/store/slices/fileSlice.d.ts +3 -3
  97. package/dist/store/slices/formRevisionAttachmentSlice.d.ts +21 -15
  98. package/dist/store/slices/formRevisionSlice.d.ts +88 -25
  99. package/dist/store/slices/formSlice.d.ts +74 -18
  100. package/dist/store/slices/formSubmissionAttachmentSlice.d.ts +21 -15
  101. package/dist/store/slices/formSubmissionSlice.d.ts +22 -16
  102. package/dist/store/slices/geoImageSlice.d.ts +80 -17
  103. package/dist/store/slices/index.d.ts +7 -0
  104. package/dist/store/slices/issueAssociationSlice.d.ts +79 -16
  105. package/dist/store/slices/issueAttachmentSlice.d.ts +21 -15
  106. package/dist/store/slices/issueCommentAttachmentSlice.d.ts +23 -17
  107. package/dist/store/slices/issueCommentSlice.d.ts +18 -12
  108. package/dist/store/slices/issueSlice.d.ts +18 -12
  109. package/dist/store/slices/issueTypeAttachmentSlice.d.ts +23 -17
  110. package/dist/store/slices/issueTypeFieldValuesAttachmentSlice.d.ts +80 -17
  111. package/dist/store/slices/issueTypeFieldValuesSlice.d.ts +80 -17
  112. package/dist/store/slices/issueTypeFieldsAttachmentSlice.d.ts +80 -17
  113. package/dist/store/slices/issueTypeFieldsSlice.d.ts +95 -32
  114. package/dist/store/slices/issueTypeSlice.d.ts +18 -15
  115. package/dist/store/slices/issueUpdateSlice.d.ts +17 -11
  116. package/dist/store/slices/licenseSlice.d.ts +10 -10
  117. package/dist/store/slices/organizationAccessSlice.d.ts +13 -10
  118. package/dist/store/slices/organizationSlice.d.ts +105 -13
  119. package/dist/store/slices/outboxSlice.d.ts +3 -3
  120. package/dist/store/slices/projectAccessSlice.d.ts +16 -10
  121. package/dist/store/slices/projectAttachmentSlice.d.ts +22 -16
  122. package/dist/store/slices/projectFileSlice.d.ts +80 -17
  123. package/dist/store/slices/projectSlice.d.ts +102 -19
  124. package/dist/store/slices/rehydratedSlice.d.ts +3 -3
  125. package/dist/store/slices/teamSlice.d.ts +16 -13
  126. package/dist/store/slices/userSlice.d.ts +49 -11
  127. package/dist/store/slices/versioningSlice.d.ts +1 -2
  128. package/dist/store/store.d.ts +1 -55
  129. package/dist/store/typings.d.ts +14 -3
  130. package/dist/typings/index.d.ts +0 -1
  131. package/dist/typings/models/agents.d.ts +2 -2
  132. package/dist/typings/models/assets.d.ts +36 -13
  133. package/dist/typings/models/attachments.d.ts +6 -3
  134. package/dist/typings/models/base.d.ts +60 -15
  135. package/dist/typings/models/categories.d.ts +3 -3
  136. package/dist/typings/models/documents.d.ts +4 -4
  137. package/dist/typings/models/emailDomain.d.ts +3 -3
  138. package/dist/typings/models/emailVerification.d.ts +5 -5
  139. package/dist/typings/models/fields.d.ts +4 -4
  140. package/dist/typings/models/forms.d.ts +8 -9
  141. package/dist/typings/models/geoImages.d.ts +4 -4
  142. package/dist/typings/models/index.d.ts +0 -3
  143. package/dist/typings/models/issueTypes.d.ts +3 -3
  144. package/dist/typings/models/issues.d.ts +13 -53
  145. package/dist/typings/models/license.d.ts +3 -3
  146. package/dist/typings/models/organizations.d.ts +9 -3
  147. package/dist/typings/models/projects.d.ts +11 -6
  148. package/dist/typings/models/store.d.ts +0 -54
  149. package/dist/typings/models/teams.d.ts +4 -4
  150. package/dist/typings/models/users.d.ts +2 -4
  151. package/dist/utils/offline.d.ts +3 -3
  152. package/dist/utils/utils.d.ts +3 -2
  153. package/package.json +5 -5
  154. package/dist/store/adapter.d.ts +0 -15
  155. package/dist/typings/models/access.d.ts +0 -12
  156. package/dist/typings/models/geo.d.ts +0 -13
  157. package/dist/typings/store.d.ts +0 -7
@@ -1,31 +1,34 @@
1
- import { Reducer } from '@reduxjs/toolkit';
2
- import { Organization, OvermapSelector, OvermapSelectorWithArgs, Stored, Team, User } from '../../typings';
3
- import { ModelState } from '../typings';
4
- export type TeamState = ModelState<Stored<Team>>;
1
+ import { Organization, Stored, Team, User } from '../../typings';
2
+ import { ModelState } from '../adapters';
3
+ import { OvermapSelector, OvermapSelectorWithArgs } from '../typings';
4
+ export type TeamState = ModelState<Team["uuid"], Stored<Team>>;
5
5
  export declare const teamSlice: import('@reduxjs/toolkit').Slice<TeamState, {
6
- setTeam: (state: ModelState<Stored<Team>>, action: {
6
+ setTeam: (state: ModelState<string, Stored<Team>>, action: {
7
7
  payload: Stored<Team>;
8
8
  type: string;
9
9
  }) => void;
10
- initializeTeams: (state: ModelState<Stored<Team>>, action: {
10
+ initializeTeams: (state: ModelState<string, Stored<Team>>, action: {
11
11
  payload: Stored<Team>[];
12
12
  type: string;
13
13
  }) => void;
14
- addTeam: (state: ModelState<Stored<Team>>, action: {
14
+ addTeam: (state: ModelState<string, Stored<Team>>, action: {
15
15
  payload: Stored<Team>;
16
16
  type: string;
17
17
  }) => void;
18
- updateTeam: (state: ModelState<Stored<Team>>, action: {
18
+ updateTeam: (state: ModelState<string, Stored<Team>>, action: {
19
19
  payload: Stored<Team>;
20
20
  type: string;
21
21
  }) => void;
22
- deleteTeam: (state: ModelState<Stored<Team>>, action: import('@reduxjs/toolkit').PayloadAction<string>) => void;
22
+ deleteTeam: (state: ModelState<string, Stored<Team>>, action: {
23
+ payload: string;
24
+ type: string;
25
+ }) => void;
23
26
  }, "teams", "teams", import('@reduxjs/toolkit').SliceSelectors<TeamState>>;
24
27
  export declare const setTeam: import('@reduxjs/toolkit').ActionCreatorWithPayload<Stored<Team>, "teams/setTeam">, initializeTeams: import('@reduxjs/toolkit').ActionCreatorWithPayload<Stored<Team>[], "teams/initializeTeams">, addTeam: import('@reduxjs/toolkit').ActionCreatorWithPayload<Stored<Team>, "teams/addTeam">, updateTeam: import('@reduxjs/toolkit').ActionCreatorWithPayload<Stored<Team>, "teams/updateTeam">, deleteTeam: import('@reduxjs/toolkit').ActionCreatorWithPayload<string, "teams/deleteTeam">;
25
28
  export declare const selectTeamsMapping: OvermapSelector<TeamState["instances"]>;
26
29
  export declare const selectTeams: OvermapSelector<Stored<Team>[]>;
27
- export declare const selectTeamById: OvermapSelectorWithArgs<string, Stored<Team> | undefined>;
28
- export declare const selectTeamsByIds: OvermapSelectorWithArgs<string[], Stored<Team>[]>;
29
- export declare const selectTeamsOfOrganization: OvermapSelectorWithArgs<Organization["id"], Stored<Team>[]>;
30
+ export declare const selectTeamById: OvermapSelectorWithArgs<Team["uuid"], Stored<Team> | undefined>;
31
+ export declare const selectTeamsByIds: OvermapSelectorWithArgs<Team["uuid"][], Stored<Team>[]>;
32
+ export declare const selectTeamsOfOrganization: OvermapSelectorWithArgs<Organization["uuid"], Stored<Team>[]>;
30
33
  export declare const selectTeamsOfUser: OvermapSelectorWithArgs<User["id"], Stored<Team>[]>;
31
- export declare const teamReducer: Reducer<TeamState>;
34
+ export declare const teamReducer: import('redux').Reducer<TeamState>;
@@ -1,25 +1,63 @@
1
- import { PayloadAction, Reducer } from '@reduxjs/toolkit';
2
- import { OvermapRootState, OvermapSelectorWithArgs, User } from '../../typings';
3
- export interface UserState {
1
+ import { PayloadAction } from '@reduxjs/toolkit';
2
+ import { User } from '../../typings';
3
+ import { ModelState } from '../adapters';
4
+ import { OvermapRootState, OvermapSelectorWithArgs } from '../typings';
5
+ export interface UserState extends ModelState<User["id"], User> {
4
6
  currentUser: User | null;
5
- users: Record<number, User>;
6
7
  }
7
8
  export declare const userSlice: import('@reduxjs/toolkit').Slice<UserState, {
8
- setUsers: (state: import('immer').WritableDraft<UserState>, action: PayloadAction<User[]>) => void;
9
- addUsers: (state: import('immer').WritableDraft<UserState>, action: PayloadAction<User[]>) => void;
9
+ initializeUsers: (state: ModelState<number, User>, action: {
10
+ payload: User[];
11
+ type: string;
12
+ }) => void;
13
+ setUsers: (state: ModelState<number, User>, action: {
14
+ payload: User[];
15
+ type: string;
16
+ }) => void;
17
+ setUser: (state: ModelState<number, User>, action: {
18
+ payload: User;
19
+ type: string;
20
+ }) => void;
21
+ addUsers: (state: ModelState<number, User>, action: {
22
+ payload: User[];
23
+ type: string;
24
+ }) => void;
25
+ addUser: (state: ModelState<number, User>, action: {
26
+ payload: User;
27
+ type: string;
28
+ }) => void;
29
+ updateUsers: (state: ModelState<number, User>, action: {
30
+ payload: User[];
31
+ type: string;
32
+ }) => void;
33
+ updateUser: (state: ModelState<number, User>, action: {
34
+ payload: User;
35
+ type: string;
36
+ }) => void;
37
+ deleteUser: (state: ModelState<number, User>, action: {
38
+ payload: number;
39
+ type: string;
40
+ }) => void;
41
+ deleteUsers: (state: ModelState<number, User>, action: {
42
+ payload: number[];
43
+ type: string;
44
+ }) => void;
45
+ removeUser: (state: ModelState<number, User>, action: {
46
+ payload: number;
47
+ type: string;
48
+ }) => void;
10
49
  setCurrentUser: (state: import('immer').WritableDraft<UserState>, action: PayloadAction<User | null>) => void;
11
50
  setProfilePicture: (state: import('immer').WritableDraft<UserState>, action: PayloadAction<{
12
51
  file?: string;
13
52
  file_sha1?: string;
14
53
  }>) => void;
15
- removeUser: (state: import('immer').WritableDraft<UserState>, action: PayloadAction<number>) => void;
16
54
  }, "users", "users", import('@reduxjs/toolkit').SliceSelectors<UserState>>;
17
- export declare const setCurrentUser: import('@reduxjs/toolkit').ActionCreatorWithPayload<User | null, "users/setCurrentUser">, setProfilePicture: import('@reduxjs/toolkit').ActionCreatorWithPayload<{
55
+ 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<{
18
56
  file?: string;
19
57
  file_sha1?: string;
20
- }, "users/setProfilePicture">, setUsers: import('@reduxjs/toolkit').ActionCreatorWithPayload<User[], "users/setUsers">, addUsers: import('@reduxjs/toolkit').ActionCreatorWithPayload<User[], "users/addUsers">, removeUser: import('@reduxjs/toolkit').ActionCreatorWithPayload<number, "users/removeUser">;
21
- export declare const userReducer: Reducer<UserState>;
58
+ }, "users/setProfilePicture">;
59
+ export declare const userReducer: import('redux').Reducer<UserState>;
22
60
  export declare const selectCurrentUser: (state: OvermapRootState) => User | null;
23
61
  export declare const selectUsersMapping: (state: OvermapRootState) => Record<number, User>;
24
- export declare const selectUserById: OvermapSelectorWithArgs<number, User | undefined>;
62
+ export declare const selectUserById: OvermapSelectorWithArgs<User["id"], User | undefined>;
25
63
  export declare const selectUsersByIds: (args: number[]) => (state: OvermapRootState) => User[];
@@ -1,4 +1,3 @@
1
- import { Reducer } from '@reduxjs/toolkit';
2
1
  export interface VersioningState {
3
2
  version: number;
4
3
  }
@@ -6,4 +5,4 @@ export interface VersioningState {
6
5
  * Version of the offline redux store
7
6
  */
8
7
  export declare const versioningSlice: import('@reduxjs/toolkit').Slice<VersioningState, {}, "versioning", "versioning", import('@reduxjs/toolkit').SliceSelectors<VersioningState>>;
9
- export declare const versioningReducer: Reducer<VersioningState>;
8
+ export declare const versioningReducer: import('redux').Reducer<VersioningState>;
@@ -1,61 +1,7 @@
1
1
  import { Config, OfflineAction, OfflineMetadata } from '@redux-offline/redux-offline/lib/types';
2
- import { Reducer } from '@reduxjs/toolkit';
3
2
  import { default as request } from 'superagent';
4
3
  import { BaseSDK, OfflineMetaEffect, OutboxCoordinator, RequestDetails } from '../sdk';
5
- import { BaseState, OvermapRootState } from '../typings';
6
- import { AgentsState, AssetAttachmentState, AssetStageCompletionState, AssetStageState, AssetState, AssetTypeAttachmentState, AssetTypeFieldsAttachmentState, AssetTypeFieldsState, AssetTypeFieldValuesAttachmentState, AssetTypeFieldValuesState, AssetTypeState, AuthState, CategoryState, DocumentAttachmentState, DocumentState, EmailDomainState, FileState, FormRevisionAttachmentState, FormRevisionState, FormState, FormSubmissionAttachmentState, FormSubmissionState, GeoImageSliceState, IssueAssociationSliceState, IssueAttachmentState, IssueCommentAttachmentState, IssueCommentState, IssueState, IssueTypeAttachmentState, IssueTypeFieldsAttachmentState, IssueTypeFieldsState, IssueTypeFieldValuesAttachmentState, IssueTypeFieldValuesState, IssueTypeState, IssueUpdateState, LicenseState, OrganizationAccessState, OrganizationState, OutboxState, ProjectAccessState, ProjectAttachmentState, ProjectFileState, ProjectState, RehydratedState, TeamState, UserState, VersioningState } from './slices';
7
- export declare const VERSION_REDUCER_KEY = "versioning";
8
- export declare const overmapReducers: {
9
- versioning: Reducer<VersioningState>;
10
- fileReducer: Reducer<FileState>;
11
- authReducer: Reducer<AuthState>;
12
- categoryReducer: Reducer<CategoryState>;
13
- assetReducer: Reducer<AssetState>;
14
- assetAttachmentReducer: Reducer<AssetAttachmentState>;
15
- assetStageCompletionReducer: Reducer<AssetStageCompletionState>;
16
- assetStageReducer: Reducer<AssetStageState>;
17
- assetTypeReducer: Reducer<AssetTypeState>;
18
- assetTypeAttachmentReducer: Reducer<AssetTypeAttachmentState>;
19
- issueReducer: Reducer<IssueState>;
20
- issueTypeReducer: Reducer<IssueTypeState>;
21
- issueTypeAttachmentReducer: Reducer<IssueTypeAttachmentState>;
22
- organizationReducer: Reducer<OrganizationState>;
23
- outboxReducer: Reducer<OutboxState>;
24
- projectReducer: Reducer<ProjectState>;
25
- projectAttachmentReducer: Reducer<ProjectAttachmentState>;
26
- projectAccessReducer: Reducer<ProjectAccessState>;
27
- organizationAccessReducer: Reducer<OrganizationAccessState>;
28
- projectFileReducer: Reducer<ProjectFileState>;
29
- rehydratedReducer: Reducer<RehydratedState>;
30
- formReducer: Reducer<FormState>;
31
- userReducer: Reducer<UserState>;
32
- formRevisionReducer: Reducer<FormRevisionState>;
33
- formRevisionAttachmentReducer: Reducer<FormRevisionAttachmentState>;
34
- formSubmissionAttachmentReducer: Reducer<FormSubmissionAttachmentState>;
35
- formSubmissionReducer: Reducer<FormSubmissionState>;
36
- emailDomainsReducer: Reducer<EmailDomainState>;
37
- licenseReducer: Reducer<LicenseState>;
38
- documentsReducer: Reducer<DocumentState>;
39
- documentAttachmentReducer: Reducer<DocumentAttachmentState>;
40
- teamReducer: Reducer<TeamState>;
41
- agentsReducer: Reducer<AgentsState>;
42
- issueCommentReducer: Reducer<IssueCommentState>;
43
- issueCommentAttachmentReducer: Reducer<IssueCommentAttachmentState>;
44
- issueUpdateReducer: Reducer<IssueUpdateState>;
45
- issueAttachmentReducer: Reducer<IssueAttachmentState>;
46
- geoImageReducer: Reducer<GeoImageSliceState>;
47
- issueAssociationReducer: Reducer<IssueAssociationSliceState>;
48
- issueTypeFieldsReducer: Reducer<IssueTypeFieldsState>;
49
- issueTypeFieldValuesReducer: Reducer<IssueTypeFieldValuesState>;
50
- issueTypeFieldsAttachmentReducer: Reducer<IssueTypeFieldsAttachmentState>;
51
- issueTypeFieldValuesAttachmentReducer: Reducer<IssueTypeFieldValuesAttachmentState>;
52
- assetTypeFieldsReducer: Reducer<AssetTypeFieldsState>;
53
- assetTypeFieldValuesReducer: Reducer<AssetTypeFieldValuesState>;
54
- assetTypeFieldsAttachmentReducer: Reducer<AssetTypeFieldsAttachmentState>;
55
- assetTypeFieldValuesAttachmentReducer: Reducer<AssetTypeFieldValuesAttachmentState>;
56
- };
57
- export declare const resetStore = "RESET";
58
- export declare const overmapRootReducer: Reducer<OvermapRootState>;
4
+ import { BaseState } from './typings';
59
5
  export interface FullOfflineMetadata extends OfflineMetadata {
60
6
  effect: OfflineMetaEffect;
61
7
  }
@@ -1,3 +1,14 @@
1
- export interface ModelState<TModel> {
2
- instances: Record<string, TModel>;
3
- }
1
+ import { OfflineState } from '@redux-offline/redux-offline/lib/types';
2
+ import { baseReducer, overmapReducer } from './reducers';
3
+ export type BaseState = ReturnType<typeof baseReducer> & {
4
+ offline: OfflineState;
5
+ };
6
+ export type OvermapRootState = ReturnType<typeof overmapReducer> & {
7
+ offline: OfflineState;
8
+ };
9
+ export type SelectorWithArgs<TState, TArgs, TRet> = (args: TArgs) => (state: TState) => TRet;
10
+ export type Selector<TState, TRet> = (state: TState) => TRet;
11
+ export type OvermapSelectorWithArgs<TArgs, TRet> = SelectorWithArgs<OvermapRootState, TArgs, TRet>;
12
+ export type OvermapSelector<TRet> = Selector<OvermapRootState, TRet>;
13
+ export type Migrator = (state: Partial<OvermapRootState>) => Partial<OvermapRootState>;
14
+ export type Manifest = Record<number, Migrator>;
@@ -3,4 +3,3 @@ export * from './files';
3
3
  export * from './json';
4
4
  export * from './models';
5
5
  export * from './search';
6
- export * from './store';
@@ -1,5 +1,5 @@
1
1
  import { JSONContent } from '@tiptap/core';
2
- import { Offline, OptionalFileModel, TimestampedModel } from './base';
2
+ import { OptionalFileModel, TimestampedModel, UUID } from './base';
3
3
  export interface AgentProfile extends OptionalFileModel {
4
4
  /**
5
5
  * The name of the agent.
@@ -10,7 +10,7 @@ export interface AgentProfile extends OptionalFileModel {
10
10
  */
11
11
  description: string;
12
12
  }
13
- export interface AgentUserConversation extends Offline<TimestampedModel> {
13
+ export interface AgentUserConversation extends UUID<TimestampedModel> {
14
14
  profile?: AgentProfile | null;
15
15
  tiptap_content?: JSONContent[];
16
16
  }
@@ -1,39 +1,62 @@
1
- import { BaseSerializedObject, ISerializedField } from '@overmap-ai/forms';
2
- import { ColorModel, CreatedByModel, IconModel, IndexedModel, OfflineModel, SubmittedAtModel, TimestampedModel } from './base';
1
+ import { CanvasMarkableModel, ColorModel, CreatedByModel, IconModel, IndexedModel, MarkableModel, SubmittedAtModel, TimestampedModel, UUIDModel } from './base';
3
2
  import { FieldsAttachmentModel, FieldsModel, FieldValuesModel } from './fields';
4
- import { CanvasMarkableModel, MarkableModel } from './geo';
5
- export interface Asset extends OfflineModel, TimestampedModel, SubmittedAtModel, CreatedByModel, MarkableModel, CanvasMarkableModel, IndexedModel {
3
+ export interface Asset extends UUIDModel, TimestampedModel, SubmittedAtModel, CreatedByModel, MarkableModel, CanvasMarkableModel, IndexedModel {
6
4
  asset_type: string;
7
5
  label: string | null;
8
6
  description?: string;
9
- project: number;
7
+ project: string;
10
8
  }
11
- export interface AssetType extends OfflineModel, TimestampedModel, SubmittedAtModel, CreatedByModel, IconModel, ColorModel {
12
- organization: number;
9
+ export interface AssetType extends UUIDModel, TimestampedModel, SubmittedAtModel, CreatedByModel, IconModel, ColorModel {
10
+ organization: string;
13
11
  name?: string;
14
12
  description?: string;
15
13
  }
16
- export interface AssetStage extends OfflineModel, TimestampedModel, SubmittedAtModel, CreatedByModel, ColorModel {
14
+ export interface AssetProcedure extends UUIDModel, TimestampedModel, SubmittedAtModel, CreatedByModel, IconModel, ColorModel {
15
+ organization: string;
16
+ name?: string | null;
17
+ description?: string | null;
18
+ }
19
+ export interface AssetProcedureInstance extends UUIDModel, TimestampedModel, SubmittedAtModel, CreatedByModel, IndexedModel {
20
+ asset_procedure: string;
17
21
  asset_type: string;
22
+ project: string;
23
+ }
24
+ export interface AssetStage extends UUIDModel, TimestampedModel, SubmittedAtModel, CreatedByModel, ColorModel {
25
+ asset_procedure: string;
18
26
  name?: string | null;
19
27
  description?: string | null;
20
28
  priority: number;
21
29
  }
22
- export interface AssetStageCompletion extends OfflineModel, TimestampedModel, SubmittedAtModel, CreatedByModel {
30
+ export interface AssetStageCompletion extends UUIDModel, TimestampedModel, SubmittedAtModel, CreatedByModel {
23
31
  asset: string;
24
32
  stage: string;
33
+ asset_procedure_instance: string;
25
34
  }
26
35
  export type CompletedStagesMapping = Record<string, Record<string, string>>;
27
- export interface AssetTypeFields<TFields extends BaseSerializedObject = ISerializedField> extends OfflineModel, SubmittedAtModel, TimestampedModel, CreatedByModel, FieldsModel<TFields> {
36
+ export interface AssetTypeFields extends UUIDModel, SubmittedAtModel, TimestampedModel, CreatedByModel, FieldsModel {
28
37
  asset_type: string;
29
38
  }
30
- export interface AssetTypeFieldsAttachment extends OfflineModel, SubmittedAtModel, TimestampedModel, CreatedByModel, FieldsAttachmentModel {
39
+ export interface AssetTypeFieldsAttachment extends UUIDModel, SubmittedAtModel, TimestampedModel, CreatedByModel, FieldsAttachmentModel {
40
+ fields_revision: string;
41
+ }
42
+ export interface AssetTypeFieldValues extends UUIDModel, SubmittedAtModel, TimestampedModel, CreatedByModel, FieldValuesModel {
43
+ fields_revision: string;
44
+ asset: string;
45
+ }
46
+ export interface AssetTypeFieldValuesAttachment extends UUIDModel, SubmittedAtModel, TimestampedModel, CreatedByModel, FieldsAttachmentModel {
47
+ field_values: string;
48
+ }
49
+ export interface AssetProcedureFields extends UUIDModel, SubmittedAtModel, TimestampedModel, CreatedByModel, FieldsModel {
50
+ asset_procedure: string;
51
+ }
52
+ export interface AssetProcedureFieldsAttachment extends UUIDModel, SubmittedAtModel, TimestampedModel, CreatedByModel, FieldsAttachmentModel {
31
53
  fields_revision: string;
32
54
  }
33
- export interface AssetTypeFieldValues extends OfflineModel, SubmittedAtModel, TimestampedModel, CreatedByModel, FieldValuesModel {
55
+ export interface AssetProcedureFieldValues extends UUIDModel, SubmittedAtModel, TimestampedModel, CreatedByModel, FieldValuesModel {
34
56
  fields_revision: string;
57
+ asset_procedure_instance: string;
35
58
  asset: string;
36
59
  }
37
- export interface AssetTypeFieldValuesAttachment extends OfflineModel, SubmittedAtModel, TimestampedModel, CreatedByModel, FieldsAttachmentModel {
60
+ export interface AssetProcedureFieldValuesAttachment extends UUIDModel, SubmittedAtModel, TimestampedModel, CreatedByModel, FieldsAttachmentModel {
38
61
  field_values: string;
39
62
  }
@@ -1,6 +1,6 @@
1
1
  import { FileModel, FileWithNameModel } from '../files';
2
- import { CreatedByModel, OfflineModel, SubmittedAtModel } from './base';
3
- export interface Attachment extends OfflineModel, SubmittedAtModel, FileWithNameModel, CreatedByModel {
2
+ import { CreatedByModel, SubmittedAtModel, UUIDModel } from './base';
3
+ export interface Attachment extends UUIDModel, SubmittedAtModel, FileWithNameModel, CreatedByModel {
4
4
  description?: string;
5
5
  file_type: string;
6
6
  }
@@ -19,8 +19,11 @@ 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
- project: number;
26
+ project: string;
24
27
  }
25
28
  export interface DocumentAttachment extends Attachment {
26
29
  document: string;
@@ -1,10 +1,52 @@
1
+ import { IconType } from '@overmap-ai/blocks';
2
+ import { MultiPoint, Point } from 'geojson';
3
+ import { COMMON_AUTO_FIELDS } from '../../utils';
1
4
  import { CSSColor } from '../colors';
2
- import { CommonAutoFields } from './issues';
3
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">;
4
43
  export interface Model {
5
44
  }
6
- export interface OfflineModel extends Model {
7
- offline_id: string;
45
+ export interface IdModel extends Model {
46
+ id: number;
47
+ }
48
+ export interface UUIDModel extends Model {
49
+ uuid: string;
8
50
  }
9
51
  export interface SubmittedAtModel extends Model {
10
52
  submitted_at: string;
@@ -13,26 +55,16 @@ export interface TimestampedModel extends Model {
13
55
  created_at: string;
14
56
  updated_at: string;
15
57
  }
16
- export type Offline<T> = T & {
17
- offline_id: string;
18
- };
19
- export type OfflineIdMapping<TModel extends OfflineModel> = Record<TModel["offline_id"], TModel>;
20
- export type Payload<TModel> = Omit<TModel, CommonAutoFields | "offline_id" | "id" | "submitted_at" | "created_by">;
21
- export interface FileObject {
22
- file_sha1: string;
23
- file: string;
24
- objectURL?: string;
25
- }
26
58
  export interface OptionalFileModel {
27
59
  file_sha1?: string | null;
28
60
  file?: string | null;
29
61
  objectURL?: string;
30
62
  }
31
63
  export interface OwnedByOrganization {
32
- organization_owner: number;
64
+ organization_owner: string;
33
65
  }
34
66
  export interface IconModel {
35
- icon: string;
67
+ icon: IconType;
36
68
  }
37
69
  export interface ColorModel {
38
70
  color: CSSColor;
@@ -43,3 +75,16 @@ export interface CreatedByModel {
43
75
  export interface IndexedModel {
44
76
  index: number;
45
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,8 +1,8 @@
1
1
  import { CSSColor } from '../colors';
2
- import { CreatedByModel, OfflineModel, SubmittedAtModel, TimestampedModel } from './base';
3
- export interface Category extends OfflineModel, SubmittedAtModel, TimestampedModel, CreatedByModel {
2
+ import { CreatedByModel, SubmittedAtModel, TimestampedModel, UUIDModel } from './base';
3
+ export interface Category extends UUIDModel, SubmittedAtModel, TimestampedModel, CreatedByModel {
4
4
  name: string;
5
5
  description?: string;
6
6
  color: CSSColor;
7
- project: number;
7
+ project: string;
8
8
  }
@@ -1,11 +1,11 @@
1
- import { ColorModel, CreatedByModel, IconModel, OfflineModel, SubmittedAtModel, TimestampedModel } from './base';
2
- export interface Document extends OfflineModel, SubmittedAtModel, CreatedByModel, TimestampedModel, IconModel, ColorModel {
1
+ import { ColorModel, CreatedByModel, IconModel, SubmittedAtModel, TimestampedModel, UUIDModel } from './base';
2
+ export interface Document extends UUIDModel, SubmittedAtModel, CreatedByModel, TimestampedModel, IconModel, ColorModel {
3
3
  title: string | null;
4
4
  description: string | null;
5
5
  content: string | null;
6
6
  parent_document: string | null;
7
7
  children_documents: string[];
8
- project?: number;
9
- organization?: number;
8
+ project?: string;
9
+ organization?: string;
10
10
  }
11
11
  export type MovePosition = "left" | "right" | "left-child" | "right-child";
@@ -1,5 +1,5 @@
1
- import { OfflineModel } from './base';
2
- export interface EmailDomain extends OfflineModel {
1
+ import { UUIDModel } from './base';
2
+ export interface EmailDomain extends UUIDModel {
3
3
  domain: string;
4
- organization: number;
4
+ organization: string;
5
5
  }
@@ -1,9 +1,9 @@
1
- import { OfflineModel } from './base';
1
+ import { UUIDModel } from './base';
2
2
  import { RegistrationPayload } from './users';
3
3
  export type EmailVerificationPayload = undefined | RegistrationPayload | Omit<RegistrationPayload, "username" | "email">;
4
4
  export interface EmailVerificationReturn {
5
5
  username?: string;
6
- project?: number;
6
+ project?: string;
7
7
  }
8
8
  export declare enum VerificationCodeType {
9
9
  USER_REGISTRATION = 0,
@@ -13,10 +13,10 @@ export declare enum VerificationCodeType {
13
13
  ADD_EMAIL_DOMAIN = 8,
14
14
  RESET_PASSWORD = 10
15
15
  }
16
- export interface VerificationCode extends OfflineModel {
16
+ export interface VerificationCode extends UUIDModel {
17
17
  verification_code: string;
18
18
  verification_type: VerificationCodeType;
19
19
  organization?: number;
20
- project?: number;
21
- user?: number;
20
+ project?: string;
21
+ user?: string;
22
22
  }
@@ -1,12 +1,12 @@
1
- import { BaseSerializedObject, FieldValue, ISerializedField } from '@overmap-ai/forms';
1
+ import { SerializedFieldSection, SerializedFieldValues } from '@overmap-ai/forms';
2
2
  import { FileWithNameModel } from '../files';
3
- export interface FieldsModel<TFields extends BaseSerializedObject = ISerializedField> {
4
- fields: TFields[];
3
+ export interface FieldsModel {
4
+ fields: SerializedFieldSection[];
5
5
  revision: number;
6
6
  }
7
7
  export interface FieldValuesModel {
8
8
  published_at?: string | null;
9
- values: Record<string, FieldValue>;
9
+ values: SerializedFieldValues;
10
10
  }
11
11
  export interface FieldsAttachmentModel extends FileWithNameModel {
12
12
  field_identifier: string;
@@ -1,24 +1,23 @@
1
- import { BaseSerializedObject, ISerializedField } from '@overmap-ai/forms';
2
- import { CreatedByModel, IndexedModel, OfflineModel, Payload, SubmittedAtModel, TimestampedModel } from './base';
1
+ import { CreatedByModel, IndexedModel, Payload, SubmittedAtModel, TimestampedModel, UUIDModel } from './base';
3
2
  import { FieldsAttachmentModel, FieldsModel, FieldValuesAttachmentModel, FieldValuesModel } from './fields';
4
- export interface Form extends OfflineModel, SubmittedAtModel, CreatedByModel {
5
- organization: number;
3
+ export interface Form extends UUIDModel, SubmittedAtModel, CreatedByModel {
4
+ organization: string;
6
5
  }
7
- export interface FormRevision<TFields extends BaseSerializedObject = ISerializedField> extends OfflineModel, SubmittedAtModel, TimestampedModel, CreatedByModel, FieldsModel<TFields> {
6
+ export interface FormRevision extends UUIDModel, SubmittedAtModel, TimestampedModel, CreatedByModel, FieldsModel {
8
7
  form: string;
9
8
  title: string;
10
9
  description?: string;
11
10
  }
12
11
  export type FormRevisionPayload = Omit<Payload<FormRevision>, "revision">;
13
- export interface FormSubmission extends OfflineModel, SubmittedAtModel, TimestampedModel, CreatedByModel, FieldValuesModel, IndexedModel {
12
+ export interface FormSubmission extends UUIDModel, SubmittedAtModel, TimestampedModel, CreatedByModel, FieldValuesModel, IndexedModel {
14
13
  form_revision: string;
15
- project: number;
14
+ project: string;
16
15
  issue?: string | null;
17
16
  asset?: string | null;
18
17
  }
19
- export interface FormSubmissionAttachment extends OfflineModel, SubmittedAtModel, TimestampedModel, CreatedByModel, FieldValuesAttachmentModel {
18
+ export interface FormSubmissionAttachment extends UUIDModel, SubmittedAtModel, TimestampedModel, CreatedByModel, FieldValuesAttachmentModel {
20
19
  form_submission: string;
21
20
  }
22
- export interface FormRevisionAttachment extends OfflineModel, SubmittedAtModel, TimestampedModel, CreatedByModel, FieldsAttachmentModel {
21
+ export interface FormRevisionAttachment extends UUIDModel, SubmittedAtModel, TimestampedModel, CreatedByModel, FieldsAttachmentModel {
23
22
  form_revision: string;
24
23
  }
@@ -1,10 +1,10 @@
1
1
  import { FileWithNameModel } from '../files';
2
- import { CreatedByModel, IndexedModel, OfflineModel, Payload, SubmittedAtModel } from './base';
3
- import { CanvasMarkableModel, MarkableModel } from './geo';
4
- export interface GeoImage extends OfflineModel, SubmittedAtModel, CreatedByModel, MarkableModel, CanvasMarkableModel, FileWithNameModel, IndexedModel {
2
+ import { CanvasMarkableModel, CreatedByModel, IndexedModel, MarkableModel, Payload, SubmittedAtModel, UUIDModel } from './base';
3
+ import { Project } from './projects';
4
+ export interface GeoImage extends UUIDModel, SubmittedAtModel, CreatedByModel, MarkableModel, CanvasMarkableModel, FileWithNameModel, IndexedModel {
5
5
  title?: string;
6
6
  description?: string;
7
- project: number;
7
+ project: Project["uuid"];
8
8
  direction?: number;
9
9
  original_date?: string;
10
10
  }
@@ -1,4 +1,3 @@
1
- export * from './access';
2
1
  export * from './agents';
3
2
  export * from './assets';
4
3
  export * from './attachments';
@@ -9,13 +8,11 @@ export * from './emailDomain';
9
8
  export * from './emailVerification';
10
9
  export * from './fields';
11
10
  export * from './forms';
12
- export * from './geo';
13
11
  export * from './geoImages';
14
12
  export * from './issues';
15
13
  export * from './issueTypes';
16
14
  export * from './license';
17
15
  export * from './organizations';
18
16
  export * from './projects';
19
- export * from './store';
20
17
  export * from './teams';
21
18
  export * from './users';
@@ -1,7 +1,7 @@
1
- import { ColorModel, CreatedByModel, IconModel, OfflineModel, SubmittedAtModel } from './base';
1
+ import { ColorModel, CreatedByModel, IconModel, SubmittedAtModel, UUIDModel } from './base';
2
2
  import { Organization } from './organizations';
3
- export interface IssueType extends OfflineModel, SubmittedAtModel, IconModel, ColorModel, CreatedByModel {
3
+ export interface IssueType extends UUIDModel, SubmittedAtModel, IconModel, ColorModel, CreatedByModel {
4
4
  name?: string;
5
5
  description?: string;
6
- organization: Organization["id"];
6
+ organization: Organization["uuid"];
7
7
  }