feat(opsserver,web): replace the Angular UI and REST management layer with a TypedRequest-based ops server and bundled web frontend
This commit is contained in:
@@ -104,24 +104,56 @@ export class ApiRouter {
|
||||
this.addRoute('POST', '/api/v1/organizations', (ctx) => this.organizationApi.create(ctx));
|
||||
this.addRoute('PUT', '/api/v1/organizations/:id', (ctx) => this.organizationApi.update(ctx));
|
||||
this.addRoute('DELETE', '/api/v1/organizations/:id', (ctx) => this.organizationApi.delete(ctx));
|
||||
this.addRoute('GET', '/api/v1/organizations/:id/members', (ctx) => this.organizationApi.listMembers(ctx));
|
||||
this.addRoute('POST', '/api/v1/organizations/:id/members', (ctx) => this.organizationApi.addMember(ctx));
|
||||
this.addRoute('PUT', '/api/v1/organizations/:id/members/:userId', (ctx) => this.organizationApi.updateMember(ctx));
|
||||
this.addRoute('DELETE', '/api/v1/organizations/:id/members/:userId', (ctx) => this.organizationApi.removeMember(ctx));
|
||||
this.addRoute(
|
||||
'GET',
|
||||
'/api/v1/organizations/:id/members',
|
||||
(ctx) => this.organizationApi.listMembers(ctx),
|
||||
);
|
||||
this.addRoute(
|
||||
'POST',
|
||||
'/api/v1/organizations/:id/members',
|
||||
(ctx) => this.organizationApi.addMember(ctx),
|
||||
);
|
||||
this.addRoute(
|
||||
'PUT',
|
||||
'/api/v1/organizations/:id/members/:userId',
|
||||
(ctx) => this.organizationApi.updateMember(ctx),
|
||||
);
|
||||
this.addRoute(
|
||||
'DELETE',
|
||||
'/api/v1/organizations/:id/members/:userId',
|
||||
(ctx) => this.organizationApi.removeMember(ctx),
|
||||
);
|
||||
|
||||
// Repository routes
|
||||
this.addRoute('GET', '/api/v1/organizations/:orgId/repositories', (ctx) => this.repositoryApi.list(ctx));
|
||||
this.addRoute(
|
||||
'GET',
|
||||
'/api/v1/organizations/:orgId/repositories',
|
||||
(ctx) => this.repositoryApi.list(ctx),
|
||||
);
|
||||
this.addRoute('GET', '/api/v1/repositories/:id', (ctx) => this.repositoryApi.get(ctx));
|
||||
this.addRoute('POST', '/api/v1/organizations/:orgId/repositories', (ctx) => this.repositoryApi.create(ctx));
|
||||
this.addRoute(
|
||||
'POST',
|
||||
'/api/v1/organizations/:orgId/repositories',
|
||||
(ctx) => this.repositoryApi.create(ctx),
|
||||
);
|
||||
this.addRoute('PUT', '/api/v1/repositories/:id', (ctx) => this.repositoryApi.update(ctx));
|
||||
this.addRoute('DELETE', '/api/v1/repositories/:id', (ctx) => this.repositoryApi.delete(ctx));
|
||||
|
||||
// Package routes
|
||||
this.addRoute('GET', '/api/v1/packages', (ctx) => this.packageApi.search(ctx));
|
||||
this.addRoute('GET', '/api/v1/packages/:id', (ctx) => this.packageApi.get(ctx));
|
||||
this.addRoute('GET', '/api/v1/packages/:id/versions', (ctx) => this.packageApi.listVersions(ctx));
|
||||
this.addRoute(
|
||||
'GET',
|
||||
'/api/v1/packages/:id/versions',
|
||||
(ctx) => this.packageApi.listVersions(ctx),
|
||||
);
|
||||
this.addRoute('DELETE', '/api/v1/packages/:id', (ctx) => this.packageApi.delete(ctx));
|
||||
this.addRoute('DELETE', '/api/v1/packages/:id/versions/:version', (ctx) => this.packageApi.deleteVersion(ctx));
|
||||
this.addRoute(
|
||||
'DELETE',
|
||||
'/api/v1/packages/:id/versions/:version',
|
||||
(ctx) => this.packageApi.deleteVersion(ctx),
|
||||
);
|
||||
|
||||
// Token routes
|
||||
this.addRoute('GET', '/api/v1/tokens', (ctx) => this.tokenApi.list(ctx));
|
||||
@@ -138,14 +170,46 @@ export class ApiRouter {
|
||||
this.addRoute('POST', '/api/v1/auth/ldap/:id/login', (ctx) => this.oauthApi.ldapLogin(ctx));
|
||||
|
||||
// Admin auth routes (platform admin only)
|
||||
this.addRoute('GET', '/api/v1/admin/auth/providers', (ctx) => this.adminAuthApi.listProviders(ctx));
|
||||
this.addRoute('POST', '/api/v1/admin/auth/providers', (ctx) => this.adminAuthApi.createProvider(ctx));
|
||||
this.addRoute('GET', '/api/v1/admin/auth/providers/:id', (ctx) => this.adminAuthApi.getProvider(ctx));
|
||||
this.addRoute('PUT', '/api/v1/admin/auth/providers/:id', (ctx) => this.adminAuthApi.updateProvider(ctx));
|
||||
this.addRoute('DELETE', '/api/v1/admin/auth/providers/:id', (ctx) => this.adminAuthApi.deleteProvider(ctx));
|
||||
this.addRoute('POST', '/api/v1/admin/auth/providers/:id/test', (ctx) => this.adminAuthApi.testProvider(ctx));
|
||||
this.addRoute('GET', '/api/v1/admin/auth/settings', (ctx) => this.adminAuthApi.getSettings(ctx));
|
||||
this.addRoute('PUT', '/api/v1/admin/auth/settings', (ctx) => this.adminAuthApi.updateSettings(ctx));
|
||||
this.addRoute(
|
||||
'GET',
|
||||
'/api/v1/admin/auth/providers',
|
||||
(ctx) => this.adminAuthApi.listProviders(ctx),
|
||||
);
|
||||
this.addRoute(
|
||||
'POST',
|
||||
'/api/v1/admin/auth/providers',
|
||||
(ctx) => this.adminAuthApi.createProvider(ctx),
|
||||
);
|
||||
this.addRoute(
|
||||
'GET',
|
||||
'/api/v1/admin/auth/providers/:id',
|
||||
(ctx) => this.adminAuthApi.getProvider(ctx),
|
||||
);
|
||||
this.addRoute(
|
||||
'PUT',
|
||||
'/api/v1/admin/auth/providers/:id',
|
||||
(ctx) => this.adminAuthApi.updateProvider(ctx),
|
||||
);
|
||||
this.addRoute(
|
||||
'DELETE',
|
||||
'/api/v1/admin/auth/providers/:id',
|
||||
(ctx) => this.adminAuthApi.deleteProvider(ctx),
|
||||
);
|
||||
this.addRoute(
|
||||
'POST',
|
||||
'/api/v1/admin/auth/providers/:id/test',
|
||||
(ctx) => this.adminAuthApi.testProvider(ctx),
|
||||
);
|
||||
this.addRoute(
|
||||
'GET',
|
||||
'/api/v1/admin/auth/settings',
|
||||
(ctx) => this.adminAuthApi.getSettings(ctx),
|
||||
);
|
||||
this.addRoute(
|
||||
'PUT',
|
||||
'/api/v1/admin/auth/settings',
|
||||
(ctx) => this.adminAuthApi.updateSettings(ctx),
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user