mirror of
https://github.com/Permissionless-Software-Foundation/bch-email-api.git
synced 2026-09-21 16:52:04 -07:00
81 lines
2.6 KiB
JavaScript
81 lines
2.6 KiB
JavaScript
/*
|
|
mailbox table in the iRedMail postgres database.
|
|
|
|
The constructor expects an instantiation of the sequalize class. Returns a
|
|
Sequelize model.
|
|
*/
|
|
|
|
'use strict'
|
|
|
|
const Sequelize = require('sequelize')
|
|
|
|
class Mailbox {
|
|
// Expects an instantiation of the sequalize class. Returns a Sequelize model.
|
|
constructor (sequelize) {
|
|
return sequelize.define(
|
|
'mailbox',
|
|
{
|
|
username: { type: Sequelize.STRING, primaryKey: true },
|
|
password: Sequelize.STRING,
|
|
name: Sequelize.STRING,
|
|
language: Sequelize.STRING,
|
|
storagebasedirectory: Sequelize.STRING,
|
|
storagenode: Sequelize.STRING,
|
|
maildir: Sequelize.STRING,
|
|
quota: Sequelize.BIGINT,
|
|
domain: Sequelize.STRING,
|
|
transport: Sequelize.STRING,
|
|
department: Sequelize.STRING,
|
|
rank: Sequelize.STRING,
|
|
employeeid: Sequelize.STRING,
|
|
isadmin: Sequelize.INTEGER,
|
|
isglobaladmin: Sequelize.INTEGER,
|
|
enablesmtp: Sequelize.INTEGER,
|
|
enablesmtpsecured: Sequelize.INTEGER,
|
|
enableimaptls: Sequelize.INTEGER,
|
|
enabledeliver: Sequelize.INTEGER,
|
|
enablelda: Sequelize.INTEGER,
|
|
enablemanagesieve: Sequelize.INTEGER,
|
|
enablemanagesievesecured: Sequelize.INTEGER,
|
|
enablesieve: Sequelize.INTEGER,
|
|
enablesievesecured: Sequelize.INTEGER,
|
|
enablesievetls: Sequelize.INTEGER,
|
|
enableinternal: Sequelize.INTEGER,
|
|
enabledoveadm: Sequelize.INTEGER,
|
|
'enablelib-storage': Sequelize.INTEGER,
|
|
'enableindexer-worker': Sequelize.INTEGER,
|
|
enablelmtp: Sequelize.INTEGER,
|
|
enabledsync: Sequelize.INTEGER,
|
|
enablesogo: Sequelize.INTEGER,
|
|
allow_nets: Sequelize.STRING,
|
|
lastlogindate: Sequelize.DATE,
|
|
lastloginipv4: Sequelize.INET,
|
|
lastloginprotocol: Sequelize.STRING,
|
|
disclaimer: Sequelize.STRING,
|
|
allowedsenders: Sequelize.STRING,
|
|
rejectedsenders: Sequelize.STRING,
|
|
allowedrecipients: Sequelize.STRING,
|
|
rejectedrecipients: Sequelize.STRING,
|
|
settings: Sequelize.STRING,
|
|
passwordlastchange: Sequelize.DATE,
|
|
created: Sequelize.DATE,
|
|
modified: Sequelize.DATE,
|
|
expired: Sequelize.DATE,
|
|
active: Sequelize.INTEGER
|
|
},
|
|
{
|
|
timestamps: false,
|
|
// disable the modification of tablenames; By default, sequelize will automatically
|
|
// transform all passed model names (first parameter of define) into plural.
|
|
// if you don't want that, set the following
|
|
freezeTableName: true,
|
|
// define the table's name
|
|
tableName: 'mailbox'
|
|
}
|
|
|
|
)
|
|
}
|
|
}
|
|
|
|
module.exports = Mailbox
|