{ "fields": { "name": { "type": "varchar", "required": true }, "subject": { "type": "varchar", "required": true, "notStorable": true, "view": "Email.Fields.Subject" }, "fromName": { "type": "varchar" }, "fromString": { "type": "varchar" }, "replyToString": { "type": "varchar" }, "from": { "type": "varchar", "notStorable": true, "required": true, "view": "views/email/fields/from-address-varchar" }, "to": { "type": "varchar", "notStorable": true, "required": true, "view": "views/email/fields/email-address-varchar" }, "cc": { "type": "varchar", "notStorable": true, "view": "views/email/fields/email-address-varchar" }, "bcc": { "type": "varchar", "notStorable": true, "view": "views/email/fields/email-address-varchar" }, "replyTo": { "type": "varchar", "notStorable": true, "view": "views/email/fields/email-address-varchar" }, "personStringData": { "type": "varchar", "notStorable": true, "disabled": true }, "isRead": { "type": "bool", "notStorable": true, "default": true }, "isImportant": { "type": "bool", "notStorable": true, "default": false }, "nameHash": { "type": "text", "notStorable": true, "readOlny": true, "disabled": true }, "typeHash": { "type": "text", "notStorable": true, "readOlny": true, "disabled": true }, "idHash": { "type": "text", "notStorable": true, "readOlny": true, "disabled": true }, "messageId": { "type": "varchar", "maxLength": 255, "readOlny": true }, "messageIdInternal": { "type": "varchar", "maxLength": 300, "readOlny": true, "index": true }, "emailAddress": { "type": "base", "notStorable": true, "view": "views/email/fields/email-address" }, "fromEmailAddress": { "type": "link", "view": "Email.Fields.FromEmailAddress" }, "toEmailAddresses": { "type": "linkMultiple" }, "ccEmailAddresses": { "type": "linkMultiple" }, "bodyPlain": { "type": "text", "readOnly": true, "seeMoreDisabled": true }, "body": { "type": "wysiwyg", "seeMoreDisabled": true, "height": 150 }, "isHtml": { "type": "bool", "default": true }, "status": { "type": "enum", "options": ["Draft", "Sending", "Sent", "Archived"], "readOnly": true, "default": "Archived" }, "attachments": { "type": "linkMultiple", "view": "Fields.AttachmentMultiple" }, "hasAttachment": { "type": "bool", "readOnly": true }, "parent": { "type": "linkParent" }, "dateSent": { "type": "datetime" }, "deliveryDate": { "type": "datetime", "readOnly": true }, "createdAt": { "type": "datetime", "readOnly": true }, "modifiedAt": { "type": "datetime", "readOnly": true }, "createdBy": { "type": "link", "readOnly": true }, "modifiedBy": { "type": "link", "readOnly": true }, "assignedUser": { "type": "link", "required": false }, "replied": { "type": "link", "noJoin": true, "readOnly": true }, "replies": { "type": "linkMultiple", "readOnly": true }, "isSystem": { "type": "bool", "default": false, "readOnly": true }, "teams": { "type": "linkMultiple" }, "users": { "type": "linkMultiple" } }, "links": { "createdBy": { "type": "belongsTo", "entity": "User" }, "modifiedBy": { "type": "belongsTo", "entity": "User" }, "assignedUser": { "type": "belongsTo", "entity": "User" }, "teams": { "type": "hasMany", "entity": "Team", "relationName": "entityTeam" }, "users": { "type": "hasMany", "entity": "User", "foreign": "emails", "additionalColumns": { "isRead": { "type": "bool", "default": false }, "isImportant": { "type": "bool", "default": false } } }, "attachments": { "type": "hasChildren", "entity": "Attachment", "foreign": "parent", "relationName": "attachments" }, "parent": { "type": "belongsToParent", "entityList": [], "foreign": "emails" }, "replied": { "type": "belongsTo", "entity": "Email", "foreign": "replies" }, "replies": { "type": "hasMany", "entity": "Email", "foreign": "replied" }, "fromEmailAddress": { "type": "belongsTo", "entity": "EmailAddress" }, "toEmailAddresses": { "type": "hasMany", "entity": "EmailAddress", "relationName": "emailEmailAddress", "conditions": { "addressType": "to" }, "additionalColumns": { "addressType": { "type": "varchar", "len": "4" } } }, "ccEmailAddresses": { "type": "hasMany", "entity": "EmailAddress", "relationName": "emailEmailAddress", "conditions": { "addressType": "cc" }, "additionalColumns": { "addressType": { "type": "varchar", "len": "4" } } }, "bccEmailAddresses": { "type": "hasMany", "entity": "EmailAddress", "relationName": "emailEmailAddress", "conditions": { "addressType": "bcc" }, "additionalColumns": { "addressType": { "type": "varchar", "len": "4" } } } }, "collection": { "sortBy": "dateSent", "asc": false }, "indexes": { "dateSentAssignedUser": { "columns": ["dateSent", "assignedUserId"] }, "dateSent": { "columns": ["dateSent", "deleted"] }, "dateSentStatus": { "columns": ["dateSent", "status", "deleted"] } } }