datasquirel/package-shared/utils/grab-sql-user-name.ts
Benjamin Toby 7e8bb37c09 Updates
2025-07-05 14:59:30 +01:00

43 lines
982 B
TypeScript

import { UserType } from "../types";
import grabSQLUserNameForUser from "./grab-sql-user-name-for-user";
type Params = {
user?: UserType | null;
name?: string;
};
type Return = {
sqlUsername?: string;
name?: string;
nameWithoutPrefix?: string;
};
export default function grabSQLUserName({
user,
name: passedName,
}: Params): Return {
if (!user) {
console.log("No User Found");
return {};
}
const sqlUsername = grabSQLUserNameForUser(user.id);
const parsedPassedName = passedName
? passedName.replace(sqlUsername, "").replace(/^_+|_+$/, "")
: undefined;
const name = parsedPassedName
? `${sqlUsername}_${parsedPassedName}`
: undefined;
if (user.isSuperUser) {
return {
sqlUsername: undefined,
name: passedName,
nameWithoutPrefix: passedName,
};
}
return { sqlUsername, name, nameWithoutPrefix: parsedPassedName };
}