nci-ats/fs-middlelayer-api

View on GitHub
src/models/files.js

Summary

Maintainability
A
1 hr
Test Coverage
'use strict';
module.exports = function(sequelize, DataTypes) {
    const files = sequelize.define('files', {
        id: { type: DataTypes.UUID, primaryKey: true, defaultValue: DataTypes.UUIDV4 },
        applicationId: { type: DataTypes.UUID, field: 'application_id' },
        fileType: { type: DataTypes.STRING(10), field: 'file_type' },
        filePath: { type: DataTypes.STRING(255), field: 'file_path' },
        fileName: { type: DataTypes.STRING(255), field: 'file_name' },
        fileOriginalname: { type: DataTypes.STRING(255), field: 'file_originalname' },
        fileExt: { type: DataTypes.STRING(20), field: 'file_ext' },
        fileSize: { type: DataTypes.BIGINT, field: 'file_size' },
        fileMimetype: { type: DataTypes.STRING(100), field: 'file_mimetype' },
        fileEncoding: { type: DataTypes.STRING(100), field: 'file_encoding' },
        createdAt: { type: DataTypes.DATE, defaultValue: DataTypes.NOW, field: 'created' },
        updatedAt: { type: DataTypes.DATE, defaultValue: DataTypes.NOW, field: 'updated' }
    }, {
        timestamps  : true
    }, {
        classMethods: {
            associate: function(models) {
                files.belongsTo(models.applications, {
                    foreignKey: 'application_id',
                    onDelete: 'CASCADE'
                });
            }
        }
    });
    return files;
};