import { guard } from '../utilities/guard'; import { Claims } from '../orm/claims'; import collections from '../endpoints/collections'; export default { '/api/collection': { POST: guard(collections.create, [Claims.ADMIN, Claims.COLLECTIONS.CREATE]), }, '/api/collection/:id': { GET: guard(collections.get, [Claims.ADMIN, Claims.COLLECTIONS.UNOWNED.READ, Claims.COLLECTIONS.OWNED.READ]), // PATCH: guard(collections.update, [Claims.ADMIN, Claims.PLAYERS.OTHER.UPDATE, Claims.PLAYERS.SELF.UPDATE]), // DELETE: guard(collections.drop, [Claims.ADMIN, Claims.PLAYERS.OTHER.DELETE, Claims.PLAYERS.SELF.DELETE]), }, '/api/collection/:id/add': { POST: guard(collections.addGame, [ Claims.ADMIN, Claims.COLLECTIONS.UNOWNED.GAME.ADD, Claims.COLLECTIONS.OWNED.GAME.ADD, ]), }, '/api/collection/:id/remove': { POST: guard(collections.removeGame, [ Claims.ADMIN, Claims.COLLECTIONS.UNOWNED.GAME.REMOVE, Claims.COLLECTIONS.OWNED.GAME.REMOVE, ]), }, '/api/collection/list/:pageSize/:page': { GET: guard(collections.list, [Claims.ADMIN, Claims.COLLECTIONS.OWNED.LIST]), }, };