datasquirel/package-shared/functions/api/users/api-get-user.ts
Benjamin Toby 5ab079f687 Updates
2025-07-10 11:48:20 +01:00

40 lines
949 B
TypeScript

import {
APIGetUserFunctionParams,
GetUserFunctionReturn,
} 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<GetUserFunctionReturn> {
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],
};
}