datasquirel/package-shared/functions/api/users/api-get-user.ts
Benjamin Toby c37d105dee Updates
2025-07-09 20:30:45 +01:00

40 lines
881 B
TypeScript

import {
APIGetUserFunctionParams,
GetUserFunctionReturn,
} from "../../../types";
import dbHandler from "../../backend/dbHandler";
/**
* # API Get User
*/
export default async function apiGetUser({
fields,
dbFullName,
userId,
}: APIGetUserFunctionParams): Promise<GetUserFunctionReturn> {
const finalDbName = dbFullName.replace(/[^a-z0-9_]/g, "");
const query = `SELECT ${fields.join(
","
)} FROM ${finalDbName}.users WHERE id=?`;
const API_USER_ID = userId || process.env.DSQL_API_USER_ID;
let foundUser = (await dbHandler({
query,
values: [API_USER_ID],
database: finalDbName,
})) as any[];
if (!foundUser || !foundUser[0]) {
return {
success: false,
payload: null,
};
}
return {
success: true,
payload: foundUser[0],
};
}