import { createAction, props } from '@ngrx/store'; import { Partner } from '../models/partner.model'; // Load Actions export const loadPartners = createAction('[Partner] Load Partners'); export const loadPartnersSuccess = createAction( '[Partner] Load Partners Success', props<{ partners: Partner[] }>() ); export const loadPartnersFailure = createAction( '[Partner] Load Partners Failure', props<{ error: string }>() ); // Load Single Partner Actions export const loadPartner = createAction( '[Partner] Load Partner', props<{ id: string }>() ); export const loadPartnerSuccess = createAction( '[Partner] Load Partner Success', props<{ partner: Partner }>() ); export const loadPartnerFailure = createAction( '[Partner] Load Partner Failure', props<{ error: string }>() ); // Create Actions export const createPartner = createAction( '[Partner] Create Partner', props<{ partner: Partner }>() ); export const createPartnerSuccess = createAction( '[Partner] Create Partner Success', props<{ partner: Partner }>() ); export const createPartnerFailure = createAction( '[Partner] Create Partner Failure', props<{ error: string }>() ); // Update Actions export const updatePartner = createAction( '[Partner] Update Partner', props<{ id: string; partner: Partner }>() ); export const updatePartnerSuccess = createAction( '[Partner] Update Partner Success', props<{ partner: Partner }>() ); export const updatePartnerFailure = createAction( '[Partner] Update Partner Failure', props<{ error: string }>() ); // Delete Actions export const deletePartner = createAction( '[Partner] Delete Partner', props<{ id: string }>() ); export const deletePartnerSuccess = createAction( '[Partner] Delete Partner Success', props<{ id: string }>() ); export const deletePartnerFailure = createAction( '[Partner] Delete Partner Failure', props<{ error: string }>() ); // UI Actions export const selectPartner = createAction( '[Partner] Select Partner', props<{ partner: Partner | null }>() ); export const clearPartnerError = createAction('[Partner] Clear Error'); export const setPartnerLoading = createAction( '[Partner] Set Loading', props<{ loading: boolean }>() );