Ben Irvin 13099b4c55 Send error status when token salt not set
Co-authored-by: Jean-Sébastien Herbaux <Convly@users.noreply.github.com>
2023-02-27 17:56:23 +01:00

94 lines
2.5 KiB
JavaScript

'use strict';
const dataTransferAuthStrategy = require('../strategies/data-transfer');
module.exports = [
// Transfer route
{
method: 'GET',
path: '/transfer/runner/connect',
handler: 'transfer.runner-connect',
config: {
middlewares: ['admin::data-transfer'],
// TODO: Allow not passing any scope <> Add a way to prevent assigning one by default
auth: { strategies: [dataTransferAuthStrategy], scope: ['push'] },
},
},
// Transfer Tokens
{
method: 'POST',
path: '/transfer/tokens',
handler: 'transfer.token-create',
config: {
middlewares: ['admin::data-transfer'],
policies: [
'admin::isAuthenticatedAdmin',
{ name: 'admin::hasPermissions', config: { actions: ['admin::transfer.tokens.create'] } },
],
},
},
{
method: 'GET',
path: '/transfer/tokens',
handler: 'transfer.token-list',
config: {
middlewares: ['admin::data-transfer'],
policies: [
'admin::isAuthenticatedAdmin',
{ name: 'admin::hasPermissions', config: { actions: ['admin::transfer.tokens.read'] } },
],
},
},
{
method: 'DELETE',
path: '/transfer/tokens/:id',
handler: 'transfer.token-revoke',
config: {
middlewares: ['admin::data-transfer'],
policies: [
'admin::isAuthenticatedAdmin',
{ name: 'admin::hasPermissions', config: { actions: ['admin::transfer.tokens.delete'] } },
],
},
},
{
method: 'GET',
path: '/transfer/tokens/:id',
handler: 'transfer.token-getById',
config: {
middlewares: ['admin::data-transfer'],
policies: [
'admin::isAuthenticatedAdmin',
{ name: 'admin::hasPermissions', config: { actions: ['admin::transfer.tokens.read'] } },
],
},
},
{
method: 'PUT',
path: '/transfer/tokens/:id',
handler: 'transfer.token-update',
config: {
middlewares: ['admin::data-transfer'],
policies: [
'admin::isAuthenticatedAdmin',
{ name: 'admin::hasPermissions', config: { actions: ['admin::transfer.tokens.update'] } },
],
},
},
{
method: 'POST',
path: '/transfer/tokens/:id/regenerate',
handler: 'transfer.token-regenerate',
config: {
middlewares: ['admin::data-transfer'],
policies: [
'admin::isAuthenticatedAdmin',
{
name: 'admin::hasPermissions',
config: { actions: ['admin::transfer.tokens.regenerate'] },
},
],
},
},
];