datasquirel/package-shared/functions/web-app/db/grab-user-resource/query.ts
Benjamin Toby 7e8bb37c09 Updates
2025-07-05 14:59:30 +01:00

40 lines
1.2 KiB
TypeScript

import { GrabUserResourceParams } from ".";
import _ from "lodash";
import { DsqlCrudQueryObject } from "../../../../types";
import ResourceLimits from "../../../../dict/resource-limits";
import _n from "../../../../utils/numberfy";
export default function (params?: GrabUserResourceParams) {
let queryObject: DsqlCrudQueryObject<{ [k: string]: any }> = {
limit: params?.noLimit ? undefined : ResourceLimits["general"],
order: {
field: "id",
strategy: "DESC",
},
};
if (params?.targetID) {
const targetIDQuery: DsqlCrudQueryObject<{ [k: string]: any }> = {
query: {
id: {
value: _n(params.targetID).toString(),
},
},
};
queryObject = _.merge(queryObject, targetIDQuery);
}
let queryFixedObject: DsqlCrudQueryObject<{ [k: string]: any }> =
params?.isSuperUser
? {}
: {
query: {
user_id: {
value: String(params?.userId || 0),
},
},
};
return _.merge(queryObject, params?.query, queryFixedObject);
}