simple-graphql
Version:
The simple way to generates GraphQL schemas and Sequelize models from your models definition.
58 lines • 1.76 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
function restoreTimestamps(data, instance, include) {
const timestampFields = ['createdAt', 'updatedAt', 'deletedAt'];
for (const field of timestampFields) {
const value = data[field];
if (value) {
instance.setDataValue(field, new Date(value));
}
}
if (data['version'] != null) {
instance.setDataValue('version', data['version']);
}
const restore = (includeItem) => {
if (includeItem.as) {
const item = includeItem;
const field = item.as;
if (data[field]) {
if (Array.isArray(data[field])) {
for (let index = 0; index < data[field].length; index++) {
restoreTimestamps(data[field][index], instance[field][index], item.include);
}
}
else {
restoreTimestamps(data[field], instance[field], item.include);
}
}
}
};
if (Array.isArray(include)) {
include.forEach((i) => restore(i));
}
else if (include) {
restore(include);
}
}
function default_1(data, model, include) {
if (!data) {
return data;
}
const instance = model.build(data, {
isNewRecord: false,
raw: false,
include
});
if (Array.isArray(include)) {
restoreTimestamps(data, instance, include);
}
else if (include != null) {
restoreTimestamps(data, instance, [include]);
}
else {
restoreTimestamps(data, instance, []);
}
return instance;
}
exports.default = default_1;
//# sourceMappingURL=dataToInstance.js.map