opencrm/backend/dist/services/user.service.d.ts

240 lines
5.3 KiB
TypeScript

export interface UserFilters {
search?: string;
isActive?: boolean;
roleId?: number;
page?: number;
limit?: number;
}
export declare function getAllUsers(filters: UserFilters): Promise<{
users: {
roles: ({
permissions: {
roleId: number;
permissionId: number;
}[];
} & {
id: number;
createdAt: Date;
updatedAt: Date;
name: string;
description: string | null;
})[];
hasDeveloperAccess: boolean;
id: number;
email: string;
customerId: number | null;
firstName: string;
lastName: string;
isActive: boolean;
createdAt: Date;
}[];
pagination: {
page: number;
limit: number;
total: number;
totalPages: number;
};
}>;
export declare function getUserById(id: number): Promise<{
roles: ({
permissions: ({
permission: {
id: number;
resource: string;
action: string;
};
} & {
roleId: number;
permissionId: number;
})[];
} & {
id: number;
createdAt: Date;
updatedAt: Date;
name: string;
description: string | null;
})[];
permissions: string[];
id: number;
email: string;
customerId: number | null;
firstName: string;
lastName: string;
isActive: boolean;
createdAt: Date;
updatedAt: Date;
} | null>;
export declare function createUser(data: {
email: string;
password: string;
firstName: string;
lastName: string;
roleIds: number[];
customerId?: number;
hasDeveloperAccess?: boolean;
}): Promise<{
id: number;
email: string;
customerId: number | null;
firstName: string;
lastName: string;
isActive: boolean;
roles: ({
role: {
id: number;
createdAt: Date;
updatedAt: Date;
name: string;
description: string | null;
};
} & {
userId: number;
roleId: number;
})[];
}>;
export declare function updateUser(id: number, data: {
email?: string;
password?: string;
firstName?: string;
lastName?: string;
isActive?: boolean;
roleIds?: number[];
customerId?: number;
hasDeveloperAccess?: boolean;
}): Promise<{
roles: ({
permissions: ({
permission: {
id: number;
resource: string;
action: string;
};
} & {
roleId: number;
permissionId: number;
})[];
} & {
id: number;
createdAt: Date;
updatedAt: Date;
name: string;
description: string | null;
})[];
permissions: string[];
id: number;
email: string;
customerId: number | null;
firstName: string;
lastName: string;
isActive: boolean;
createdAt: Date;
updatedAt: Date;
} | null>;
export declare function deleteUser(id: number): Promise<{
id: number;
email: string;
customerId: number | null;
password: string;
firstName: string;
lastName: string;
isActive: boolean;
tokenInvalidatedAt: Date | null;
createdAt: Date;
updatedAt: Date;
}>;
export declare function getAllRoles(): Promise<({
permissions: ({
permission: {
id: number;
resource: string;
action: string;
};
} & {
roleId: number;
permissionId: number;
})[];
_count: {
users: number;
};
} & {
id: number;
createdAt: Date;
updatedAt: Date;
name: string;
description: string | null;
})[]>;
export declare function getRoleById(id: number): Promise<({
permissions: ({
permission: {
id: number;
resource: string;
action: string;
};
} & {
roleId: number;
permissionId: number;
})[];
} & {
id: number;
createdAt: Date;
updatedAt: Date;
name: string;
description: string | null;
}) | null>;
export declare function createRole(data: {
name: string;
description?: string;
permissionIds: number[];
}): Promise<{
permissions: ({
permission: {
id: number;
resource: string;
action: string;
};
} & {
roleId: number;
permissionId: number;
})[];
} & {
id: number;
createdAt: Date;
updatedAt: Date;
name: string;
description: string | null;
}>;
export declare function updateRole(id: number, data: {
name?: string;
description?: string;
permissionIds?: number[];
}): Promise<({
permissions: ({
permission: {
id: number;
resource: string;
action: string;
};
} & {
roleId: number;
permissionId: number;
})[];
} & {
id: number;
createdAt: Date;
updatedAt: Date;
name: string;
description: string | null;
}) | null>;
export declare function deleteRole(id: number): Promise<{
id: number;
createdAt: Date;
updatedAt: Date;
name: string;
description: string | null;
}>;
export declare function getAllPermissions(): Promise<{
id: number;
resource: string;
action: string;
}[]>;
//# sourceMappingURL=user.service.d.ts.map