1import { print } from 'graphql'; 2import gql from 'graphql-tag'; 3 4import { AppByIdQuery } from '../../../graphql/generated'; 5import { graphqlClient, withErrorHandlingAsync } from '../client'; 6import { AppFragmentNode } from '../types/App'; 7 8export const AppQuery = { 9 async byIdAsync(projectId: string): Promise<AppByIdQuery['app']['byId']> { 10 const data = await withErrorHandlingAsync( 11 graphqlClient 12 .query<AppByIdQuery>( 13 gql` 14 query AppByIdQuery($appId: String!) { 15 app { 16 byId(appId: $appId) { 17 id 18 ...AppFragment 19 } 20 } 21 } 22 ${print(AppFragmentNode)} 23 `, 24 { appId: projectId }, 25 { 26 additionalTypenames: ['App'], 27 } 28 ) 29 .toPromise() 30 ); 31 return data.app.byId; 32 }, 33}; 34