API: generate more RTK query for edge
This commit adds more RTQ query in preparation of porting edge source code to image-builder-frontend
This commit is contained in:
parent
9fe77c5e67
commit
e998dd802b
2 changed files with 468 additions and 3 deletions
|
|
@ -7,7 +7,27 @@ const config: ConfigFile = {
|
|||
outputFile: '../../src/store/edgeApi.ts',
|
||||
exportName: 'edgeApi',
|
||||
hooks: true,
|
||||
filterEndpoints: ['getAllImages', 'getImageStatusByID', 'getImageByID'],
|
||||
filterEndpoints: [
|
||||
'createImage',
|
||||
'createImageUpdate',
|
||||
'getAllImages',
|
||||
'getImageStatusByID',
|
||||
'getImageByID',
|
||||
'getImageDetailsByID',
|
||||
'getImageByOstree',
|
||||
'createInstallerForImage',
|
||||
'getRepoForImage',
|
||||
'getMetadataForImage',
|
||||
'createKickStartForImage',
|
||||
'checkImageName',
|
||||
'retryCreateImage',
|
||||
'listAllImageSets',
|
||||
'getImageSetsByID',
|
||||
'getImageSetsView',
|
||||
'getImageSetViewByID',
|
||||
'getAllImageSetImagesView',
|
||||
'getImageSetsDevicesByID',
|
||||
],
|
||||
};
|
||||
|
||||
export default config;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,52 @@
|
|||
import { emptyEdgeApi as api } from "./emptyEdgeApi";
|
||||
const injectedRtkApi = api.injectEndpoints({
|
||||
endpoints: (build) => ({
|
||||
listAllImageSets: build.query<
|
||||
ListAllImageSetsApiResponse,
|
||||
ListAllImageSetsApiArg
|
||||
>({
|
||||
query: (queryArg) => ({
|
||||
url: `/image-sets`,
|
||||
params: {
|
||||
sort_by: queryArg.sortBy,
|
||||
name: queryArg.name,
|
||||
status: queryArg.status,
|
||||
limit: queryArg.limit,
|
||||
offset: queryArg.offset,
|
||||
},
|
||||
}),
|
||||
}),
|
||||
getImageSetsView: build.query<
|
||||
GetImageSetsViewApiResponse,
|
||||
GetImageSetsViewApiArg
|
||||
>({
|
||||
query: (queryArg) => ({
|
||||
url: `/image-sets/view`,
|
||||
params: {
|
||||
sort_by: queryArg.sortBy,
|
||||
name: queryArg.name,
|
||||
status: queryArg.status,
|
||||
id: queryArg.id,
|
||||
limit: queryArg.limit,
|
||||
offset: queryArg.offset,
|
||||
},
|
||||
}),
|
||||
}),
|
||||
getAllImageSetImagesView: build.query<
|
||||
GetAllImageSetImagesViewApiResponse,
|
||||
GetAllImageSetImagesViewApiArg
|
||||
>({
|
||||
query: (queryArg) => ({
|
||||
url: `/image-sets/view/${queryArg.imageSetId}/versions`,
|
||||
params: {
|
||||
sort_by: queryArg.sortBy,
|
||||
status: queryArg.status,
|
||||
version: queryArg.version,
|
||||
limit: queryArg.limit,
|
||||
offset: queryArg.offset,
|
||||
},
|
||||
}),
|
||||
}),
|
||||
getAllImages: build.query<GetAllImagesApiResponse, GetAllImagesApiArg>({
|
||||
query: (queryArg) => ({
|
||||
url: `/images`,
|
||||
|
|
@ -15,10 +61,133 @@ const injectedRtkApi = api.injectEndpoints({
|
|||
},
|
||||
}),
|
||||
}),
|
||||
createImage: build.mutation<CreateImageApiResponse, CreateImageApiArg>({
|
||||
query: (queryArg) => ({
|
||||
url: `/images`,
|
||||
method: "POST",
|
||||
body: queryArg.createImage,
|
||||
}),
|
||||
}),
|
||||
checkImageName: build.mutation<
|
||||
CheckImageNameApiResponse,
|
||||
CheckImageNameApiArg
|
||||
>({
|
||||
query: (queryArg) => ({
|
||||
url: `/images/checkImageName`,
|
||||
method: "POST",
|
||||
body: queryArg.createImage,
|
||||
}),
|
||||
}),
|
||||
createInstallerForImage: build.mutation<
|
||||
CreateInstallerForImageApiResponse,
|
||||
CreateInstallerForImageApiArg
|
||||
>({
|
||||
query: (queryArg) => ({
|
||||
url: `/images/${queryArg.imageId}/installer`,
|
||||
method: "POST",
|
||||
body: queryArg.createImage,
|
||||
}),
|
||||
}),
|
||||
createKickStartForImage: build.mutation<
|
||||
CreateKickStartForImageApiResponse,
|
||||
CreateKickStartForImageApiArg
|
||||
>({
|
||||
query: (queryArg) => ({
|
||||
url: `/images/${queryArg.imageId}/kickstart`,
|
||||
method: "POST",
|
||||
body: queryArg.createImage,
|
||||
}),
|
||||
}),
|
||||
getMetadataForImage: build.query<
|
||||
GetMetadataForImageApiResponse,
|
||||
GetMetadataForImageApiArg
|
||||
>({
|
||||
query: (queryArg) => ({ url: `/images/${queryArg.imageId}/metadata` }),
|
||||
}),
|
||||
getRepoForImage: build.query<
|
||||
GetRepoForImageApiResponse,
|
||||
GetRepoForImageApiArg
|
||||
>({
|
||||
query: (queryArg) => ({ url: `/images/${queryArg.imageId}/repo` }),
|
||||
}),
|
||||
retryCreateImage: build.mutation<
|
||||
RetryCreateImageApiResponse,
|
||||
RetryCreateImageApiArg
|
||||
>({
|
||||
query: (queryArg) => ({
|
||||
url: `/images/${queryArg.imageId}/retry`,
|
||||
method: "POST",
|
||||
body: queryArg.createImage,
|
||||
}),
|
||||
}),
|
||||
createImageUpdate: build.mutation<
|
||||
CreateImageUpdateApiResponse,
|
||||
CreateImageUpdateApiArg
|
||||
>({
|
||||
query: (queryArg) => ({
|
||||
url: `/images/${queryArg.imageId}/update`,
|
||||
method: "POST",
|
||||
body: queryArg.createImage,
|
||||
}),
|
||||
}),
|
||||
getImageByOstree: build.query<
|
||||
GetImageByOstreeApiResponse,
|
||||
GetImageByOstreeApiArg
|
||||
>({
|
||||
query: (queryArg) => ({
|
||||
url: `/images/${queryArg.ostreeCommitHash}/info`,
|
||||
}),
|
||||
}),
|
||||
}),
|
||||
overrideExisting: false,
|
||||
});
|
||||
export { injectedRtkApi as edgeApi };
|
||||
export type ListAllImageSetsApiResponse =
|
||||
/** status 200 OK */ ModelsImageSetsResponseApi;
|
||||
export type ListAllImageSetsApiArg = {
|
||||
/** Define sort fields: created_at, updated_at, name. To sort DESC use - */
|
||||
sortBy?: string;
|
||||
/** field: filter by name */
|
||||
name?: string;
|
||||
/** field: filter by status */
|
||||
status?: string;
|
||||
/** field: return number of image-set view until limit is reached. Default is 100. */
|
||||
limit?: number;
|
||||
/** field: return number of image-set view beginning at the offset. */
|
||||
offset?: number;
|
||||
};
|
||||
export type GetImageSetsViewApiResponse =
|
||||
/** status 200 OK */ ModelsImageSetsViewResponseApi;
|
||||
export type GetImageSetsViewApiArg = {
|
||||
/** Define sort fields: created_at, updated_at, name. To sort DESC use - */
|
||||
sortBy?: string;
|
||||
/** field: filter by name */
|
||||
name?: string;
|
||||
/** field: filter by status */
|
||||
status?: string;
|
||||
/** field: filter by id */
|
||||
id?: number;
|
||||
/** field: return number of image-set view until limit is reached. Default is 30. */
|
||||
limit?: number;
|
||||
/** field: return number of image-set view beginning at the offset. */
|
||||
offset?: number;
|
||||
};
|
||||
export type GetAllImageSetImagesViewApiResponse =
|
||||
/** status 200 OK */ ModelsImagesViewDataApi;
|
||||
export type GetAllImageSetImagesViewApiArg = {
|
||||
/** the image-set id */
|
||||
imageSetId: number;
|
||||
/** Define sort fields: created_at, version, To sort DESC use - */
|
||||
sortBy?: string;
|
||||
/** field: filter by status */
|
||||
status?: string;
|
||||
/** field: filter by version */
|
||||
version?: string;
|
||||
/** field: return number of images until limit is reached. Default is 100. */
|
||||
limit?: number;
|
||||
/** field: return number of images beginning at the offset. */
|
||||
offset?: number;
|
||||
};
|
||||
export type GetAllImagesApiResponse =
|
||||
/** status 200 OK */ ModelsSuccessPlaceholderResponse;
|
||||
export type GetAllImagesApiArg = {
|
||||
|
|
@ -37,15 +206,291 @@ export type GetAllImagesApiArg = {
|
|||
/** Filter by creation date. */
|
||||
createdAt?: string;
|
||||
};
|
||||
export type ModelsSuccessPlaceholderResponse = object;
|
||||
export type CreateImageApiResponse = /** status 200 OK */ ImageResponse;
|
||||
export type CreateImageApiArg = {
|
||||
/** request body */
|
||||
createImage: CreateImage;
|
||||
};
|
||||
export type CheckImageNameApiResponse =
|
||||
/** status 200 OK */ ModelsSuccessPlaceholderResponse;
|
||||
export type CheckImageNameApiArg = {
|
||||
/** request body */
|
||||
createImage: CreateImage;
|
||||
};
|
||||
export type CreateInstallerForImageApiResponse =
|
||||
/** status 200 OK */ ModelsSuccessPlaceholderResponse;
|
||||
export type CreateInstallerForImageApiArg = {
|
||||
/** Image ID */
|
||||
imageId: number;
|
||||
/** request body */
|
||||
createImage: CreateImage;
|
||||
};
|
||||
export type CreateKickStartForImageApiResponse =
|
||||
/** status 200 OK */ ModelsSuccessPlaceholderResponse;
|
||||
export type CreateKickStartForImageApiArg = {
|
||||
/** Image ID */
|
||||
imageId: number;
|
||||
/** request body */
|
||||
createImage: CreateImage;
|
||||
};
|
||||
export type GetMetadataForImageApiResponse =
|
||||
/** status 200 OK */ ModelsSuccessPlaceholderResponse;
|
||||
export type GetMetadataForImageApiArg = {
|
||||
/** Image ID */
|
||||
imageId: number;
|
||||
};
|
||||
export type GetRepoForImageApiResponse =
|
||||
/** status 200 OK */ ModelsSuccessPlaceholderResponse;
|
||||
export type GetRepoForImageApiArg = {
|
||||
/** Image ID */
|
||||
imageId: number;
|
||||
};
|
||||
export type RetryCreateImageApiResponse =
|
||||
/** status 201 Retry is being processed */ ModelsSuccessPlaceholderResponse;
|
||||
export type RetryCreateImageApiArg = {
|
||||
/** Image ID */
|
||||
imageId: number;
|
||||
/** request body */
|
||||
createImage: CreateImage;
|
||||
};
|
||||
export type CreateImageUpdateApiResponse =
|
||||
/** status 200 OK */ ModelsSuccessPlaceholderResponse;
|
||||
export type CreateImageUpdateApiArg = {
|
||||
/** Image ID */
|
||||
imageId: number;
|
||||
/** request body */
|
||||
createImage: CreateImage;
|
||||
};
|
||||
export type GetImageByOstreeApiResponse =
|
||||
/** status 200 OK */ ModelsSuccessPlaceholderResponse;
|
||||
export type GetImageByOstreeApiArg = {
|
||||
/** Ostree Commit Hash */
|
||||
ostreeCommitHash: string;
|
||||
};
|
||||
export type ModelsEdgeApiTime = {
|
||||
time?: string;
|
||||
valid?: boolean;
|
||||
};
|
||||
export type GormDeletedAt = {
|
||||
time?: string;
|
||||
valid?: boolean;
|
||||
};
|
||||
export type ModelsInstalledPackage = {
|
||||
CreatedAt?: ModelsEdgeApiTime;
|
||||
DeletedAt?: GormDeletedAt;
|
||||
ID?: number;
|
||||
UpdatedAt?: ModelsEdgeApiTime;
|
||||
arch?: string;
|
||||
commits?: ModelsCommit[];
|
||||
epoch?: string;
|
||||
name?: string;
|
||||
release?: string;
|
||||
sigmd5?: string;
|
||||
signature?: string;
|
||||
type?: string;
|
||||
version?: string;
|
||||
};
|
||||
export type ModelsRepo = {
|
||||
CreatedAt?: ModelsEdgeApiTime;
|
||||
DeletedAt?: GormDeletedAt;
|
||||
ID?: number;
|
||||
RepoStatus?: string;
|
||||
RepoURL?: string;
|
||||
UpdatedAt?: ModelsEdgeApiTime;
|
||||
};
|
||||
export type ModelsCommit = {
|
||||
Account?: string;
|
||||
Arch?: string;
|
||||
BlueprintToml?: string;
|
||||
BuildDate?: string;
|
||||
BuildNumber?: number;
|
||||
ChangesRefs?: boolean;
|
||||
ComposeJobID?: string;
|
||||
CreatedAt?: ModelsEdgeApiTime;
|
||||
DeletedAt?: GormDeletedAt;
|
||||
ID?: number;
|
||||
ImageBuildHash?: string;
|
||||
ImageBuildParentHash?: string;
|
||||
ImageBuildTarURL?: string;
|
||||
InstalledPackages?: ModelsInstalledPackage[];
|
||||
OSTreeCommit?: string;
|
||||
OSTreeParentCommit?: string;
|
||||
OSTreeParentRef?: string;
|
||||
OSTreeRef?: string;
|
||||
Repo?: ModelsRepo;
|
||||
RepoID?: number;
|
||||
Status?: string;
|
||||
UpdatedAt?: ModelsEdgeApiTime;
|
||||
external?: boolean;
|
||||
name?: string;
|
||||
org_id?: string;
|
||||
};
|
||||
export type ModelsPackage = {
|
||||
CreatedAt?: ModelsEdgeApiTime;
|
||||
DeletedAt?: GormDeletedAt;
|
||||
ID?: number;
|
||||
Name?: string;
|
||||
UpdatedAt?: ModelsEdgeApiTime;
|
||||
};
|
||||
export type ModelsInstaller = {
|
||||
Account?: string;
|
||||
Checksum?: string;
|
||||
ComposeJobID?: string;
|
||||
CreatedAt?: ModelsEdgeApiTime;
|
||||
DeletedAt?: GormDeletedAt;
|
||||
ID?: number;
|
||||
ImageBuildISOURL?: string;
|
||||
SshKey?: string;
|
||||
Status?: string;
|
||||
UpdatedAt?: ModelsEdgeApiTime;
|
||||
Username?: string;
|
||||
org_id?: string;
|
||||
};
|
||||
export type ModelsThirdPartyRepo = {
|
||||
CreatedAt?: ModelsEdgeApiTime;
|
||||
DeletedAt?: GormDeletedAt;
|
||||
Description?: string;
|
||||
ID?: number;
|
||||
Images?: ModelsImage[];
|
||||
Name?: string;
|
||||
URL?: string;
|
||||
UpdatedAt?: ModelsEdgeApiTime;
|
||||
account?: string;
|
||||
distribution_arch?: string;
|
||||
distribution_version?: string[];
|
||||
gpg_key?: string;
|
||||
org_id?: string;
|
||||
package_count?: number;
|
||||
uuid?: string;
|
||||
};
|
||||
export type ModelsImage = {
|
||||
Account?: string;
|
||||
Commit?: ModelsCommit;
|
||||
CommitID?: number;
|
||||
CreatedAt?: ModelsEdgeApiTime;
|
||||
CustomPackages?: ModelsPackage[];
|
||||
DeletedAt?: GormDeletedAt;
|
||||
Description?: string;
|
||||
Distribution?: string;
|
||||
ID?: number;
|
||||
ImageSetID?: number;
|
||||
ImageType?: string;
|
||||
Installer?: ModelsInstaller;
|
||||
InstallerID?: number;
|
||||
Name?: string;
|
||||
OutputTypes?: string[];
|
||||
Packages?: ModelsPackage[];
|
||||
Status?: string;
|
||||
SystemsRunning?: number;
|
||||
ThirdPartyRepositories?: ModelsThirdPartyRepo[];
|
||||
TotalPackages?: number;
|
||||
UpdatedAt?: ModelsEdgeApiTime;
|
||||
Version?: number;
|
||||
org_id?: string;
|
||||
request_id?: string;
|
||||
};
|
||||
export type ModelsImageSetApi = {
|
||||
CreatedAt?: ModelsEdgeApiTime;
|
||||
DeletedAt?: GormDeletedAt;
|
||||
ID?: number;
|
||||
Images?: ModelsImage[];
|
||||
UpdatedAt?: ModelsEdgeApiTime;
|
||||
name?: string;
|
||||
version?: number;
|
||||
};
|
||||
export type ModelsImageSetInstallerUrlapi = {
|
||||
image_build_iso_url?: string;
|
||||
image_set?: ModelsImageSetApi;
|
||||
};
|
||||
export type ModelsImageSetsResponseApi = {
|
||||
Count?: number;
|
||||
Data?: ModelsImageSetInstallerUrlapi[];
|
||||
};
|
||||
export type ErrorsBadRequest = {
|
||||
Code?: string;
|
||||
Status?: number;
|
||||
Title?: string;
|
||||
};
|
||||
export type ErrorsNotFound = {
|
||||
Code?: string;
|
||||
Status?: number;
|
||||
Title?: string;
|
||||
};
|
||||
export type ErrorsInternalServerError = {
|
||||
Code?: string;
|
||||
Status?: number;
|
||||
Title?: string;
|
||||
};
|
||||
export const { useGetAllImagesQuery } = injectedRtkApi;
|
||||
export type ModelsImageSetView = {
|
||||
Distribution?: string;
|
||||
ID?: number;
|
||||
ImageBuildIsoURL?: string;
|
||||
ImageID?: number;
|
||||
Name?: string;
|
||||
OutputTypes?: string[];
|
||||
Status?: string;
|
||||
UpdatedAt?: ModelsEdgeApiTime;
|
||||
Version?: number;
|
||||
};
|
||||
export type ModelsImageSetsViewResponseApi = {
|
||||
count?: number;
|
||||
data?: ModelsImageSetView[];
|
||||
};
|
||||
export type ModelsImageView = {
|
||||
CommitCheckSum?: string;
|
||||
CreatedAt?: ModelsEdgeApiTime;
|
||||
ID?: number;
|
||||
ImageBuildIsoURL?: string;
|
||||
ImageType?: string;
|
||||
Name?: string;
|
||||
OutputTypes?: string[];
|
||||
Status?: string;
|
||||
Version?: number;
|
||||
};
|
||||
export type ModelsImagesViewDataApi = {
|
||||
count?: number;
|
||||
data?: ModelsImageView[];
|
||||
};
|
||||
export type ModelsSuccessPlaceholderResponse = object;
|
||||
export type ImageResponse = {
|
||||
Account?: string;
|
||||
Commit?: ModelsCommit;
|
||||
CommitID?: number;
|
||||
CreatedAt?: ModelsEdgeApiTime;
|
||||
CustomPackages?: ModelsPackage[];
|
||||
DeletedAt?: GormDeletedAt;
|
||||
Description?: string;
|
||||
Distribution?: string;
|
||||
ID?: number;
|
||||
ImageSetID?: number;
|
||||
ImageType?: string;
|
||||
Installer?: ModelsInstaller;
|
||||
InstallerID?: number;
|
||||
Name?: string;
|
||||
OutputTypes?: string[];
|
||||
Packages?: ModelsPackage[];
|
||||
Status?: string;
|
||||
SystemsRunning?: number;
|
||||
ThirdPartyRepositories?: ModelsThirdPartyRepo[];
|
||||
TotalPackages?: number;
|
||||
UpdatedAt?: ModelsEdgeApiTime;
|
||||
Version?: number;
|
||||
org_id?: string;
|
||||
request_id?: string;
|
||||
};
|
||||
export type CreateImage = object;
|
||||
export const {
|
||||
useListAllImageSetsQuery,
|
||||
useGetImageSetsViewQuery,
|
||||
useGetAllImageSetImagesViewQuery,
|
||||
useGetAllImagesQuery,
|
||||
useCreateImageMutation,
|
||||
useCheckImageNameMutation,
|
||||
useCreateInstallerForImageMutation,
|
||||
useCreateKickStartForImageMutation,
|
||||
useGetMetadataForImageQuery,
|
||||
useGetRepoForImageQuery,
|
||||
useRetryCreateImageMutation,
|
||||
useCreateImageUpdateMutation,
|
||||
useGetImageByOstreeQuery,
|
||||
} = injectedRtkApi;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue