2020-05-13 11:46:52 +02:00
|
|
|
'use strict';
|
|
|
|
|
2020-05-14 10:37:32 +02:00
|
|
|
const { createUser } = require('../domain/user');
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Create and save a user in database
|
|
|
|
* @param attributes A partial user object
|
|
|
|
* @returns {Promise<user>}
|
|
|
|
*/
|
2020-05-14 11:06:16 +02:00
|
|
|
const create = async attributes => {
|
2020-05-14 18:54:52 +02:00
|
|
|
const user = createUser({
|
|
|
|
registrationToken: strapi.admin.services.token.createToken(),
|
|
|
|
...attributes,
|
|
|
|
});
|
|
|
|
|
2020-05-14 10:37:32 +02:00
|
|
|
return strapi.query('user', 'admin').create(user);
|
2020-05-14 11:06:16 +02:00
|
|
|
};
|
2020-05-13 11:46:52 +02:00
|
|
|
|
2020-05-14 10:37:32 +02:00
|
|
|
/**
|
|
|
|
* Check if a user with specific attributes exists in the database
|
|
|
|
* @param attributes A partial user object
|
|
|
|
* @returns {Promise<boolean>}
|
|
|
|
*/
|
2020-05-14 11:06:16 +02:00
|
|
|
const exists = async attributes => {
|
2020-05-14 10:37:32 +02:00
|
|
|
return (await strapi.query('user', 'admin').count(attributes)) > 0;
|
2020-05-14 11:06:16 +02:00
|
|
|
};
|
2020-05-13 11:46:52 +02:00
|
|
|
|
2020-05-14 10:37:32 +02:00
|
|
|
module.exports = {
|
|
|
|
create,
|
|
|
|
exists,
|
2020-05-13 11:46:52 +02:00
|
|
|
};
|