import { createAction, props } from '@ngrx/store'; import { CompanyViewModel, UserProfileViewModel } from '../models'; const ID = '[User] '; export const init = createAction(`${ID}Init`); export const logIn = createAction( `${ID}Log in`, props<{ companyId: number; language: string }>() ); export const logInByGuid = createAction( `${ID}Login by guid`, props<{ guid: string; language: string }>() ); export const logOut = createAction(`${ID}Log out`); export const requestUserProfile = createAction( `${ID}Request user profile`, props<{ companyId?: number; language?: string }>() ); export const setUserProfile = createAction( `${ID}Set user profile`, props<{ userApiProfile: UserProfileViewModel | null; forceLanguage?: string; }>() ); export const changeLanguage = createAction( `${ID}Change language`, props<{ userLanguage: string }>() ); export const userProfileLanguageChanged = createAction( `${ID}Profile language changed`, props<{ userLanguage: string }>() ); export const userProfileLanguageChangeFailed = createAction( `${ID}Profile language change failed`, props<{ err: any }>() ); export const changeCompany = createAction( `${ID}Change company`, props<{ selectedCompanyId?: number }>() ); export const setActiveCompany = createAction( `${ID}Set active company`, ({ company, hasManyCompanies, language, }: { company: CompanyViewModel | null; hasManyCompanies: boolean; language?: string; }) => ({ company, hasManyCompanies, language, }) ); export const trySetActiveCompany = createAction( `${ID}Try set active company`, props<{ selectedCompanyId: number; selectedLanguage: string; companyNotRequired: boolean; }>() ); export const registerFcmToken = createAction( `${ID}Register FCM token`, props<{ token: string }>() ); export const setUserAccessActions = createAction( `${ID}Set user access actions`, props<{ accessActions: Record }>() );