2017-02-16 12 views
0

Как импортировать схему из другой модели с помощью Joi?Joi получить схему из другой модели

Основной класс:

Lol = _dynogels2.default.define('Lol', { 
       hashKey: 'userId', 
       timestamps: true, 
       tableName: 'Lol', 
       schema: _joi2.default.object({ 
        id: _dynogels2.default.types.uuid(), 
        userId: _joi2.default.string().trim().required(), 
        revisionDate: _joi2.default.number().required(), 
        verify: Verify.schema, 
        createdAt: _joi2.default.date().default(Date.now, 'time of creation').required(), 
        updatedAt: _joi2.default.date().min(_joi2.default.ref('createdAt')).required() 
       }).unknown(true).options({ stripUnknown: true }) 
      }); 

SubClass:

Verify = _dynogels2.default.define('Verify', { 
       hashKey: 'username', 
       timestamps: true, 
       tableName: 'Users', 
       schema: _joi2.default.object({ 
        id: _dynogels2.default.types.uuid(), 
        isVerified: _joi2.default.boolean(), 
        createdAt: _joi2.default.date().default(Date.now, 'time of creation').required(), 
        updatedAt: _joi2.default.date().min(_joi2.default.ref('createdAt')).required() 
       }).unknown(true).options({ stripUnknown: true }) 
      }); 

Я получил эту ошибку: Invalid schema content

Edit:

Если я использую схему, как вар и импортировать его , работ:

var schema = joi2.default.object({ 
         id: _dynogels2.default.types.uuid(), 
         isVerified: _joi2.default.boolean(), 
         createdAt: _joi2.default.date().default(Date.now, 'time of creation').required(), 
+0

Что это за объект по умолчанию, привязанный к _joi2? –

+0

@ simon-p-r, это простой объект joi. – Marckaraujo

+0

Это не похоже, я бы использовал простые объекты при построении схем. Вы изменяете какое-то значение, которое невозможно увидеть из вашего примера. –

ответ

0

Я считаю, что Invalid schema content имеет в виду это _dynogels2.default.types.uuid(). Это ссылка на скомпилированную схему joi.string().uuid()? Если это не так, то Joi не знает, как перевести это в свой набор правил.

+0

Эта схема работает очень хорошо. Я использовал его без импорта и работы. – Marckaraujo