1
0
Fork 0
mirror of synced 2024-06-14 08:24:48 +12:00
budibase/packages/auth/src/db/utils.js

38 lines
938 B
JavaScript
Raw Normal View History

2021-04-07 22:33:16 +12:00
exports.StaticDatabases = {
USER: {
name: "user-db",
},
}
const DocumentTypes = {
USER: "us",
}
exports.DocumentTypes = DocumentTypes
2021-04-07 22:33:16 +12:00
const UNICODE_MAX = "\ufff0"
const SEPARATOR = "_"
/**
* Generates a new user ID based on the passed in email.
* @param {string} email The email which the ID is going to be built up of.
* @returns {string} The new user ID which the user doc can be stored under.
*/
exports.generateUserID = email => {
return `${DocumentTypes.USER}${SEPARATOR}${email}`
}
/**
* Gets parameters for retrieving users, this is a utility function for the getDocParams function.
*/
exports.getUserParams = (email = "", otherProps = {}) => {
return {
...otherProps,
startkey: `${DocumentTypes.USER}${SEPARATOR}${email}`,
endkey: `${DocumentTypes.USER}${SEPARATOR}${email}${UNICODE_MAX}`,
}
}
exports.getEmailFromUserID = id => {
return id.split(`${DocumentTypes.USER}${SEPARATOR}`)[1]
}