mealie/frontend/api/class-interfaces/email.ts
Hayden 2e9026f9ea
feat(frontend): Fix scheduler, forgot password flow, and minor bug fixes (#725)
* feat(frontend): 💄 add recipe title

* fix(frontend): 🐛 fixes #722 side-bar issue

* feat(frontend):  Add page titles to all pages

* minor cleanup

* refactor(backend): ♻️ rewrite scheduler to be more modulare and work

* feat(frontend):  start password reset functionality

* refactor(backend): ♻️ refactor application settings to facilitate dependency injection

* refactor(backend): 🔥 remove RECIPE_SETTINGS env variables in favor of group settings

* formatting

* refactor(backend): ♻️ align naming convention

* feat(backend):  password reset

* test(backend):  password reset

* feat(frontend):  self-service password reset

* purge password schedule

* update user creation for tests

Co-authored-by: Hayden <hay-kot@pm.me>
2021-10-07 09:39:47 -08:00

36 lines
777 B
TypeScript

import { BaseAPI } from "./_base";
const routes = {
base: "/api/admin/email",
forgotPassword: "/api/users/forgot-password",
invitation: "/api/groups/invitations/email",
};
export interface EmailResponse {
success: boolean;
error: string;
}
export interface EmailPayload {
email: string;
}
export interface InvitationEmail {
email: string;
token: string;
}
export class EmailAPI extends BaseAPI {
test(payload: EmailPayload) {
return this.requests.post<EmailResponse>(routes.base, payload);
}
sendInvitation(payload: InvitationEmail) {
return this.requests.post<EmailResponse>(routes.invitation, payload);
}
sendForgotPassword(payload: EmailPayload) {
return this.requests.post<EmailResponse>(routes.forgotPassword, payload);
}
}