mirror of
https://github.com/immich-app/immich.git
synced 2025-09-29 15:31:13 -04:00
fix: welcome email password (#21732)
This commit is contained in:
parent
ee98e69097
commit
39eee6a634
@ -81,7 +81,7 @@ type EventMap = {
|
||||
StackDeleteAll: [{ stackIds: string[]; userId: string }];
|
||||
|
||||
// user events
|
||||
UserSignup: [{ notify: boolean; id: string; tempPassword?: string }];
|
||||
UserSignup: [{ notify: boolean; id: string; password?: string }];
|
||||
|
||||
// websocket events
|
||||
WebsocketConnect: [{ userId: string }];
|
||||
|
@ -147,7 +147,7 @@ describe(NotificationService.name, () => {
|
||||
await sut.onUserSignup({ id: '', notify: true });
|
||||
expect(mocks.job.queue).toHaveBeenCalledWith({
|
||||
name: JobName.NotifyUserSignup,
|
||||
data: { id: '', tempPassword: undefined },
|
||||
data: { id: '', password: undefined },
|
||||
});
|
||||
});
|
||||
});
|
||||
|
@ -191,9 +191,9 @@ export class NotificationService extends BaseService {
|
||||
}
|
||||
|
||||
@OnEvent({ name: 'UserSignup' })
|
||||
async onUserSignup({ notify, id, tempPassword }: ArgOf<'UserSignup'>) {
|
||||
async onUserSignup({ notify, id, password: password }: ArgOf<'UserSignup'>) {
|
||||
if (notify) {
|
||||
await this.jobRepository.queue({ name: JobName.NotifyUserSignup, data: { id, tempPassword } });
|
||||
await this.jobRepository.queue({ name: JobName.NotifyUserSignup, data: { id, password } });
|
||||
}
|
||||
}
|
||||
|
||||
@ -251,70 +251,8 @@ export class NotificationService extends BaseService {
|
||||
return { messageId };
|
||||
}
|
||||
|
||||
async getTemplate(name: EmailTemplate, customTemplate: string) {
|
||||
const { server, templates } = await this.getConfig({ withCache: false });
|
||||
|
||||
let templateResponse = '';
|
||||
|
||||
switch (name) {
|
||||
case EmailTemplate.WELCOME: {
|
||||
const { html: _welcomeHtml } = await this.emailRepository.renderEmail({
|
||||
template: EmailTemplate.WELCOME,
|
||||
data: {
|
||||
baseUrl: getExternalDomain(server),
|
||||
displayName: 'John Doe',
|
||||
username: 'john@doe.com',
|
||||
password: 'thisIsAPassword123',
|
||||
},
|
||||
customTemplate: customTemplate || templates.email.welcomeTemplate,
|
||||
});
|
||||
|
||||
templateResponse = _welcomeHtml;
|
||||
break;
|
||||
}
|
||||
case EmailTemplate.ALBUM_UPDATE: {
|
||||
const { html: _updateAlbumHtml } = await this.emailRepository.renderEmail({
|
||||
template: EmailTemplate.ALBUM_UPDATE,
|
||||
data: {
|
||||
baseUrl: getExternalDomain(server),
|
||||
albumId: '1',
|
||||
albumName: 'Favorite Photos',
|
||||
recipientName: 'Jane Doe',
|
||||
cid: undefined,
|
||||
},
|
||||
customTemplate: customTemplate || templates.email.albumInviteTemplate,
|
||||
});
|
||||
templateResponse = _updateAlbumHtml;
|
||||
break;
|
||||
}
|
||||
|
||||
case EmailTemplate.ALBUM_INVITE: {
|
||||
const { html } = await this.emailRepository.renderEmail({
|
||||
template: EmailTemplate.ALBUM_INVITE,
|
||||
data: {
|
||||
baseUrl: getExternalDomain(server),
|
||||
albumId: '1',
|
||||
albumName: "John Doe's Favorites",
|
||||
senderName: 'John Doe',
|
||||
recipientName: 'Jane Doe',
|
||||
cid: undefined,
|
||||
},
|
||||
customTemplate: customTemplate || templates.email.albumInviteTemplate,
|
||||
});
|
||||
templateResponse = html;
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
templateResponse = '';
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return { name, html: templateResponse };
|
||||
}
|
||||
|
||||
@OnJob({ name: JobName.NotifyUserSignup, queue: QueueName.Notification })
|
||||
async handleUserSignup({ id, tempPassword }: JobOf<JobName.NotifyUserSignup>) {
|
||||
async handleUserSignup({ id, password }: JobOf<JobName.NotifyUserSignup>) {
|
||||
const user = await this.userRepository.get(id, { withDeleted: false });
|
||||
if (!user) {
|
||||
return JobStatus.Skipped;
|
||||
@ -327,7 +265,7 @@ export class NotificationService extends BaseService {
|
||||
baseUrl: getExternalDomain(server),
|
||||
displayName: user.name,
|
||||
username: user.email,
|
||||
password: tempPassword,
|
||||
password,
|
||||
},
|
||||
customTemplate: templates.email.welcomeTemplate,
|
||||
});
|
||||
|
@ -38,7 +38,7 @@ export class UserAdminService extends BaseService {
|
||||
await this.eventRepository.emit('UserSignup', {
|
||||
notify: !!notify,
|
||||
id: user.id,
|
||||
tempPassword: user.shouldChangePassword ? userDto.password : undefined,
|
||||
password: userDto.password,
|
||||
});
|
||||
|
||||
return mapUserAdmin(user);
|
||||
|
@ -249,7 +249,7 @@ export interface IEmailJob {
|
||||
}
|
||||
|
||||
export interface INotifySignupJob extends IEntityJob {
|
||||
tempPassword?: string;
|
||||
password?: string;
|
||||
}
|
||||
|
||||
export interface INotifyAlbumInviteJob extends IEntityJob {
|
||||
|
Loading…
x
Reference in New Issue
Block a user