@fabrix/spool-cart
Version:
Spool - eCommerce Spool for Fabrix
1,617 lines (1,616 loc) • 343 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const joi = require("joi");
exports.routes = {
'/generalStats': {
'GET': 'ProxyCartController.generalStats',
config: {
prefix: 'cart.prefix',
validate: {
query: {
offset: joi.number(),
limit: joi.number(),
sort: joi.array().items(joi.array()),
where: joi.object()
}
},
app: {
permissions: {
resource_name: 'apiGetGeneralStatsRoute',
roles: ['admin']
}
}
}
},
'/gateways': {
'GET': 'GatewayController.gateways',
config: {
prefix: 'cart.prefix',
validate: {},
app: {
permissions: {
resource_name: 'apiGetGatewaysRoute',
roles: ['admin', 'registered', 'public']
}
}
}
},
'/countries': {
'GET': 'CountryController.countries',
config: {
prefix: 'cart.prefix',
validate: {
query: {
offset: joi.number(),
limit: joi.number(),
sort: joi.array().items(joi.array()),
where: joi.any(),
include: joi.array().items(joi.string())
}
},
app: {
permissions: {
resource_name: 'apiGetCountriesRoute',
roles: ['admin', 'registered', 'public']
}
}
}
},
'/provinces': {
'GET': 'CountryController.provinces',
config: {
prefix: 'cart.prefix',
validate: {
query: {
offset: joi.number(),
limit: joi.number(),
sort: joi.array().items(joi.array()),
where: joi.any(),
include: joi.array().items(joi.string())
}
},
app: {
permissions: {
resource_name: 'apiGetProvincesRoute',
roles: ['admin', 'registered', 'public']
}
}
}
},
'/counties': {
'GET': 'CountryController.counties',
config: {
prefix: 'cart.prefix',
validate: {
query: {
offset: joi.number(),
limit: joi.number(),
sort: joi.array().items(joi.array()),
where: joi.any(),
include: joi.array().items(joi.string())
}
},
app: {
permissions: {
resource_name: 'apiGetCountiesRoute',
roles: ['admin', 'registered', 'public']
}
}
}
},
'/cities': {
'GET': 'CountryController.cities',
config: {
prefix: 'cart.prefix',
validate: {
query: {
offset: joi.number(),
limit: joi.number(),
sort: joi.array().items(joi.array()),
where: joi.any(),
include: joi.array().items(joi.string())
}
},
app: {
permissions: {
resource_name: 'apiGetCitiesRoute',
roles: ['admin', 'registered', 'public']
}
}
}
},
'/country': {
'POST': 'CountryController.createCountry',
config: {
prefix: 'cart.prefix',
app: {
permissions: {
resource_name: 'apiPostCountryRoute',
roles: ['admin']
}
}
}
},
'/country/:id/provinces': {
'GET': 'CountryController.countryProvinces',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.number()
}
},
app: {
permissions: {
resource_name: 'apiGetCountryIdProvincesRoute',
roles: ['admin', 'registered', 'public']
}
}
}
},
'/country/:id': {
'GET': {
handler: 'CountryController.country',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.number()
}
},
app: {
permissions: {
resource_name: 'apiGetCountryIdRoute',
roles: ['admin', 'registered', 'public']
}
}
}
},
'POST': {
handler: 'CountryController.updateCountry',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.number()
}
},
app: {
permissions: {
resource_name: 'apiPostCountryIdRoute',
roles: ['admin']
}
}
}
},
'PUT': {
handler: 'CountryController.updateCountry',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.number()
}
},
app: {
permissions: {
resource_name: 'apiPutCountryIdRoute',
roles: ['admin']
}
}
}
},
'DELETE': {
handler: 'CountryController.destroyCountry',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.number()
}
},
app: {
permissions: {
resource_name: 'apiDeleteCountryIdRoute',
roles: ['admin']
}
}
}
}
},
'/country/:id/addProvince/:province': {
'POST': 'CountryController.addProvince',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.number(),
province: joi.any()
}
},
app: {
permissions: {
resource_name: 'apiPostCountryIdAddProvinceProvinceRoute',
roles: ['admin']
}
}
}
},
'/country/:id/removeProvince/:province': {
'POST': 'CountryController.removeProvince',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.number(),
province: joi.any()
}
},
app: {
permissions: {
resource_name: 'apiPostCountryIdRemoveProvinceProvinceRoute',
roles: ['admin']
}
}
}
},
'/province': {
'POST': 'CountryController.createProvince',
config: {
prefix: 'cart.prefix',
app: {
permissions: {
resource_name: 'apiPostProvinceRoute',
roles: ['admin']
}
}
}
},
'/province/:id': {
'GET': 'CountryController.province',
'POST': {
handler: 'CountryController.updateProvince',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.number()
}
},
app: {
permissions: {
resource_name: 'apiPostProvinceIdRoute',
roles: ['admin']
}
}
}
},
'PUT': {
handler: 'CountryController.updateProvince',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.number()
}
},
app: {
permissions: {
resource_name: 'apiPutProvinceIdRoute',
roles: ['admin']
}
}
}
},
'DELETE': {
handler: 'CountryController.destroyProvince',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.number()
}
},
app: {
permissions: {
resource_name: 'apiDeleteProvinceIdRoute',
roles: ['admin']
}
}
}
},
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.number()
}
},
app: {
permissions: {
resource_name: 'apiGetProvinceIdRoute',
roles: ['admin', 'registered', 'public']
}
}
}
},
'/county': {
'POST': 'CountryController.createCounty',
config: {
prefix: 'cart.prefix',
app: {
permissions: {
resource_name: 'apiPostCountyRoute',
roles: ['admin']
}
}
}
},
'/county/:id': {
'GET': 'CountryController.county',
'POST': {
handler: 'CountryController.updateCounty',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.number()
}
},
app: {
permissions: {
resource_name: 'apiPostCountyIdRoute',
roles: ['admin']
}
}
}
},
'PUT': {
handler: 'CountryController.updateCounty',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.number()
}
},
app: {
permissions: {
resource_name: 'apiPutCountyIdRoute',
roles: ['admin']
}
}
}
},
'DELETE': {
handler: 'CountryController.destroyCounty',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.number()
}
},
app: {
permissions: {
resource_name: 'apiDeleteCountyIdRoute',
roles: ['admin']
}
}
}
},
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.number()
}
},
app: {
permissions: {
resource_name: 'apiGetCountyIdRoute',
roles: ['admin', 'registered', 'public']
}
}
}
},
'/city': {
'POST': 'CountryController.createCity',
config: {
prefix: 'cart.prefix',
app: {
permissions: {
resource_name: 'apiPostCityRoute',
roles: ['admin']
}
}
}
},
'/city/:id': {
'GET': 'CountryController.city',
'POST': {
handler: 'CountryController.updateCity',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.number()
}
},
app: {
permissions: {
resource_name: 'apiPostCityIdRoute',
roles: ['admin']
}
}
}
},
'PUT': {
handler: 'CountryController.updateCity',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.number()
}
},
app: {
permissions: {
resource_name: 'apiPutCityIdRoute',
roles: ['admin']
}
}
}
},
'DELETE': {
handler: 'CountryController.destroyCity',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.number()
}
},
app: {
permissions: {
resource_name: 'apiDeleteCityIdRoute',
roles: ['admin']
}
}
}
},
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.number()
}
},
app: {
permissions: {
resource_name: 'apiGetCityIdRoute',
roles: ['admin', 'registered', 'public']
}
}
}
},
'/carts': {
'GET': 'CartController.findAll',
config: {
prefix: 'cart.prefix',
validate: {
query: {
offset: joi.number(),
limit: joi.number(),
sort: joi.array().items(joi.array()),
where: joi.any(),
include: joi.array().items(joi.string())
}
},
app: {
permissions: {
resource_name: 'apiGetCartsRoute',
roles: ['admin']
}
}
}
},
'/cart': {
'GET': {
handler: 'CartController.session',
config: {
prefix: 'cart.prefix',
app: {
permissions: {
resource_name: 'apiGetCartRoute',
roles: ['admin', 'registered', 'public']
}
}
}
},
'POST': {
handler: 'CartController.create',
config: {
prefix: 'cart.prefix',
app: {
permissions: {
resource_name: 'apiPostCartRoute',
roles: ['admin', 'registered', 'public']
}
}
}
},
'PUT': {
handler: 'CartController.update',
config: {
prefix: 'cart.prefix',
app: {
permissions: {
resource_name: 'apiPutCartRoute',
roles: ['admin', 'registered', 'public']
}
}
}
}
},
'/cart/draft': {
'POST': 'CartController.draft',
config: {
prefix: 'cart.prefix',
app: {
permissions: {
resource_name: 'apiPostCartDraftRoute',
roles: ['admin']
}
}
}
},
'/cart/:id': {
'GET': {
handler: 'CartController.resolve',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.alternatives().try(joi.number(), joi.string()).required()
}
},
app: {
permissions: {
resource_name: 'apiGetCartIdRoute',
roles: ['admin', 'registered']
}
}
}
},
'POST': {
handler: 'CartController.update',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.number().required()
}
},
app: {
permissions: {
resource_name: 'apiPostCartIdRoute',
roles: ['admin', 'registered', 'public']
}
}
}
},
'PUT': {
handler: 'CartController.update',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.number().required()
}
},
app: {
permissions: {
resource_name: 'apiPutCartIdRoute',
roles: ['admin', 'registered', 'public']
}
}
}
}
},
'/cart/:id/addShipping': {
'POST': {
handler: 'CartController.addShipping',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.alternatives().try(joi.number(), joi.string()).required()
}
},
app: {
permissions: {
resource_name: 'apiPostCartIdAddShippingRoute',
roles: ['admin']
}
}
}
},
'PUT': {
handler: 'CartController.addShipping',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.alternatives().try(joi.number(), joi.string()).required()
}
},
app: {
permissions: {
resource_name: 'apiPutCartIdAddShippingRoute',
roles: ['admin']
}
}
}
}
},
'/cart/:id/removeShipping': {
'POST': {
handler: 'CartController.removeShipping',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.alternatives().try(joi.number(), joi.string()).required()
}
},
app: {
permissions: {
resource_name: 'apiPostCartIdRemoveShippingRoute',
roles: ['admin']
}
}
}
},
'PUT': {
handler: 'CartController.removeShipping',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.alternatives().try(joi.number(), joi.string()).required()
}
},
app: {
permissions: {
resource_name: 'apiPutCartIdRemoveShippingRoute',
roles: ['admin']
}
}
}
}
},
'/cart/:id/addTaxes': {
'POST': {
handler: 'CartController.addTaxes',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.alternatives().try(joi.number(), joi.string()).required()
}
},
app: {
permissions: {
resource_name: 'apiPostCartIdAddTaxesRoute',
roles: ['admin']
}
}
}
},
'PUT': {
handler: 'CartController.addTaxes',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.alternatives().try(joi.number(), joi.string()).required()
}
},
app: {
permissions: {
resource_name: 'apiPutCartIdAddTaxesRoute',
roles: ['admin']
}
}
}
}
},
'/cart/:id/removeTaxes': {
'POST': {
handler: 'CartController.removeTaxes',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.alternatives().try(joi.number(), joi.string()).required()
}
},
app: {
permissions: {
resource_name: 'apiPostCartIdRemoveTaxesRoute',
roles: ['admin']
}
}
}
},
'PUT': {
handler: 'CartController.removeTaxes',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.alternatives().try(joi.number(), joi.string()).required()
}
},
app: {
permissions: {
resource_name: 'apiPutCartIdRemoveTaxesRoute',
roles: ['admin']
}
}
}
}
},
'/cart/generalStats': {
'GET': 'CartController.generalStats',
config: {
prefix: 'cart.prefix',
validate: {
query: {
offset: joi.number(),
limit: joi.number(),
sort: joi.array().items(joi.array()),
where: joi.any(),
include: joi.array().items(joi.string())
}
},
app: {
permissions: {
resource_name: 'apiGetCartGeneralStatsRoute',
roles: ['admin']
}
}
}
},
'/cart/count': {
'GET': 'CartController.count',
config: {
prefix: 'cart.prefix',
app: {
permissions: {
resource_name: 'apiGetCartCountRoute',
roles: ['admin']
}
}
}
},
'/cart/init': {
'GET': {
handler: 'CartController.init',
config: {
prefix: 'cart.prefix',
app: {
permissions: {
resource_name: 'apiGetCartInitRoute',
roles: ['admin', 'registered', 'public']
}
}
}
},
'POST': {
handler: 'CartController.init',
config: {
prefix: 'cart.prefix',
app: {
permissions: {
resource_name: 'apiPostCartInitRoute',
roles: ['admin', 'registered', 'public']
}
}
}
}
},
'/cart/session': {
'GET': {
handler: 'CartController.session',
config: {
prefix: 'cart.prefix',
app: {}
}
}
},
'/cart/logout': {
'POST': {
handler: 'CartController.logout',
config: {
prefix: 'cart.prefix',
app: {
permissions: {
resource_name: 'apiPostCartLogoutRoute',
roles: ['public', 'registered', 'admin']
}
}
}
},
'PUT': {
handler: 'CartController.logout',
config: {
prefix: 'cart.prefix',
app: {
permissions: {
resource_name: 'apiPutCartLogoutRoute',
roles: ['public', 'registered', 'admin']
}
}
}
}
},
'/cart/checkout': {
'POST': {
handler: 'CartController.checkout',
config: {
prefix: 'cart.prefix',
app: {
permissions: {
resource_name: 'apiPostCartCheckoutRoute',
roles: ['public', 'registered']
}
}
}
},
'PUT': {
handler: 'CartController.checkout',
config: {
prefix: 'cart.prefix',
app: {
permissions: {
resource_name: 'apiPutCartCheckoutRoute',
roles: ['public', 'registered']
}
}
}
}
},
'/cart/addItems': {
'POST': {
handler: 'CartController.addItems',
config: {
prefix: 'cart.prefix',
app: {
permissions: {
resource_name: 'apiPostCartAddItemsRoute',
roles: ['public', 'registered']
}
}
}
},
'PUT': {
handler: 'CartController.addItems',
config: {
prefix: 'cart.prefix',
app: {
permissions: {
resource_name: 'apiPutCartAddItemsRoute',
roles: ['public', 'registered']
}
}
}
}
},
'/cart/removeItems': {
'POST': {
handler: 'CartController.removeItems',
config: {
prefix: 'cart.prefix',
app: {
permissions: {
resource_name: 'apiPostCartRemoveItemsRoute',
roles: ['public', 'registered', 'admin']
}
}
}
},
'PUT': {
handler: 'CartController.removeItems',
config: {
prefix: 'cart.prefix',
app: {
permissions: {
resource_name: 'apiPutCartRemoveItemsRoute',
roles: ['public', 'registered', 'admin']
}
}
}
}
},
'/cart/clear': {
'POST': {
handler: 'CartController.clear',
config: {
prefix: 'cart.prefix',
app: {
permissions: {
resource_name: 'apiPostCartClearRoute',
roles: ['public', 'registered', 'admin']
}
}
}
}
},
'/cart/login': {
'POST': {
handler: 'CartController.login',
config: {
prefix: 'cart.prefix',
app: {
permissions: {
resource_name: 'apiPostCartLoginRoute',
roles: ['public', 'registered', 'admin']
}
}
}
}
},
'/cart/:id/login': {
'POST': {
handler: 'CartController.login',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.alternatives().try(joi.number(), joi.string()).required()
}
},
app: {
permissions: {
resource_name: 'apiPostCartIdLoginRoute',
roles: ['public', 'registered']
}
}
}
}
},
'/cart/:id/checkout': {
'POST': {
handler: 'CartController.checkout',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.number().required()
}
},
app: {
permissions: {
resource_name: 'apiPostCartIdCheckoutRoute',
roles: ['public', 'registered']
}
}
}
},
'PUT': {
handler: 'CartController.checkout',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.number().required()
}
},
app: {
permissions: {
resource_name: 'apiPutCartIdCheckoutRoute',
roles: ['public', 'registered']
}
}
}
}
},
'/cart/:id/checkout/:customer': {
'POST': {
handler: 'CartController.checkout',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.number().required(),
customer: joi.number().required()
}
},
app: {
permissions: {
resource_name: 'apiPostCartIdCheckoutCustomerRoute',
roles: ['public', 'registered']
}
}
}
},
'PUT': {
handler: 'CartController.checkout',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.number().required(),
customer: joi.number().required()
}
},
app: {
permissions: {
resource_name: 'apiPutCartIdCheckoutCustomerRoute',
roles: ['public', 'registered']
}
}
}
}
},
'/cart/:id/customer': {
'GET': {
handler: 'CartController.customer',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.number().required()
}
},
app: {
permissions: {
resource_name: 'apiGetCartIdCustomerRoute',
roles: ['admin']
}
}
}
}
},
'/cart/:id/switch': {
'POST': {
handler: 'CartController.switchCart',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.alternatives().try(joi.number(), joi.string()).required()
}
},
app: {
permissions: {
resource_name: 'apiPostCartIdSwitchRoute',
roles: ['public', 'registered']
}
}
}
}
},
'/cart/:id/addItems': {
'POST': {
handler: 'CartController.addItems',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.number().required()
}
},
app: {
permissions: {
resource_name: 'apiPostCartIdAddItemsRoute',
roles: ['public', 'registered']
}
}
}
},
'PUT': {
handler: 'CartController.addItems',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.number().required()
}
},
app: {
permissions: {
resource_name: 'apiPutCartIdAddItemsRoute',
roles: ['public', 'registered']
}
}
}
}
},
'/cart/:id/removeItems': {
'POST': {
handler: 'CartController.removeItems',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.number().required()
}
},
app: {
permissions: {
resource_name: 'apiPostCartIdRemoveItemsRoute',
roles: ['public', 'registered']
}
}
}
},
'PUT': {
handler: 'CartController.removeItems',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.number().required()
}
},
app: {
permissions: {
resource_name: 'apiPutCartIdRemoveItemsRoute',
roles: ['public', 'registered']
}
}
}
}
},
'/cart/:id/pricingOverrides': {
'POST': {
handler: 'CartController.pricingOverrides',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.number().required()
}
},
app: {
permissions: {
resource_name: 'apiPostCartIdPricingOverridesRoute',
roles: ['admin']
}
}
}
},
'PUT': {
handler: 'CartController.pricingOverrides',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.number().required()
}
},
app: {
permissions: {
resource_name: 'apiPutCartIdPricingOverridesRoute',
roles: ['admin']
}
}
}
}
},
'/cart/:id/clear': {
'POST': {
handler: 'CartController.clear',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.number().required()
}
},
app: {
permissions: {
resource_name: 'apiPostCartIdClearRoute',
roles: ['public', 'registered']
}
}
}
},
'PUT': {
handler: 'CartController.clear',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.number().required()
}
},
app: {
permissions: {
resource_name: 'apiPutCartIdClearRoute',
roles: ['public', 'registered']
}
}
}
}
},
'/collections': {
'GET': {
handler: 'CollectionController.findAll',
config: {
prefix: 'cart.prefix',
validate: {
query: {
offset: joi.number(),
limit: joi.number(),
sort: joi.array().items(joi.array()),
where: joi.any(),
include: joi.array().items(joi.string())
}
},
app: {
permissions: {
resource_name: 'apiGetCollectionsRoute',
roles: ['public', 'registered', 'admin']
}
}
}
}
},
'/collection': {
'POST': {
handler: 'CollectionController.create',
config: {
prefix: 'cart.prefix',
app: {
permissions: {
resource_name: 'apiPostCollectionRoute',
roles: ['admin']
}
}
}
}
},
'/collection/:id': {
'GET': {
handler: 'CollectionController.findById',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.alternatives().try(joi.number(), joi.string()).required()
}
},
app: {
permissions: {
resource_name: 'apiGetCollectionIdRoute',
roles: ['admin', 'registered', 'public']
}
}
}
},
'POST': {
handler: 'CollectionController.update',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.alternatives().try(joi.number(), joi.string()).required()
}
},
app: {
permissions: {
resource_name: 'apiPostCollectionIdRoute',
roles: ['admin']
}
}
}
},
'PUT': {
handler: 'CollectionController.update',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.alternatives().try(joi.number(), joi.string()).required()
}
},
app: {
permissions: {
resource_name: 'apiPutCollectionIdRoute',
roles: ['admin']
}
}
}
}
},
'/collection/:id/collection/:collection': {
'POST': {
handler: 'CollectionController.addCollection',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.alternatives().try(joi.number(), joi.string()).required(),
collection: joi.alternatives().try(joi.number(), joi.string()).required()
}
},
app: {
permissions: {
resource_name: 'apiPostCollectionIdCollectionCollectionRoute',
roles: ['admin']
}
}
}
},
'PUT': {
handler: 'CollectionController.addCollection',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.alternatives().try(joi.number(), joi.string()).required(),
collection: joi.alternatives().try(joi.number(), joi.string()).required()
}
},
app: {
permissions: {
resource_name: 'apiPutCollectionIdCollectionCollectionRoute',
roles: ['admin']
}
}
}
},
'DELETE': {
handler: 'CollectionController.removeCollection',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.alternatives().try(joi.number(), joi.string()).required(),
collection: joi.alternatives().try(joi.number(), joi.string()).required()
}
},
app: {
permissions: {
resource_name: 'apiDeleteCollectionIdCollectionCollectionRoute',
roles: ['admin']
}
}
}
}
},
'/collection/:id/addCollection/:collection': {
'POST': {
handler: 'CollectionController.addCollection',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.alternatives().try(joi.number(), joi.string()).required(),
collection: joi.alternatives().try(joi.number(), joi.string()).required()
}
},
app: {
permissions: {
resource_name: 'apiPostCollectionIdAddCollectionCollectionRoute',
roles: ['admin']
}
}
}
}
},
'/collection/:id/collections': {
'GET': {
handler: 'CollectionController.collections',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.alternatives().try(joi.number(), joi.string()).required()
}
},
app: {
permissions: {
resource_name: 'apiGetCollectionIdCollectionsRoute',
roles: ['admin', 'registered', 'public']
}
}
}
},
'POST': {
handler: 'CollectionController.addCollections',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.alternatives().try(joi.number(), joi.string()).required()
}
},
app: {
permissions: {
resource_name: 'apiPostCollectionIdCollectionsRoute',
roles: ['admin']
}
}
}
},
'PUT': {
handler: 'CollectionController.addCollections',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.alternatives().try(joi.number(), joi.string()).required()
}
},
app: {
permissions: {
resource_name: 'apiPutCollectionIdCollectionsRoute',
roles: ['admin']
}
}
}
},
'DELETE': {
handler: 'CollectionController.removeCollections',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.alternatives().try(joi.number(), joi.string()).required(),
collection: joi.alternatives().try(joi.number(), joi.string()).required()
}
},
app: {
permissions: {
resource_name: 'apiDeleteCollectionIdCollectionsRoute',
roles: ['admin']
}
}
}
}
},
'/collection/:id/images': {
'GET': {
handler: 'CollectionController.images',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.alternatives().try(joi.number(), joi.string()).required()
}
},
app: {
permissions: {
resource_name: 'apiGetCollectionIdImagesRoute',
roles: ['admin', 'registered', 'public']
}
}
}
},
'POST': {
handler: 'CollectionController.addImages',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.alternatives().try(joi.number(), joi.string()).required()
}
},
app: {
permissions: {
resource_name: 'apiPostCollectionIdImagesRoute',
roles: ['admin']
}
}
}
},
'PUT': {
handler: 'CollectionController.addImages',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.alternatives().try(joi.number(), joi.string()).required()
}
},
app: {
permissions: {
resource_name: 'apiPutCollectionIdImagesRoute',
roles: ['admin']
}
}
}
},
'DELETE': {
handler: 'CollectionController.removeImages',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.alternatives().try(joi.number(), joi.string()).required(),
collection: joi.alternatives().try(joi.number(), joi.string()).required()
}
},
app: {
permissions: {
resource_name: 'apiDeleteCollectionIdImagesRoute',
roles: ['admin']
}
}
}
}
},
'/collection/:id/image/create': {
'POST': {
handler: 'CollectionController.createImage',
config: {
prefix: 'cart.prefix',
pre: ['CollectionPolicy.image'],
validate: {
params: {
id: joi.alternatives().try(joi.number(), joi.string()).required()
}
},
app: {
permissions: {
resource_name: 'apiPostCollectionIdImageCreateRoute',
roles: ['admin']
}
}
}
}
},
'/collection/:id/image/:image': {
'POST': {
handler: 'CollectionController.addImage',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.alternatives().try(joi.number(), joi.string()).required(),
image: joi.alternatives().try(joi.number(), joi.string()).required()
}
},
app: {
permissions: {
resource_name: 'apiPostCollectionIdImageImageRoute',
roles: ['admin']
}
}
}
},
'PUT': {
handler: 'CollectionController.addImage',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.alternatives().try(joi.number(), joi.string()).required(),
image: joi.alternatives().try(joi.number(), joi.string()).required()
}
},
app: {
permissions: {
resource_name: 'apiPutCollectionIdImageImageRoute',
roles: ['admin']
}
}
}
},
'DELETE': {
handler: 'CollectionController.removeImage',
config: {
prefix: 'cart.prefix',
validate: {
params: {
id: joi.alternatives().try(joi.number(), joi.string()).required(),
image: joi.alternatives().try(joi.number(), joi.string()).required()
}
},
app: {
permissions: {