Compare commits
2 Commits
e0ac509007
...
57513da827
Author | SHA1 | Date | |
---|---|---|---|
57513da827 | |||
185d563ac0 |
@ -66,13 +66,16 @@ function returnAllModelFieldData() {
|
||||
* @param {string} [relation_name='id']
|
||||
* @returns {undefined || object} undefined or prisma connect object
|
||||
*/
|
||||
export function parseIntRelation(data: string, relation_name: string = 'id') {
|
||||
export function parseIntRelation(data: string, relation_name: string = 'id', doNotDisconnect: boolean = false) {
|
||||
// This function is perfect. If data is not a valid number, return `undefined`
|
||||
// If it is a valid number return `{connect: {relation_name: yourNumber}}}`
|
||||
// This can be used by prisma to connect relations
|
||||
|
||||
// If the incoming data is null or empty, return a prisma disconnect object instead of a connect one
|
||||
if (data === null || data === '') {
|
||||
if (doNotDisconnect) {
|
||||
return undefined;
|
||||
}
|
||||
return JSON.parse(`{
|
||||
"disconnect": true
|
||||
}`);
|
||||
|
@ -102,9 +102,9 @@ function post(req: Request, res: Response) {
|
||||
comment: req.body.comment,
|
||||
status: req.body.status, // Only enum(itemStatus) values are valid
|
||||
// Relations
|
||||
contactInfo: parseIntRelation(req.body.contactInfoId),
|
||||
category: parseIntRelation(req.body.categoryId),
|
||||
storageLocation: parseIntRelation(req.body.storageLocationId),
|
||||
contactInfo: parseIntRelation(req.body.contactInfoId, undefined, true),
|
||||
category: parseIntRelation(req.body.categoryId, undefined, true),
|
||||
storageLocation: parseIntRelation(req.body.storageLocationId, undefined, true),
|
||||
|
||||
manufacturer: req.body.manufacturer,
|
||||
|
||||
|
@ -23,12 +23,11 @@ async function get(req: Request, res: Response) {
|
||||
return;
|
||||
}
|
||||
prisma.item
|
||||
.findMany({ skip: (page - 1) * takeSize, take: takeSize }) // Skip the amount of items per page times the page number minus 1; skip has to be (page-1)*takeSize because skip is 0 indexed
|
||||
.findMany({ skip: (page - 1) * takeSize, take: takeSize, orderBy: { SKU: "asc" } }) // Skip the amount of items per page times the page number minus 1; skip has to be (page-1)*takeSize because skip is 0 indexed
|
||||
.then((items) => {
|
||||
prisma.storageLocation.findMany({}).then((locations) => {
|
||||
prisma.itemCategory.findMany({}).then((categories) => {
|
||||
prisma.contactInfo.findMany({}).then((contactInfo) => {
|
||||
|
||||
res.render(__path + '/src/frontend/items.eta.html', { items: items, currentPage: page, maxPages: pageSize, storeLocs: locations, categories: categories, contactInfo: contactInfo });
|
||||
})
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user