feat: Instance Registration and Configuration (#2793)
* dev: remove default user * dev: initiate licensing * dev: remove migration file 0046 * feat: self hosted licensing initialize * dev: instance licenses * dev: change license response structure * dev: add default properties and issue mention migration * dev: reset migrations * dev: instance configuration * dev: instance configuration migration * dev: update instance configuration model to take null and empty values * dev: instance configuration variables * dev: set default values * dev: update instance configuration load * dev: email configuration settings moved to database * dev: instance configuration on instance bootup * dev: auto instance registration script * dev: instance admin * dev: enable instance configuration and instance admin roles * dev: instance owner fix * dev: instance configuration values * dev: fix instance permissions and serializer * dev: fix email senders * dev: remove deprecated variables * dev: fix current site domain registration * dev: update cors setup and local settings * dev: migrate instance registration and configuration to manage commands * dev: check email validity * dev: update script to use manage command * dev: default bucket creation script * dev: instance admin routes and initial set of screens * dev: admin api to check if the current user is admin * dev: instance admin unique constraints * dev: check magic link login * dev: fix email sending for ssl * dev: create instance activation route if the instance is not activated during startup * dev: removed DJANGO_SETTINGS_MODULE from environment files and deleted auto bucket create script * dev: environment configuration for backend * dev: fix access token variable error * feat: Instance Admin Panel: General Settings (#2792) --------- Co-authored-by: pablohashescobar <nikhilschacko@gmail.com> Co-authored-by: Prateek Shourya <prateekshourya29@gmail.com>
This commit is contained in:
parent
34ab188a99
commit
eb53876af3
78 changed files with 1950 additions and 290 deletions
|
|
@ -14,6 +14,7 @@ export interface IUserStore {
|
|||
|
||||
isUserLoggedIn: boolean | null;
|
||||
currentUser: IUser | null;
|
||||
isUserInstanceAdmin: boolean | null;
|
||||
currentUserSettings: IUserSettings | null;
|
||||
|
||||
dashboardInfo: any;
|
||||
|
|
@ -41,6 +42,7 @@ export interface IUserStore {
|
|||
hasPermissionToCurrentProject: boolean | undefined;
|
||||
|
||||
fetchCurrentUser: () => Promise<IUser>;
|
||||
fetchCurrentUserInstanceAdminStatus: () => Promise<boolean>;
|
||||
fetchCurrentUserSettings: () => Promise<IUserSettings>;
|
||||
|
||||
fetchUserWorkspaceInfo: (workspaceSlug: string) => Promise<IWorkspaceMemberMe>;
|
||||
|
|
@ -58,6 +60,7 @@ class UserStore implements IUserStore {
|
|||
|
||||
isUserLoggedIn: boolean | null = null;
|
||||
currentUser: IUser | null = null;
|
||||
isUserInstanceAdmin: boolean | null = null;
|
||||
currentUserSettings: IUserSettings | null = null;
|
||||
|
||||
dashboardInfo: any = null;
|
||||
|
|
@ -87,7 +90,9 @@ class UserStore implements IUserStore {
|
|||
makeObservable(this, {
|
||||
// observable
|
||||
loader: observable.ref,
|
||||
isUserLoggedIn: observable.ref,
|
||||
currentUser: observable.ref,
|
||||
isUserInstanceAdmin: observable.ref,
|
||||
currentUserSettings: observable.ref,
|
||||
dashboardInfo: observable.ref,
|
||||
workspaceMemberInfo: observable.ref,
|
||||
|
|
@ -96,6 +101,7 @@ class UserStore implements IUserStore {
|
|||
hasPermissionToProject: observable.ref,
|
||||
// action
|
||||
fetchCurrentUser: action,
|
||||
fetchCurrentUserInstanceAdminStatus: action,
|
||||
fetchCurrentUserSettings: action,
|
||||
fetchUserDashboardInfo: action,
|
||||
fetchUserWorkspaceInfo: action,
|
||||
|
|
@ -167,6 +173,23 @@ class UserStore implements IUserStore {
|
|||
}
|
||||
};
|
||||
|
||||
fetchCurrentUserInstanceAdminStatus = async () => {
|
||||
try {
|
||||
const response = await this.userService.currentUserInstanceAdminStatus();
|
||||
if (response) {
|
||||
runInAction(() => {
|
||||
this.isUserInstanceAdmin = response.is_instance_admin;
|
||||
})
|
||||
}
|
||||
return response.is_instance_admin;
|
||||
} catch (error) {
|
||||
runInAction(() => {
|
||||
this.isUserInstanceAdmin = false;
|
||||
});
|
||||
throw error;
|
||||
}
|
||||
};
|
||||
|
||||
fetchCurrentUserSettings = async () => {
|
||||
try {
|
||||
const response = await this.userService.currentUserSettings();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue