import { nanoid } from "nanoid";
import log from "../config/log";
import tenantDB from "../models/tenant.model";

const generateTenantGId = async () => {
  try {
    let id: string = nanoid();

    let isExists = await tenantDB.getByGId({ gId: id });

    while (isExists) {
      id = nanoid();
      isExists = await tenantDB.getByGId({ gId: id });
    }

    return id;
  } catch (error: any) {
    log.info(
      `[Utils], [${generateTenantGId}], Error: ${error?.message || error}`
    );
    return "";
  }
};

export default generateTenantGId;
