mirror of
https://github.com/strapi/strapi.git
synced 2025-11-01 18:33:55 +00:00
Handle basic types for mongoose
This commit is contained in:
parent
3cd111bdb2
commit
c87ff0edbf
@ -99,31 +99,31 @@ module.exports = function (strapi) {
|
||||
const done = _.after(_.size(definition.attributes), function () {
|
||||
try {
|
||||
// Initialize lifecycle callbacks.
|
||||
loadedModel.initialize = function () {
|
||||
const self = this;
|
||||
const lifecycle = {
|
||||
creating: 'beforeCreate',
|
||||
created: 'afterCreate',
|
||||
destroying: 'beforeDestroy',
|
||||
destroyed: 'afterDestroy',
|
||||
updating: 'beforeUpdate',
|
||||
updated: 'afterUpdate',
|
||||
fetching: 'beforeFetch',
|
||||
fetched: 'afterFetch',
|
||||
saving: 'beforeSave',
|
||||
saved: 'afterSave'
|
||||
};
|
||||
// loadedModel.initialize = function () {
|
||||
// const self = this;
|
||||
// const lifecycle = {
|
||||
// creating: 'beforeCreate',
|
||||
// created: 'afterCreate',
|
||||
// destroying: 'beforeDestroy',
|
||||
// destroyed: 'afterDestroy',
|
||||
// updating: 'beforeUpdate',
|
||||
// updated: 'afterUpdate',
|
||||
// fetching: 'beforeFetch',
|
||||
// fetched: 'afterFetch',
|
||||
// saving: 'beforeSave',
|
||||
// saved: 'afterSave'
|
||||
// };
|
||||
//
|
||||
// _.forEach(lifecycle, function (fn, key) {
|
||||
// if (_.isFunction(strapi.models[model.toLowerCase()][fn])) {
|
||||
// self.on(key, strapi.models[model.toLowerCase()][fn]);
|
||||
// }
|
||||
// });
|
||||
// };
|
||||
|
||||
_.forEach(lifecycle, function (fn, key) {
|
||||
if (_.isFunction(strapi.models[model.toLowerCase()][fn])) {
|
||||
self.on(key, strapi.models[model.toLowerCase()][fn]);
|
||||
}
|
||||
});
|
||||
};
|
||||
console.log(loadedModel);
|
||||
|
||||
const schema = mongoose.Schema(loadedModel.attributes);
|
||||
|
||||
console.log(schema);
|
||||
const schema = mongoose.Schema(loadedModel);
|
||||
|
||||
global[globalName] = mongoose.model(globalName, schema);;
|
||||
|
||||
@ -154,8 +154,7 @@ module.exports = function (strapi) {
|
||||
if (!_.isEmpty(verbose)) {
|
||||
utilsModels.defineAssociations(globalName, definition, details, name);
|
||||
} else {
|
||||
console.log(name, details);
|
||||
loadedModel[name].type = utils.convertType(details.type);
|
||||
loadedModel[name].type = utils(mongoose).convertType(details.type);
|
||||
}
|
||||
|
||||
switch (verbose) {
|
||||
|
||||
@ -7,12 +7,14 @@
|
||||
// Public node modules.
|
||||
const _ = require('lodash');
|
||||
|
||||
module.exports = (mongoose) => {
|
||||
const Decimal = require('mongoose-double').loadType(mongoose);
|
||||
const Float = require('mongoose-float').loadType(mongoose);
|
||||
module.exports = mongoose => {
|
||||
require('mongoose-double')(mongoose);
|
||||
require('mongoose-float').loadType(mongoose);
|
||||
|
||||
const SchemaTypes = mongoose.Schema.Types;
|
||||
|
||||
return {
|
||||
convertType: (mongooseType) => {
|
||||
convertType: mongooseType => {
|
||||
switch (mongooseType.toLowerCase()) {
|
||||
case 'string':
|
||||
case 'text':
|
||||
@ -21,9 +23,9 @@ module.exports = (mongoose) => {
|
||||
case 'biginteger':
|
||||
return 'Number'
|
||||
case 'float':
|
||||
return Float;
|
||||
return SchemaTypes.Float;
|
||||
case 'decimal':
|
||||
return Decimal;
|
||||
return SchemaTypes.Double;
|
||||
case 'date':
|
||||
case 'time':
|
||||
case 'datetime':
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user