Added country and birthday filters to actors page.
This commit is contained in:
@@ -3,13 +3,28 @@ import knex from './knex.js';
|
||||
function curateCountry(countryEntry) {
|
||||
return {
|
||||
name: countryEntry.name,
|
||||
alias: countryEntry.alias,
|
||||
alpha2: countryEntry.alpha2,
|
||||
code: countryEntry.code,
|
||||
};
|
||||
}
|
||||
|
||||
export async function fetchCountriesByAlpha2(alpha2s) {
|
||||
const entries = await knex('countries').whereIn('alpha2', alpha2s);
|
||||
export async function fetchCountriesByAlpha2(alpha2s, options = {}) {
|
||||
const entries = await knex('countries')
|
||||
.whereIn('alpha2', alpha2s)
|
||||
.orderBy(knex.raw('coalesce(alias, name)'));
|
||||
|
||||
return entries.map((entry) => curateCountry(entry));
|
||||
if (options.preserveOrder) {
|
||||
return alpha2s.map((alpha2) => {
|
||||
const countryEntry = entries.find((entry) => entry.alpha2 === alpha2);
|
||||
|
||||
if (!countryEntry) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return curateCountry(countryEntry);
|
||||
}).filter(Boolean);
|
||||
}
|
||||
|
||||
return entries.map((countryEntry) => curateCountry(countryEntry));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user