ENCOA-315: Small fix and merge
This commit is contained in:
@@ -26,7 +26,7 @@ async function get(req: NextApiRequest, res: NextApiResponse) {
|
||||
const q = user ? { user: user } : {};
|
||||
const sessions = await db.collection("sessions").find<Session>({
|
||||
...q,
|
||||
}).limit(12).toArray();
|
||||
}).limit(12).sort({ date: -1 }).toArray();
|
||||
console.log(sessions)
|
||||
|
||||
res.status(200).json(
|
||||
|
||||
@@ -15,7 +15,10 @@ async function handler(req: NextApiRequest, res: NextApiResponse) {
|
||||
}
|
||||
|
||||
const {user} = req.query;
|
||||
const snapshot = await db.collection("stats").find({ user: user }).toArray();
|
||||
const snapshot = await db.collection("stats").aggregate([
|
||||
{ $match: { user: user } },
|
||||
{ $sort: { "date": 1 } }
|
||||
]).toArray();
|
||||
|
||||
res.status(200).json(snapshot);
|
||||
}
|
||||
39
src/pages/api/tickets/assignedToUser/index.ts
Normal file
39
src/pages/api/tickets/assignedToUser/index.ts
Normal file
@@ -0,0 +1,39 @@
|
||||
// Next.js API route support: https://nextjs.org/docs/api-routes/introduction
|
||||
import { Ticket, TicketWithCorporate } from "@/interfaces/ticket";
|
||||
import { sessionOptions } from "@/lib/session";
|
||||
import client from "@/lib/mongodb";
|
||||
import { withIronSessionApiRoute } from "iron-session/next";
|
||||
import type { NextApiRequest, NextApiResponse } from "next";
|
||||
import { Group, CorporateUser } from "@/interfaces/user";
|
||||
|
||||
const db = client.db(process.env.MONGODB_DB);
|
||||
|
||||
export default withIronSessionApiRoute(handler, sessionOptions);
|
||||
|
||||
async function handler(req: NextApiRequest, res: NextApiResponse) {
|
||||
|
||||
// specific logic for the preflight request
|
||||
if (req.method === "OPTIONS") {
|
||||
res.status(200).end();
|
||||
return;
|
||||
}
|
||||
|
||||
if (!req.session.user) {
|
||||
res.status(401).json({ ok: false });
|
||||
return;
|
||||
}
|
||||
|
||||
if (req.method === "GET") {
|
||||
await get(req, res);
|
||||
}
|
||||
}
|
||||
|
||||
async function get(req: NextApiRequest, res: NextApiResponse) {
|
||||
if (!req.session.user) {
|
||||
res.status(401).json({ ok: false });
|
||||
return;
|
||||
}
|
||||
const docs = await db.collection("tickets").find<Ticket>({ assignedTo: req.session.user.id }).toArray();
|
||||
|
||||
res.status(200).json(docs);
|
||||
}
|
||||
39
src/pages/api/users/search.ts
Normal file
39
src/pages/api/users/search.ts
Normal file
@@ -0,0 +1,39 @@
|
||||
import type { NextApiRequest, NextApiResponse } from "next";
|
||||
import { withIronSessionApiRoute } from "iron-session/next";
|
||||
import { sessionOptions } from "@/lib/session";
|
||||
import { searchUsers } from "@/utils/users.be";
|
||||
import { Type } from "@/interfaces/user";
|
||||
|
||||
export default withIronSessionApiRoute(handler, sessionOptions);
|
||||
|
||||
async function handler(req: NextApiRequest, res: NextApiResponse) {
|
||||
if (!req.session.user && !req.headers["page"] && req.headers["page"] !== "register") {
|
||||
res.status(401).json({ ok: false });
|
||||
return;
|
||||
}
|
||||
|
||||
const {
|
||||
value,
|
||||
size,
|
||||
page,
|
||||
orderBy = "name",
|
||||
direction = "asc",
|
||||
type,
|
||||
entities
|
||||
} = req.query as { value?: string, size?: string; type?: Type; page?: string; orderBy?: string; direction?: "asc" | "desc", entities?: string };
|
||||
|
||||
const { users, total } = await searchUsers(
|
||||
value,
|
||||
size !== undefined ? parseInt(size) : undefined,
|
||||
page !== undefined ? parseInt(page) : undefined,
|
||||
{
|
||||
[orderBy]: direction === "asc" ? 1 : -1,
|
||||
},
|
||||
{},
|
||||
{
|
||||
...(type ? { "type": type } : {}),
|
||||
...(entities ? { "entities.id": entities.split(',') } : {})
|
||||
}
|
||||
);
|
||||
res.status(200).json({ users, total });
|
||||
}
|
||||
Reference in New Issue
Block a user