UNPKG

forest-express-sequelize

Version:

Official Express/Sequelize Liana for Forest

40 lines (39 loc) 1.27 kB
"use strict"; require("core-js/modules/es.regexp.exec.js"); const { SchemaUtils } = require('forest-express'); const semver = require('semver'); const REGEX_VERSION = /(\d+\.)?(\d+\.)?(\*|\d+)/; const getVersion = function (sequelize) { const version = sequelize.version.match(REGEX_VERSION); if (version && version[0]) { return version[0]; } return null; }; const isVersionLessThan = function (sequelize, target) { try { return semver.lt(getVersion(sequelize), target); } catch (error) { return true; } }; const findRecord = function (model, recordId, options) { if (model.findByPk) { return model.findByPk(recordId, options); } return model.findById(recordId, options); }; const getColumnName = function (schema, fieldName) { const schemaField = SchemaUtils.getField(schema, fieldName); return schemaField && schemaField.columnName ? schemaField.columnName : fieldName; }; const isUUID = function (DataTypes, fieldType) { return fieldType instanceof DataTypes.UUID || fieldType instanceof DataTypes.UUIDV1 || fieldType instanceof DataTypes.UUIDV4; }; exports.getVersion = getVersion; exports.isVersionLessThan = isVersionLessThan; exports.findRecord = findRecord; exports.getColumnName = getColumnName; exports.isUUID = isUUID;