58 lines
1.4 KiB
TypeScript
58 lines
1.4 KiB
TypeScript
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<APIResponseObject> {
|
|
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;
|
|
}
|