Skip to content

Commit 8c685c7

Browse files
committed
oauth integrations
1 parent d6939fe commit 8c685c7

File tree

5 files changed

+109
-28
lines changed

5 files changed

+109
-28
lines changed

www/src/_deprecated/components/integrations/OAuthIntegrations.tsx

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
1-
import { useQuery } from '@apollo/client'
21
import { Box, Text } from 'grommet'
32
import { Check as Checkmark } from 'forge-core'
43

54
import { ZOOM_ICON, ZOOM_INSTALL_URL } from './constants'
6-
import { OAUTH_Q } from './queries'
75
import { OAuthService } from './types'
6+
import { useOauthIntegrationsQuery } from '../../../generated/graphql'
87

98
function redirectUrl(format, service) {
109
const location = `${
@@ -66,7 +65,9 @@ function Integration({
6665
}
6766

6867
export function OAuthIntegrations() {
69-
const { data } = useQuery(OAUTH_Q, { fetchPolicy: 'cache-and-network' })
68+
const { data } = useOauthIntegrationsQuery({
69+
fetchPolicy: 'cache-and-network',
70+
})
7071

7172
if (!data) return null
7273

www/src/_deprecated/components/integrations/OauthCreator.tsx

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
11
import { useEffect, useMemo } from 'react'
22
import { Errors } from 'forge-core'
33
import { useLocation, useNavigate, useParams } from 'react-router-dom'
4-
import { useMutation } from '@apollo/client'
54

65
import { Box, Text } from 'grommet'
76

87
import { LoopingLogo } from '../../../components/utils/AnimatedLogo'
98

10-
import { CREATE_OAUTH } from './queries'
119
import { ParamToService } from './types'
10+
import { useCreateOauthIntegrationMutation } from '../../../generated/graphql'
1211

1312
function OauthError({ error, service }: any) {
1413
return (
@@ -40,11 +39,12 @@ export function OauthCreator() {
4039
redirectUri: `${window.location.origin}${window.location.pathname}`,
4140
}
4241
}, [location])
43-
const [mutation, { loading, data, error }] = useMutation(CREATE_OAUTH, {
44-
variables: {
45-
attributes: { code, redirectUri, service: ParamToService[service] },
46-
},
47-
})
42+
const [mutation, { loading, data, error }] =
43+
useCreateOauthIntegrationMutation({
44+
variables: {
45+
attributes: { code, redirectUri, service: ParamToService[service] },
46+
},
47+
})
4848

4949
useEffect(() => {
5050
mutation()

www/src/_deprecated/components/integrations/queries.ts

-18
Original file line numberDiff line numberDiff line change
@@ -71,21 +71,3 @@ export const DELETE_WEBHOOK = gql`
7171
}
7272
${IntegrationWebhookFragment}
7373
`
74-
75-
export const OAUTH_Q = gql`
76-
query {
77-
oauthIntegrations {
78-
...OauthIntegration
79-
}
80-
}
81-
${OauthIntegration}
82-
`
83-
84-
export const CREATE_OAUTH = gql`
85-
mutation Create($attributes: OauthIntegrationAttributes!) {
86-
createOauthIntegration(attributes: $attributes) {
87-
...OauthIntegration
88-
}
89-
}
90-
${OauthIntegration}
91-
`

www/src/generated/graphql.ts

+86
Original file line numberDiff line numberDiff line change
@@ -5521,6 +5521,18 @@ export type OauthIntegrationFragment = { __typename?: 'OauthIntegration', id: st
55215521

55225522
export type ZoomMeetingFragment = { __typename?: 'ZoomMeeting', joinUrl: string, password?: string | null };
55235523

5524+
export type OauthIntegrationsQueryVariables = Exact<{ [key: string]: never; }>;
5525+
5526+
5527+
export type OauthIntegrationsQuery = { __typename?: 'RootQueryType', oauthIntegrations?: Array<{ __typename?: 'OauthIntegration', id: string, service: OauthService, insertedAt?: Date | null } | null> | null };
5528+
5529+
export type CreateOauthIntegrationMutationVariables = Exact<{
5530+
attributes: OauthAttributes;
5531+
}>;
5532+
5533+
5534+
export type CreateOauthIntegrationMutation = { __typename?: 'RootMutationType', createOauthIntegration?: { __typename?: 'OauthIntegration', id: string, service: OauthService, insertedAt?: Date | null } | null };
5535+
55245536
export type SignupInviteMutationVariables = Exact<{
55255537
attributes: UserAttributes;
55265538
inviteId: Scalars['String']['input'];
@@ -8610,6 +8622,78 @@ export type GroupsQueryHookResult = ReturnType<typeof useGroupsQuery>;
86108622
export type GroupsLazyQueryHookResult = ReturnType<typeof useGroupsLazyQuery>;
86118623
export type GroupsSuspenseQueryHookResult = ReturnType<typeof useGroupsSuspenseQuery>;
86128624
export type GroupsQueryResult = Apollo.QueryResult<GroupsQuery, GroupsQueryVariables>;
8625+
export const OauthIntegrationsDocument = gql`
8626+
query OauthIntegrations {
8627+
oauthIntegrations {
8628+
...OauthIntegration
8629+
}
8630+
}
8631+
${OauthIntegrationFragmentDoc}`;
8632+
8633+
/**
8634+
* __useOauthIntegrationsQuery__
8635+
*
8636+
* To run a query within a React component, call `useOauthIntegrationsQuery` and pass it any options that fit your needs.
8637+
* When your component renders, `useOauthIntegrationsQuery` returns an object from Apollo Client that contains loading, error, and data properties
8638+
* you can use to render your UI.
8639+
*
8640+
* @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
8641+
*
8642+
* @example
8643+
* const { data, loading, error } = useOauthIntegrationsQuery({
8644+
* variables: {
8645+
* },
8646+
* });
8647+
*/
8648+
export function useOauthIntegrationsQuery(baseOptions?: Apollo.QueryHookOptions<OauthIntegrationsQuery, OauthIntegrationsQueryVariables>) {
8649+
const options = {...defaultOptions, ...baseOptions}
8650+
return Apollo.useQuery<OauthIntegrationsQuery, OauthIntegrationsQueryVariables>(OauthIntegrationsDocument, options);
8651+
}
8652+
export function useOauthIntegrationsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions<OauthIntegrationsQuery, OauthIntegrationsQueryVariables>) {
8653+
const options = {...defaultOptions, ...baseOptions}
8654+
return Apollo.useLazyQuery<OauthIntegrationsQuery, OauthIntegrationsQueryVariables>(OauthIntegrationsDocument, options);
8655+
}
8656+
export function useOauthIntegrationsSuspenseQuery(baseOptions?: Apollo.SuspenseQueryHookOptions<OauthIntegrationsQuery, OauthIntegrationsQueryVariables>) {
8657+
const options = {...defaultOptions, ...baseOptions}
8658+
return Apollo.useSuspenseQuery<OauthIntegrationsQuery, OauthIntegrationsQueryVariables>(OauthIntegrationsDocument, options);
8659+
}
8660+
export type OauthIntegrationsQueryHookResult = ReturnType<typeof useOauthIntegrationsQuery>;
8661+
export type OauthIntegrationsLazyQueryHookResult = ReturnType<typeof useOauthIntegrationsLazyQuery>;
8662+
export type OauthIntegrationsSuspenseQueryHookResult = ReturnType<typeof useOauthIntegrationsSuspenseQuery>;
8663+
export type OauthIntegrationsQueryResult = Apollo.QueryResult<OauthIntegrationsQuery, OauthIntegrationsQueryVariables>;
8664+
export const CreateOauthIntegrationDocument = gql`
8665+
mutation CreateOauthIntegration($attributes: OauthAttributes!) {
8666+
createOauthIntegration(attributes: $attributes) {
8667+
...OauthIntegration
8668+
}
8669+
}
8670+
${OauthIntegrationFragmentDoc}`;
8671+
export type CreateOauthIntegrationMutationFn = Apollo.MutationFunction<CreateOauthIntegrationMutation, CreateOauthIntegrationMutationVariables>;
8672+
8673+
/**
8674+
* __useCreateOauthIntegrationMutation__
8675+
*
8676+
* To run a mutation, you first call `useCreateOauthIntegrationMutation` within a React component and pass it any options that fit your needs.
8677+
* When your component renders, `useCreateOauthIntegrationMutation` returns a tuple that includes:
8678+
* - A mutate function that you can call at any time to execute the mutation
8679+
* - An object with fields that represent the current status of the mutation's execution
8680+
*
8681+
* @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;
8682+
*
8683+
* @example
8684+
* const [createOauthIntegrationMutation, { data, loading, error }] = useCreateOauthIntegrationMutation({
8685+
* variables: {
8686+
* attributes: // value for 'attributes'
8687+
* },
8688+
* });
8689+
*/
8690+
export function useCreateOauthIntegrationMutation(baseOptions?: Apollo.MutationHookOptions<CreateOauthIntegrationMutation, CreateOauthIntegrationMutationVariables>) {
8691+
const options = {...defaultOptions, ...baseOptions}
8692+
return Apollo.useMutation<CreateOauthIntegrationMutation, CreateOauthIntegrationMutationVariables>(CreateOauthIntegrationDocument, options);
8693+
}
8694+
export type CreateOauthIntegrationMutationHookResult = ReturnType<typeof useCreateOauthIntegrationMutation>;
8695+
export type CreateOauthIntegrationMutationResult = Apollo.MutationResult<CreateOauthIntegrationMutation>;
8696+
export type CreateOauthIntegrationMutationOptions = Apollo.BaseMutationOptions<CreateOauthIntegrationMutation, CreateOauthIntegrationMutationVariables>;
86138697
export const SignupInviteDocument = gql`
86148698
mutation SignupInvite($attributes: UserAttributes!, $inviteId: String!) {
86158699
signup(attributes: $attributes, inviteId: $inviteId) {
@@ -11973,6 +12057,7 @@ export const namedOperations = {
1197312057
GetDnsRecords: 'GetDnsRecords',
1197412058
GroupMembers: 'GroupMembers',
1197512059
Groups: 'Groups',
12060+
OauthIntegrations: 'OauthIntegrations',
1197612061
Invite: 'Invite',
1197712062
KeyBackups: 'KeyBackups',
1197812063
KeyBackup: 'KeyBackup',
@@ -12020,6 +12105,7 @@ export const namedOperations = {
1202012105
CreateGroup: 'CreateGroup',
1202112106
UpdateGroup: 'UpdateGroup',
1202212107
DeleteGroup: 'DeleteGroup',
12108+
CreateOauthIntegration: 'CreateOauthIntegration',
1202312109
SignupInvite: 'SignupInvite',
1202412110
RealizeInvite: 'RealizeInvite',
1202512111
CreateInvite: 'CreateInvite',

www/src/graph/integrations.graphql

+12
Original file line numberDiff line numberDiff line change
@@ -25,3 +25,15 @@ fragment ZoomMeeting on ZoomMeeting {
2525
joinUrl
2626
password
2727
}
28+
29+
query OauthIntegrations {
30+
oauthIntegrations {
31+
...OauthIntegration
32+
}
33+
}
34+
35+
mutation CreateOauthIntegration($attributes: OauthAttributes!) {
36+
createOauthIntegration(attributes: $attributes) {
37+
...OauthIntegration
38+
}
39+
}

0 commit comments

Comments
 (0)