В возражении JS я пытаюсь установить роль и получить ошибку
Вот мой код (узел:10188) UnhandledPromiseRejectionWarning: необработанное отклонение обещания (идентификатор отклонения: 1): ошибка: вставить в user
(email
, name
, password
, role
, username
) значения ("exam@mail.ru", "chack", "пароль", "пользователь", "kkkp") - ER_BAD_FIELD_ERROR: неизвестный столбец "роль" в "списке полей" (узел:10188) [DEP0018] Предупреждение об устаревании: Необработанные обещания отклоняются. В будущем отклонения обещаний, которые не обрабатываются, завершат процесс Node.js с ненулевым кодом завершения.
'use strict';
const Model = require('objection').Model;
const AppConstants = require('./../constants');
class user extends Model {
static get tableName() {
return 'user';
}
static get jsonSchema() {
return {
type: 'object',
required: ['username', 'password', 'email', 'name'],
properties: {
id: { type: 'integer' },
username: {type: 'string',
unique: true ,
minlength: AppConstants.USERNAME_MIN_LENGTH,
maxlength: AppConstants.USERNAME_MAX_LENGTH
},
password: {
type: 'string',
minlength: AppConstants.PASSWORD_MIN_LENGTH,
maxlength: AppConstants.PASSWORD_MAX_LENGTH
},
email: { type: 'string',
index: { unique: true },
},
name: { type: 'string'
},
role: { enum: ['admin', 'user'], ///////////// here is
default: 'user'
}
}
};
}
}
1 ответ
Вы забыли назначить тип role
поле. Попробуйте это, пожалуйста:
'use strict';
const Model = require('objection').Model;
const AppConstants = require('./../constants');
class user extends Model {
static get tableName() {
return 'user';
}
static get jsonSchema() {
return {
type: 'object',
required: ['username', 'password', 'email', 'name'],
properties: {
id: {type: 'integer'},
username: {
type: 'string',
unique: true,
minlength: AppConstants.USERNAME_MIN_LENGTH,
maxlength: AppConstants.USERNAME_MAX_LENGTH
},
password: {
type: 'string',
minlength: AppConstants.PASSWORD_MIN_LENGTH,
maxlength: AppConstants.PASSWORD_MAX_LENGTH
},
email: {
type: 'string',
index: {unique: true},
},
name: {
type: 'string'
},
role: {
type: 'string',
enum: ['admin', 'user'], ///////////// here is
default: 'user'
}
}
};
}
}