Skip to content
Snippets Groups Projects
Select Git revision
  • 0b5ba148ae09076da924baabfacdab8821c1b12b
  • main default protected
  • ozg-8323-umzug-dependency-track
  • OZG-8252-gitlab-pipelines
  • release
  • OZG-7856_schadcode_scanner
  • ci-pipeline
  • OZG-7526-signatur-nicht-uebernommen
  • OZG-6223-zip-download-bug
  • OZG-7367-tooltip-extension
  • OZG-7023-OZG-6956-E2E-externe-Stellen
  • OZG-6238-npm-durch-pnpm-ersetzen
  • release-admin
  • release-info
  • OZG-6700-admin-feature-toggle
  • E2E-Updates
  • OZG-7047-tooltips
  • OZG-6957-e2e-fachstellen-oe-daten
  • OZG-7006-ZuarbeitAnfragen
  • temp_OZG-7027
  • unit-tests-hotfix
  • 2.27.0
  • 2.26.0
  • 2.25.0
  • 2.24.2
  • 2.24.1
  • 2.24.0
  • 2.23.0
  • 2.22.0
  • 2.21.0
  • 2.20.0
  • 2.21.0-SNAPSHOT
  • 2.19.0
  • 2.18.0
  • 2.17.1
  • 1.3.0
  • release-admin-1.3.0
  • release-info-1.3.0
  • 2.17.0
  • 2.16.0
  • 2.15.0
41 results

user-settings.actions.ts

Blame
  • user-settings.actions.ts 1.93 KiB
    import { ApiError } from '@goofy-client/tech-shared';
    import { UserProfileResource } from '@goofy-client/user-profile-shared';
    import { ActionCreator, createAction, props } from '@ngrx/store';
    import { TypedAction } from '@ngrx/store/src/models';
    import { UserSettings, UserSettingsResource } from '../user-settings.model';
    
    //TODO centralize ActionCreate
    export interface UserSettingsActionCreator<T> extends ActionCreator<string, (props: T) => T & TypedAction<string>> { }
    export interface TypedActionCreator extends ActionCreator<string, () => TypedAction<string>> { }
    
    export interface UserProfileAction {
    	currentUser: UserProfileResource
    }
    
    export interface LoadedUserSettingsAction {
    	userSettings: UserSettingsResource
    }
    
    export interface SetUserSettingsAction {
    	userSettings: UserSettings
    }
    
    export interface ApiErrorAction {
    	apiError: ApiError
    }
    
    export const loadUserSettings: UserSettingsActionCreator<UserProfileAction> = createAction(
    	'[UserSettings] Load UserSettings',
    	props<{ currentUser: UserProfileResource }>()
    );
    
    export const loadUserSettingsSuccess: UserSettingsActionCreator<LoadedUserSettingsAction> = createAction(
    	'[UserSettings/API] Load UserSettings Success',
    	props<{ userSettings: UserSettingsResource }>()
    );
    
    export const loadUserSettingsFailure: UserSettingsActionCreator<ApiErrorAction> = createAction(
    	'[UserSettings/API] Load UserSettings Failure',
    	props<ApiErrorAction>()
    );
    
    export const setUserSettings: UserSettingsActionCreator<SetUserSettingsAction> = createAction(
    	'[UserSettings] Set UserSettings',
    	props<{ userSettings: UserSettings }>()
    );
    
    export const setUserSettingsSuccess: UserSettingsActionCreator<LoadedUserSettingsAction> = createAction(
    	'[UserSettings/API] Set UserSettings Success',
    	props<{ userSettings: UserSettingsResource }>()
    );
    
    export const setUserSettingsFailure: UserSettingsActionCreator<ApiErrorAction> = createAction(
    	'[UserSettings/API] Set UserSettings Failure',
    	props<ApiErrorAction>()
    );