@brianveltman/sonatype-mcp
Version:
Model Context Protocol server for Sonatype Nexus Repository Manager
43 lines • 1.69 kB
JavaScript
export class RepositoryService {
nexusClient;
constructor(nexusClient) {
this.nexusClient = nexusClient;
}
async listRepositories(params = {}) {
const queryParams = {};
if (params.format) {
queryParams.format = params.format;
}
if (params.type) {
queryParams.type = params.type;
}
const repositories = await this.nexusClient.get('/service/rest/v1/repositories', {
params: queryParams
});
return repositories;
}
async getRepository(name) {
const repository = await this.nexusClient.get(`/service/rest/v1/repositories/${encodeURIComponent(name)}`);
return repository;
}
async createRepository(repositoryConfig) {
const repository = await this.nexusClient.post('/service/rest/v1/repositories', repositoryConfig);
return repository;
}
async updateRepository(name, repositoryConfig) {
const repository = await this.nexusClient.put(`/service/rest/v1/repositories/${encodeURIComponent(name)}`, repositoryConfig);
return repository;
}
async deleteRepository(name) {
await this.nexusClient.delete(`/service/rest/v1/repositories/${encodeURIComponent(name)}`);
}
async getRepositoryHealth(name) {
const health = await this.nexusClient.get(`/service/rest/v1/repositories/${encodeURIComponent(name)}/health-check`);
return health;
}
async getRepositoryStatus(name) {
const status = await this.nexusClient.get(`/service/rest/v1/repositories/${encodeURIComponent(name)}/status`);
return status;
}
}
//# sourceMappingURL=repositories.js.map