From 5455acc0a0dcd0661250496175a2a7188736002e Mon Sep 17 00:00:00 2001 From: Arnaud Besnier Date: Fri, 25 May 2018 15:55:46 +0200 Subject: [PATCH] [*] DateOnly Fields - Fix potential bad values for projects using Sequelize 4+ --- CHANGELOG.md | 2 ++ src/serializers/resource.js | 20 ++++++++++++-------- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6181469a4..a78aef4a6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,8 @@ # Change Log ## [Unreleased] +### Fixed +- DateOnly Fields - Fix potential bad values for projects using Sequelize 4+. ## RELEASE 2.10.0 - 2018-05-25 ### Added diff --git a/src/serializers/resource.js b/src/serializers/resource.js index 9837de6e9..438e61544 100644 --- a/src/serializers/resource.js +++ b/src/serializers/resource.js @@ -1,17 +1,21 @@ 'use strict'; -var _ = require('lodash'); -var P = require('bluebird'); -var moment = require('moment'); -var JSONAPISerializer = require('jsonapi-serializer').Serializer; -var SmartFieldsValuesInjector = require('../services/smart-fields-values-injector'); -var Schemas = require('../generators/schemas'); -var logger = require('../services/logger'); +const _ = require('lodash'); +const P = require('bluebird'); +const moment = require('moment'); +const semver = require('semver'); +const JSONAPISerializer = require('jsonapi-serializer').Serializer; +const SmartFieldsValuesInjector = require('../services/smart-fields-values-injector'); +const Schemas = require('../generators/schemas'); +const logger = require('../services/logger'); function ResourceSerializer(Implementation, model, records, integrator, opts, meta, fieldsSearched, searchValue, fieldsPerModel) { var modelName = Implementation.getModelName(model); var schema = Schemas.schemas[modelName]; + const needsDateOnlyFormating = Implementation.getLianaName() === 'forest-express-sequelize' && + semver.lt(Implementation.getOrmVersion(), '4.0.0'); + var reservedWords = ['meta']; var fieldInfoDateonly = []; var fieldInfoPoint = []; @@ -27,7 +31,7 @@ function ResourceSerializer(Implementation, model, records, integrator, opts, me } function detectFieldWithSpecialFormat(field, fieldReference) { - if (field.type === 'Dateonly') { + if (field.type === 'Dateonly' && needsDateOnlyFormating) { fieldInfoDateonly.push({ name: field.field, association: fieldReference }); }