|
1234567891011121314151617181920212223242526272829 |
- import { post } from './base'
- import { useMutation, useQuery } from '@tanstack/react-query'
-
- const NAME_SPACE = 'oauth-provider'
-
- export type OAuthAppInfo = {
- app_icon: string
- app_label: Record<string, string>
- scope: string
- }
-
- export type OAuthAuthorizeResponse = {
- code: string
- }
-
- export const useOAuthAppInfo = (client_id: string, redirect_uri: string) => {
- return useQuery<OAuthAppInfo>({
- queryKey: [NAME_SPACE, 'authAppInfo', client_id, redirect_uri],
- queryFn: () => post<OAuthAppInfo>('/oauth/provider', { body: { client_id, redirect_uri } }, { silent: true }),
- enabled: Boolean(client_id && redirect_uri),
- })
- }
-
- export const useAuthorizeOAuthApp = () => {
- return useMutation({
- mutationKey: [NAME_SPACE, 'authorize'],
- mutationFn: (payload: { client_id: string }) => post<OAuthAuthorizeResponse>('/oauth/provider/authorize', { body: payload }),
- })
- }
|