const reflect_routes = {
    prefix: '/api/v1/reflect',

    middleware: [
        'auth:APIRoute'
    ],

    get: {
        '/scopes': [
            ['middleware::api:Permission', { check: 'v1:reflect:scopes' }],
            'controller::api:v1:Reflect.get_scopes',
        ],
        '/tokens': [
            ['middleware::api:Permission', { check: 'v1:reflect:tokens:list' }],
            'controller::api:v1:Reflect.get_tokens',
        ],
        '/tokens/:id': [
            ['middleware::api:Permission', { check: 'v1:reflect:tokens:get' }],
            'controller::api:v1:Reflect.get_token',
        ],
    },

    post: {
        '/tokens': [
            ['middleware::api:Permission', { check: 'v1:reflect:tokens:create'}],
            'controller::api:v1:Reflect.create_token',
        ],

        '/check_permissions': [
            ['middleware::api:Permission', { check: 'v1:reflect:check_permissions' }],
            'controller::api:v1:Reflect.check_permissions',
        ],
    },

    patch: {
        '/tokens/:id': [
            ['middleware::api:Permission', { check: 'v1:reflect:tokens:update' }],
            'controller::api:v1:Reflect.update_token',
        ],
    },

    delete: {
        '/tokens/:id': [
            ['middleware::api:Permission', { check: 'v1:reflect:tokens:delete' }],
            'controller::api:v1:Reflect.delete_token',
        ],
    },
}

module.exports = exports = reflect_routes
