import grabHostNames from "../../utils/grab-host-names"; import apiCreateUser from "../../functions/api/users/api-create-user"; import { AddUserParams, APICreateUserFunctionParams, APIResponseObject, } from "../../types"; import grabUserDSQLAPIPath from "../../utils/backend/users/grab-api-path"; import queryDSQLAPI from "../../functions/api/query-dsql-api"; /** * # Add User to Database */ export default async function addUser({ apiKey, payload, database, encryptionKey, useLocal, verify, apiVersion = "v1", dsqlUserID, }: AddUserParams): Promise { const grabedHostNames = grabHostNames(); const { host, port, scheme } = grabedHostNames; const apiAddUserParams: APICreateUserFunctionParams = { database, encryptionKey, payload, verify, dsqlUserID, }; if (useLocal) { return await apiCreateUser(apiAddUserParams); } /** * Make https request * * @description make a request to datasquirel.com */ const httpResponse = await queryDSQLAPI({ path: grabUserDSQLAPIPath({ paradigm: "auth", action: "signup", database, apiVersion, }), apiKey, body: apiAddUserParams, method: "POST", }); return httpResponse; }