37 lines
932 B
TypeScript
37 lines
932 B
TypeScript
import { APIGetUserFunctionParams, APIResponseObject } from "../../../types";
|
|
import grabDbFullName from "../../../utils/grab-db-full-name";
|
|
import dbHandler from "../../backend/dbHandler";
|
|
|
|
/**
|
|
* # API Get User
|
|
*/
|
|
export default async function apiGetUser({
|
|
fields,
|
|
database,
|
|
userId,
|
|
dbUserId,
|
|
selectAll,
|
|
}: APIGetUserFunctionParams): Promise<APIResponseObject> {
|
|
const finalDbName = grabDbFullName({ dbName: database, userId: dbUserId });
|
|
|
|
const selectFields = selectAll ? "*" : fields?.[0] ? fields.join(",") : "*";
|
|
|
|
let foundUser = (await dbHandler({
|
|
query: `SELECT ${selectFields} FROM users WHERE id=?`,
|
|
values: [userId],
|
|
database: finalDbName,
|
|
})) as any[];
|
|
|
|
if (!foundUser || !foundUser[0]) {
|
|
return {
|
|
success: false,
|
|
payload: null,
|
|
};
|
|
}
|
|
|
|
return {
|
|
success: true,
|
|
payload: foundUser[0],
|
|
};
|
|
}
|