41 lines
961 B
TypeScript
41 lines
961 B
TypeScript
const createQuery = (owner: string, parent: string, sortBy: string, startAt: number, startAtDate: number, searchQuery: string | RegExp, startAtName: string) => {
|
|
|
|
let query: any = {"metadata.owner": owner}
|
|
|
|
if (searchQuery !== "") {
|
|
|
|
searchQuery = new RegExp(searchQuery, 'i')
|
|
|
|
query = {...query, filename: searchQuery}
|
|
|
|
} else {
|
|
|
|
query = {...query, "metadata.parent": parent}
|
|
}
|
|
|
|
if (startAt) {
|
|
|
|
if (sortBy === "date_desc" || sortBy === "DEFAULT") {
|
|
|
|
query = {...query, "uploadDate": {$lt: new Date(startAtDate)}}
|
|
|
|
} else if (sortBy === "date_asc") {
|
|
|
|
query = {...query, "uploadDate": {$gt: new Date(startAtDate)}}
|
|
|
|
} else if (sortBy === "alp_desc") {
|
|
|
|
query = {...query, "filename": {$lt: startAtName}}
|
|
|
|
} else {
|
|
|
|
query = {...query, "filename": {$gt: startAtName}}
|
|
}
|
|
}
|
|
|
|
|
|
return query;
|
|
|
|
}
|
|
|
|
export default createQuery; |