Add production-ready SuperAdmin API features for tenants, SMS, servers, and plugins.
Includes mobile auth, get_user/get_version, SMS wallet parity endpoints, appearance backfill, and related Prisma migrations. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
+35
-10
@@ -33,27 +33,52 @@ export class AuditService {
|
||||
}
|
||||
|
||||
findAll(limit = 50) {
|
||||
return this.prisma.auditLog.findMany({
|
||||
take: Math.min(limit, 200),
|
||||
orderBy: { createdAt: 'desc' },
|
||||
include: {
|
||||
user: { select: { id: true, name: true, email: true } },
|
||||
tenant: { select: { id: true, slug: true, nameFa: true } },
|
||||
},
|
||||
});
|
||||
return this.prisma.auditLog
|
||||
.findMany({
|
||||
take: Math.min(limit, 200),
|
||||
orderBy: { createdAt: 'desc' },
|
||||
include: {
|
||||
user: {
|
||||
select: { id: true, firstName: true, lastName: true, mobile: true },
|
||||
},
|
||||
tenant: { select: { id: true, slug: true, nameFa: true } },
|
||||
},
|
||||
})
|
||||
.then((rows) =>
|
||||
rows.map((row) => ({
|
||||
...row,
|
||||
user: row.user
|
||||
? {
|
||||
...row.user,
|
||||
name: `${row.user.firstName} ${row.user.lastName}`.trim(),
|
||||
}
|
||||
: null,
|
||||
})),
|
||||
);
|
||||
}
|
||||
|
||||
async findOne(id: string) {
|
||||
const row = await this.prisma.auditLog.findUnique({
|
||||
where: { id },
|
||||
include: {
|
||||
user: { select: { id: true, name: true, email: true } },
|
||||
user: {
|
||||
select: { id: true, firstName: true, lastName: true, mobile: true },
|
||||
},
|
||||
tenant: { select: { id: true, slug: true, nameFa: true } },
|
||||
},
|
||||
});
|
||||
if (!row) {
|
||||
throw new NotFoundException('لاگ یافت نشد');
|
||||
}
|
||||
return row;
|
||||
return {
|
||||
...row,
|
||||
user: row.user
|
||||
? {
|
||||
...row.user,
|
||||
name: `${row.user.firstName} ${row.user.lastName}`.trim(),
|
||||
}
|
||||
: null,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user