40 lines
881 B
TypeScript
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],
|
|
};
|
|
}
|