From addc66c20d4aed9cf4b589a513c0a4d98b60bdf6 Mon Sep 17 00:00:00 2001 From: kevintsoii Date: Tue, 8 Oct 2024 19:02:39 -0700 Subject: [PATCH 1/3] add backend API routes --- server/src/index.ts | 2 +- server/src/router/v1.router.ts | 21 +++++++++++++++++++++ server/src/router/v1/company.ts | 20 ++++++++++++++++++++ server/src/router/v1/equipment.ts | 17 +++++++++++++++++ server/src/router/v1/events.ts | 27 +++++++++++++++++++++++++++ server/src/router/v1/majors.ts | 12 ++++++++++++ server/src/router/v1/officers.ts | 7 +++++++ server/src/router/v1/projects.ts | 25 +++++++++++++++++++++++++ server/src/router/v1/users.ts | 17 +++++++++++++++++ server/src/router/v1/v1.router.ts | 24 ------------------------ 10 files changed, 147 insertions(+), 25 deletions(-) create mode 100644 server/src/router/v1.router.ts create mode 100644 server/src/router/v1/company.ts create mode 100644 server/src/router/v1/equipment.ts create mode 100644 server/src/router/v1/events.ts create mode 100644 server/src/router/v1/majors.ts create mode 100644 server/src/router/v1/officers.ts create mode 100644 server/src/router/v1/projects.ts create mode 100644 server/src/router/v1/users.ts delete mode 100644 server/src/router/v1/v1.router.ts diff --git a/server/src/index.ts b/server/src/index.ts index 8ec855e..9986e44 100644 --- a/server/src/index.ts +++ b/server/src/index.ts @@ -1,6 +1,6 @@ import { Hono } from 'hono'; import { cors } from 'hono/cors'; -import v1App from './router/v1/v1.router'; +import v1App from './router/v1.router'; const app = new Hono(); diff --git a/server/src/router/v1.router.ts b/server/src/router/v1.router.ts new file mode 100644 index 0000000..2badf3f --- /dev/null +++ b/server/src/router/v1.router.ts @@ -0,0 +1,21 @@ +import { Hono } from 'hono'; + +import users from './v1/users'; +import events from './v1/events'; +import company from './v1/company'; +import equipment from './v1/equipment'; +import project from './v1/projects'; +import majors from './v1/majors'; +import officers from './v1/officers'; + +const v1App = new Hono(); + +v1App.route('/users', users); +v1App.route('/events', events); +v1App.route('/company', company); +v1App.route('/equipment', equipment); +v1App.route('/project', project); +v1App.route('/majors', majors); +v1App.route('/officers', officers); + +export default v1App; diff --git a/server/src/router/v1/company.ts b/server/src/router/v1/company.ts new file mode 100644 index 0000000..f65662e --- /dev/null +++ b/server/src/router/v1/company.ts @@ -0,0 +1,20 @@ +import { Hono } from 'hono'; + +const company = new Hono(); + +company.get('/:companyID/events', c => { + const companyID = c.req.param('companyID'); + return c.json({ companyID }); +}); + +company.get('/:companyID/subsribers', c => { + const companyID = c.req.param('companyID'); + return c.json({ companyID }); +}); + +company.get('/:companyID/subscribers/count', c => { + const companyID = c.req.param('companyID'); + return c.json({ companyID }); +}); + +export default company; \ No newline at end of file diff --git a/server/src/router/v1/equipment.ts b/server/src/router/v1/equipment.ts new file mode 100644 index 0000000..18cf82c --- /dev/null +++ b/server/src/router/v1/equipment.ts @@ -0,0 +1,17 @@ +import { Hono } from 'hono'; + +const equipment = new Hono(); + +equipment.get('/', c => c.json({})); + +equipment.get('/:equipmentTypeID/equipment-items', c => { + const equipmentTypeID = c.req.param('equipmentTypeID'); + return c.json({ equipmentTypeID }); +}); + +equipment.get('/equipmentitem/:equipmentItemID/rental-history', c => { + const equipmentItemID = c.req.param('equipmentItemID'); + return c.json({ equipmentItemID }); +}); + +export default equipment; \ No newline at end of file diff --git a/server/src/router/v1/events.ts b/server/src/router/v1/events.ts new file mode 100644 index 0000000..6a836a1 --- /dev/null +++ b/server/src/router/v1/events.ts @@ -0,0 +1,27 @@ +import { Hono } from 'hono'; + +const events = new Hono(); + +events.get('/', c => c.json({})); + +events.get('/:eventID/companies', c => { + const eventID = c.req.param('eventID'); + return c.json({ eventID }); +}); + +events.get('/:eventID/subscribers', c => { + const eventID = c.req.param('eventID'); + return c.json({ eventID }); +}); + +events.get('/:eventID/subscribers/count', c => { + const eventID = c.req.param('eventID'); + return c.json({ eventID }); +}); + +events.get('/:eventID/files', c => { + const eventID = c.req.param('eventID'); + return c.json({ eventID }); +}); + +export default events; \ No newline at end of file diff --git a/server/src/router/v1/majors.ts b/server/src/router/v1/majors.ts new file mode 100644 index 0000000..5b9f8a0 --- /dev/null +++ b/server/src/router/v1/majors.ts @@ -0,0 +1,12 @@ +import { Hono } from 'hono'; + +const majors = new Hono(); + +majors.get('/', c => c.json({})); + +majors.get('/:majorName/users', c => { + const majorName = c.req.param('majorName'); + return c.json({ majorName }); +}); + +export default majors; \ No newline at end of file diff --git a/server/src/router/v1/officers.ts b/server/src/router/v1/officers.ts new file mode 100644 index 0000000..dde1ef0 --- /dev/null +++ b/server/src/router/v1/officers.ts @@ -0,0 +1,7 @@ +import { Hono } from 'hono'; + +const officers = new Hono(); + +officers.get('/', c => c.json({})); + +export default officers; \ No newline at end of file diff --git a/server/src/router/v1/projects.ts b/server/src/router/v1/projects.ts new file mode 100644 index 0000000..37664e9 --- /dev/null +++ b/server/src/router/v1/projects.ts @@ -0,0 +1,25 @@ +import { Hono } from 'hono'; +import { db } from '../../db/db'; +import { projects as projectsSchema } from '../../db/schema'; +import type { Project } from '../../db/schema'; + +const projects = new Hono(); + +projects.get('/', async c => { + const foundProjects: Project[] = await db.select().from(projectsSchema); + return c.json({ + projects: foundProjects, + }); +}); + +projects.get('/:projectID/interested', c => { + const projectID = c.req.param('projectID'); + return c.json({ projectID }); +}); + +projects.get('/:projectID/files', c => { + const projectID = c.req.param('projectID'); + return c.json({ projectID }); +}); + +export default projects; \ No newline at end of file diff --git a/server/src/router/v1/users.ts b/server/src/router/v1/users.ts new file mode 100644 index 0000000..c3fe936 --- /dev/null +++ b/server/src/router/v1/users.ts @@ -0,0 +1,17 @@ +import { Hono } from 'hono'; +import { db } from '../../db/db'; +import { users } from '../../db/schema'; +import type { User } from '../../db/schema'; + +const users = new Hono(); + +users.get('/', async c => { + const foundUsers: User[] = await db.select().from(users); + return c.json({ + users: foundUsers, + }); +}); + +users.get('/rental-history', c => c.json({})); + +export default users; \ No newline at end of file diff --git a/server/src/router/v1/v1.router.ts b/server/src/router/v1/v1.router.ts deleted file mode 100644 index 669ea19..0000000 --- a/server/src/router/v1/v1.router.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { Hono } from 'hono'; -import { db } from '../../db/db'; -import { users, projects } from '../../db/schema'; -import type { User, Project } from '../../db/schema'; - -const v1App = new Hono(); - -// Users -v1App.get('/users', async c => { - const foundUsers: User[] = await db.select().from(users); - return c.json({ - users: foundUsers, - }); -}); - -// Projects -v1App.get('/projects', async c => { - const foundProjects: Project[] = await db.select().from(projects); - return c.json({ - projects: foundProjects, - }); -}); - -export default v1App; From 199fc864324e686ce3c20d3a488fee49f637d315 Mon Sep 17 00:00:00 2001 From: kevintsoii Date: Tue, 8 Oct 2024 19:09:43 -0700 Subject: [PATCH 2/3] fix users router naming --- server/src/router/v1/users.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/server/src/router/v1/users.ts b/server/src/router/v1/users.ts index c3fe936..8ff4776 100644 --- a/server/src/router/v1/users.ts +++ b/server/src/router/v1/users.ts @@ -3,15 +3,15 @@ import { db } from '../../db/db'; import { users } from '../../db/schema'; import type { User } from '../../db/schema'; -const users = new Hono(); +const usersRouter = new Hono(); -users.get('/', async c => { +usersRouter.get('/', async c => { const foundUsers: User[] = await db.select().from(users); return c.json({ users: foundUsers, }); }); -users.get('/rental-history', c => c.json({})); +usersRouter.get('/rental-history', c => c.json({})); -export default users; \ No newline at end of file +export default usersRouter; \ No newline at end of file From c23d4520e2daa4165c47d42df33e7d3927818b32 Mon Sep 17 00:00:00 2001 From: kevintsoii Date: Thu, 10 Oct 2024 18:07:23 -0700 Subject: [PATCH 3/3] add spacing fixes --- server/src/router/v1/company.ts | 2 +- server/src/router/v1/equipment.ts | 2 +- server/src/router/v1/events.ts | 2 +- server/src/router/v1/majors.ts | 2 +- server/src/router/v1/officers.ts | 2 +- server/src/router/v1/projects.ts | 2 +- server/src/router/v1/users.ts | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/server/src/router/v1/company.ts b/server/src/router/v1/company.ts index f65662e..07fbb72 100644 --- a/server/src/router/v1/company.ts +++ b/server/src/router/v1/company.ts @@ -17,4 +17,4 @@ company.get('/:companyID/subscribers/count', c => { return c.json({ companyID }); }); -export default company; \ No newline at end of file +export default company; diff --git a/server/src/router/v1/equipment.ts b/server/src/router/v1/equipment.ts index 18cf82c..31028d4 100644 --- a/server/src/router/v1/equipment.ts +++ b/server/src/router/v1/equipment.ts @@ -14,4 +14,4 @@ equipment.get('/equipmentitem/:equipmentItemID/rental-history', c => { return c.json({ equipmentItemID }); }); -export default equipment; \ No newline at end of file +export default equipment; diff --git a/server/src/router/v1/events.ts b/server/src/router/v1/events.ts index 6a836a1..7517f64 100644 --- a/server/src/router/v1/events.ts +++ b/server/src/router/v1/events.ts @@ -24,4 +24,4 @@ events.get('/:eventID/files', c => { return c.json({ eventID }); }); -export default events; \ No newline at end of file +export default events; diff --git a/server/src/router/v1/majors.ts b/server/src/router/v1/majors.ts index 5b9f8a0..20bdb3e 100644 --- a/server/src/router/v1/majors.ts +++ b/server/src/router/v1/majors.ts @@ -9,4 +9,4 @@ majors.get('/:majorName/users', c => { return c.json({ majorName }); }); -export default majors; \ No newline at end of file +export default majors; diff --git a/server/src/router/v1/officers.ts b/server/src/router/v1/officers.ts index dde1ef0..f30c78c 100644 --- a/server/src/router/v1/officers.ts +++ b/server/src/router/v1/officers.ts @@ -4,4 +4,4 @@ const officers = new Hono(); officers.get('/', c => c.json({})); -export default officers; \ No newline at end of file +export default officers; diff --git a/server/src/router/v1/projects.ts b/server/src/router/v1/projects.ts index 37664e9..e051933 100644 --- a/server/src/router/v1/projects.ts +++ b/server/src/router/v1/projects.ts @@ -22,4 +22,4 @@ projects.get('/:projectID/files', c => { return c.json({ projectID }); }); -export default projects; \ No newline at end of file +export default projects; diff --git a/server/src/router/v1/users.ts b/server/src/router/v1/users.ts index 8ff4776..c566efd 100644 --- a/server/src/router/v1/users.ts +++ b/server/src/router/v1/users.ts @@ -14,4 +14,4 @@ usersRouter.get('/', async c => { usersRouter.get('/rental-history', c => c.json({})); -export default usersRouter; \ No newline at end of file +export default usersRouter;