UNPKG

catalogg

Version:

Back-end framework for modelling tangible item collections.

102 lines (92 loc) 2.09 kB
const { genVariationObjs } = require("../../util/genVariationObjs") const { lockItem } = require("../../util/lock/item") const createItem = async ( catalogueIdentifier, collectionIdentifier, item, dataApi ) => { //TODO: validate item against archetype. //Generate variation objs const variationObjs = genVariationObjs(item) //Lock item const lockedItem = lockItem(item) // await dataApi.createItem( catalogueIdentifier, collectionIdentifier, lockedItem ) // await dataApi.createStocksForItem( catalogueIdentifier, collectionIdentifier, lockedItem.identifier, variationObjs ) } const readItems = async ( catalogueIdentifier, collectionIdentifier, propertyFilter, dataApi ) => { const items = await dataApi.readItems( catalogueIdentifier, collectionIdentifier, propertyFilter ) // return items } const readItem = async ( catalogueIdentifier, collectionIdentifier, itemIdentifier, dataApi ) => { const item = await dataApi.readItem( catalogueIdentifier, collectionIdentifier, itemIdentifier ) // return item } const updateItem = async ( catalogueIdentifier, collectionIdentifier, itemIdentifier, newProperties, dataApi ) => { //TODO: validate item against archetype. await dataApi.updateItem( catalogueIdentifier, collectionIdentifier, itemIdentifier, newProperties ) } const deleteItem = async ( catalogueIdentifier, collectionIdentifier, itemIdentifier, dataApi ) => { await dataApi.deleteItem( catalogueIdentifier, collectionIdentifier, itemIdentifier ) await dataApi.deleteItemStocks( catalogueIdentifier, collectionIdentifier, itemIdentifier ) } exports.createItem = createItem exports.readItems = readItems exports.readItem = readItem exports.updateItem = updateItem exports.deleteItem = deleteItem