@@ -20,11 +20,16 @@ import { graphql } from 'terraso-client-shared/graphqlSchema';
2020import type {
2121 SiteAddMutationInput ,
2222 SiteDataFragment ,
23+ SiteDeleteMutationInput ,
2324 SiteUpdateMutationInput ,
2425} from 'terraso-client-shared/graphqlSchema/graphql' ;
2526import type { Site } from 'terraso-client-shared/site/siteSlice' ;
2627import * as terrasoApi from 'terraso-client-shared/terrasoApi/api' ;
27- import { collapseConnectionEdges } from 'terraso-client-shared/terrasoApi/utils' ;
28+ import {
29+ collapseConnectionEdges ,
30+ UpdateArg ,
31+ updateArgToInput ,
32+ } from 'terraso-client-shared/terrasoApi/utils' ;
2833
2934const collapseSiteFields = ( site : SiteDataFragment ) : Site => {
3035 const { project, owner, ...rest } = site ;
@@ -117,7 +122,7 @@ export const addSite = (site: SiteAddMutationInput) => {
117122 . then ( resp => collapseSiteFields ( resp . addSite . site ) ) ;
118123} ;
119124
120- export const updateSite = ( site : SiteUpdateMutationInput ) => {
125+ export const updateSite = ( update : UpdateArg < SiteUpdateMutationInput > ) => {
121126 const query = graphql ( `
122127 mutation updateSite($input: SiteUpdateMutationInput!) {
123128 updateSite(input: $input) {
@@ -130,20 +135,23 @@ export const updateSite = (site: SiteUpdateMutationInput) => {
130135 ` ) ;
131136
132137 return terrasoApi
133- . requestGraphQL ( query , { input : site } )
138+ . requestGraphQL ( query , updateArgToInput ( update ) )
134139 . then ( resp => collapseSiteFields ( resp . updateSite . site ! ) ) ;
135140} ;
136141
137- export const deleteSite = ( site : Site ) => {
142+ export const deleteSite = ( site : SiteDeleteMutationInput ) => {
138143 const query = graphql ( `
139144 mutation deleteSite($input: SiteDeleteMutationInput!) {
140145 deleteSite(input: $input) {
146+ site {
147+ id
148+ }
141149 errors
142150 }
143151 }
144152 ` ) ;
145153
146154 return terrasoApi
147- . requestGraphQL ( query , { input : { id : site . id } } )
148- . then ( _ => site . id ) ;
155+ . requestGraphQL ( query , { input : site } )
156+ . then ( ( { deleteSite : { site } } ) => site . id ) ;
149157} ;
0 commit comments