Vérification par docker compose config avant écriture, application avec docker compose up -d et retour à la version précédente en cas d'échec. Historique des versions par fichier. Le Caddyfile et le compose gardent un retour à la ligne final. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
240 lines
14 KiB
TypeScript
240 lines
14 KiB
TypeScript
/* eslint-disable prettier/prettier */
|
|
import type { AdonisEndpoint } from '@tuyau/core/types'
|
|
import type { Registry } from './schema.d.ts'
|
|
import type { ApiDefinition } from './tree.d.ts'
|
|
|
|
const placeholder: any = {}
|
|
|
|
const routes = {
|
|
'auth.login': {
|
|
methods: ["POST"],
|
|
pattern: '/api/auth/login',
|
|
tokens: [{"old":"/api/auth/login","type":0,"val":"api","end":""},{"old":"/api/auth/login","type":0,"val":"auth","end":""},{"old":"/api/auth/login","type":0,"val":"login","end":""}],
|
|
types: placeholder as Registry['auth.login']['types'],
|
|
},
|
|
'auth.logout': {
|
|
methods: ["POST"],
|
|
pattern: '/api/auth/logout',
|
|
tokens: [{"old":"/api/auth/logout","type":0,"val":"api","end":""},{"old":"/api/auth/logout","type":0,"val":"auth","end":""},{"old":"/api/auth/logout","type":0,"val":"logout","end":""}],
|
|
types: placeholder as Registry['auth.logout']['types'],
|
|
},
|
|
'auth.me': {
|
|
methods: ["GET","HEAD"],
|
|
pattern: '/api/auth/me',
|
|
tokens: [{"old":"/api/auth/me","type":0,"val":"api","end":""},{"old":"/api/auth/me","type":0,"val":"auth","end":""},{"old":"/api/auth/me","type":0,"val":"me","end":""}],
|
|
types: placeholder as Registry['auth.me']['types'],
|
|
},
|
|
'overview.index': {
|
|
methods: ["GET","HEAD"],
|
|
pattern: '/api/overview',
|
|
tokens: [{"old":"/api/overview","type":0,"val":"api","end":""},{"old":"/api/overview","type":0,"val":"overview","end":""}],
|
|
types: placeholder as Registry['overview.index']['types'],
|
|
},
|
|
'metrics.live': {
|
|
methods: ["GET","HEAD"],
|
|
pattern: '/api/metrics/live',
|
|
tokens: [{"old":"/api/metrics/live","type":0,"val":"api","end":""},{"old":"/api/metrics/live","type":0,"val":"metrics","end":""},{"old":"/api/metrics/live","type":0,"val":"live","end":""}],
|
|
types: placeholder as Registry['metrics.live']['types'],
|
|
},
|
|
'metrics.history': {
|
|
methods: ["GET","HEAD"],
|
|
pattern: '/api/metrics/history',
|
|
tokens: [{"old":"/api/metrics/history","type":0,"val":"api","end":""},{"old":"/api/metrics/history","type":0,"val":"metrics","end":""},{"old":"/api/metrics/history","type":0,"val":"history","end":""}],
|
|
types: placeholder as Registry['metrics.history']['types'],
|
|
},
|
|
'containers.index': {
|
|
methods: ["GET","HEAD"],
|
|
pattern: '/api/containers',
|
|
tokens: [{"old":"/api/containers","type":0,"val":"api","end":""},{"old":"/api/containers","type":0,"val":"containers","end":""}],
|
|
types: placeholder as Registry['containers.index']['types'],
|
|
},
|
|
'containers.show': {
|
|
methods: ["GET","HEAD"],
|
|
pattern: '/api/containers/:id',
|
|
tokens: [{"old":"/api/containers/:id","type":0,"val":"api","end":""},{"old":"/api/containers/:id","type":0,"val":"containers","end":""},{"old":"/api/containers/:id","type":1,"val":"id","end":""}],
|
|
types: placeholder as Registry['containers.show']['types'],
|
|
},
|
|
'containers.logs': {
|
|
methods: ["GET","HEAD"],
|
|
pattern: '/api/containers/:id/logs',
|
|
tokens: [{"old":"/api/containers/:id/logs","type":0,"val":"api","end":""},{"old":"/api/containers/:id/logs","type":0,"val":"containers","end":""},{"old":"/api/containers/:id/logs","type":1,"val":"id","end":""},{"old":"/api/containers/:id/logs","type":0,"val":"logs","end":""}],
|
|
types: placeholder as Registry['containers.logs']['types'],
|
|
},
|
|
'compose.show': {
|
|
methods: ["GET","HEAD"],
|
|
pattern: '/api/containers/:id/compose',
|
|
tokens: [{"old":"/api/containers/:id/compose","type":0,"val":"api","end":""},{"old":"/api/containers/:id/compose","type":0,"val":"containers","end":""},{"old":"/api/containers/:id/compose","type":1,"val":"id","end":""},{"old":"/api/containers/:id/compose","type":0,"val":"compose","end":""}],
|
|
types: placeholder as Registry['compose.show']['types'],
|
|
},
|
|
'compose.update': {
|
|
methods: ["PUT"],
|
|
pattern: '/api/containers/:id/compose',
|
|
tokens: [{"old":"/api/containers/:id/compose","type":0,"val":"api","end":""},{"old":"/api/containers/:id/compose","type":0,"val":"containers","end":""},{"old":"/api/containers/:id/compose","type":1,"val":"id","end":""},{"old":"/api/containers/:id/compose","type":0,"val":"compose","end":""}],
|
|
types: placeholder as Registry['compose.update']['types'],
|
|
},
|
|
'compose.version': {
|
|
methods: ["GET","HEAD"],
|
|
pattern: '/api/containers/:id/compose/versions/:versionId',
|
|
tokens: [{"old":"/api/containers/:id/compose/versions/:versionId","type":0,"val":"api","end":""},{"old":"/api/containers/:id/compose/versions/:versionId","type":0,"val":"containers","end":""},{"old":"/api/containers/:id/compose/versions/:versionId","type":1,"val":"id","end":""},{"old":"/api/containers/:id/compose/versions/:versionId","type":0,"val":"compose","end":""},{"old":"/api/containers/:id/compose/versions/:versionId","type":0,"val":"versions","end":""},{"old":"/api/containers/:id/compose/versions/:versionId","type":1,"val":"versionId","end":""}],
|
|
types: placeholder as Registry['compose.version']['types'],
|
|
},
|
|
'containers.action': {
|
|
methods: ["POST"],
|
|
pattern: '/api/containers/:id/:action',
|
|
tokens: [{"old":"/api/containers/:id/:action","type":0,"val":"api","end":""},{"old":"/api/containers/:id/:action","type":0,"val":"containers","end":""},{"old":"/api/containers/:id/:action","type":1,"val":"id","end":""},{"old":"/api/containers/:id/:action","type":1,"val":"action","end":""}],
|
|
types: placeholder as Registry['containers.action']['types'],
|
|
},
|
|
'sites.index': {
|
|
methods: ["GET","HEAD"],
|
|
pattern: '/api/sites',
|
|
tokens: [{"old":"/api/sites","type":0,"val":"api","end":""},{"old":"/api/sites","type":0,"val":"sites","end":""}],
|
|
types: placeholder as Registry['sites.index']['types'],
|
|
},
|
|
'sites.check': {
|
|
methods: ["POST"],
|
|
pattern: '/api/sites/check',
|
|
tokens: [{"old":"/api/sites/check","type":0,"val":"api","end":""},{"old":"/api/sites/check","type":0,"val":"sites","end":""},{"old":"/api/sites/check","type":0,"val":"check","end":""}],
|
|
types: placeholder as Registry['sites.check']['types'],
|
|
},
|
|
'sites.show': {
|
|
methods: ["GET","HEAD"],
|
|
pattern: '/api/sites/:id',
|
|
tokens: [{"old":"/api/sites/:id","type":0,"val":"api","end":""},{"old":"/api/sites/:id","type":0,"val":"sites","end":""},{"old":"/api/sites/:id","type":1,"val":"id","end":""}],
|
|
types: placeholder as Registry['sites.show']['types'],
|
|
},
|
|
'projects.index': {
|
|
methods: ["GET","HEAD"],
|
|
pattern: '/api/projects',
|
|
tokens: [{"old":"/api/projects","type":0,"val":"api","end":""},{"old":"/api/projects","type":0,"val":"projects","end":""}],
|
|
types: placeholder as Registry['projects.index']['types'],
|
|
},
|
|
'projects.store': {
|
|
methods: ["POST"],
|
|
pattern: '/api/projects',
|
|
tokens: [{"old":"/api/projects","type":0,"val":"api","end":""},{"old":"/api/projects","type":0,"val":"projects","end":""}],
|
|
types: placeholder as Registry['projects.store']['types'],
|
|
},
|
|
'projects.options': {
|
|
methods: ["GET","HEAD"],
|
|
pattern: '/api/projects/options',
|
|
tokens: [{"old":"/api/projects/options","type":0,"val":"api","end":""},{"old":"/api/projects/options","type":0,"val":"projects","end":""},{"old":"/api/projects/options","type":0,"val":"options","end":""}],
|
|
types: placeholder as Registry['projects.options']['types'],
|
|
},
|
|
'projects.show': {
|
|
methods: ["GET","HEAD"],
|
|
pattern: '/api/projects/:category/:name',
|
|
tokens: [{"old":"/api/projects/:category/:name","type":0,"val":"api","end":""},{"old":"/api/projects/:category/:name","type":0,"val":"projects","end":""},{"old":"/api/projects/:category/:name","type":1,"val":"category","end":""},{"old":"/api/projects/:category/:name","type":1,"val":"name","end":""}],
|
|
types: placeholder as Registry['projects.show']['types'],
|
|
},
|
|
'projects.fetch': {
|
|
methods: ["POST"],
|
|
pattern: '/api/projects/:category/:name/fetch',
|
|
tokens: [{"old":"/api/projects/:category/:name/fetch","type":0,"val":"api","end":""},{"old":"/api/projects/:category/:name/fetch","type":0,"val":"projects","end":""},{"old":"/api/projects/:category/:name/fetch","type":1,"val":"category","end":""},{"old":"/api/projects/:category/:name/fetch","type":1,"val":"name","end":""},{"old":"/api/projects/:category/:name/fetch","type":0,"val":"fetch","end":""}],
|
|
types: placeholder as Registry['projects.fetch']['types'],
|
|
},
|
|
'projects.action': {
|
|
methods: ["POST"],
|
|
pattern: '/api/projects/:category/:name/actions/:action',
|
|
tokens: [{"old":"/api/projects/:category/:name/actions/:action","type":0,"val":"api","end":""},{"old":"/api/projects/:category/:name/actions/:action","type":0,"val":"projects","end":""},{"old":"/api/projects/:category/:name/actions/:action","type":1,"val":"category","end":""},{"old":"/api/projects/:category/:name/actions/:action","type":1,"val":"name","end":""},{"old":"/api/projects/:category/:name/actions/:action","type":0,"val":"actions","end":""},{"old":"/api/projects/:category/:name/actions/:action","type":1,"val":"action","end":""}],
|
|
types: placeholder as Registry['projects.action']['types'],
|
|
},
|
|
'caddy.show': {
|
|
methods: ["GET","HEAD"],
|
|
pattern: '/api/caddy',
|
|
tokens: [{"old":"/api/caddy","type":0,"val":"api","end":""},{"old":"/api/caddy","type":0,"val":"caddy","end":""}],
|
|
types: placeholder as Registry['caddy.show']['types'],
|
|
},
|
|
'caddy.update': {
|
|
methods: ["PUT"],
|
|
pattern: '/api/caddy',
|
|
tokens: [{"old":"/api/caddy","type":0,"val":"api","end":""},{"old":"/api/caddy","type":0,"val":"caddy","end":""}],
|
|
types: placeholder as Registry['caddy.update']['types'],
|
|
},
|
|
'caddy.reload': {
|
|
methods: ["POST"],
|
|
pattern: '/api/caddy/reload',
|
|
tokens: [{"old":"/api/caddy/reload","type":0,"val":"api","end":""},{"old":"/api/caddy/reload","type":0,"val":"caddy","end":""},{"old":"/api/caddy/reload","type":0,"val":"reload","end":""}],
|
|
types: placeholder as Registry['caddy.reload']['types'],
|
|
},
|
|
'caddy.versions': {
|
|
methods: ["GET","HEAD"],
|
|
pattern: '/api/caddy/versions',
|
|
tokens: [{"old":"/api/caddy/versions","type":0,"val":"api","end":""},{"old":"/api/caddy/versions","type":0,"val":"caddy","end":""},{"old":"/api/caddy/versions","type":0,"val":"versions","end":""}],
|
|
types: placeholder as Registry['caddy.versions']['types'],
|
|
},
|
|
'caddy.version': {
|
|
methods: ["GET","HEAD"],
|
|
pattern: '/api/caddy/versions/:id',
|
|
tokens: [{"old":"/api/caddy/versions/:id","type":0,"val":"api","end":""},{"old":"/api/caddy/versions/:id","type":0,"val":"caddy","end":""},{"old":"/api/caddy/versions/:id","type":0,"val":"versions","end":""},{"old":"/api/caddy/versions/:id","type":1,"val":"id","end":""}],
|
|
types: placeholder as Registry['caddy.version']['types'],
|
|
},
|
|
'caddy.restore': {
|
|
methods: ["POST"],
|
|
pattern: '/api/caddy/versions/:id/restore',
|
|
tokens: [{"old":"/api/caddy/versions/:id/restore","type":0,"val":"api","end":""},{"old":"/api/caddy/versions/:id/restore","type":0,"val":"caddy","end":""},{"old":"/api/caddy/versions/:id/restore","type":0,"val":"versions","end":""},{"old":"/api/caddy/versions/:id/restore","type":1,"val":"id","end":""},{"old":"/api/caddy/versions/:id/restore","type":0,"val":"restore","end":""}],
|
|
types: placeholder as Registry['caddy.restore']['types'],
|
|
},
|
|
'backups.index': {
|
|
methods: ["GET","HEAD"],
|
|
pattern: '/api/backups',
|
|
tokens: [{"old":"/api/backups","type":0,"val":"api","end":""},{"old":"/api/backups","type":0,"val":"backups","end":""}],
|
|
types: placeholder as Registry['backups.index']['types'],
|
|
},
|
|
'backups.store': {
|
|
methods: ["POST"],
|
|
pattern: '/api/backups',
|
|
tokens: [{"old":"/api/backups","type":0,"val":"api","end":""},{"old":"/api/backups","type":0,"val":"backups","end":""}],
|
|
types: placeholder as Registry['backups.store']['types'],
|
|
},
|
|
'backups.download': {
|
|
methods: ["GET","HEAD"],
|
|
pattern: '/api/backups/:name',
|
|
tokens: [{"old":"/api/backups/:name","type":0,"val":"api","end":""},{"old":"/api/backups/:name","type":0,"val":"backups","end":""},{"old":"/api/backups/:name","type":1,"val":"name","end":""}],
|
|
types: placeholder as Registry['backups.download']['types'],
|
|
},
|
|
'backups.destroy': {
|
|
methods: ["DELETE"],
|
|
pattern: '/api/backups/:name',
|
|
tokens: [{"old":"/api/backups/:name","type":0,"val":"api","end":""},{"old":"/api/backups/:name","type":0,"val":"backups","end":""},{"old":"/api/backups/:name","type":1,"val":"name","end":""}],
|
|
types: placeholder as Registry['backups.destroy']['types'],
|
|
},
|
|
'jobs.stream': {
|
|
methods: ["GET","HEAD"],
|
|
pattern: '/api/jobs/:id/stream',
|
|
tokens: [{"old":"/api/jobs/:id/stream","type":0,"val":"api","end":""},{"old":"/api/jobs/:id/stream","type":0,"val":"jobs","end":""},{"old":"/api/jobs/:id/stream","type":1,"val":"id","end":""},{"old":"/api/jobs/:id/stream","type":0,"val":"stream","end":""}],
|
|
types: placeholder as Registry['jobs.stream']['types'],
|
|
},
|
|
'audit.index': {
|
|
methods: ["GET","HEAD"],
|
|
pattern: '/api/audit',
|
|
tokens: [{"old":"/api/audit","type":0,"val":"api","end":""},{"old":"/api/audit","type":0,"val":"audit","end":""}],
|
|
types: placeholder as Registry['audit.index']['types'],
|
|
},
|
|
'audit.show': {
|
|
methods: ["GET","HEAD"],
|
|
pattern: '/api/audit/:id',
|
|
tokens: [{"old":"/api/audit/:id","type":0,"val":"api","end":""},{"old":"/api/audit/:id","type":0,"val":"audit","end":""},{"old":"/api/audit/:id","type":1,"val":"id","end":""}],
|
|
types: placeholder as Registry['audit.show']['types'],
|
|
},
|
|
'spa.index': {
|
|
methods: ["GET","HEAD"],
|
|
pattern: '/*',
|
|
tokens: [{"old":"/*","type":2,"val":"*","end":""}],
|
|
types: placeholder as Registry['spa.index']['types'],
|
|
},
|
|
} as const satisfies Record<string, AdonisEndpoint>
|
|
|
|
export { routes }
|
|
|
|
export const registry = {
|
|
routes,
|
|
$tree: {} as ApiDefinition,
|
|
}
|
|
|
|
declare module '@tuyau/core/types' {
|
|
export interface UserRegistry {
|
|
routes: typeof routes
|
|
$tree: ApiDefinition
|
|
}
|
|
}
|