diff --git a/backend/src/auth/auth.service.ts b/backend/src/auth/auth.service.ts index 3492f92..b2722c7 100644 --- a/backend/src/auth/auth.service.ts +++ b/backend/src/auth/auth.service.ts @@ -345,7 +345,9 @@ export class AuthService { if (refreshToken) { const now = moment(); const sessionDuration = this.config.get("general.sessionDuration"); - const maxAge = moment(now).add(sessionDuration.value, sessionDuration.unit).diff(now); + const maxAge = moment(now) + .add(sessionDuration.value, sessionDuration.unit) + .diff(now); response.cookie("refresh_token", refreshToken, { path: "/api/auth/token", httpOnly: true, diff --git a/backend/src/config/config.service.ts b/backend/src/config/config.service.ts index be88ed6..3e7ed7c 100644 --- a/backend/src/config/config.service.ts +++ b/backend/src/config/config.service.ts @@ -36,8 +36,7 @@ export class ConfigService extends EventEmitter { if (configVariable.type == "boolean") return value == "true"; if (configVariable.type == "string" || configVariable.type == "text") return value; - if (configVariable.type == "timespan") - return stringToTimespan(value); + if (configVariable.type == "timespan") return stringToTimespan(value); } async getByCategory(category: string) { diff --git a/backend/src/share/share.service.ts b/backend/src/share/share.service.ts index f13d8fa..3411a5c 100644 --- a/backend/src/share/share.service.ts +++ b/backend/src/share/share.service.ts @@ -61,9 +61,7 @@ export class ShareService { maxExpiration.value !== 0 && (expiresNever || parsedExpiration > - moment() - .add(maxExpiration.value, maxExpiration.unit) - .toDate()) + moment().add(maxExpiration.value, maxExpiration.unit).toDate()) ) { throw new BadRequestException( "Expiration date exceeds maximum expiration date", diff --git a/frontend/src/components/admin/configuration/AdminConfigInput.tsx b/frontend/src/components/admin/configuration/AdminConfigInput.tsx index 17aec4b..a93b243 100644 --- a/frontend/src/components/admin/configuration/AdminConfigInput.tsx +++ b/frontend/src/components/admin/configuration/AdminConfigInput.tsx @@ -96,7 +96,9 @@ const AdminConfigInput = ({ {configVariable.type == "timespan" && ( onValueChange(configVariable, timespanToString(timespan))} + onChange={(timespan) => + onValueChange(configVariable, timespanToString(timespan)) + } w={201} /> )} diff --git a/frontend/src/components/core/TimespanInput.tsx b/frontend/src/components/core/TimespanInput.tsx index b1346ce..b089f51 100644 --- a/frontend/src/components/core/TimespanInput.tsx +++ b/frontend/src/components/core/TimespanInput.tsx @@ -3,81 +3,86 @@ import { Timespan } from "../../types/timespan.type"; import { NativeSelect, NumberInput } from "@mantine/core"; import useTranslate from "../../hooks/useTranslate.hook"; -const TimespanInput = ({ label, value, onChange, ...restProps }: { - label?: string, - value: Timespan, - onChange: (timespan: Timespan) => void, - [key: string]: any, +const TimespanInput = ({ + label, + value, + onChange, + ...restProps +}: { + label?: string; + value: Timespan; + onChange: (timespan: Timespan) => void; + [key: string]: any; }) => { - const [unit, setUnit] = useState(value.unit); - const [inputValue, setInputValue] = useState(value.value); - const t = useTranslate(); - - const version = inputValue == 1 ? "singular" : "plural"; - const unitSelect = ( - { - const unit = event.currentTarget.value as Timespan["unit"]; - setUnit(unit); - onChange({ value: inputValue, unit }); - }} - /> - ); + const [unit, setUnit] = useState(value.unit); + const [inputValue, setInputValue] = useState(value.value); + const t = useTranslate(); - return ( - { - const inputVal = value || 0; - setInputValue(inputVal); - onChange({ value: inputVal, unit }); - }} - {...restProps} - /> - ); + const version = inputValue == 1 ? "singular" : "plural"; + const unitSelect = ( + { + const unit = event.currentTarget.value as Timespan["unit"]; + setUnit(unit); + onChange({ value: inputValue, unit }); + }} + /> + ); + + return ( + { + const inputVal = value || 0; + setInputValue(inputVal); + onChange({ value: inputVal, unit }); + }} + {...restProps} + /> + ); }; export default TimespanInput; diff --git a/frontend/src/components/upload/modals/showCreateUploadModal.tsx b/frontend/src/components/upload/modals/showCreateUploadModal.tsx index 0b1e6e5..d177d8c 100644 --- a/frontend/src/components/upload/modals/showCreateUploadModal.tsx +++ b/frontend/src/components/upload/modals/showCreateUploadModal.tsx @@ -184,7 +184,10 @@ const CreateUploadModalBody = ({ options.maxExpiration.value != 0 && (form.values.never_expires || expirationDate.isAfter( - moment().add(options.maxExpiration.value, options.maxExpiration.unit), + moment().add( + options.maxExpiration.value, + options.maxExpiration.unit, + ), )) ) { form.setFieldError( diff --git a/frontend/src/services/config.service.ts b/frontend/src/services/config.service.ts index dcbe776..6c86256 100644 --- a/frontend/src/services/config.service.ts +++ b/frontend/src/services/config.service.ts @@ -31,8 +31,7 @@ const get = (key: string, configVariables: Config[]): any => { if (configVariable.type == "boolean") return value == "true"; if (configVariable.type == "string" || configVariable.type == "text") return value; - if (configVariable.type == "timespan") - return stringToTimespan(value); + if (configVariable.type == "timespan") return stringToTimespan(value); }; const finishSetup = async (): Promise => { diff --git a/frontend/src/types/timespan.type.ts b/frontend/src/types/timespan.type.ts index 21c60d5..9b20572 100644 --- a/frontend/src/types/timespan.type.ts +++ b/frontend/src/types/timespan.type.ts @@ -1,2 +1,8 @@ -export type TimeUnit = "minutes" | "hours" | "days" | "weeks" | "months" | "years"; +export type TimeUnit = + | "minutes" + | "hours" + | "days" + | "weeks" + | "months" + | "years"; export type Timespan = { value: number; unit: TimeUnit }; diff --git a/frontend/src/utils/date.util.ts b/frontend/src/utils/date.util.ts index 6409e77..6f3298b 100644 --- a/frontend/src/utils/date.util.ts +++ b/frontend/src/utils/date.util.ts @@ -34,7 +34,7 @@ export const getExpirationPreview = ( export const timespanToString = (timespan: Timespan) => { return `${timespan.value} ${timespan.unit}`; -} +}; export const stringToTimespan = (value: string): Timespan => { return {