@overmap-ai/core 1.0.75-more-clean-ups.0 → 1.0.76
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/overmap-core.js +4763 -3634
- package/dist/overmap-core.umd.cjs +11 -11
- package/dist/sdk/services/AgentService.d.ts +6 -6
- package/dist/sdk/services/AssetAttachmentService.d.ts +9 -9
- package/dist/sdk/services/AssetProcedureAttachmentService.d.ts +39 -0
- package/dist/sdk/services/AssetProcedureFieldValuesAttachmentService.d.ts +15 -0
- package/dist/sdk/services/AssetProcedureFieldValuesService.d.ts +21 -0
- package/dist/sdk/services/AssetProcedureFieldsAttachmentService.d.ts +12 -0
- package/dist/sdk/services/AssetProcedureFieldsService.d.ts +8 -0
- package/dist/sdk/services/AssetProcedureInstanceService.d.ts +10 -0
- package/dist/sdk/services/AssetProcedureService.d.ts +10 -0
- package/dist/sdk/services/AssetService.d.ts +5 -5
- package/dist/sdk/services/AssetStageCompletionService.d.ts +4 -4
- package/dist/sdk/services/AssetStageService.d.ts +6 -6
- package/dist/sdk/services/AssetTypeAttachmentService.d.ts +9 -9
- package/dist/sdk/services/AssetTypeFieldValuesAttachmentService.d.ts +4 -4
- package/dist/sdk/services/AssetTypeFieldValuesService.d.ts +9 -9
- package/dist/sdk/services/AssetTypeFieldsAttachmentService.d.ts +3 -3
- package/dist/sdk/services/AssetTypeFieldsService.d.ts +2 -2
- package/dist/sdk/services/AssetTypeService.d.ts +4 -4
- package/dist/sdk/services/BaseAttachmentService.d.ts +14 -14
- package/dist/sdk/services/CategoryService.d.ts +4 -4
- package/dist/sdk/services/DocumentAttachmentService.d.ts +9 -9
- package/dist/sdk/services/DocumentService.d.ts +5 -5
- package/dist/sdk/services/EmailDomainsService.d.ts +3 -3
- package/dist/sdk/services/FormRevisionAttachmentService.d.ts +3 -3
- package/dist/sdk/services/FormRevisionService.d.ts +2 -2
- package/dist/sdk/services/FormService.d.ts +3 -12
- package/dist/sdk/services/FormSubmissionAttachmentService.d.ts +4 -4
- package/dist/sdk/services/FormSubmissionService.d.ts +4 -9
- package/dist/sdk/services/GeoImageService.d.ts +5 -5
- package/dist/sdk/services/IssueAssociationService.d.ts +3 -3
- package/dist/sdk/services/IssueAttachmentService.d.ts +10 -9
- package/dist/sdk/services/IssueCommentAttachmentService.d.ts +40 -0
- package/dist/sdk/services/IssueCommentService.d.ts +4 -4
- package/dist/sdk/services/IssueService.d.ts +4 -4
- package/dist/sdk/services/IssueTypeAttachmentService.d.ts +40 -0
- package/dist/sdk/services/IssueTypeFieldValuesAttachmentService.d.ts +4 -4
- package/dist/sdk/services/IssueTypeFieldValuesService.d.ts +4 -4
- package/dist/sdk/services/IssueTypeFieldsAttachmentService.d.ts +3 -3
- package/dist/sdk/services/IssueTypeFieldsService.d.ts +2 -2
- package/dist/sdk/services/IssueTypeService.d.ts +4 -4
- package/dist/sdk/services/IssueUpdateService.d.ts +2 -2
- package/dist/sdk/services/LicenseService.d.ts +2 -2
- package/dist/sdk/services/OrganizationAccessService.d.ts +2 -5
- package/dist/sdk/services/OrganizationService.d.ts +3 -3
- package/dist/sdk/services/ProjectAccessService.d.ts +3 -6
- package/dist/sdk/services/ProjectAttachmentService.d.ts +11 -11
- package/dist/sdk/services/ProjectFileService.d.ts +3 -3
- package/dist/sdk/services/ProjectService.d.ts +5 -5
- package/dist/sdk/services/TeamService.d.ts +7 -7
- package/dist/sdk/services/UserService.d.ts +2 -2
- package/dist/sdk/services/index.d.ts +9 -0
- package/dist/store/adapters/index.d.ts +2 -0
- package/dist/store/adapters/modelAdapter.d.ts +15 -0
- package/dist/store/adapters/selectionAdapter.d.ts +13 -0
- package/dist/store/index.d.ts +1 -1
- package/dist/store/slices/agentsSlice.d.ts +8 -9
- package/dist/store/slices/assetAttachmentSlice.d.ts +20 -19
- package/dist/store/slices/assetProcedureAttachmentSlice.d.ts +47 -0
- package/dist/store/slices/assetProcedureFieldValuesAttachmentSlice.d.ts +68 -0
- package/dist/store/slices/assetProcedureFieldValuesSlice.d.ts +68 -0
- package/dist/store/slices/assetProcedureFieldsAttachmentSlice.d.ts +67 -0
- package/dist/store/slices/assetProcedureFieldsSlice.d.ts +68 -0
- package/dist/store/slices/assetProcedureInstanceSlice.d.ts +69 -0
- package/dist/store/slices/assetProcedureSlice.d.ts +68 -0
- package/dist/store/slices/assetSlice.d.ts +21 -16
- package/dist/store/slices/assetStageCompletionSlice.d.ts +29 -24
- package/dist/store/slices/assetStageSlice.d.ts +29 -24
- package/dist/store/slices/assetTypeAttachmentSlice.d.ts +20 -19
- package/dist/store/slices/assetTypeFieldValuesAttachmentSlice.d.ts +20 -15
- package/dist/store/slices/assetTypeFieldValuesSlice.d.ts +21 -16
- package/dist/store/slices/assetTypeFieldsAttachmentSlice.d.ts +20 -15
- package/dist/store/slices/assetTypeFieldsSlice.d.ts +35 -30
- package/dist/store/slices/assetTypeSlice.d.ts +20 -15
- package/dist/store/slices/authSlice.d.ts +3 -3
- package/dist/store/slices/categorySlice.d.ts +10 -8
- package/dist/store/slices/documentAttachmentSlice.d.ts +20 -19
- package/dist/store/slices/documentSlice.d.ts +4 -5
- package/dist/store/slices/emailDomainsSlice.d.ts +15 -13
- package/dist/store/slices/fileSlice.d.ts +2 -2
- package/dist/store/slices/formRevisionAttachmentSlice.d.ts +19 -14
- package/dist/store/slices/formRevisionSlice.d.ts +29 -25
- package/dist/store/slices/formSlice.d.ts +14 -17
- package/dist/store/slices/formSubmissionAttachmentSlice.d.ts +19 -14
- package/dist/store/slices/formSubmissionSlice.d.ts +20 -15
- package/dist/store/slices/geoImageSlice.d.ts +28 -23
- package/dist/store/slices/index.d.ts +9 -0
- package/dist/store/slices/issueAssociationSlice.d.ts +18 -13
- package/dist/store/slices/issueAttachmentSlice.d.ts +18 -17
- package/dist/store/slices/issueCommentAttachmentSlice.d.ts +47 -0
- package/dist/store/slices/issueCommentSlice.d.ts +15 -10
- package/dist/store/slices/issueSlice.d.ts +15 -10
- package/dist/store/slices/issueTypeAttachmentSlice.d.ts +47 -0
- package/dist/store/slices/issueTypeFieldValuesAttachmentSlice.d.ts +20 -15
- package/dist/store/slices/issueTypeFieldValuesSlice.d.ts +20 -15
- package/dist/store/slices/issueTypeFieldsAttachmentSlice.d.ts +20 -15
- package/dist/store/slices/issueTypeFieldsSlice.d.ts +36 -31
- package/dist/store/slices/issueTypeSlice.d.ts +15 -13
- package/dist/store/slices/issueUpdateSlice.d.ts +14 -9
- package/dist/store/slices/licenseSlice.d.ts +12 -13
- package/dist/store/slices/organizationAccessSlice.d.ts +15 -13
- package/dist/store/slices/organizationSlice.d.ts +45 -11
- package/dist/store/slices/outboxSlice.d.ts +2 -2
- package/dist/store/slices/projectAccessSlice.d.ts +17 -12
- package/dist/store/slices/projectAttachmentSlice.d.ts +19 -18
- package/dist/store/slices/projectFileSlice.d.ts +19 -14
- package/dist/store/slices/projectSlice.d.ts +42 -17
- package/dist/store/slices/rehydratedSlice.d.ts +2 -2
- package/dist/store/slices/teamSlice.d.ts +13 -11
- package/dist/store/slices/userSlice.d.ts +47 -10
- package/dist/store/slices/versioningSlice.d.ts +1 -2
- package/dist/store/store.d.ts +54 -46
- package/dist/store/typings.d.ts +5 -2
- package/dist/typings/models/agents.d.ts +2 -2
- package/dist/typings/models/assets.d.ts +36 -14
- package/dist/typings/models/attachments.d.ts +12 -3
- package/dist/typings/models/base.d.ts +65 -19
- package/dist/typings/models/categories.d.ts +3 -3
- package/dist/typings/models/documents.d.ts +4 -4
- package/dist/typings/models/emailDomain.d.ts +3 -3
- package/dist/typings/models/emailVerification.d.ts +5 -5
- package/dist/typings/models/fields.d.ts +5 -5
- package/dist/typings/models/forms.d.ts +8 -9
- package/dist/typings/models/geoImages.d.ts +5 -5
- package/dist/typings/models/index.d.ts +0 -2
- package/dist/typings/models/issueTypes.d.ts +3 -3
- package/dist/typings/models/issues.d.ts +14 -66
- package/dist/typings/models/license.d.ts +3 -3
- package/dist/typings/models/organizations.d.ts +9 -3
- package/dist/typings/models/projects.d.ts +11 -6
- package/dist/typings/models/store.d.ts +10 -1
- package/dist/typings/models/teams.d.ts +4 -4
- package/dist/typings/models/users.d.ts +2 -4
- package/dist/utils/offline.d.ts +4 -3
- package/dist/utils/utils.d.ts +3 -2
- package/package.json +5 -5
- package/dist/store/adapter.d.ts +0 -15
- package/dist/typings/models/access.d.ts +0 -12
- package/dist/typings/models/geo.d.ts +0 -13
|
@@ -1,40 +1,62 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ColorModel, CreatedByModel, IconModel, 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
|
-
|
|
5
|
-
export interface Asset extends OfflineModel, TimestampedModel, SubmittedAtModel, CreatedByModel, MarkableModel, CanvasMarkableModel {
|
|
3
|
+
export interface Asset extends UUIDModel, TimestampedModel, SubmittedAtModel, CreatedByModel, MarkableModel, CanvasMarkableModel, IndexedModel {
|
|
6
4
|
asset_type: string;
|
|
7
|
-
created_at?: string;
|
|
8
5
|
label: string | null;
|
|
9
6
|
description?: string;
|
|
10
|
-
project:
|
|
7
|
+
project: string;
|
|
11
8
|
}
|
|
12
|
-
export interface AssetType extends
|
|
13
|
-
organization:
|
|
9
|
+
export interface AssetType extends UUIDModel, TimestampedModel, SubmittedAtModel, CreatedByModel, IconModel, ColorModel {
|
|
10
|
+
organization: string;
|
|
14
11
|
name?: string;
|
|
15
12
|
description?: string;
|
|
16
13
|
}
|
|
17
|
-
export interface
|
|
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;
|
|
18
21
|
asset_type: string;
|
|
22
|
+
project: string;
|
|
23
|
+
}
|
|
24
|
+
export interface AssetStage extends UUIDModel, TimestampedModel, SubmittedAtModel, CreatedByModel, ColorModel {
|
|
25
|
+
asset_procedure: string;
|
|
19
26
|
name?: string | null;
|
|
20
27
|
description?: string | null;
|
|
21
28
|
priority: number;
|
|
22
29
|
}
|
|
23
|
-
export interface AssetStageCompletion extends
|
|
30
|
+
export interface AssetStageCompletion extends UUIDModel, TimestampedModel, SubmittedAtModel, CreatedByModel {
|
|
24
31
|
asset: string;
|
|
25
32
|
stage: string;
|
|
33
|
+
asset_procedure_instance: string;
|
|
26
34
|
}
|
|
27
35
|
export type CompletedStagesMapping = Record<string, Record<string, string>>;
|
|
28
|
-
export interface AssetTypeFields
|
|
36
|
+
export interface AssetTypeFields extends UUIDModel, SubmittedAtModel, TimestampedModel, CreatedByModel, FieldsModel {
|
|
29
37
|
asset_type: string;
|
|
30
38
|
}
|
|
31
|
-
export interface AssetTypeFieldsAttachment extends
|
|
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 {
|
|
32
53
|
fields_revision: string;
|
|
33
54
|
}
|
|
34
|
-
export interface
|
|
55
|
+
export interface AssetProcedureFieldValues extends UUIDModel, SubmittedAtModel, TimestampedModel, CreatedByModel, FieldValuesModel {
|
|
35
56
|
fields_revision: string;
|
|
57
|
+
asset_procedure_instance: string;
|
|
36
58
|
asset: string;
|
|
37
59
|
}
|
|
38
|
-
export interface
|
|
60
|
+
export interface AssetProcedureFieldValuesAttachment extends UUIDModel, SubmittedAtModel, TimestampedModel, CreatedByModel, FieldsAttachmentModel {
|
|
39
61
|
field_values: string;
|
|
40
62
|
}
|
|
@@ -1,20 +1,29 @@
|
|
|
1
1
|
import { FileModel, FileWithNameModel } from '../files';
|
|
2
|
-
import { CreatedByModel,
|
|
3
|
-
export interface Attachment extends
|
|
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
|
}
|
|
7
7
|
export interface IssueAttachment extends Attachment {
|
|
8
8
|
issue: string;
|
|
9
9
|
}
|
|
10
|
+
export interface IssueTypeAttachment extends Attachment {
|
|
11
|
+
issue_type: string;
|
|
12
|
+
}
|
|
13
|
+
export interface IssueCommentAttachment extends Attachment {
|
|
14
|
+
issue_comment: string;
|
|
15
|
+
}
|
|
10
16
|
export interface AssetAttachment extends Attachment {
|
|
11
17
|
asset: string;
|
|
12
18
|
}
|
|
13
19
|
export interface AssetTypeAttachment extends Attachment {
|
|
14
20
|
asset_type: string;
|
|
15
21
|
}
|
|
22
|
+
export interface AssetProcedureAttachment extends Attachment {
|
|
23
|
+
asset_procedure: string;
|
|
24
|
+
}
|
|
16
25
|
export interface ProjectAttachment extends Attachment {
|
|
17
|
-
project:
|
|
26
|
+
project: string;
|
|
18
27
|
}
|
|
19
28
|
export interface DocumentAttachment extends Attachment {
|
|
20
29
|
document: string;
|
|
@@ -1,29 +1,59 @@
|
|
|
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
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">;
|
|
3
43
|
export interface Model {
|
|
4
44
|
}
|
|
5
|
-
export interface
|
|
6
|
-
|
|
45
|
+
export interface IdModel extends Model {
|
|
46
|
+
id: number;
|
|
47
|
+
}
|
|
48
|
+
export interface UUIDModel extends Model {
|
|
49
|
+
uuid: string;
|
|
7
50
|
}
|
|
8
51
|
export interface SubmittedAtModel extends Model {
|
|
9
52
|
submitted_at: string;
|
|
10
53
|
}
|
|
11
54
|
export interface TimestampedModel extends Model {
|
|
12
|
-
created_at
|
|
13
|
-
updated_at
|
|
14
|
-
}
|
|
15
|
-
export type Offline<T> = T & {
|
|
16
|
-
offline_id: string;
|
|
17
|
-
};
|
|
18
|
-
export type OfflineIdMapping<TModel extends OfflineModel> = Record<TModel["offline_id"], TModel>;
|
|
19
|
-
export type Payload<TModel> = Omit<TModel, "offline_id" | "created_at" | "updated_at" | "id" | "submitted_at" | "created_by">;
|
|
20
|
-
export type MaybePayload<TModel extends OfflineModel> = Payload<TModel> & {
|
|
21
|
-
offline_id?: string | null;
|
|
22
|
-
};
|
|
23
|
-
export interface FileObject {
|
|
24
|
-
file_sha1: string;
|
|
25
|
-
file: string;
|
|
26
|
-
objectURL?: string;
|
|
55
|
+
created_at: string;
|
|
56
|
+
updated_at: string;
|
|
27
57
|
}
|
|
28
58
|
export interface OptionalFileModel {
|
|
29
59
|
file_sha1?: string | null;
|
|
@@ -31,10 +61,10 @@ export interface OptionalFileModel {
|
|
|
31
61
|
objectURL?: string;
|
|
32
62
|
}
|
|
33
63
|
export interface OwnedByOrganization {
|
|
34
|
-
organization_owner:
|
|
64
|
+
organization_owner: string;
|
|
35
65
|
}
|
|
36
66
|
export interface IconModel {
|
|
37
|
-
icon:
|
|
67
|
+
icon: IconType;
|
|
38
68
|
}
|
|
39
69
|
export interface ColorModel {
|
|
40
70
|
color: CSSColor;
|
|
@@ -42,3 +72,19 @@ export interface ColorModel {
|
|
|
42
72
|
export interface CreatedByModel {
|
|
43
73
|
created_by?: User["id"] | null;
|
|
44
74
|
}
|
|
75
|
+
export interface IndexedModel {
|
|
76
|
+
index: number;
|
|
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,
|
|
3
|
-
export interface Category extends
|
|
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:
|
|
7
|
+
project: string;
|
|
8
8
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { ColorModel, CreatedByModel, IconModel,
|
|
2
|
-
export interface Document extends
|
|
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?:
|
|
9
|
-
organization?:
|
|
8
|
+
project?: string;
|
|
9
|
+
organization?: string;
|
|
10
10
|
}
|
|
11
11
|
export type MovePosition = "left" | "right" | "left-child" | "right-child";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
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?:
|
|
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
|
|
16
|
+
export interface VerificationCode extends UUIDModel {
|
|
17
17
|
verification_code: string;
|
|
18
18
|
verification_type: VerificationCodeType;
|
|
19
19
|
organization?: number;
|
|
20
|
-
project?:
|
|
21
|
-
user?:
|
|
20
|
+
project?: string;
|
|
21
|
+
user?: string;
|
|
22
22
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { SerializedFieldSection, SerializedFieldValues } from '@overmap-ai/forms';
|
|
2
2
|
import { FileWithNameModel } from '../files';
|
|
3
|
-
export interface FieldsModel
|
|
4
|
-
fields:
|
|
5
|
-
revision: number
|
|
3
|
+
export interface FieldsModel {
|
|
4
|
+
fields: SerializedFieldSection[];
|
|
5
|
+
revision: number;
|
|
6
6
|
}
|
|
7
7
|
export interface FieldValuesModel {
|
|
8
8
|
published_at?: string | null;
|
|
9
|
-
values:
|
|
9
|
+
values: SerializedFieldValues;
|
|
10
10
|
}
|
|
11
11
|
export interface FieldsAttachmentModel extends FileWithNameModel {
|
|
12
12
|
field_identifier: string;
|
|
@@ -1,24 +1,23 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { CreatedByModel, 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
|
|
5
|
-
organization:
|
|
3
|
+
export interface Form extends UUIDModel, SubmittedAtModel, CreatedByModel {
|
|
4
|
+
organization: string;
|
|
6
5
|
}
|
|
7
|
-
export interface FormRevision
|
|
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
|
|
12
|
+
export interface FormSubmission extends UUIDModel, SubmittedAtModel, TimestampedModel, CreatedByModel, FieldValuesModel, IndexedModel {
|
|
14
13
|
form_revision: string;
|
|
15
|
-
project:
|
|
14
|
+
project: string;
|
|
16
15
|
issue?: string | null;
|
|
17
16
|
asset?: string | null;
|
|
18
17
|
}
|
|
19
|
-
export interface FormSubmissionAttachment extends FieldValuesAttachmentModel {
|
|
18
|
+
export interface FormSubmissionAttachment extends UUIDModel, SubmittedAtModel, TimestampedModel, CreatedByModel, FieldValuesAttachmentModel {
|
|
20
19
|
form_submission: string;
|
|
21
20
|
}
|
|
22
|
-
export interface FormRevisionAttachment extends FieldsAttachmentModel {
|
|
21
|
+
export interface FormRevisionAttachment extends UUIDModel, SubmittedAtModel, TimestampedModel, CreatedByModel, FieldsAttachmentModel {
|
|
23
22
|
form_revision: string;
|
|
24
23
|
}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { FileWithNameModel } from '../files';
|
|
2
|
-
import { CreatedByModel,
|
|
3
|
-
import {
|
|
4
|
-
export interface GeoImage extends
|
|
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:
|
|
7
|
+
project: Project["uuid"];
|
|
8
8
|
direction?: number;
|
|
9
9
|
original_date?: string;
|
|
10
10
|
}
|
|
11
|
-
export type GeoImagePayload = Omit<GeoImage
|
|
11
|
+
export type GeoImagePayload = Omit<Payload<GeoImage>, "file_name" | "file_sha1" | "file"> & {
|
|
12
12
|
file: File;
|
|
13
13
|
};
|
|
14
14
|
export type BulkGeoImagePayload = Omit<GeoImagePayload, "project">;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
export * from './access';
|
|
2
1
|
export * from './agents';
|
|
3
2
|
export * from './assets';
|
|
4
3
|
export * from './attachments';
|
|
@@ -9,7 +8,6 @@ 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';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { ColorModel, CreatedByModel, IconModel,
|
|
1
|
+
import { ColorModel, CreatedByModel, IconModel, SubmittedAtModel, UUIDModel } from './base';
|
|
2
2
|
import { Organization } from './organizations';
|
|
3
|
-
export interface IssueType extends
|
|
3
|
+
export interface IssueType extends UUIDModel, SubmittedAtModel, IconModel, ColorModel, CreatedByModel {
|
|
4
4
|
name?: string;
|
|
5
5
|
description?: string;
|
|
6
|
-
organization: Organization["
|
|
6
|
+
organization: Organization["uuid"];
|
|
7
7
|
}
|
|
@@ -1,83 +1,31 @@
|
|
|
1
|
-
import { BaseSerializedObject, ISerializedField } from '@overmap-ai/forms';
|
|
2
1
|
import { IssuePriority, IssueStatus, IssueUpdateChange } from '../../enums';
|
|
3
2
|
import { CSSColor } from '../colors';
|
|
4
|
-
import { CreatedByModel,
|
|
3
|
+
import { CanvasMarkableModel, CreatedByModel, IndexedModel, MarkableModel, SubmittedAtModel, TimestampedModel, UUIDModel } from './base';
|
|
5
4
|
import { FieldsAttachmentModel, FieldsModel, FieldValuesModel } from './fields';
|
|
6
|
-
import { CanvasMarkableModel, MarkableModel } from './geo';
|
|
7
5
|
import { User } from './users';
|
|
8
|
-
|
|
9
|
-
* Represents a model instance that has been submitted to the backend. Some properties (depending on which model, but in
|
|
10
|
-
* all cases, the `offline_id`) are guaranteed to be set.
|
|
11
|
-
*/
|
|
12
|
-
export type Submitted<TModel> = Offline<TModel> & (TModel extends Issue ? SubmittedIssue : Omit<TModel, "created_at" | "id">);
|
|
13
|
-
/**
|
|
14
|
-
* Represents a model instance that has been submitted to the backend, accepted, then downloaded. Created models
|
|
15
|
-
* typically have additional properties that are only known once it has been processed and accepted by the API, such as
|
|
16
|
-
* the `created_at` timestamp, which is the time at which the data was written to the database.
|
|
17
|
-
*/
|
|
18
|
-
export type Created<TModel> = Submitted<TModel> & (TModel extends Issue ? CreatedIssue : TModel extends IssueComment ? CreatedIssueComment : TModel);
|
|
19
|
-
/**
|
|
20
|
-
* Model instances that are stored in the Redux store can be already-created (and will likely be gotten with the initial
|
|
21
|
-
* data load), or to-be-created. In the former case, you will get a `Created<TModel>`. In the latter case, you will get
|
|
22
|
-
* a `Submitted<TModel>`.
|
|
23
|
-
*/
|
|
24
|
-
export type Stored<TModel> = Created<TModel> | Submitted<TModel>;
|
|
25
|
-
/**
|
|
26
|
-
* Represents the properties you can always expect on any object representing an issue. These are the minimal details
|
|
27
|
-
* required when creating an issue.
|
|
28
|
-
*/
|
|
29
|
-
export interface Issue extends OfflineModel, SubmittedAtModel, CreatedByModel, MarkableModel, CanvasMarkableModel {
|
|
6
|
+
export interface Issue extends UUIDModel, SubmittedAtModel, CreatedByModel, MarkableModel, CanvasMarkableModel, IndexedModel {
|
|
30
7
|
title?: string | null;
|
|
31
8
|
description?: string | null;
|
|
32
9
|
priority: IssuePriority;
|
|
33
10
|
status: IssueStatus;
|
|
34
|
-
assigned_to?:
|
|
11
|
+
assigned_to?: User["id"] | null;
|
|
35
12
|
due_date?: string | Date | null;
|
|
36
13
|
category?: string | null;
|
|
37
|
-
issue_type
|
|
38
|
-
project:
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* These details need to be provided by the frontend code before submitting to the backend.
|
|
42
|
-
*/
|
|
43
|
-
export interface SubmittedIssue extends OfflineModel, CreatedByModel {
|
|
44
|
-
submitted_at: string;
|
|
45
|
-
status: Exclude<Issue["status"], undefined>;
|
|
46
|
-
priority: Exclude<Issue["priority"], undefined>;
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* These details exist on issues that have been successfully submitted, accepted, created, and serialized by the
|
|
50
|
-
* backend, then downloaded by the frontend.
|
|
51
|
-
*/
|
|
52
|
-
export interface CreatedIssue extends Issue {
|
|
53
|
-
title: Exclude<Issue["title"], undefined>;
|
|
54
|
-
description: Exclude<Issue["description"], undefined>;
|
|
55
|
-
assigned_to: Exclude<Issue["assigned_to"], undefined>;
|
|
56
|
-
due_date: Exclude<Issue["due_date"], undefined>;
|
|
57
|
-
category: Exclude<Issue["category"], undefined>;
|
|
58
|
-
geo_marker: Exclude<Issue["geo_marker"], undefined>;
|
|
59
|
-
created_at: string;
|
|
14
|
+
issue_type: string;
|
|
15
|
+
project: string;
|
|
60
16
|
}
|
|
61
|
-
export interface IssueComment extends
|
|
17
|
+
export interface IssueComment extends UUIDModel, SubmittedAtModel, TimestampedModel {
|
|
62
18
|
issue: string;
|
|
63
19
|
content: string;
|
|
64
20
|
author?: number;
|
|
65
21
|
}
|
|
66
|
-
export interface SubmittedIssueComment {
|
|
67
|
-
created_at: Exclude<IssueComment["created_at"], undefined>;
|
|
68
|
-
}
|
|
69
|
-
export interface CreatedIssueComment {
|
|
70
|
-
author: Exclude<IssueComment["author"], undefined>;
|
|
71
|
-
created_at: Exclude<IssueComment["created_at"], undefined>;
|
|
72
|
-
}
|
|
73
|
-
export type IssueCommentPayload = Omit<IssueComment, "author" | "created_at" | "offline_id">;
|
|
74
22
|
export interface IssueUpdateChangeTypes {
|
|
75
23
|
status: IssueStatus;
|
|
76
24
|
priority: IssuePriority;
|
|
77
25
|
category: {
|
|
78
26
|
name: string;
|
|
79
27
|
color: CSSColor;
|
|
80
|
-
|
|
28
|
+
uuid: UUIDModel["uuid"];
|
|
81
29
|
} | null;
|
|
82
30
|
description: string;
|
|
83
31
|
title: string;
|
|
@@ -87,26 +35,26 @@ export interface IssueUpdateChangeTypes {
|
|
|
87
35
|
} | null;
|
|
88
36
|
due_date: string;
|
|
89
37
|
}
|
|
90
|
-
export interface IssueUpdate extends
|
|
38
|
+
export interface IssueUpdate extends UUIDModel, CreatedByModel {
|
|
91
39
|
submitted_at: string;
|
|
92
|
-
issue:
|
|
40
|
+
issue: UUIDModel["uuid"];
|
|
93
41
|
changes: Partial<Record<IssueUpdateChange, IssueUpdateChangeTypes[IssueUpdateChange]>>;
|
|
94
42
|
}
|
|
95
|
-
export interface IssueAssociation extends
|
|
43
|
+
export interface IssueAssociation extends UUIDModel, SubmittedAtModel, CreatedByModel {
|
|
96
44
|
associated_issue: string;
|
|
97
45
|
issue?: string;
|
|
98
46
|
asset?: string;
|
|
99
47
|
}
|
|
100
|
-
export interface IssueTypeFields
|
|
48
|
+
export interface IssueTypeFields extends UUIDModel, SubmittedAtModel, TimestampedModel, CreatedByModel, FieldsModel {
|
|
101
49
|
issue_type: string;
|
|
102
50
|
}
|
|
103
|
-
export interface IssueTypeFieldsAttachment extends
|
|
51
|
+
export interface IssueTypeFieldsAttachment extends UUIDModel, SubmittedAtModel, TimestampedModel, CreatedByModel, FieldsAttachmentModel {
|
|
104
52
|
fields_revision: string;
|
|
105
53
|
}
|
|
106
|
-
export interface IssueTypeFieldValues extends
|
|
54
|
+
export interface IssueTypeFieldValues extends UUIDModel, SubmittedAtModel, TimestampedModel, CreatedByModel, FieldValuesModel {
|
|
107
55
|
fields_revision: string;
|
|
108
56
|
issue: string;
|
|
109
57
|
}
|
|
110
|
-
export interface IssueTypeFieldValuesAttachment extends
|
|
58
|
+
export interface IssueTypeFieldValuesAttachment extends UUIDModel, SubmittedAtModel, TimestampedModel, CreatedByModel, FieldsAttachmentModel {
|
|
111
59
|
field_values: string;
|
|
112
60
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { LicenseLevel, LicenseStatus } from '../../enums';
|
|
2
|
-
import {
|
|
2
|
+
import { OwnedByOrganization, UUIDModel } from './base';
|
|
3
3
|
export interface Transaction {
|
|
4
4
|
id: string;
|
|
5
5
|
}
|
|
6
|
-
export interface License extends
|
|
7
|
-
project:
|
|
6
|
+
export interface License extends UUIDModel, OwnedByOrganization {
|
|
7
|
+
project: string | null;
|
|
8
8
|
level: LicenseLevel;
|
|
9
9
|
status: LicenseStatus;
|
|
10
10
|
is_special: boolean;
|
|
@@ -1,6 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import { OrganizationAccessLevel } from '../../enums';
|
|
2
|
+
import { CreatedByModel, UUIDModel } from './base';
|
|
3
|
+
import { User } from './users';
|
|
4
|
+
export interface Organization extends UUIDModel, CreatedByModel {
|
|
4
5
|
name: string;
|
|
5
6
|
has_access: boolean;
|
|
6
7
|
}
|
|
8
|
+
export interface OrganizationAccess extends UUIDModel {
|
|
9
|
+
user: User["id"];
|
|
10
|
+
organization: string;
|
|
11
|
+
access_level: OrganizationAccessLevel;
|
|
12
|
+
}
|
|
@@ -1,14 +1,19 @@
|
|
|
1
|
+
import { ProjectAccessLevel } from '../../enums';
|
|
1
2
|
import { FileWithNameModel } from '../files';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
export interface Project extends
|
|
5
|
-
id: number;
|
|
3
|
+
import { BoundableModel, CanvasBoundableModel, OwnedByOrganization, SubmittedAtModel, UUIDModel } from './base';
|
|
4
|
+
import { User } from './users';
|
|
5
|
+
export interface Project extends UUIDModel, BoundableModel, CanvasBoundableModel, OwnedByOrganization {
|
|
6
6
|
name: string;
|
|
7
7
|
invited?: boolean;
|
|
8
8
|
issues_count?: number;
|
|
9
9
|
form_submissions_count?: number;
|
|
10
10
|
}
|
|
11
|
-
export interface ProjectFile extends
|
|
11
|
+
export interface ProjectFile extends UUIDModel, SubmittedAtModel, FileWithNameModel, BoundableModel, CanvasBoundableModel {
|
|
12
12
|
z_index: number;
|
|
13
|
-
project:
|
|
13
|
+
project: Project["uuid"];
|
|
14
|
+
}
|
|
15
|
+
export interface ProjectAccess extends UUIDModel {
|
|
16
|
+
user: User["id"];
|
|
17
|
+
project: Project["uuid"];
|
|
18
|
+
access_level: ProjectAccessLevel;
|
|
14
19
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { OfflineState } from '@redux-offline/redux-offline/lib/types';
|
|
2
|
-
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, IssueCommentState, IssueState, IssueTypeFieldsAttachmentState, IssueTypeFieldsState, IssueTypeFieldValuesAttachmentState, IssueTypeFieldValuesState, IssueTypeState, IssueUpdateState, LicenseState, 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, 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;
|
|
@@ -18,8 +18,10 @@ export interface OvermapRootState extends BaseState {
|
|
|
18
18
|
issueReducer: IssueState;
|
|
19
19
|
issueAttachmentReducer: IssueAttachmentState;
|
|
20
20
|
issueCommentReducer: IssueCommentState;
|
|
21
|
+
issueCommentAttachmentReducer: IssueCommentAttachmentState;
|
|
21
22
|
issueUpdateReducer: IssueUpdateState;
|
|
22
23
|
issueTypeReducer: IssueTypeState;
|
|
24
|
+
issueTypeAttachmentReducer: IssueTypeAttachmentState;
|
|
23
25
|
organizationReducer: OrganizationState;
|
|
24
26
|
projectReducer: ProjectState;
|
|
25
27
|
projectAttachmentReducer: ProjectAttachmentState;
|
|
@@ -49,4 +51,11 @@ export interface OvermapRootState extends BaseState {
|
|
|
49
51
|
assetTypeFieldValuesReducer: AssetTypeFieldValuesState;
|
|
50
52
|
assetTypeFieldsAttachmentReducer: AssetTypeFieldsAttachmentState;
|
|
51
53
|
assetTypeFieldValuesAttachmentReducer: AssetTypeFieldValuesAttachmentState;
|
|
54
|
+
assetProcedureReducer: AssetProcedureState;
|
|
55
|
+
assetProcedureAttachmentReducer: AssetProcedureAttachmentState;
|
|
56
|
+
assetProcedureInstanceReducer: AssetProcedureInstanceState;
|
|
57
|
+
assetProcedureFieldsReducer: AssetProcedureFieldsState;
|
|
58
|
+
assetProcedureFieldValuesReducer: AssetProcedureFieldValuesState;
|
|
59
|
+
assetProcedureFieldsAttachmentReducer: AssetProcedureFieldsAttachmentState;
|
|
60
|
+
assetProcedureFieldValuesAttachmentReducer: AssetProcedureFieldValuesAttachmentState;
|
|
52
61
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { ColorModel, IconModel,
|
|
1
|
+
import { ColorModel, IconModel, SubmittedAtModel, UUIDModel } from './base';
|
|
2
2
|
import { Organization } from './organizations';
|
|
3
3
|
import { User } from './users';
|
|
4
|
-
export interface Team extends
|
|
4
|
+
export interface Team extends UUIDModel, SubmittedAtModel, IconModel, ColorModel {
|
|
5
5
|
name: string;
|
|
6
|
-
parent:
|
|
7
|
-
organization: Organization["
|
|
6
|
+
parent: Team["uuid"] | null;
|
|
7
|
+
organization: Organization["uuid"];
|
|
8
8
|
members: User["id"][];
|
|
9
9
|
}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import { OptionalFileModel } from './base';
|
|
1
|
+
import { IdModel, OptionalFileModel } from './base';
|
|
2
2
|
export interface Profile extends OptionalFileModel {
|
|
3
|
-
favourite_project_ids: number[];
|
|
4
3
|
tour_step: number;
|
|
5
4
|
}
|
|
6
|
-
export interface User {
|
|
7
|
-
id: number;
|
|
5
|
+
export interface User extends IdModel {
|
|
8
6
|
username: string;
|
|
9
7
|
email: string;
|
|
10
8
|
profile: Profile;
|