Files
graff-mate-server/src/services/sessions/get.ts
T
2025-03-20 14:39:30 +05:00

35 lines
788 B
TypeScript

import db from "../../db";
import { error } from "elysia";
import { and, desc, eq } from "drizzle-orm";
import { sessionsTable } from "../../db/schema";
import type { AuthContext } from "../../middlewares/auth";
async function getSessions(
auth: AuthContext,
query?: {
limit?: number;
}
) {
try {
const sessions = await db.query.sessionsTable.findMany({
where: and(
eq(sessionsTable.ownerId, auth.userId),
eq(sessionsTable.companyId, auth.companyId)
),
with: {
client: true,
app: true,
server: true,
},
limit: query?.limit,
orderBy: desc(sessionsTable.createdAt),
});
return sessions;
} catch (err) {
return error(500, "Internal Server Error");
}
}
export default getSessions;