app-outlet/app-outlet

View on GitHub
src/app/service/settings/settings.service.ts

Summary

Maintainability
A
0 mins
Test Coverage
A
100%
import { Injectable } from '@angular/core';
import { CoreService } from '../core/core.service';
import * as Channel from '../../../../core/interface/InterfaceChannel';
import { SettingModel } from '../../model/setting.model';

@Injectable({
    providedIn: 'root',
})
export class SettingsService {
    constructor(private coreService: CoreService) {}

    setTheme(theme: string): Promise<void> {
        return this.coreService.invoke<void>(Channel.settings.setTheme, theme);
    }

    getTheme(): Promise<string | undefined> {
        return this.coreService
            .invoke<SettingModel>(Channel.settings.getTheme)
            .then((themeEntity) => themeEntity?.value);
    }

    getLastSynchronizationDate(): Promise<Date | undefined> {
        return this.coreService.invoke<Date>(
            Channel.settings.getLastSynchronizationDate,
        );
    }
}