export type TSonarqubeAccount = { division: 'Frontend' | 'Backend' | 'Mobile' | '_'; username: string | undefined; password: string | undefined; isEdit: boolean; }; export type TSwaggerAccount = { username: string; password: string; jwt?: string; }; export type TSonarqubeCredentials = Omit; export type TApiResponse = { message: string; status: number; data: { _id?: string; projectId: string; apiGetUser?: string; apiCreateUser?: string; apiChangePassword?: string; apiDeleteUser?: string; dataServer: { domainNameServer?: string; }; sonarqubeAccounts?: TSonarqubeAccount[]; swaggerAccount?: TSwaggerAccount; }; }; export type TResponseMessage = Pick; export type TAPIAccount = { apiCreateUser?: string; apiGetUser?: string; apiChangePassword?: string; apiDeleteUser?: string; }; export type TResponseUserPermission = { status: number; message: string; data: { apiTestingAccount: { read: boolean; write: boolean; }; sonarqubeAccounts: { read: boolean; write: boolean; }; dataServer: { read: boolean; write: boolean; }; }; }; export type TUserPermission = TResponseUserPermission['data']; export type TProjectRoleResponse = { message: string; status: number; data: { _id?: string; type: string; name: string; initialName: string; method: string; priority: number; startAt: string; isApprover: boolean; leaders: string[]; members: string[]; isPM: boolean; totalModule: number; totalCompletedModule: number; totalSprintTask: number; totalCompletedTask: number; totalBacklogTask: number; totalBugHistories: number; totalSprintPoint: number; status: string; managers: { id: string; name: string; }[]; templateProcess: { _id: string; name: string; }; createdAt: string; }; };