'use strict'; const dataTransferAuthStrategy = require('../strategies/data-transfer'); module.exports = [ // Transfer Push { method: 'GET', path: '/transfer/runner/push', handler: 'transfer.runner-push', config: { middlewares: ['admin::data-transfer'], auth: { strategies: [dataTransferAuthStrategy], scope: ['push'] }, }, }, // Transfer Pull { method: 'GET', path: '/transfer/runner/pull', handler: 'transfer.runner-pull', config: { middlewares: ['admin::data-transfer'], auth: { strategies: [dataTransferAuthStrategy], scope: ['pull'] }, }, }, // 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'] }, }, ], }, }, ];