32 lines
1.2 KiB
TypeScript
32 lines
1.2 KiB
TypeScript
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]),
|
|
},
|
|
};
|