Companies are now listing properly
This commit is contained in:
@@ -10,22 +10,28 @@ export default createRoute(
|
||||
"get",
|
||||
["/companies"],
|
||||
async (c) => {
|
||||
/**
|
||||
*
|
||||
*
|
||||
* @TODO MAKE THIS WORK
|
||||
*
|
||||
*
|
||||
*
|
||||
*/
|
||||
const page = new Number(c.req.query("page") ?? 1) as number;
|
||||
const rpp = new Number(c.req.query("rpp") ?? 30) as number; // Records Per Page
|
||||
const companyQty = await companies.count();
|
||||
|
||||
const company = await companies.fetch(c.req.param("identifier"));
|
||||
const data = await companies.fetchPages(page, rpp);
|
||||
|
||||
const response = apiResponse.successful(
|
||||
"Company Fetched Successfully!",
|
||||
company,
|
||||
let response = apiResponse.successful(
|
||||
"Companies Fetched Successfully!",
|
||||
data,
|
||||
{
|
||||
pagination: {
|
||||
previousPage: page == 1 ? null : page - 1, // Previous Page
|
||||
currentPage: page, // Current Page
|
||||
nextPage: page >= companyQty / rpp ? null : page + 1, // Next Page
|
||||
totalPages: Math.ceil(companyQty / rpp), // Total Number of Pages
|
||||
totalRecords: companyQty, // Total Number of Records
|
||||
listedRecords: rpp, // Total Number of Records being recieved at time of request.
|
||||
},
|
||||
},
|
||||
);
|
||||
|
||||
return c.json(response, response.status as ContentfulStatusCode);
|
||||
},
|
||||
authMiddleware({ permissions: ["company.fetch"] }),
|
||||
authMiddleware({ permissions: ["company.fetch.many"] }),
|
||||
);
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
export { default as fetchAll } from "./fetchAll";
|
||||
//export { default as fetch } from "./fetch";
|
||||
@@ -0,0 +1,7 @@
|
||||
import { Hono } from "hono";
|
||||
import * as companyRoutes from "../companies";
|
||||
|
||||
const companyRouter = new Hono();
|
||||
Object.values(companyRoutes).map((r) => companyRouter.route("/", r));
|
||||
|
||||
export default companyRouter;
|
||||
@@ -0,0 +1,7 @@
|
||||
import { Hono } from "hono";
|
||||
import * as userRoutes from "../user/@me";
|
||||
|
||||
const authRouter = new Hono();
|
||||
Object.values(userRoutes).map((r) => authRouter.route("/", r));
|
||||
|
||||
export default authRouter;
|
||||
@@ -48,6 +48,8 @@ app.notFound((c) => {
|
||||
|
||||
v1.route("/teapot", teapot);
|
||||
v1.route("/auth", require("./routers/authRouter").default);
|
||||
v1.route("/user", require("./routers/user").default);
|
||||
v1.route("/company", require("./routers/companyRouter").default);
|
||||
app.route("/v1", v1);
|
||||
|
||||
export default app;
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
import { ContentfulStatusCode } from "hono/utils/http-status";
|
||||
import { apiResponse } from "../../../modules/api-utils/apiResponse";
|
||||
import { createRoute } from "../../../modules/api-utils/createRoute";
|
||||
import { authMiddleware } from "../../middleware/authorization";
|
||||
|
||||
// /v1/user/@me
|
||||
export default createRoute(
|
||||
"get",
|
||||
["/@me"],
|
||||
(c) => {
|
||||
const response = apiResponse.successful(
|
||||
"Fetched user.",
|
||||
c.get("user")?.toJson(),
|
||||
);
|
||||
return c.json(response, response.status as ContentfulStatusCode);
|
||||
},
|
||||
authMiddleware({ scopes: ["user.read"] }),
|
||||
);
|
||||
@@ -0,0 +1,2 @@
|
||||
export { default as fetch } from "./fetch";
|
||||
export { default as update } from "./update";
|
||||
@@ -0,0 +1,19 @@
|
||||
import { ContentfulStatusCode } from "hono/utils/http-status";
|
||||
import { apiResponse } from "../../../modules/api-utils/apiResponse";
|
||||
import { createRoute } from "../../../modules/api-utils/createRoute";
|
||||
import { authMiddleware } from "../../middleware/authorization";
|
||||
|
||||
export default createRoute(
|
||||
"patch",
|
||||
["/@me"],
|
||||
async (c) => {
|
||||
const updatedUser = await c.get("user")?.update(await c.req.json());
|
||||
const response = apiResponse.successful(
|
||||
"Successfully updated user.",
|
||||
updatedUser?.toJson(),
|
||||
);
|
||||
|
||||
return c.json(response, response.status as ContentfulStatusCode);
|
||||
},
|
||||
authMiddleware({ scopes: ["user.write"] }),
|
||||
);
|
||||
Reference in New Issue
Block a user