UNPKG

@fabrix/spool-cart

Version:

Spool - eCommerce Spool for Fabrix

366 lines (365 loc) 12.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const common_1 = require("@fabrix/fabrix/dist/common"); const Validator = require("../../validator"); class CountryController extends common_1.FabrixController { country(req, res) { } createCountry(req, res) { const CountryService = this.app.services.CountryService; Validator.validateCountry.createCountry(req.body) .then(values => { return CountryService.createCountry(req.body); }) .then(country => { return this.app.services.PermissionsService.sanitizeResult(req, country); }) .then(result => { return res.json(result); }) .catch(err => { return res.serverError(err); }); } updateCountry(req, res) { const CountryService = this.app.services.CountryService; Validator.validateCountry.updateCountry(req.body) .then(values => { return CountryService.updateCountry(req.body); }) .then(country => { return this.app.services.PermissionsService.sanitizeResult(req, country); }) .then(result => { return res.json(result); }) .catch(err => { return res.serverError(err); }); } destroyCountry(req, res) { const CountryService = this.app.services.CountryService; Validator.validateCountry.destroyCountry(req.body) .then(values => { return CountryService.destroyCountry(req.body); }) .then(country => { return this.app.services.PermissionsService.sanitizeResult(req, country); }) .then(result => { return res.json(result); }) .catch(err => { return res.serverError(err); }); } countries(req, res) { const Country = this.app.models['Country']; const limit = Math.max(0, req.query.limit || 10); const offset = Math.max(0, req.query.offset || 0); const sort = req.query.sort || [['created_at', 'DESC']]; const where = req.jsonCriteria(req.query.where); Country.findAndCountAll({ where: where, order: sort, offset: offset, limit: limit, req: req, include: [ { model: this.app.models['Province'].instance, as: 'provinces' } ] }) .then(countries => { res.paginate(countries.count, limit, offset, sort); return this.app.services.PermissionsService.sanitizeResult(req, countries.rows); }) .then(result => { return res.json(result); }) .catch(err => { return res.serverError(err); }); } countryProvinces(req, res) { const countryId = req.params['id']; const Province = this.app.models['Province']; const limit = Math.max(0, req.query.limit || 10); const offset = Math.max(0, req.query.offset || 0); const sort = req.query.sort || [['created_at', 'DESC']]; if (!countryId) { const err = new Error('A country id is required'); return res.send(401, err); } Province.findAndCountAll({ where: { country_id: countryId }, order: sort, offset: offset, limit: limit, req: req }) .then(countries => { res.paginate(countries.count, limit, offset, sort); return this.app.services.PermissionsService.sanitizeResult(req, countries.rows); }) .then(result => { return res.json(result); }) .catch(err => { return res.serverError(err); }); } cities(req, res) { const City = this.app.models['City']; const limit = Math.max(0, req.query.limit || 10); const offset = Math.max(0, req.query.offset || 0); const sort = req.query.sort || [['created_at', 'DESC']]; const where = req.jsonCriteria(req.query.where); City.findAndCountAll({ where: where, order: sort, offset: offset, limit: limit, req: req }) .then(cities => { res.paginate(cities.count, limit, offset, sort); return this.app.services.PermissionsService.sanitizeResult(req, cities.rows); }) .then(result => { return res.json(result); }) .catch(err => { return res.serverError(err); }); } city(req, res) { } createCity(req, res) { const CountryService = this.app.services.CountryService; Validator.validateCountry.createCity(req.body) .then(values => { return CountryService.createCity(req.body); }) .then(city => { return this.app.services.PermissionsService.sanitizeResult(req, city); }) .then(result => { return res.json(result); }) .catch(err => { return res.serverError(err); }); } updateCity(req, res) { const CountryService = this.app.services.CountryService; Validator.validateCountry.updateCity(req.body) .then(values => { return CountryService.updateCity(req.body); }) .then(city => { return this.app.services.PermissionsService.sanitizeResult(req, city); }) .then(result => { return res.json(result); }) .catch(err => { return res.serverError(err); }); } destroyCity(req, res) { const CountryService = this.app.services.CountryService; Validator.validateCountry.destroyCity(req.body) .then(values => { return CountryService.destroyCity(req.body); }) .then(city => { return this.app.services.PermissionsService.sanitizeResult(req, city); }) .then(result => { return res.json(result); }) .catch(err => { return res.serverError(err); }); } county(req, res) { } createCounty(req, res) { const CountryService = this.app.services.CountryService; Validator.validateCountry.createCounty(req.body) .then(values => { return CountryService.createCounty(req.body); }) .then(county => { return this.app.services.PermissionsService.sanitizeResult(req, county); }) .then(result => { return res.json(result); }) .catch(err => { return res.serverError(err); }); } updateCounty(req, res) { const CountryService = this.app.services.CountryService; Validator.validateCountry.updateCounty(req.body) .then(values => { return CountryService.updateCounty(req.body); }) .then(county => { return this.app.services.PermissionsService.sanitizeResult(req, county); }) .then(result => { return res.json(result); }) .catch(err => { return res.serverError(err); }); } destroyCounty(req, res) { const CountryService = this.app.services.CountryService; Validator.validateCountry.destroyCounty(req.body) .then(values => { return CountryService.destroyCounty(req.body); }) .then(county => { return this.app.services.PermissionsService.sanitizeResult(req, county); }) .then(result => { return res.json(result); }) .catch(err => { return res.serverError(err); }); } counties(req, res) { const County = this.app.models['County']; const limit = Math.max(0, req.query.limit || 10); const offset = Math.max(0, req.query.offset || 0); const sort = req.query.sort || [['created_at', 'DESC']]; const where = req.jsonCriteria(req.query.where); County.findAndCountAll({ where: where, order: sort, offset: offset, limit: limit, req: req }) .then(counties => { res.paginate(counties.count, limit, offset, sort); return this.app.services.PermissionsService.sanitizeResult(req, counties.rows); }) .then(result => { return res.json(result); }) .catch(err => { return res.serverError(err); }); } province(req, res) { } createProvince(req, res) { const CountryService = this.app.services.CountryService; Validator.validateCountry.createProvince(req.body) .then(values => { return CountryService.createProvince(req.body); }) .then(province => { return this.app.services.PermissionsService.sanitizeResult(req, province); }) .then(result => { return res.json(result); }) .catch(err => { return res.serverError(err); }); } updateProvince(req, res) { const CountryService = this.app.services.CountryService; Validator.validateCountry.updateProvince(req.body) .then(values => { return CountryService.updateProvince(req.body); }) .then(province => { return this.app.services.PermissionsService.sanitizeResult(req, province); }) .then(result => { return res.json(result); }) .catch(err => { return res.serverError(err); }); } destroyProvince(req, res) { const CountryService = this.app.services.CountryService; Validator.validateCountry.destroyProvince(req.body) .then(values => { return CountryService.destroyProvince(req.body); }) .then(province => { return this.app.services.PermissionsService.sanitizeResult(req, province); }) .then(result => { return res.json(result); }) .catch(err => { return res.serverError(err); }); } addProvince(req, res) { const CountryService = this.app.services.CountryService; CountryService.addProvince(req.params.id, req.params.province) .then(province => { return this.app.services.PermissionsService.sanitizeResult(req, province); }) .then(result => { return res.json(result); }) .catch(err => { return res.serverError(err); }); } removeProvince(req, res) { const CountryService = this.app.services.CountryService; CountryService.removeProvince(req.params.id, req.params.province) .then(province => { return this.app.services.PermissionsService.sanitizeResult(req, province); }) .then(result => { return res.json(result); }) .catch(err => { return res.serverError(err); }); } provinces(req, res) { const Province = this.app.models['Province']; const limit = Math.max(0, req.query.limit || 10); const offset = Math.max(0, req.query.offset || 0); const sort = req.query.sort || [['created_at', 'DESC']]; const where = req.jsonCriteria(req.query.where); Province.findAndCountAll({ where: where, order: sort, offset: offset, limit: limit, req: req }) .then(provinces => { res.paginate(provinces.count, limit, offset, sort); return this.app.services.PermissionsService.sanitizeResult(req, provinces.rows); }) .then(result => { return res.json(result); }) .catch(err => { return res.serverError(err); }); } } exports.CountryController = CountryController;