Skip to content
Snippets Groups Projects
admin-settings.util.ts 1000 B
Newer Older
  • Learn to ignore specific revisions
  • import {
      createEmptyStateResource,
      createStateResource,
      getEmbeddedResources,
      isNotNil,
      StateResource,
    } from '@alfa-client/tech-shared';
    
    import { SettingListLinkRel } from './admin-settings.linkrel';
    
    OZGCloud's avatar
    OZGCloud committed
    import { SettingItemResource, SettingListResource, SettingName } from './admin-settings.model';
    import { PostfachResource } from './postfach/postfach.model';
    
    
    export function getPostfachResource(
    
      settingsListResource: StateResource<SettingListResource>,
    
    ): StateResource<PostfachResource> {
    
      const entries: SettingItemResource[] = getEmbeddedResources(
    
        SettingListLinkRel.LIST,
    
      const postfachSettingItemResource: SettingItemResource = entries.find(isPostfachSettingItem);
      return isNotNil(postfachSettingItemResource) ?
          createStateResource(postfachSettingItemResource as PostfachResource)
    
        : createEmptyStateResource();
    
    
    function isPostfachSettingItem(item: SettingItemResource): boolean {
      return item.name === SettingName.POSTFACH;
    }