mirror of
https://github.com/documenso/documenso.git
synced 2025-11-13 08:13:56 +10:00
feat: admin ui for managing instance
This commit is contained in:
37
packages/lib/server-only/user/get-all-users.ts
Normal file
37
packages/lib/server-only/user/get-all-users.ts
Normal file
@ -0,0 +1,37 @@
|
||||
import { prisma } from '@documenso/prisma';
|
||||
|
||||
type getAllUsersProps = {
|
||||
page: number;
|
||||
perPage: number;
|
||||
};
|
||||
|
||||
export const findUsers = async ({ page = 1, perPage = 10 }: getAllUsersProps) => {
|
||||
const [users, count] = await Promise.all([
|
||||
await prisma.user.findMany({
|
||||
select: {
|
||||
id: true,
|
||||
name: true,
|
||||
email: true,
|
||||
roles: true,
|
||||
Subscription: {
|
||||
select: {
|
||||
id: true,
|
||||
status: true,
|
||||
planId: true,
|
||||
priceId: true,
|
||||
createdAt: true,
|
||||
periodEnd: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
skip: Math.max(page - 1, 0) * perPage,
|
||||
take: perPage,
|
||||
}),
|
||||
await prisma.user.count(),
|
||||
]);
|
||||
|
||||
return {
|
||||
users,
|
||||
totalPages: Math.ceil(count / perPage),
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user