mirror of
https://github.com/nicotsx/ironmount.git
synced 2025-12-10 12:10:51 +01:00
refactor: use short ids to allow changing the name of volumes & repos (#67)
* refactor: use short ids to allow changing the name of volumes & repos * refactor: address PR feedbacks * fix: make short_id non null after initial population
This commit is contained in:
@@ -4,6 +4,7 @@ import { COMPRESSION_MODES, REPOSITORY_BACKENDS, REPOSITORY_STATUS, repositoryCo
|
||||
|
||||
export const repositorySchema = type({
|
||||
id: "string",
|
||||
shortId: "string",
|
||||
name: "string",
|
||||
type: type.valueOf(REPOSITORY_BACKENDS),
|
||||
config: repositoryConfigSchema,
|
||||
@@ -123,6 +124,41 @@ export const deleteRepositoryDto = describeRoute({
|
||||
},
|
||||
});
|
||||
|
||||
/**
|
||||
* Update a repository
|
||||
*/
|
||||
export const updateRepositoryBody = type({
|
||||
name: "string?",
|
||||
compressionMode: type.valueOf(COMPRESSION_MODES).optional(),
|
||||
});
|
||||
|
||||
export type UpdateRepositoryBody = typeof updateRepositoryBody.infer;
|
||||
|
||||
export const updateRepositoryResponse = repositorySchema;
|
||||
export type UpdateRepositoryDto = typeof updateRepositoryResponse.infer;
|
||||
|
||||
export const updateRepositoryDto = describeRoute({
|
||||
description: "Update a repository's name or settings",
|
||||
tags: ["Repositories"],
|
||||
operationId: "updateRepository",
|
||||
responses: {
|
||||
200: {
|
||||
description: "Repository updated successfully",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: resolver(updateRepositoryResponse),
|
||||
},
|
||||
},
|
||||
},
|
||||
404: {
|
||||
description: "Repository not found",
|
||||
},
|
||||
409: {
|
||||
description: "Repository with this name already exists",
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
/**
|
||||
* List snapshots in a repository
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user