mirror of
https://github.com/immich-app/immich.git
synced 2025-01-10 13:56:47 +01:00
9bce3417e9
* feat(server): add `react-mail` as mail template engine and `nodemailer` * feat(server): add `smtp` related configs to `SystemConfig` * feat(web): add page for SMTP settings * feat(server): add `react-email.adapter` This adapter render the React-Email into HTML and plain/text email. The output is set as the body of the email. * feat(server): add `MailRepository` and `MailService` Allow to use the NestJS-modules-mailer module to send SMTP emails. This is the base transport for the `NotificationRepository` * feat(server): register the job dispatcher and Job for async email This allows to queue email sending jobs for the `EmailService`. * feat(server): add `NotificationRepository` and `NotificationService` This act as a middleware to properly route the notification to the right transport. As POC I've only implemented a simple SMTP transport. * feat(server): add `welcome` email template * feat(server): add the first notification on `createUser` in `UserService` This trigger an event for the `NotificationRepository` that once processes by using the global config and per-user config will carry the payload to the right notification transport. * chore: clean up * chore: clean up web * fix: type errors" * fix package lock * fix mail sending, option to ignore certs * chore: open api * chore: clean up * remove unused import * feat: email feature flag * chore: remove unused interface * small styling --------- Co-authored-by: Jason Rasmussen <jrasm91@gmail.com> Co-authored-by: Daniel Dietzler <mail@ddietzler.dev> Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
69 lines
2.7 KiB
TypeScript
69 lines
2.7 KiB
TypeScript
import { ActivityService } from 'src/services/activity.service';
|
|
import { AlbumService } from 'src/services/album.service';
|
|
import { APIKeyService } from 'src/services/api-key.service';
|
|
import { ApiService } from 'src/services/api.service';
|
|
import { AssetServiceV1 } from 'src/services/asset-v1.service';
|
|
import { AssetService } from 'src/services/asset.service';
|
|
import { AuditService } from 'src/services/audit.service';
|
|
import { AuthService } from 'src/services/auth.service';
|
|
import { DatabaseService } from 'src/services/database.service';
|
|
import { DownloadService } from 'src/services/download.service';
|
|
import { JobService } from 'src/services/job.service';
|
|
import { LibraryService } from 'src/services/library.service';
|
|
import { MediaService } from 'src/services/media.service';
|
|
import { MemoryService } from 'src/services/memory.service';
|
|
import { MetadataService } from 'src/services/metadata.service';
|
|
import { MicroservicesService } from 'src/services/microservices.service';
|
|
import { NotificationService } from 'src/services/notification.service';
|
|
import { PartnerService } from 'src/services/partner.service';
|
|
import { PersonService } from 'src/services/person.service';
|
|
import { SearchService } from 'src/services/search.service';
|
|
import { ServerInfoService } from 'src/services/server-info.service';
|
|
import { SessionService } from 'src/services/session.service';
|
|
import { SharedLinkService } from 'src/services/shared-link.service';
|
|
import { SmartInfoService } from 'src/services/smart-info.service';
|
|
import { StorageTemplateService } from 'src/services/storage-template.service';
|
|
import { StorageService } from 'src/services/storage.service';
|
|
import { SyncService } from 'src/services/sync.service';
|
|
import { SystemConfigService } from 'src/services/system-config.service';
|
|
import { SystemMetadataService } from 'src/services/system-metadata.service';
|
|
import { TagService } from 'src/services/tag.service';
|
|
import { TimelineService } from 'src/services/timeline.service';
|
|
import { TrashService } from 'src/services/trash.service';
|
|
import { UserService } from 'src/services/user.service';
|
|
|
|
export const services = [
|
|
ApiService,
|
|
MicroservicesService,
|
|
APIKeyService,
|
|
ActivityService,
|
|
AlbumService,
|
|
AssetService,
|
|
AssetServiceV1,
|
|
AuditService,
|
|
AuthService,
|
|
DatabaseService,
|
|
DownloadService,
|
|
JobService,
|
|
LibraryService,
|
|
MediaService,
|
|
MemoryService,
|
|
MetadataService,
|
|
NotificationService,
|
|
PartnerService,
|
|
PersonService,
|
|
SearchService,
|
|
ServerInfoService,
|
|
SessionService,
|
|
SharedLinkService,
|
|
SmartInfoService,
|
|
StorageService,
|
|
StorageTemplateService,
|
|
SyncService,
|
|
SystemConfigService,
|
|
SystemMetadataService,
|
|
TagService,
|
|
TimelineService,
|
|
TrashService,
|
|
UserService,
|
|
];
|