31 lines
1.1 KiB
TypeScript
31 lines
1.1 KiB
TypeScript
import {Cookies} from "react-cookie";
|
|
|
|
export default interface IFrontendSettings {
|
|
jobInterval: Date;
|
|
apiUri: string;
|
|
}
|
|
|
|
export function FrontendSettingsWith(settings: IFrontendSettings | undefined, jobInterval: Date | undefined, apiUri: string | undefined): IFrontendSettings {
|
|
const cookies = new Cookies();
|
|
let transform : IFrontendSettings;
|
|
if(settings === undefined) {
|
|
transform = {
|
|
apiUri: apiUri === undefined
|
|
? cookies.get('apiUri') === undefined
|
|
? `${window.location.protocol}//${window.location.host}/api`
|
|
: cookies.get('apiUri')
|
|
: apiUri,
|
|
jobInterval: jobInterval === undefined
|
|
? cookies.get('jobInterval') === undefined
|
|
? new Date(0,0,0,3)
|
|
: cookies.get('jobInterval')
|
|
: jobInterval
|
|
}
|
|
}else {
|
|
transform = {
|
|
apiUri: apiUri === undefined ? settings.apiUri : apiUri,
|
|
jobInterval: jobInterval === undefined ? settings.jobInterval : jobInterval,
|
|
}
|
|
}
|
|
return transform;
|
|
} |