feat: ensure organization tenant configured.

This commit is contained in:
Ahmed Bouhuolia
2020-09-28 13:30:50 +02:00
parent 9f315ca657
commit d3d772f735
19 changed files with 140 additions and 76 deletions

View File

@@ -1,4 +1,5 @@
import { ISystemUser } from './User';
import { ITenant } from './Tenancy';
export interface IRegisterDTO {
firstName: string,
@@ -13,4 +14,11 @@ export interface IPasswordReset {
email: string,
token: string,
createdAt: Date,
};
};
export interface IAuthenticationService {
signIn(emailOrPhone: string, password: string): Promise<{ user: ISystemUser, token: string, tenant: ITenant }>;
register(registerDTO: IRegisterDTO): Promise<ISystemUser>;
sendResetPassword(email: string): Promise<IPasswordReset>;
resetPassword(token: string, password: string): Promise<void>;
}

View File

@@ -14,6 +14,10 @@ export interface ISystemUser {
inviteAcceptAt: Date,
lastLoginAt: Date,
deletedAt: Date,
createdAt: Date,
updatedAt: Date,
}
export interface ISystemUserDTO {

View File

@@ -3,7 +3,7 @@ export interface IView {
id: number,
name: string,
predefined: boolean,
resourceId: number,
resourceModel: string,
favourite: boolean,
rolesLogicRxpression: string,
};
@@ -18,7 +18,44 @@ export interface IViewRole {
};
export interface IViewHasColumn {
id :number,
viewId: number,
fieldId: number,
index: number,
}
export interface IViewRoleDTO {
index: number,
fieldKey: string,
comparator: string,
value: string,
viewId: number,
}
export interface IViewColumnDTO {
id: number,
index: number,
viewId: number,
fieldKey: string,
};
export interface IViewDTO {
name: string,
logicExpression: string,
roles: IViewRoleDTO[],
columns: IViewColumnDTO[],
};
export interface IViewEditDTO {
name: string,
logicExpression: string,
roles: IViewRoleDTO[],
columns: IViewColumnDTO[],
};
export interface IViewsService {
listViews(tenantId: number, resourceModel: string): Promise<void>;
newView(tenantId: number, viewDTO: IViewDTO): Promise<void>;
editView(tenantId: number, viewId: number, viewEditDTO: IViewEditDTO): Promise<void>;
deleteView(tenantId: number, viewId: number): Promise<void>;
}