Skip to content
Snippets Groups Projects
preservation-policy.state.ts 5.02 KiB
Newer Older
import {PreservationPoliciesModel} from "@app/generated-api";
import {CrudState, CrudStateModel} from "@app/shared/crud.state";
import {ApiResourceNameEnum} from "@app/shared/enums/api-resource-name.enum";
import {AdminResourceApiEnum, ResourceApiEnum} from "@app/shared/enums/api.enum";
import {StateEnum} from "@app/shared/enums/state.enum";
import {QueryParametersModel} from "@app/shared/models/query-parameters.model";
import {PreservationPolicyAction} from "@app/shared/preservation-policy.action";
import {ApiService} from "@app/core/http/api.service";
import {NotificationService} from "@app/core/notification.service";
import {Action, State, StateContext, Store} from "@ngxs/store";
import {Observable} from "rxjs";

export interface PreservationPolicyStateModel extends CrudStateModel<PreservationPoliciesModel> {
}

@State<PreservationPolicyStateModel>({
  name: StateEnum.preservationPolicy,
  defaults: {
    total: 0,
    isLoading: false,
    list: [],
    current: null,
    queryParameters: new QueryParametersModel(),
  },
})
export class PreservationPolicyState extends CrudState<PreservationPoliciesModel> {
  constructor(protected apiService: ApiService,
              protected notificationService: NotificationService) {
    super(apiService, store, notificationService);
  }

  defineState(): StateEnum {
    return StateEnum.preservationPolicy;
  }

  defineSubResource(): ApiResourceNameEnum[] {
    return [];
  }

  defineUrlResource(): ResourceApiEnum {
    return AdminResourceApiEnum.preservationPolicies;
  @Action(PreservationPolicyAction.ChangeQueryParameters)
  changeQueryParameters(ctx: StateContext<PreservationPolicyStateModel>, action: PreservationPolicyAction.ChangeQueryParameters): void {
  @Action(PreservationPolicyAction.GetAll, {cancelUncompleted: true})
  getAll(ctx: StateContext<PreservationPolicyStateModel>, action: PreservationPolicyAction.GetAll) {
  @Action(PreservationPolicyAction.GetAllSuccess)
  getAllSuccess(ctx: StateContext<PreservationPolicyStateModel>, action: PreservationPolicyAction.GetAllSuccess): void {
  @Action(PreservationPolicyAction.GetAllFail)
  getAllFail(ctx: StateContext<PreservationPolicyStateModel>, action: PreservationPolicyAction.GetAllFail): void {
  @Action(PreservationPolicyAction.GetById, {cancelUncompleted: true})
  getById(ctx: StateContext<PreservationPolicyStateModel>, action: PreservationPolicyAction.GetById): Observable<PreservationPoliciesModel> {
  @Action(PreservationPolicyAction.GetByIdSuccess)
  getByIdSuccess(ctx: StateContext<PreservationPolicyStateModel>, action: PreservationPolicyAction.GetByIdSuccess): void {
  @Action(PreservationPolicyAction.GetByIdFail)
  getByIdFail(ctx: StateContext<PreservationPolicyStateModel>, action: PreservationPolicyAction.GetByIdFail): void {
  @Action(PreservationPolicyAction.Create, {cancelUncompleted: true})
  create(ctx: StateContext<PreservationPolicyStateModel>, action: PreservationPolicyAction.Create): Observable<PreservationPoliciesModel> {
  @Action(PreservationPolicyAction.CreateSuccess)
  createSuccess(ctx: StateContext<PreservationPolicyStateModel>, action: PreservationPolicyAction.CreateSuccess): void {
  @Action(PreservationPolicyAction.CreateFail)
  createFail(ctx: StateContext<PreservationPolicyStateModel>, action: PreservationPolicyAction.CreateFail): void {
  @Action(PreservationPolicyAction.Update, {cancelUncompleted: true})
  update(ctx: StateContext<PreservationPolicyStateModel>, action: PreservationPolicyAction.Update): Observable<PreservationPoliciesModel> {
  @Action(PreservationPolicyAction.UpdateSuccess)
  updateSuccess(ctx: StateContext<PreservationPolicyStateModel>, action: PreservationPolicyAction.UpdateSuccess): void {
  @Action(PreservationPolicyAction.UpdateFail)
  updateFail(ctx: StateContext<PreservationPolicyStateModel>, action: PreservationPolicyAction.UpdateFail): void {
  @Action(PreservationPolicyAction.Delete, {cancelUncompleted: true})
  delete(ctx: StateContext<PreservationPolicyStateModel>, action: PreservationPolicyAction.Delete): Observable<PreservationPoliciesModel> {
  @Action(PreservationPolicyAction.DeleteSuccess)
  deleteSuccess(ctx: StateContext<PreservationPolicyStateModel>, action: PreservationPolicyAction.DeleteSuccess): void {
  @Action(PreservationPolicyAction.DeleteFail)
  deleteFail(ctx: StateContext<PreservationPolicyStateModel>, action: PreservationPolicyAction.DeleteFail): void {