import { Sequelize } from 'sequelize';

const suppliers = {
    supplierOrganizationId: {
        type: Sequelize.STRING,
        allowNull: false,
        primaryKey: true,
    },
    sequenceNumber: {
        type: Sequelize.INTEGER,
        allowNull: false,
        primaryKey: true,
    },
    companyGln: {
        type: Sequelize.STRING,
    },
    name: {
        type: Sequelize.STRING,
    },
    commercialName: {
        type: Sequelize.STRING,
    },
    email: {
        type: Sequelize.STRING,
    },
    phone: {
        type: Sequelize.STRING,
    },
    website: {
        type: Sequelize.STRING,
    },
    rfhRelationId: {
        type: Sequelize.INTEGER,
    },
    paymentProviders: {
        type: Sequelize.STRING,
    },
    endDate: {
        type: Sequelize.DATE,
    },
    mailingAddress: {
        type: Sequelize.JSON,
    },
    physicalAddress: {
        type: Sequelize.JSON,
    },
    isConnected: {
        type: Sequelize.BOOLEAN,
        defaultValue: false,
    },
};

export default (sequelize) => {
    const Suppliers = sequelize.define('supplier', suppliers, {
        timestamps: false,
        freezeTableName: true,
    });
    return Suppliers;
};