@@ -20,15 +20,14 @@ export const projectApi = createApi({
2020 prepareHeaders : fetchBaseQueryHeaders ,
2121 } ) ,
2222
23- tagTypes : [ 'Projects' , 'ProjectRepos' , 'ProjectLogs' , 'Backends' ] ,
23+ tagTypes : [ 'Projects' , 'NoFleetsProject' , ' ProjectRepos', 'ProjectLogs' , 'Backends' ] ,
2424
2525 endpoints : ( builder ) => ( {
26- getProjects : builder . query < IProject [ ] , TGetProjectsParams | void > ( {
27- query : ( body ) => {
26+ getProjects : builder . query < IProject [ ] , void > ( {
27+ query : ( ) => {
2828 return {
2929 url : API . PROJECTS . LIST ( ) ,
3030 method : 'POST' ,
31- body,
3231 } ;
3332 } ,
3433
@@ -41,6 +40,27 @@ export const projectApi = createApi({
4140 : [ 'Projects' ] ,
4241 } ) ,
4342
43+ getOnlyNoFleetsProjects : builder . query < IProject [ ] , void > ( {
44+ query : ( body ) => {
45+ return {
46+ url : API . PROJECTS . LIST_ONLY_NO_FLEETS ( ) ,
47+ method : 'POST' ,
48+ body,
49+ } ;
50+ } ,
51+
52+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
53+ transformResponse : ( response : any [ ] ) : IProject [ ] => response . map ( transformProjectResponse ) ,
54+
55+ providesTags : ( result ) =>
56+ result
57+ ? [
58+ ...result . map ( ( { project_name } ) => ( { type : 'NoFleetsProject' as const , id : project_name } ) ) ,
59+ 'NoFleetsProject' ,
60+ ]
61+ : [ 'NoFleetsProject' ] ,
62+ } ) ,
63+
4464 getProject : builder . query < IProject , { name : IProject [ 'project_name' ] } > ( {
4565 query : ( { name } ) => {
4666 return {
@@ -181,6 +201,7 @@ export const projectApi = createApi({
181201
182202export const {
183203 useGetProjectsQuery,
204+ useGetOnlyNoFleetsProjectsQuery,
184205 useLazyGetProjectsQuery,
185206 useGetProjectQuery,
186207 useCreateProjectMutation,
0 commit comments