mirror of
https://github.com/jambonz/jambonz-api-server.git
synced 2025-12-19 05:47:46 +00:00
* initial changes for jwt auth * return permissions as an array of string * Add JWT expiration environment variable (#74) * allow fromHost in createCall REST API * add JWT_EXPIRES_IN=<mins> env variable, 60 mins by default * add jwt expiration in register.js and signin.js * fix tests - add permissions and scope to encoded obj in jwt Co-authored-by: Dave Horton <daveh@beachdognet.com> Co-authored-by: eglehelms <e.helms@cognigy.com> * return only the jwt-token in the api response * update swagger.yaml * add /users api * apply review comments * add users test case * added User model * bugfix: admin user should be able to create a carrier for a service provider Co-authored-by: EgleH <egle.helms@gmail.com> Co-authored-by: eglehelms <e.helms@cognigy.com>
86 lines
1.4 KiB
JavaScript
86 lines
1.4 KiB
JavaScript
const Model = require('./model');
|
|
const {promisePool} = require('../db');
|
|
const sqlAccount = 'SELECT * FROM users WHERE account_sid = ?';
|
|
const sqlSP = 'SELECT * FROM users WHERE service_provider_sid = ?';
|
|
|
|
class User extends Model {
|
|
constructor() {
|
|
super();
|
|
}
|
|
|
|
static async retrieveAllForAccount(account_sid) {
|
|
const [rows] = await promisePool.query(sqlAccount, [account_sid]);
|
|
return rows;
|
|
}
|
|
|
|
static async retrieveAllForServiceProvider(service_provider_sid) {
|
|
const [rows] = await promisePool.query(sqlSP, [service_provider_sid]);
|
|
return rows;
|
|
}
|
|
}
|
|
|
|
User.table = 'users';
|
|
User.fields = [
|
|
{
|
|
name: 'user_sid',
|
|
type: 'string',
|
|
primaryKey: true
|
|
},
|
|
{
|
|
name: 'name',
|
|
type: 'string',
|
|
required: true
|
|
},
|
|
{
|
|
name: 'email',
|
|
type: 'string',
|
|
required: true
|
|
},
|
|
{
|
|
name: 'pending_email',
|
|
type: 'string'
|
|
},
|
|
{
|
|
name: 'phone',
|
|
type: 'string'
|
|
},
|
|
{
|
|
name: 'hashed_password',
|
|
type: 'string'
|
|
},
|
|
{
|
|
name: 'account_sid',
|
|
type: 'string'
|
|
},
|
|
{
|
|
name: 'service_provider_sid',
|
|
type: 'string'
|
|
},
|
|
{
|
|
name: 'force_change',
|
|
type: 'number'
|
|
},
|
|
{
|
|
name: 'provider',
|
|
type: 'string'
|
|
},
|
|
{
|
|
name: 'provider_userid',
|
|
type: 'string'
|
|
},
|
|
{
|
|
name: 'email_activation_code',
|
|
type: 'string'
|
|
},
|
|
{
|
|
name: 'email_validated',
|
|
type: 'number'
|
|
},
|
|
{
|
|
name: 'is_active',
|
|
type: 'number'
|
|
},
|
|
];
|
|
|
|
module.exports = User;
|