|
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- import { useGlobalPublicStore } from '@/context/global-public-context'
- import { AccessMode } from '@/models/access-control'
- import { useQuery } from '@tanstack/react-query'
- import { fetchAppInfo, fetchAppMeta, fetchAppParams, getAppAccessModeByAppCode } from './share'
-
- const NAME_SPACE = 'webapp'
-
- export const useGetWebAppAccessModeByCode = (code: string | null) => {
- const systemFeatures = useGlobalPublicStore(s => s.systemFeatures)
- return useQuery({
- queryKey: [NAME_SPACE, 'appAccessMode', code],
- queryFn: () => {
- if (systemFeatures.webapp_auth.enabled === false) {
- return {
- accessMode: AccessMode.PUBLIC,
- }
- }
- if (!code || code.length === 0)
- return Promise.reject(new Error('App code is required to get access mode'))
-
- return getAppAccessModeByAppCode(code)
- },
- enabled: !!code,
- })
- }
-
- export const useGetWebAppInfo = () => {
- return useQuery({
- queryKey: [NAME_SPACE, 'appInfo'],
- queryFn: () => {
- return fetchAppInfo()
- },
- })
- }
-
- export const useGetWebAppParams = () => {
- return useQuery({
- queryKey: [NAME_SPACE, 'appParams'],
- queryFn: () => {
- return fetchAppParams(false)
- },
- })
- }
-
- export const useGetWebAppMeta = () => {
- return useQuery({
- queryKey: [NAME_SPACE, 'appMeta'],
- queryFn: () => {
- return fetchAppMeta(false)
- },
- })
- }
|