shared/domain/image/
tag.rs1use macros::make_path_parts;
4use serde::{Deserialize, Serialize};
5
6use crate::{api::endpoints::PathPart, domain::meta::ImageTagIndex};
7
8make_path_parts!(ImageTagCreatePath => "/v1/image/tag/{}" => i16);
10
11#[derive(Serialize, Deserialize, Debug)]
13pub struct ImageTagCreateRequest {
14 pub display_name: String,
16}
17
18make_path_parts!(ImageTagListPath => "/v1/image/tag/all");
19
20#[derive(Serialize, Deserialize)]
22pub struct ImageTagListResponse {
23 pub image_tags: Vec<ImageTagResponse>,
25}
26
27#[derive(Serialize, Deserialize)]
29pub struct ImageTagResponse {
30 pub index: ImageTagIndex,
32
33 pub display_name: String,
35}
36
37make_path_parts!(ImageTagUpdatePath => "/v1/image/tag/{}" => i16);
39
40#[derive(Serialize, Deserialize, Debug)]
42pub struct ImageTagUpdateRequest {
43 pub display_name: Option<String>,
45
46 pub index: Option<ImageTagIndex>,
51}
52
53make_path_parts!(ImageTagDeletePath => "/v1/image/tag/{}" => i16);