solved comments
This commit is contained in:
parent
d3c728683f
commit
1af5a7ae4d
@ -1,12 +1,3 @@
|
||||
export const EmailNotificationScheduleTypes = {
|
||||
INSTANT: 'INSTANT',
|
||||
DAILY: 'DAILY',
|
||||
WEEKLY: 'WEEKLY',
|
||||
} as const;
|
||||
|
||||
export type EmailNotificationScheduleType = keyof typeof EmailNotificationScheduleTypes;
|
||||
export const EmailNotificationScheduleTypesValues = Object.values(EmailNotificationScheduleTypes);
|
||||
|
||||
export const NotificationCategories = {
|
||||
inAppNotifications: 'inAppNotifications',
|
||||
emailNotifications: 'emailNotifications',
|
||||
@ -39,9 +30,9 @@ export const ApproverOnDossiersNotificationsTypes = {
|
||||
|
||||
export const ApproverOnDossiersNotificationsTypesValues = Object.values(ApproverOnDossiersNotificationsTypes);
|
||||
|
||||
export const NotificationGroupsKeys = ['own', 'reviewer', 'approver'];
|
||||
export const NotificationGroupsKeys = ['own', 'reviewer', 'approver'] as const;
|
||||
export const NotificationGroupsValues = [
|
||||
OwnDossiersNotificationsTypesValues,
|
||||
ReviewerOnDossiersNotificationsTypesValues,
|
||||
ApproverOnDossiersNotificationsTypesValues,
|
||||
];
|
||||
] as const;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
@use 'apps/red-ui/src/assets/styles/variables';
|
||||
@use 'variables';
|
||||
@use 'libs/common-ui/src/assets/styles/common-mixins';
|
||||
|
||||
.dialog-content {
|
||||
|
||||
@ -4,12 +4,8 @@ import { notificationsTranslations } from '../../../translations/notifications-t
|
||||
import { NotificationPreferencesService } from '../../../services/notification-preferences.service';
|
||||
import { LoadingService, Toaster } from '@iqser/common-ui';
|
||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||
import {
|
||||
EmailNotificationScheduleTypesValues,
|
||||
NotificationCategoriesValues,
|
||||
NotificationGroupsKeys,
|
||||
NotificationGroupsValues,
|
||||
} from '../constants';
|
||||
import { NotificationCategoriesValues, NotificationGroupsKeys, NotificationGroupsValues } from '../constants';
|
||||
import { EmailNotificationScheduleTypesValues } from '@red/domain';
|
||||
|
||||
@Component({
|
||||
selector: 'redaction-notifications-screen',
|
||||
@ -75,7 +71,7 @@ export class NotificationsScreenComponent implements OnInit {
|
||||
async save() {
|
||||
this._loadingService.start();
|
||||
try {
|
||||
await this._notificationPreferencesService.updateNotificationPreferences(this.formGroup.value).toPromise();
|
||||
await this._notificationPreferencesService.update(this.formGroup.value).toPromise();
|
||||
} catch (e) {
|
||||
this._toaster.error(_('notifications-screen.error.generic'));
|
||||
}
|
||||
@ -85,7 +81,7 @@ export class NotificationsScreenComponent implements OnInit {
|
||||
private async _initializeForm() {
|
||||
this._loadingService.start();
|
||||
|
||||
const notificationPreferences = await this._notificationPreferencesService.getNotificationPreferences().toPromise();
|
||||
const notificationPreferences = await this._notificationPreferencesService.get().toPromise();
|
||||
this.formGroup.patchValue(notificationPreferences);
|
||||
|
||||
this._loadingService.stop();
|
||||
|
||||
@ -2,23 +2,20 @@ import { Injectable, Injector } from '@angular/core';
|
||||
import { GenericService } from '@iqser/common-ui';
|
||||
import { Observable, of } from 'rxjs';
|
||||
import { UserService } from '../../../services/user.service';
|
||||
import { INotificationPreferences } from '@red/domain';
|
||||
import { EmailNotificationScheduleTypes, INotificationPreferences } from '@red/domain';
|
||||
import { catchError } from 'rxjs/operators';
|
||||
import { EmailNotificationScheduleTypes } from '../screens/notifications/constants';
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root',
|
||||
})
|
||||
@Injectable()
|
||||
export class NotificationPreferencesService extends GenericService<INotificationPreferences> {
|
||||
constructor(protected readonly _injector: Injector, private readonly _userService: UserService) {
|
||||
super(_injector, 'notification-preferences');
|
||||
}
|
||||
|
||||
getNotificationPreferences(): Observable<INotificationPreferences> {
|
||||
get(): Observable<INotificationPreferences> {
|
||||
return super.get<INotificationPreferences>().pipe(catchError(() => of(this._defaultPreferences)));
|
||||
}
|
||||
|
||||
updateNotificationPreferences(notificationPreferences: INotificationPreferences): Observable<void> {
|
||||
update(notificationPreferences: INotificationPreferences): Observable<void> {
|
||||
return super._post(notificationPreferences);
|
||||
}
|
||||
|
||||
|
||||
@ -1 +1 @@
|
||||
Subproject commit 64bf1b270deb96f399b1ab603cf9cd00ff700f36
|
||||
Subproject commit ca957326b3514c7bc158fd80c9f65d1967d431d0
|
||||
@ -1 +1,2 @@
|
||||
export * from './notification-preferences';
|
||||
export * from './types';
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { EmailNotificationScheduleType } from '../../../../../apps/red-ui/src/app/modules/account/screens/notifications/constants';
|
||||
import { EmailNotificationScheduleType } from './types';
|
||||
|
||||
export interface INotificationPreferences {
|
||||
emailNotificationType: EmailNotificationScheduleType;
|
||||
|
||||
@ -0,0 +1,8 @@
|
||||
export const EmailNotificationScheduleTypes = {
|
||||
INSTANT: 'INSTANT',
|
||||
DAILY: 'DAILY',
|
||||
WEEKLY: 'WEEKLY',
|
||||
} as const;
|
||||
|
||||
export type EmailNotificationScheduleType = keyof typeof EmailNotificationScheduleTypes;
|
||||
export const EmailNotificationScheduleTypesValues = Object.values(EmailNotificationScheduleTypes);
|
||||
Loading…
x
Reference in New Issue
Block a user