2023-08-30 23:07:13 +02:00
|
|
|
import {SortByDirectionalTypes, SortByTypes, SortingMethod} from './entities/SortingMethods';
|
2023-08-29 22:14:38 +02:00
|
|
|
import {Utils} from './Utils';
|
2020-09-06 17:07:40 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
* This contains the action of the supported list of *.pg2conf files.
|
|
|
|
* These files are passed down to the client as metaFiles (like photos and directories)
|
|
|
|
*/
|
2023-08-29 22:14:38 +02:00
|
|
|
export const PG2ConfMap: { sorting: { [key: string]: SortingMethod } } = {
|
|
|
|
sorting: {}
|
2020-09-06 17:07:40 +02:00
|
|
|
};
|
2021-05-29 23:27:52 +02:00
|
|
|
|
2023-08-30 23:07:13 +02:00
|
|
|
Utils.enumToArray(SortByTypes).forEach(kv => {
|
|
|
|
if (!Utils.isValidEnumInt(SortByDirectionalTypes, kv.key)) {
|
2023-08-29 22:14:38 +02:00
|
|
|
PG2ConfMap.sorting['.order_random.pg2conf'] = {method: kv.key, ascending: null} as SortingMethod;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
PG2ConfMap.sorting['.order_descending' + kv.value.toLowerCase() + '.pg2conf'] = {method: kv.key, ascending: false} as SortingMethod;
|
|
|
|
PG2ConfMap.sorting['.order_ascending' + kv.value.toLowerCase() + '.pg2conf'] = {method: kv.key, ascending: true} as SortingMethod;
|
|
|
|
});
|
|
|
|
|
2021-05-29 23:27:52 +02:00
|
|
|
/**
|
|
|
|
* These files are processed on the server side,
|
|
|
|
* do not get passed down to the client or saved to the DB
|
|
|
|
*/
|
|
|
|
|
|
|
|
export enum ServerSidePG2ConfAction {
|
2021-05-30 18:18:24 +02:00
|
|
|
// Enum always starts from 1 as !!0 === false
|
2022-04-04 19:37:31 +02:00
|
|
|
SAVED_SEARCH = 1,
|
2021-05-29 23:27:52 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
export const ServerPG2ConfMap: { [key: string]: ServerSidePG2ConfAction } = {
|
2022-04-04 19:37:31 +02:00
|
|
|
'.saved_searches.pg2conf': ServerSidePG2ConfAction.SAVED_SEARCH,
|
2021-05-29 23:27:52 +02:00
|
|
|
};
|
|
|
|
|