add prettier lint rule
This commit is contained in:
@ -4,48 +4,48 @@ import { type Skill, type Platform } from "@prisma/client";
|
||||
* Takes a platform enum and translates it to readable form.
|
||||
*/
|
||||
export const translateEnumPlatform = (value: Platform) => {
|
||||
switch(value) {
|
||||
case "APP_ANDROID": {
|
||||
return "Android";
|
||||
}
|
||||
case "APP_IOS": {
|
||||
return "Apple";
|
||||
}
|
||||
case "PDF": {
|
||||
return "PDF Document";
|
||||
}
|
||||
case "WEBSITE": {
|
||||
return "Website"
|
||||
}
|
||||
switch (value) {
|
||||
case "APP_ANDROID": {
|
||||
return "Android";
|
||||
}
|
||||
}
|
||||
case "APP_IOS": {
|
||||
return "Apple";
|
||||
}
|
||||
case "PDF": {
|
||||
return "PDF Document";
|
||||
}
|
||||
case "WEBSITE": {
|
||||
return "Website";
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Takes a skill enum value and translates it to human text
|
||||
* @param value
|
||||
* @param value
|
||||
*/
|
||||
export const translateEnumSkill = (value: Skill) => {
|
||||
switch(value) {
|
||||
case "ENVIRONMENT": {
|
||||
return "Environmental Sounds";
|
||||
}
|
||||
case "BACKGROUND": {
|
||||
return "Background";
|
||||
}
|
||||
case "DISCOURSE": {
|
||||
return "Discourse/Complex";
|
||||
}
|
||||
case "MUSIC": {
|
||||
return "Music Appreciation"
|
||||
}
|
||||
case "PHONEMES": {
|
||||
return "Phonemes";
|
||||
}
|
||||
case "SENTENCES": {
|
||||
return "Sentences"
|
||||
}
|
||||
case "WORDS": {
|
||||
return "Words"
|
||||
}
|
||||
switch (value) {
|
||||
case "ENVIRONMENT": {
|
||||
return "Environmental Sounds";
|
||||
}
|
||||
}
|
||||
case "BACKGROUND": {
|
||||
return "Background";
|
||||
}
|
||||
case "DISCOURSE": {
|
||||
return "Discourse/Complex";
|
||||
}
|
||||
case "MUSIC": {
|
||||
return "Music Appreciation";
|
||||
}
|
||||
case "PHONEMES": {
|
||||
return "Phonemes";
|
||||
}
|
||||
case "SENTENCES": {
|
||||
return "Sentences";
|
||||
}
|
||||
case "WORDS": {
|
||||
return "Words";
|
||||
}
|
||||
}
|
||||
};
|
||||
|
@ -1,75 +1,80 @@
|
||||
import { type Platform, type RangeInput, type Skill, type SkillLevel } from "@prisma/client";
|
||||
import {
|
||||
type Platform,
|
||||
type RangeInput,
|
||||
type Skill,
|
||||
type SkillLevel,
|
||||
} from "@prisma/client";
|
||||
import { type ParsedUrlQuery } from "querystring";
|
||||
|
||||
export interface ViewDetails {
|
||||
page: number;
|
||||
perPage: number;
|
||||
page: number;
|
||||
perPage: number;
|
||||
}
|
||||
|
||||
|
||||
export interface SearchQuery {
|
||||
age?: RangeInput,
|
||||
platforms?: Platform[],
|
||||
skill_levels?: SkillLevel[],
|
||||
skills?: Skill[],
|
||||
age?: RangeInput;
|
||||
platforms?: Platform[];
|
||||
skill_levels?: SkillLevel[];
|
||||
skills?: Skill[];
|
||||
}
|
||||
|
||||
export type ParsedQueryData = SearchQuery & ViewDetails;
|
||||
|
||||
export const parseQueryData = (query: ParsedUrlQuery): ParsedQueryData => {
|
||||
const view = {
|
||||
page: Number(query["page"] ?? 1),
|
||||
perPage: Number(query["perPage"] ?? 10),
|
||||
}
|
||||
const filter: SearchQuery = {};
|
||||
const view = {
|
||||
page: Number(query["page"] ?? 1),
|
||||
perPage: Number(query["perPage"] ?? 10),
|
||||
};
|
||||
const filter: SearchQuery = {};
|
||||
|
||||
if (query["ages"]) {
|
||||
const ages: number[] = [];
|
||||
if (query["ages"]) {
|
||||
const ages: number[] = [];
|
||||
|
||||
if (Array.isArray(query["ages"])) {
|
||||
const validRanges = query["ages"].filter((value) => {
|
||||
return value.split("-").length == 2;
|
||||
});
|
||||
if (Array.isArray(query["ages"])) {
|
||||
const validRanges = query["ages"].filter((value) => {
|
||||
return value.split("-").length == 2;
|
||||
});
|
||||
|
||||
validRanges.forEach((value) => {
|
||||
const split = value.split("-");
|
||||
ages.push(Number(split[0]));
|
||||
ages.push(Number(split[1]));
|
||||
});
|
||||
} else {
|
||||
const split = query["ages"].split("-");
|
||||
validRanges.forEach((value) => {
|
||||
const split = value.split("-");
|
||||
ages.push(Number(split[0]));
|
||||
ages.push(Number(split[1]));
|
||||
}
|
||||
|
||||
filter.age = {
|
||||
min: Math.min(...ages),
|
||||
max: Math.max(...ages),
|
||||
}
|
||||
});
|
||||
} else {
|
||||
const split = query["ages"].split("-");
|
||||
ages.push(Number(split[0]));
|
||||
ages.push(Number(split[1]));
|
||||
}
|
||||
|
||||
if (query["platforms"]) {
|
||||
if (Array.isArray(query["platforms"])) {
|
||||
filter.platforms = query["platforms"] as Platform[];
|
||||
} else {
|
||||
filter.platforms = [query["platforms"]] as Platform[];
|
||||
}
|
||||
}
|
||||
filter.age = {
|
||||
min: Math.min(...ages),
|
||||
max: Math.max(...ages),
|
||||
};
|
||||
}
|
||||
|
||||
if (query["skill_levels"]) {
|
||||
if (Array.isArray(query["skill_levels"])) {
|
||||
filter.skill_levels = query["skill_levels"] as SkillLevel[];
|
||||
} else {
|
||||
filter.skill_levels = [query["skill_levels"]] as SkillLevel[];
|
||||
}
|
||||
if (query["platforms"]) {
|
||||
if (Array.isArray(query["platforms"])) {
|
||||
filter.platforms = query["platforms"] as Platform[];
|
||||
} else {
|
||||
filter.platforms = [query["platforms"]] as Platform[];
|
||||
}
|
||||
}
|
||||
|
||||
if (query["skills"]) {
|
||||
if (Array.isArray(query["skills"])) {
|
||||
filter.skills = query["skills"] as Skill[];
|
||||
} else {
|
||||
filter.skills = [query["skills"]] as Skill[];
|
||||
}
|
||||
if (query["skill_levels"]) {
|
||||
if (Array.isArray(query["skill_levels"])) {
|
||||
filter.skill_levels = query["skill_levels"] as SkillLevel[];
|
||||
} else {
|
||||
filter.skill_levels = [query["skill_levels"]] as SkillLevel[];
|
||||
}
|
||||
}
|
||||
|
||||
return {...filter, ...view};
|
||||
}
|
||||
if (query["skills"]) {
|
||||
if (Array.isArray(query["skills"])) {
|
||||
filter.skills = query["skills"] as Skill[];
|
||||
} else {
|
||||
filter.skills = [query["skills"]] as Skill[];
|
||||
}
|
||||
}
|
||||
|
||||
return { ...filter, ...view };
|
||||
};
|
||||
|
Reference in New Issue
Block a user