2023-02-02 13:15:41 +01:00
|
|
|
'use strict';
|
|
|
|
|
2023-02-02 17:03:41 +01:00
|
|
|
const dataTransferAuthStrategy = require('../strategies/data-transfer');
|
|
|
|
|
2023-02-02 13:15:41 +01:00
|
|
|
module.exports = [
|
2023-03-03 09:49:46 +01:00
|
|
|
// Transfer Push
|
2023-02-02 13:15:41 +01:00
|
|
|
{
|
|
|
|
method: 'GET',
|
2023-03-03 09:49:46 +01:00
|
|
|
path: '/transfer/runner/push',
|
|
|
|
handler: 'transfer.runner-push',
|
2023-02-02 13:15:41 +01:00
|
|
|
config: {
|
2023-02-27 17:56:23 +01:00
|
|
|
middlewares: ['admin::data-transfer'],
|
2023-02-06 10:03:08 +01:00
|
|
|
auth: { strategies: [dataTransferAuthStrategy], scope: ['push'] },
|
2023-02-02 13:15:41 +01:00
|
|
|
},
|
|
|
|
},
|
2023-03-03 09:49:46 +01:00
|
|
|
// Transfer Pull
|
|
|
|
{
|
|
|
|
method: 'GET',
|
|
|
|
path: '/transfer/runner/pull',
|
2023-03-08 11:31:15 +01:00
|
|
|
handler: 'transfer.runner-pull',
|
2023-03-03 09:49:46 +01:00
|
|
|
config: {
|
2023-03-08 11:31:15 +01:00
|
|
|
middlewares: ['admin::data-transfer'],
|
2023-03-03 09:49:46 +01:00
|
|
|
auth: { strategies: [dataTransferAuthStrategy], scope: ['pull'] },
|
|
|
|
},
|
|
|
|
},
|
2023-02-02 17:03:41 +01:00
|
|
|
// Transfer Tokens
|
2023-02-02 13:15:41 +01:00
|
|
|
{
|
|
|
|
method: 'POST',
|
|
|
|
path: '/transfer/tokens',
|
|
|
|
handler: 'transfer.token-create',
|
|
|
|
config: {
|
2023-02-27 17:56:23 +01:00
|
|
|
middlewares: ['admin::data-transfer'],
|
2023-02-02 13:15:41 +01:00
|
|
|
policies: [
|
|
|
|
'admin::isAuthenticatedAdmin',
|
|
|
|
{ name: 'admin::hasPermissions', config: { actions: ['admin::transfer.tokens.create'] } },
|
|
|
|
],
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
method: 'GET',
|
|
|
|
path: '/transfer/tokens',
|
|
|
|
handler: 'transfer.token-list',
|
|
|
|
config: {
|
2023-02-27 17:56:23 +01:00
|
|
|
middlewares: ['admin::data-transfer'],
|
2023-02-02 13:15:41 +01:00
|
|
|
policies: [
|
|
|
|
'admin::isAuthenticatedAdmin',
|
|
|
|
{ name: 'admin::hasPermissions', config: { actions: ['admin::transfer.tokens.read'] } },
|
|
|
|
],
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
method: 'DELETE',
|
|
|
|
path: '/transfer/tokens/:id',
|
|
|
|
handler: 'transfer.token-revoke',
|
|
|
|
config: {
|
2023-02-27 17:56:23 +01:00
|
|
|
middlewares: ['admin::data-transfer'],
|
2023-02-02 13:15:41 +01:00
|
|
|
policies: [
|
|
|
|
'admin::isAuthenticatedAdmin',
|
|
|
|
{ name: 'admin::hasPermissions', config: { actions: ['admin::transfer.tokens.delete'] } },
|
|
|
|
],
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
method: 'GET',
|
|
|
|
path: '/transfer/tokens/:id',
|
|
|
|
handler: 'transfer.token-getById',
|
|
|
|
config: {
|
2023-02-27 17:56:23 +01:00
|
|
|
middlewares: ['admin::data-transfer'],
|
2023-02-02 13:15:41 +01:00
|
|
|
policies: [
|
|
|
|
'admin::isAuthenticatedAdmin',
|
|
|
|
{ name: 'admin::hasPermissions', config: { actions: ['admin::transfer.tokens.read'] } },
|
|
|
|
],
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
method: 'PUT',
|
|
|
|
path: '/transfer/tokens/:id',
|
|
|
|
handler: 'transfer.token-update',
|
|
|
|
config: {
|
2023-02-27 17:56:23 +01:00
|
|
|
middlewares: ['admin::data-transfer'],
|
2023-02-02 13:15:41 +01:00
|
|
|
policies: [
|
|
|
|
'admin::isAuthenticatedAdmin',
|
|
|
|
{ name: 'admin::hasPermissions', config: { actions: ['admin::transfer.tokens.update'] } },
|
|
|
|
],
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
method: 'POST',
|
|
|
|
path: '/transfer/tokens/:id/regenerate',
|
|
|
|
handler: 'transfer.token-regenerate',
|
|
|
|
config: {
|
2023-02-27 17:56:23 +01:00
|
|
|
middlewares: ['admin::data-transfer'],
|
2023-02-02 13:15:41 +01:00
|
|
|
policies: [
|
|
|
|
'admin::isAuthenticatedAdmin',
|
|
|
|
{
|
|
|
|
name: 'admin::hasPermissions',
|
|
|
|
config: { actions: ['admin::transfer.tokens.regenerate'] },
|
|
|
|
},
|
|
|
|
],
|
|
|
|
},
|
|
|
|
},
|
|
|
|
];
|