|
|
|
@ -3,7 +3,7 @@ import { switchMap, tap } from 'rxjs/operators'; |
|
|
|
import { |
|
|
|
CreateTenant, |
|
|
|
DeleteTenant, |
|
|
|
GetTenant, |
|
|
|
GetTenants, |
|
|
|
GetTenantById, |
|
|
|
UpdateTenant, |
|
|
|
} from '../actions/tenant-management.actions'; |
|
|
|
@ -28,8 +28,8 @@ export class TenantManagementState { |
|
|
|
|
|
|
|
constructor(private tenantManagementService: TenantManagementService) {} |
|
|
|
|
|
|
|
@Action(GetTenant) |
|
|
|
get({ patchState }: StateContext<TenantManagement.State>, { payload }: GetTenant) { |
|
|
|
@Action(GetTenants) |
|
|
|
get({ patchState }: StateContext<TenantManagement.State>, { payload }: GetTenants) { |
|
|
|
return this.tenantManagementService.getTenant(payload).pipe( |
|
|
|
tap(result => |
|
|
|
patchState({ |
|
|
|
@ -52,19 +52,19 @@ export class TenantManagementState { |
|
|
|
|
|
|
|
@Action(DeleteTenant) |
|
|
|
delete({ dispatch }: StateContext<TenantManagement.State>, { payload }: DeleteTenant) { |
|
|
|
return this.tenantManagementService.deleteTenant(payload).pipe(switchMap(() => dispatch(new GetTenant()))); |
|
|
|
return this.tenantManagementService.deleteTenant(payload).pipe(switchMap(() => dispatch(new GetTenants()))); |
|
|
|
} |
|
|
|
|
|
|
|
@Action(CreateTenant) |
|
|
|
add({ dispatch }: StateContext<TenantManagement.State>, { payload }: CreateTenant) { |
|
|
|
return this.tenantManagementService.createTenant(payload).pipe(switchMap(() => dispatch(new GetTenant()))); |
|
|
|
return this.tenantManagementService.createTenant(payload).pipe(switchMap(() => dispatch(new GetTenants()))); |
|
|
|
} |
|
|
|
|
|
|
|
@Action(UpdateTenant) |
|
|
|
update({ dispatch, getState }: StateContext<TenantManagement.State>, { payload }: UpdateTenant) { |
|
|
|
return dispatch(new GetTenantById(payload.id)).pipe( |
|
|
|
switchMap(() => this.tenantManagementService.updateTenant({ ...getState().selectedItem, ...payload })), |
|
|
|
switchMap(() => dispatch(new GetTenant())), |
|
|
|
switchMap(() => dispatch(new GetTenants())), |
|
|
|
); |
|
|
|
} |
|
|
|
} |
|
|
|
|