nodemailer-sequelize-queue
Version:
Queue for mails with nodemailer and cron scheduler
57 lines • 6.42 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.NsqMailQueue = void 0;
const sequelize_1 = require("sequelize");
class NsqMailQueue extends sequelize_1.Model {
}
exports.NsqMailQueue = NsqMailQueue;
exports.default = (sequelize) => {
NsqMailQueue.init({
id: {
allowNull: false,
autoIncrement: true,
primaryKey: true,
type: sequelize_1.DataTypes.INTEGER({ decimals: 11 }),
},
email_from: {
type: sequelize_1.DataTypes.STRING(155),
allowNull: false,
},
email_to: {
type: sequelize_1.DataTypes.STRING(155),
allowNull: false,
},
subject: {
type: sequelize_1.DataTypes.STRING(255),
allowNull: false,
},
html: {
type: sequelize_1.DataTypes.TEXT('long'),
allowNull: false,
},
attachments: {
type: sequelize_1.DataTypes.JSON,
allowNull: true,
},
attempts: {
type: sequelize_1.DataTypes.INTEGER({ decimals: 11 }),
defaultValue: 0,
},
last_error: {
type: sequelize_1.DataTypes.TEXT,
allowNull: true,
},
worker_uuid: {
type: sequelize_1.DataTypes.UUID,
allowNull: true,
},
}, {
modelName: 'NsqMailQueue',
tableName: 'nsq_mail_queue',
underscored: false,
timestamps: true,
sequelize, // passing the `sequelize` instance is required
});
return NsqMailQueue;
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUXVldWVNb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9RdWV1ZU1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlDQUE4RTtBQUc5RSxNQUFhLFlBQWEsU0FBUSxpQkFBSztDQVN0QztBQVRELG9DQVNDO0FBRUQsa0JBQWUsQ0FBQyxTQUFvQixFQUFxQixFQUFFO0lBQ3pELFlBQVksQ0FBQyxJQUFJLENBQ2Y7UUFDRSxFQUFFLEVBQUU7WUFDRixTQUFTLEVBQUUsS0FBSztZQUNoQixhQUFhLEVBQUUsSUFBSTtZQUNuQixVQUFVLEVBQUUsSUFBSTtZQUNoQixJQUFJLEVBQUUscUJBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUM7U0FDMUM7UUFDRCxVQUFVLEVBQUU7WUFDVixJQUFJLEVBQUUscUJBQVMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO1lBQzNCLFNBQVMsRUFBRSxLQUFLO1NBQ2pCO1FBQ0QsUUFBUSxFQUFFO1lBQ1IsSUFBSSxFQUFFLHFCQUFTLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztZQUMzQixTQUFTLEVBQUUsS0FBSztTQUNqQjtRQUNELE9BQU8sRUFBRTtZQUNQLElBQUksRUFBRSxxQkFBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUM7WUFDM0IsU0FBUyxFQUFFLEtBQUs7U0FDakI7UUFDRCxJQUFJLEVBQUU7WUFDSixJQUFJLEVBQUUscUJBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQzVCLFNBQVMsRUFBRSxLQUFLO1NBQ2pCO1FBQ0QsV0FBVyxFQUFFO1lBQ1gsSUFBSSxFQUFFLHFCQUFTLENBQUMsSUFBSTtZQUNwQixTQUFTLEVBQUUsSUFBSTtTQUNoQjtRQUNELFFBQVEsRUFBRTtZQUNSLElBQUksRUFBRSxxQkFBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQztZQUN6QyxZQUFZLEVBQUUsQ0FBQztTQUNoQjtRQUNELFVBQVUsRUFBRTtZQUNWLElBQUksRUFBRSxxQkFBUyxDQUFDLElBQUk7WUFDcEIsU0FBUyxFQUFFLElBQUk7U0FDaEI7UUFDRCxXQUFXLEVBQUU7WUFDWCxJQUFJLEVBQUUscUJBQVMsQ0FBQyxJQUFJO1lBQ3BCLFNBQVMsRUFBRSxJQUFJO1NBQ2hCO0tBQ0YsRUFDRDtRQUNFLFNBQVMsRUFBRSxjQUFjO1FBQ3pCLFNBQVMsRUFBRSxnQkFBZ0I7UUFDM0IsV0FBVyxFQUFFLEtBQUs7UUFDbEIsVUFBVSxFQUFFLElBQUk7UUFDaEIsU0FBUyxFQUFFLCtDQUErQztLQUMzRCxDQUNGLENBQUE7SUFDRCxPQUFPLFlBQVksQ0FBQTtBQUNyQixDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZXF1ZWxpemUsIERhdGFUeXBlcywgTW9kZWxTdGF0aWMsIE1vZGVsLCBPcHRpb25hbCB9IGZyb20gJ3NlcXVlbGl6ZSdcbmltcG9ydCB7IEF0dGFjaG1lbnQgfSBmcm9tICcuL01haWxlcidcblxuZXhwb3J0IGNsYXNzIE5zcU1haWxRdWV1ZSBleHRlbmRzIE1vZGVsIGltcGxlbWVudHMgSVF1ZXVlTW9kZWwge1xuICBkZWNsYXJlIGlkOiBudW1iZXJcbiAgZGVjbGFyZSBlbWFpbF9mcm9tOiBzdHJpbmdcbiAgZGVjbGFyZSBlbWFpbF90bzogc3RyaW5nXG4gIGRlY2xhcmUgc3ViamVjdDogc3RyaW5nXG4gIGRlY2xhcmUgaHRtbDogc3RyaW5nXG4gIGRlY2xhcmUgYXR0YWNobWVudHM/OiBhbnlcbiAgZGVjbGFyZSBhdHRlbXB0cz86IG51bWJlclxuICBkZWNsYXJlIGxhc3RfZXJyb3I/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGRlZmF1bHQgKHNlcXVlbGl6ZTogU2VxdWVsaXplKTogSVF1ZXVlTW9kZWxTdGF0aWMgPT4ge1xuICBOc3FNYWlsUXVldWUuaW5pdChcbiAgICB7XG4gICAgICBpZDoge1xuICAgICAgICBhbGxvd051bGw6IGZhbHNlLFxuICAgICAgICBhdXRvSW5jcmVtZW50OiB0cnVlLFxuICAgICAgICBwcmltYXJ5S2V5OiB0cnVlLFxuICAgICAgICB0eXBlOiBEYXRhVHlwZXMuSU5URUdFUih7IGRlY2ltYWxzOiAxMSB9KSxcbiAgICAgIH0sXG4gICAgICBlbWFpbF9mcm9tOiB7XG4gICAgICAgIHR5cGU6IERhdGFUeXBlcy5TVFJJTkcoMTU1KSxcbiAgICAgICAgYWxsb3dOdWxsOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgICBlbWFpbF90bzoge1xuICAgICAgICB0eXBlOiBEYXRhVHlwZXMuU1RSSU5HKDE1NSksXG4gICAgICAgIGFsbG93TnVsbDogZmFsc2UsXG4gICAgICB9LFxuICAgICAgc3ViamVjdDoge1xuICAgICAgICB0eXBlOiBEYXRhVHlwZXMuU1RSSU5HKDI1NSksXG4gICAgICAgIGFsbG93TnVsbDogZmFsc2UsXG4gICAgICB9LFxuICAgICAgaHRtbDoge1xuICAgICAgICB0eXBlOiBEYXRhVHlwZXMuVEVYVCgnbG9uZycpLFxuICAgICAgICBhbGxvd051bGw6IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIGF0dGFjaG1lbnRzOiB7XG4gICAgICAgIHR5cGU6IERhdGFUeXBlcy5KU09OLFxuICAgICAgICBhbGxvd051bGw6IHRydWUsXG4gICAgICB9LFxuICAgICAgYXR0ZW1wdHM6IHtcbiAgICAgICAgdHlwZTogRGF0YVR5cGVzLklOVEVHRVIoeyBkZWNpbWFsczogMTEgfSksXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogMCxcbiAgICAgIH0sXG4gICAgICBsYXN0X2Vycm9yOiB7XG4gICAgICAgIHR5cGU6IERhdGFUeXBlcy5URVhULFxuICAgICAgICBhbGxvd051bGw6IHRydWUsXG4gICAgICB9LFxuICAgICAgd29ya2VyX3V1aWQ6IHtcbiAgICAgICAgdHlwZTogRGF0YVR5cGVzLlVVSUQsXG4gICAgICAgIGFsbG93TnVsbDogdHJ1ZSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBtb2RlbE5hbWU6ICdOc3FNYWlsUXVldWUnLFxuICAgICAgdGFibGVOYW1lOiAnbnNxX21haWxfcXVldWUnLFxuICAgICAgdW5kZXJzY29yZWQ6IGZhbHNlLFxuICAgICAgdGltZXN0YW1wczogdHJ1ZSxcbiAgICAgIHNlcXVlbGl6ZSwgLy8gcGFzc2luZyB0aGUgYHNlcXVlbGl6ZWAgaW5zdGFuY2UgaXMgcmVxdWlyZWRcbiAgICB9XG4gIClcbiAgcmV0dXJuIE5zcU1haWxRdWV1ZVxufVxuXG5leHBvcnQgdHlwZSBBZGRRdWV1ZU1vZGVsQXR0cmlidXRlcyA9IHtcbiAgZW1haWxfZnJvbTogc3RyaW5nXG4gIGVtYWlsX3RvOiBzdHJpbmdcbiAgc3ViamVjdDogc3RyaW5nXG4gIGh0bWw6IHN0cmluZ1xuICBhdHRhY2htZW50cz86IEF0dGFjaG1lbnRbXVxufVxuXG5leHBvcnQgdHlwZSBRdWV1ZU1vZGVsQXR0cmlidXRlcyA9IHtcbiAgaWQ6IG51bWJlclxuICBlbWFpbF9mcm9tOiBzdHJpbmdcbiAgZW1haWxfdG86IHN0cmluZ1xuICBzdWJqZWN0OiBzdHJpbmdcbiAgaHRtbDogc3RyaW5nXG4gIHdvcmtlcl91dWlkOiBzdHJpbmcgfCBudWxsXG4gIGF0dGFjaG1lbnRzPzogYW55XG4gIGF0dGVtcHRzPzogbnVtYmVyXG4gIGxhc3RfZXJyb3I/OiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgSVF1ZXVlTW9kZWwgPSBNb2RlbDxRdWV1ZU1vZGVsQXR0cmlidXRlcywgUXVldWVNb2RlbENyZWF0aW9uQXR0cmlidXRlcz5cbmV4cG9ydCB0eXBlIElRdWV1ZU1vZGVsU3RhdGljID0gTW9kZWxTdGF0aWM8SVF1ZXVlTW9kZWw+XG5leHBvcnQgdHlwZSBRdWV1ZU1vZGVsQ3JlYXRpb25BdHRyaWJ1dGVzID0gT3B0aW9uYWw8UXVldWVNb2RlbEF0dHJpYnV0ZXMsICdpZCc+XG5leHBvcnQgdHlwZSBJTnNxTWFpbFF1ZXVlID0gdHlwZW9mIE5zcU1haWxRdWV1ZVxuIl19