diff --git a/dashboard/src/models/MailboxesModel.js b/dashboard/src/models/MailboxesModel.js new file mode 100644 index 000000000..ce4c3cc66 --- /dev/null +++ b/dashboard/src/models/MailboxesModel.js @@ -0,0 +1,25 @@ + +import { fetcher } from 'pankow'; + +function create() { + const accessToken = localStorage.token; + const origin = import.meta.env.VITE_API_ORIGIN || window.location.origin; + + return { + async list(domain, search = '') { + let result; + try { + result = await fetcher.get(`${origin}/api/v1/mail/${domain}/mailboxes`, { page: 1, per_page: 1000, access_token: accessToken }); + } catch (e) { + return [e]; + } + + if (result.status !== 200) return [result]; + return [null, result.body.mailboxes]; + }, + }; +} + +export default { + create, +};