1
0
Fork 0
mirror of https://github.com/mealie-recipes/mealie.git synced 2025-08-02 12:05:21 +02:00

Feature/email support (#720)

* feat(frontend):  add UI for testing email configuration

* feat(backend):  add email service with common templates (WIP)

* test(backend):  add basic tests for email configuration

* set defaults

* add email variables

Co-authored-by: Hayden <hay-kot@pm.me>
This commit is contained in:
Hayden 2021-10-03 18:38:45 -08:00 committed by GitHub
parent c0dd07f9e7
commit b7b8aa9a08
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
20 changed files with 1168 additions and 61 deletions

View file

@ -0,0 +1,28 @@
import { BaseAPI } from "./_base";
const routes = {
base: "/api/admin/email",
};
export interface CheckEmailResponse {
ready: boolean;
}
export interface TestEmailResponse {
success: boolean;
error: string;
}
export interface TestEmailPayload {
email: string;
}
export class EmailAPI extends BaseAPI {
check() {
return this.requests.get<CheckEmailResponse>(routes.base);
}
test(payload: TestEmailPayload) {
return this.requests.post<TestEmailResponse>(routes.base, payload);
}
}

View file

@ -15,6 +15,7 @@ import { WebhooksAPI } from "./class-interfaces/group-webhooks";
import { AdminAboutAPI } from "./class-interfaces/admin-about";
import { RegisterAPI } from "./class-interfaces/user-registration";
import { MealPlanAPI } from "./class-interfaces/group-mealplan";
import { EmailAPI } from "./class-interfaces/email";
import { ApiRequestInstance } from "~/types/api";
class AdminAPI {
@ -50,6 +51,7 @@ class Api {
public groupWebhooks: WebhooksAPI;
public register: RegisterAPI;
public mealplans: MealPlanAPI;
public email: EmailAPI;
// Utils
public upload: UploadFile;
@ -83,6 +85,8 @@ class Api {
this.upload = new UploadFile(requests);
this.utils = new UtilsAPI(requests);
this.email = new EmailAPI(requests);
Object.freeze(this);
Api.instance = this;
}