This commit is contained in:
seb
2026-10-10 02:08:10 +02:00
parent d4e2b05cb0
commit 7f8661be3e
43 changed files with 3312 additions and 2339 deletions

View File

@@ -1,6 +1,8 @@
import * as db from '../../db/warehouse.js';
import { emit } from '../sse.js';
// #region Helpers
function requireSelectedCompany(req) {
const companyId = req.user?.selectedCompanyId;
if (companyId == null) {
@@ -30,6 +32,8 @@ function warehouseErrorStatus(error) {
return 500;
}
// #endregion
/**
* Registers warehouse routes for the authenticated user's selected company.
* @param {import('express').Application} app
@@ -77,6 +81,8 @@ export function register(app, basePath = '') {
* schema:
* $ref: '#/components/schemas/Error'
*/
// #region GET /warehouse
app.get(`${basePath}/warehouse`, async (req, res) => {
const selected = requireSelectedCompany(req);
if (selected.error) {
@@ -93,6 +99,8 @@ export function register(app, basePath = '') {
}
});
// #endregion
/**
* @openapi
* /warehouse/order:
@@ -149,6 +157,8 @@ export function register(app, basePath = '') {
* schema:
* $ref: '#/components/schemas/Error'
*/
// #region PUT /warehouse/order
app.put(`${basePath}/warehouse/order`, async (req, res) => {
const selected = requireSelectedCompany(req);
if (selected.error) {
@@ -168,6 +178,8 @@ export function register(app, basePath = '') {
}
});
// #endregion
/**
* @openapi
* /warehouse/{id}:
@@ -220,6 +232,8 @@ export function register(app, basePath = '') {
* schema:
* $ref: '#/components/schemas/Error'
*/
// #region GET /warehouse/:id
app.get(`${basePath}/warehouse/:id`, async (req, res) => {
const selected = requireSelectedCompany(req);
if (selected.error) {
@@ -244,6 +258,8 @@ export function register(app, basePath = '') {
}
});
// #endregion
/**
* @openapi
* /warehouse:
@@ -298,6 +314,8 @@ export function register(app, basePath = '') {
* schema:
* $ref: '#/components/schemas/Error'
*/
// #region POST /warehouse
app.post(`${basePath}/warehouse`, async (req, res) => {
const selected = requireSelectedCompany(req);
if (selected.error) {
@@ -317,6 +335,8 @@ export function register(app, basePath = '') {
}
});
// #endregion
async function handleUpdate(req, res) {
const selected = requireSelectedCompany(req);
if (selected.error) {
@@ -465,9 +485,18 @@ export function register(app, basePath = '') {
* schema:
* $ref: '#/components/schemas/Error'
*/
// #region PATCH /warehouse/:id
app.patch(`${basePath}/warehouse/:id`, handleUpdate);
// #endregion
// #region PUT /warehouse/:id
app.put(`${basePath}/warehouse/:id`, handleUpdate);
// #endregion
/**
* @openapi
* /warehouse/{id}:
@@ -520,6 +549,8 @@ export function register(app, basePath = '') {
* schema:
* $ref: '#/components/schemas/Error'
*/
// #region DELETE /warehouse/:id
app.delete(`${basePath}/warehouse/:id`, async (req, res) => {
const selected = requireSelectedCompany(req);
if (selected.error) {
@@ -541,4 +572,6 @@ export function register(app, basePath = '') {
res.status(status).json({ error: error.message });
}
});
// #endregion
}