import AdminUser from "admin/models/admin-user"; import EmberObject from "@ember/object"; import { ajax } from "discourse/lib/ajax"; const IncomingEmail = EmberObject.extend({}); IncomingEmail.reopenClass({ create(attrs) { attrs = attrs || {}; if (attrs.user) { attrs.user = AdminUser.create(attrs.user); } return this._super(attrs); }, find(id) { return ajax(`/admin/email/incoming/${id}.json`); }, findByBounced(id) { return ajax(`/admin/email/incoming_from_bounced/${id}.json`); }, findAll(filter, offset) { filter = filter || {}; offset = offset || 0; const status = filter.status || "received"; delete filter.status; return ajax(`/admin/email/${status}.json?offset=${offset}`, { data: filter, }).then((incomings) => incomings.map((incoming) => IncomingEmail.create(incoming)) ); }, loadRawEmail(id) { return ajax(`/admin/email/incoming/${id}/raw.json`); }, }); export default IncomingEmail;