Restructure redux code (#109)

* Restructure redux code

Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
Co-authored-by: Erik Michelson <github@erik.michelson.eu>
This commit is contained in:
mrdrogdrog 2020-05-31 22:51:36 +02:00 committed by GitHub
parent db5bec7000
commit 570c45017c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
28 changed files with 214 additions and 231 deletions

View file

@ -0,0 +1,8 @@
import { expectResponseCode, getBackendUrl } from '../../utils/apiUtils'
import { BackendConfig } from './types'
export const getBackendConfig = async (): Promise<BackendConfig> => {
const response = await fetch(getBackendUrl() + '/config')
expectResponseCode(response)
return await response.json() as Promise<BackendConfig>
}

View file

@ -0,0 +1,39 @@
export interface BackendConfig {
allowAnonymous: boolean,
authProviders: AuthProvidersState,
customAuthNames: CustomAuthNames,
specialLinks: SpecialLinks,
version: BackendVersion,
}
export interface BackendVersion {
version: string,
sourceCodeUrl: string
issueTrackerUrl: string
}
export interface AuthProvidersState {
facebook: boolean,
github: boolean,
twitter: boolean,
gitlab: boolean,
dropbox: boolean,
ldap: boolean,
google: boolean,
saml: boolean,
oauth2: boolean,
email: boolean,
openid: boolean,
}
export interface CustomAuthNames {
ldap: string;
oauth2: string;
saml: string;
}
export interface SpecialLinks {
privacy: string,
termsOfUse: string,
imprint: string,
}

View file

@ -1,15 +0,0 @@
import { FrontendConfigState } from '../redux/frontend-config/types'
import { BackendConfigState } from '../redux/backend-config/types'
import { expectResponseCode, getBackendUrl } from '../utils/apiUtils'
export const getBackendConfig = async (): Promise<BackendConfigState> => {
const response = await fetch(getBackendUrl() + '/config')
expectResponseCode(response)
return await response.json() as Promise<BackendConfigState>
}
export const getFrontendConfig = async (baseUrl: string): Promise<FrontendConfigState> => {
const response = await fetch(`${baseUrl}config.json`)
expectResponseCode(response)
return await response.json() as Promise<FrontendConfigState>
}

View file

@ -0,0 +1,8 @@
import { expectResponseCode } from '../../utils/apiUtils'
import { FrontendConfig } from './types'
export const getFrontendConfig = async (baseUrl: string): Promise<FrontendConfig> => {
const response = await fetch(`${baseUrl}config.json`)
expectResponseCode(response)
return await response.json() as Promise<FrontendConfig>
}

View file

@ -0,0 +1,3 @@
export interface FrontendConfig {
backendUrl: string
}