@overmap-ai/core 1.0.25 → 1.0.26

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/sdk/sdk.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { AttachmentService, AuthService, CategoryService, ComponentService, ComponentStageCompletionService, ComponentStageService, ComponentTypeService, EmailVerificationService, FileService, IssueCommentService, IssueService, MainService, OrganizationAccessService, ProjectAccessService, ProjectFileService, ProjectService, UserFormService, UserFormSubmissionService, WorkspaceService } from "./services";
1
+ import { AttachmentService, AuthService, CategoryService, ComponentService, ComponentStageCompletionService, ComponentStageService, ComponentTypeService, EmailVerificationService, FileService, IssueCommentService, IssueService, MainService, OrganizationAccessService, ProjectAccessService, ProjectFileService, ProjectService, UserFormService, UserFormSubmissionService, WorkspaceService, OrganizationService, EmailDomainsService } from "./services";
2
2
  import { ToolkitStore } from "@reduxjs/toolkit/dist/configureStore.js";
3
3
  import { RootState } from "../typings";
4
4
  export declare class OvermapSDK {
@@ -10,6 +10,7 @@ export declare class OvermapSDK {
10
10
  auth: AuthService;
11
11
  categories: CategoryService;
12
12
  projectAccesses: ProjectAccessService;
13
+ organizations: OrganizationService;
13
14
  organizationAccess: OrganizationAccessService;
14
15
  issues: IssueService;
15
16
  issueComments: IssueCommentService;
@@ -24,5 +25,6 @@ export declare class OvermapSDK {
24
25
  projects: ProjectService;
25
26
  projectFiles: ProjectFileService;
26
27
  emailVerification: EmailVerificationService;
28
+ emailDomains: EmailDomainsService;
27
29
  }
28
30
  export declare const makeClient: (apiUrl: string, store: ToolkitStore<RootState>) => OvermapSDK;
@@ -1,5 +1,5 @@
1
1
  import { BaseApiService } from "./BaseApiService";
2
- import { RegistrationPayload } from "../../typings";
2
+ import { RegistrationPayload, RegistrationReturn } from "../../typings";
3
3
  /**
4
4
  * Handles login, logout and renewing tokens
5
5
  */
@@ -39,7 +39,7 @@ export declare class AuthService extends BaseApiService {
39
39
  /**
40
40
  * Register a new user
41
41
  */
42
- register(payload: RegistrationPayload): Promise<undefined>;
42
+ register(payload: RegistrationPayload): Promise<RegistrationReturn>;
43
43
  resetPassword(email: string): Promise<undefined>;
44
44
  /**
45
45
  * Checks whether the tokens will be expiring soon
@@ -0,0 +1,8 @@
1
+ import { BaseApiService } from "./BaseApiService";
2
+ import { EmailDomain } from "../../typings";
3
+ export declare class EmailDomainsService extends BaseApiService {
4
+ fetchAll(orgId: number): Promise<EmailDomain[]>;
5
+ add(orgId: number, email: string): Promise<undefined>;
6
+ remove(emailDomain: EmailDomain): Promise<undefined>;
7
+ refreshStore(): Promise<undefined>;
8
+ }
@@ -15,6 +15,7 @@ export interface InitialAPIData {
15
15
  }
16
16
  export declare class MainService extends BaseApiService {
17
17
  fetchInitialData(replaceExisting: boolean, uuid?: string): Promise<InitialAPIData>;
18
- fetchUsers(projectId: number): Promise<User[]>;
18
+ fetchProjectUsers(projectId: number): Promise<User[]>;
19
+ fetchOrganizationUsers(orgId: number): Promise<User[]>;
19
20
  _processInitialData(data: InitialAPIData, overwrite: boolean): Promise<void>;
20
21
  }
@@ -1,7 +1,10 @@
1
1
  import { BaseApiService } from "./BaseApiService";
2
+ import { OrganizationAccess } from "../../typings";
2
3
  /**
3
4
  * Handles the creation of OrganizationAccess Service
4
5
  */
5
6
  export declare class OrganizationAccessService extends BaseApiService {
7
+ update(organizationAccess: OrganizationAccess): Promise<OrganizationAccess>;
8
+ remove(organizationAccess: OrganizationAccess): Promise<undefined>;
6
9
  refreshStore(): Promise<void>;
7
10
  }
@@ -0,0 +1,7 @@
1
+ import { Organization } from "../../typings";
2
+ import { BaseApiService } from "./BaseApiService";
3
+ export declare class OrganizationService extends BaseApiService {
4
+ create(name: string): Promise<Organization>;
5
+ update(organization: Organization): Promise<Organization>;
6
+ invite(organizationId: number, email: string): Promise<undefined>;
7
+ }
@@ -1,12 +1,11 @@
1
1
  import { BaseApiService } from "./BaseApiService";
2
- import { OptimisticEmptyResult, OptimisticGenericResult, OptimisticModelResult } from "../typings";
3
2
  import { ProjectAccess } from "../../typings";
4
3
  /**
5
4
  * Handles the creation of ProjectAccess Service
6
5
  */
7
6
  export declare class ProjectAccessService extends BaseApiService {
8
- fetchAll(projectId: number): OptimisticGenericResult<ProjectAccess[]>;
9
- update(projectAccess: ProjectAccess): OptimisticModelResult<ProjectAccess>;
10
- remove(projectAccess: ProjectAccess): OptimisticEmptyResult;
7
+ fetchAll(projectId: number): Promise<ProjectAccess[]>;
8
+ update(projectAccess: ProjectAccess): Promise<ProjectAccess>;
9
+ remove(projectAccess: ProjectAccess): Promise<undefined>;
11
10
  refreshStore(): Promise<undefined>;
12
11
  }
@@ -18,3 +18,5 @@ export * from "./WorkspaceService";
18
18
  export * from "./OrganizationAccessService";
19
19
  export * from "./FileService";
20
20
  export * from "./EmailVerificationService";
21
+ export * from "./EmailDomainsService";
22
+ export * from "./OrganizationService";
@@ -63,6 +63,7 @@ export declare const selectCategories: ((state: import("redux").EmptyObject & {
63
63
  readonly userFormReducer: import("./userFormSlice").UserFormState;
64
64
  readonly userReducer: import("./userSlice").UserState;
65
65
  readonly workspaceReducer: import("./workspaceSlice").WorkspaceState;
66
+ readonly emailDomainsReducer: import("./emailDomainsSlice").EmailDomainState;
66
67
  } & {
67
68
  offline: import("@redux-offline/redux-offline/lib/types").OfflineState;
68
69
  }) => Category[]) & import("reselect").OutputSelectorFields<(args_0: Record<string, Category>, args_1: string | null) => Category[], {
@@ -0,0 +1,20 @@
1
+ import { EmailDomain, Selector } from "../../typings";
2
+ import { Reducer } from "@reduxjs/toolkit";
3
+ export interface EmailDomainState {
4
+ emailDomains: Record<string, EmailDomain>;
5
+ }
6
+ export declare const emailDomainsSlice: import("@reduxjs/toolkit").Slice<EmailDomainState, {
7
+ setEmailDomains: (state: import("immer/dist/internal.js").WritableDraft<EmailDomainState>, action: {
8
+ payload: EmailDomain[];
9
+ }) => void;
10
+ addEmailDomain: (state: import("immer/dist/internal.js").WritableDraft<EmailDomainState>, action: {
11
+ payload: EmailDomain;
12
+ }) => void;
13
+ removeEmailDomain: (state: import("immer/dist/internal.js").WritableDraft<EmailDomainState>, action: {
14
+ payload: EmailDomain;
15
+ }) => void;
16
+ }, "emailDomains">;
17
+ export declare const setEmailDomains: import("@reduxjs/toolkit").ActionCreatorWithPayload<EmailDomain[], "emailDomains/setEmailDomains">, addEmailDomain: import("@reduxjs/toolkit").ActionCreatorWithPayload<EmailDomain, "emailDomains/addEmailDomain">, removeEmailDomain: import("@reduxjs/toolkit").ActionCreatorWithPayload<EmailDomain, "emailDomains/removeEmailDomain">;
18
+ export declare const selectEmailDomainsAsMapping: Selector<Record<number, EmailDomain>>;
19
+ export declare const selectSortedEmailDomains: Selector<EmailDomain[]>;
20
+ export declare const emailDomainsReducer: Reducer<EmailDomainState>;
@@ -18,3 +18,4 @@ export * from "./userFormSlice";
18
18
  export * from "./userSlice";
19
19
  export * from "./workspaceSlice";
20
20
  export * from "./organizationAccessSlice";
21
+ export * from "./emailDomainsSlice";
@@ -99,6 +99,7 @@ export declare const selectAllAttachments: ((state: import("redux").EmptyObject
99
99
  readonly userFormReducer: import("./userFormSlice.ts").UserFormState;
100
100
  readonly userReducer: import("./userSlice.ts").UserState;
101
101
  readonly workspaceReducer: import("./workspaceSlice.ts").WorkspaceState;
102
+ readonly emailDomainsReducer: import("./emailDomainsSlice.ts").EmailDomainState;
102
103
  } & {
103
104
  offline: import("@redux-offline/redux-offline/lib/types").OfflineState;
104
105
  }) => Stored<IssueAttachment>[]) & import("reselect").OutputSelectorFields<(args_0: Record<string, Stored<IssueAttachment>>) => Stored<IssueAttachment>[], {
@@ -1,6 +1,6 @@
1
1
  import { Reducer } from "@reduxjs/toolkit";
2
- import { Organization } from '../../typings/models/organizations';
3
2
  import { Selector, SelectorWithArgs } from '../../typings/store';
3
+ import { User, Organization } from "../../typings";
4
4
  export interface OrganizationState {
5
5
  organizations: Record<number, Organization>;
6
6
  activeOrganizationId: number | null;
@@ -9,13 +9,19 @@ export declare const organizationSlice: import("@reduxjs/toolkit").Slice<Organiz
9
9
  setOrganizations: (state: import("immer/dist/internal.js").WritableDraft<OrganizationState>, action: {
10
10
  payload: Organization[];
11
11
  }) => void;
12
+ updateActiveOrganization: (state: import("immer/dist/internal.js").WritableDraft<OrganizationState>, action: {
13
+ payload: Organization;
14
+ }) => void;
12
15
  setActiveOrganizationId: (state: import("immer/dist/internal.js").WritableDraft<OrganizationState>, action: {
13
16
  payload: number;
14
17
  }) => void;
15
18
  }, "organizations">;
16
- export declare const setOrganizations: import("@reduxjs/toolkit").ActionCreatorWithPayload<Organization[], "organizations/setOrganizations">, setActiveOrganizationId: import("@reduxjs/toolkit").ActionCreatorWithPayload<number, "organizations/setActiveOrganizationId">;
19
+ export declare const setOrganizations: import("@reduxjs/toolkit").ActionCreatorWithPayload<Organization[], "organizations/setOrganizations">, setActiveOrganizationId: import("@reduxjs/toolkit").ActionCreatorWithPayload<number, "organizations/setActiveOrganizationId">, updateActiveOrganization: import("@reduxjs/toolkit").ActionCreatorWithPayload<Organization, "organizations/updateActiveOrganization">;
17
20
  export declare const selectActiveOrganizationId: Selector<number | null>;
18
21
  export declare const selectOrganizations: Selector<Organization[]>;
19
22
  export declare const selectActiveOrganization: Selector<Organization | null>;
23
+ export declare const selectOrganizationUsersIds: Selector<number[]>;
24
+ export declare const selectOrganizationUsersAsMapping: Selector<Record<number, User>>;
25
+ export declare const selectSortedOrganizationUsers: Selector<User[]>;
20
26
  export declare const selectOrganization: SelectorWithArgs<number, Organization | undefined>;
21
27
  export declare const organizationReducer: Reducer<OrganizationState>;
@@ -71,6 +71,7 @@ export declare const selectProjectFiles: ((state: import("redux").EmptyObject &
71
71
  readonly userFormReducer: import("./userFormSlice.ts").UserFormState;
72
72
  readonly userReducer: import("./userSlice.ts").UserState;
73
73
  readonly workspaceReducer: import("./workspaceSlice.ts").WorkspaceState;
74
+ readonly emailDomainsReducer: import("./emailDomainsSlice.ts").EmailDomainState;
74
75
  } & {
75
76
  offline: import("@redux-offline/redux-offline/lib/types").OfflineState;
76
77
  }) => ProjectFile[]) & import("reselect").OutputSelectorFields<(args_0: Record<string, ProjectFile>, args_1: number | null) => ProjectFile[], {
@@ -1,5 +1,5 @@
1
1
  import { Reducer } from "@reduxjs/toolkit";
2
- import { Project, ProjectType, RootState, Selector } from "../../typings";
2
+ import { Project, ProjectType, RootState, Selector, User } from "../../typings";
3
3
  export interface ProjectState {
4
4
  projects: Record<number, Project>;
5
5
  activeProjectId: number | null;
@@ -34,3 +34,6 @@ export declare const selectActiveProject: (state: RootState) => Project | null;
34
34
  export declare const selectRecentProjects: (state: RootState) => number[];
35
35
  export declare const selectCreateProjectType: (state: RootState) => ProjectType;
36
36
  export declare const projectReducer: Reducer<ProjectState>;
37
+ export declare const selectProjectUsersIds: Selector<number[]>;
38
+ export declare const selectProjectUsersAsMapping: Selector<Record<number, User>>;
39
+ export declare const selectSortedProjectUsers: Selector<User[]>;
@@ -1,5 +1,5 @@
1
1
  import { Reducer } from "@reduxjs/toolkit";
2
- import { RootState, Selector, SelectorWithArgs, User } from "../../typings";
2
+ import { RootState, SelectorWithArgs, User } from "../../typings";
3
3
  export interface UserState {
4
4
  currentUser: User;
5
5
  users: Record<number, User>;
@@ -8,6 +8,9 @@ export declare const userSlice: import("@reduxjs/toolkit").Slice<UserState, {
8
8
  setUsers: (state: import("immer/dist/internal.js").WritableDraft<UserState>, action: {
9
9
  payload: User[];
10
10
  }) => void;
11
+ addUsers: (state: import("immer/dist/internal.js").WritableDraft<UserState>, action: {
12
+ payload: User[];
13
+ }) => void;
11
14
  setCurrentUser: (state: import("immer/dist/internal.js").WritableDraft<UserState>, action: {
12
15
  payload: User;
13
16
  }) => void;
@@ -33,10 +36,9 @@ export declare const userSlice: import("@reduxjs/toolkit").Slice<UserState, {
33
36
  export declare const setCurrentUser: import("@reduxjs/toolkit").ActionCreatorWithPayload<User, "users/setCurrentUser">, setProfilePicture: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
34
37
  file?: string | undefined;
35
38
  file_sha1?: string | undefined;
36
- }, "users/setProfilePicture">, setUsers: import("@reduxjs/toolkit").ActionCreatorWithPayload<User[], "users/setUsers">, addFavouriteProjectId: import("@reduxjs/toolkit").ActionCreatorWithPayload<number, "users/addFavouriteProjectId">, removeFavouriteProjectId: import("@reduxjs/toolkit").ActionCreatorWithPayload<number, "users/removeFavouriteProjectId">, setTourStep: import("@reduxjs/toolkit").ActionCreatorWithPayload<number, "users/setTourStep">, removeUser: import("@reduxjs/toolkit").ActionCreatorWithPayload<number, "users/removeUser">;
39
+ }, "users/setProfilePicture">, setUsers: import("@reduxjs/toolkit").ActionCreatorWithPayload<User[], "users/setUsers">, addUsers: import("@reduxjs/toolkit").ActionCreatorWithPayload<User[], "users/addUsers">, addFavouriteProjectId: import("@reduxjs/toolkit").ActionCreatorWithPayload<number, "users/addFavouriteProjectId">, removeFavouriteProjectId: import("@reduxjs/toolkit").ActionCreatorWithPayload<number, "users/removeFavouriteProjectId">, setTourStep: import("@reduxjs/toolkit").ActionCreatorWithPayload<number, "users/setTourStep">, removeUser: import("@reduxjs/toolkit").ActionCreatorWithPayload<number, "users/removeUser">;
37
40
  export declare const selectCurrentUser: (state: RootState) => User;
38
41
  export declare const selectUser: SelectorWithArgs<number | null, User | undefined>;
39
42
  export declare const selectUsersAsMapping: (state: RootState) => Record<number, User>;
40
43
  export declare const selectFavouriteProjects: (state: RootState) => number[];
41
- export declare const selectSortedUsers: Selector<User[]>;
42
44
  export declare const userReducer: Reducer<UserState>;
@@ -49,6 +49,7 @@ export declare const selectWorkspaces: ((state: import("redux").EmptyObject & {
49
49
  readonly userFormReducer: import("./userFormSlice").UserFormState;
50
50
  readonly userReducer: import("./userSlice").UserState;
51
51
  readonly workspaceReducer: WorkspaceState;
52
+ readonly emailDomainsReducer: import("./emailDomainsSlice").EmailDomainState;
52
53
  } & {
53
54
  offline: import("@redux-offline/redux-offline/lib/types").OfflineState;
54
55
  }) => Workspace[]) & import("reselect").OutputSelectorFields<(args_0: Record<string, Workspace>) => Workspace[], {
@@ -25,6 +25,7 @@ export declare const overmapReducers: {
25
25
  readonly userFormReducer: Reducer<import("./slices").UserFormState>;
26
26
  readonly userReducer: Reducer<import("./slices").UserState>;
27
27
  readonly workspaceReducer: Reducer<import("./slices").WorkspaceState>;
28
+ readonly emailDomainsReducer: Reducer<import("./slices").EmailDomainState>;
28
29
  };
29
30
  export declare const overmapReducer: Reducer<import("redux").CombinedState<{
30
31
  readonly versioning: import("./slices/versioningSlice").VersioningState;
@@ -48,6 +49,7 @@ export declare const overmapReducer: Reducer<import("redux").CombinedState<{
48
49
  readonly userFormReducer: import("./slices").UserFormState;
49
50
  readonly userReducer: import("./slices").UserState;
50
51
  readonly workspaceReducer: import("./slices").WorkspaceState;
52
+ readonly emailDomainsReducer: import("./slices").EmailDomainState;
51
53
  }>, AnyAction>;
52
54
  export declare const resetStore = "RESET";
53
55
  export declare const rootReducer: Reducer<RootState>;
@@ -89,6 +91,7 @@ export declare const defaultStore: import("@reduxjs/toolkit/dist/configureStore"
89
91
  readonly userFormReducer: import("./slices").UserFormState;
90
92
  readonly userReducer: import("./slices").UserState;
91
93
  readonly workspaceReducer: import("./slices").WorkspaceState;
94
+ readonly emailDomainsReducer: import("./slices").EmailDomainState;
92
95
  } & {
93
96
  offline: OfflineState;
94
97
  }, AnyAction, import("@reduxjs/toolkit").MiddlewareArray<[import("@reduxjs/toolkit").ThunkMiddleware<RootState, AnyAction>]>>;
@@ -11,7 +11,7 @@ export declare enum ProjectAccessLevel {
11
11
  export interface OrganizationAccess extends OfflineModel {
12
12
  user: number;
13
13
  organization: number;
14
- access_level: number;
14
+ access_level: OrganizationAccessLevel;
15
15
  }
16
16
  export declare enum OrganizationAccessLevel {
17
17
  BASIC = 0,
@@ -0,0 +1,5 @@
1
+ import { OfflineModel } from "./base";
2
+ export interface EmailDomain extends OfflineModel {
3
+ domain: string;
4
+ organization: number;
5
+ }
@@ -12,3 +12,4 @@ export * from "./users";
12
12
  export * from "./workspace";
13
13
  export * from "./emailVerification";
14
14
  export * from "./store";
15
+ export * from "./emailDomain";
@@ -2,4 +2,5 @@ import { Model } from "./base";
2
2
  export interface Organization extends Model {
3
3
  id: number;
4
4
  name: string;
5
+ created_by: number;
5
6
  }
@@ -15,3 +15,6 @@ export interface RegistrationPayload {
15
15
  password: string;
16
16
  email: string;
17
17
  }
18
+ export interface RegistrationReturn {
19
+ organization?: string;
20
+ }
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.25",
6
+ "version": "1.0.26",
7
7
  "type": "module",
8
8
  "main": "dist/overmap-core.umd.cjs",
9
9
  "module": "dist/overmap-core.js",