Skip to content
Snippets Groups Projects
submission-policy.state.ts 4.95 KiB
Newer Older
import {SubmissionPoliciesModel} from "@app/generated-api";
import {CrudState, CrudStateModel} from "@app/shared/crud.state";
import {AdminResourceApiEnum} from "@app/shared/enums/api.enum";
import {StateEnum} from "@app/shared/enums/state.enum";
import {QueryParametersModel} from "@app/shared/models/query-parameters.model";
import {ApiService} from "@app/shared/services/api.service";
import {NotificationService} from "@app/shared/services/notification.service";
import {
  SubmissionPolicyChangeQueryParameters,
  SubmissionPolicyCreate,
  SubmissionPolicyCreateFail,
  SubmissionPolicyCreateSuccess,
  SubmissionPolicyDelete,
  SubmissionPolicyDeleteFail,
  SubmissionPolicyDeleteSuccess,
  SubmissionPolicyGetAll,
  SubmissionPolicyGetAllFail,
  SubmissionPolicyGetAllSuccess,
  SubmissionPolicyGetById,
  SubmissionPolicyGetByIdFail,
  SubmissionPolicyGetByIdSuccess,
  SubmissionPolicyUpdate,
  SubmissionPolicyUpdateFail,
  SubmissionPolicyUpdateSuccess,
} from "@app/shared/submission-policy.action";
import {Action, State, StateContext} from "@ngxs/store";
import {Observable} from "rxjs";

export interface SubmissionPolicyStateModel extends CrudStateModel<SubmissionPoliciesModel> {
}

@State<SubmissionPolicyStateModel>({
  name: StateEnum.submissionPolicy,
  defaults: {
    total: 0,
    isLoading: false,
    list: [],
    current: null,
    queryParameters: new QueryParametersModel(),
  },
})
export class SubmissionPolicyState extends CrudState<SubmissionPoliciesModel> {
  protected urlResource: string;
  protected state: StateEnum;

  constructor(protected apiService: ApiService,
              protected notificationService: NotificationService) {
    super(apiService, notificationService);
    this.state = StateEnum.submissionPolicy;
    this.urlResource = AdminResourceApiEnum.submissionPolicies;
  }

  @Action(SubmissionPolicyChangeQueryParameters)
  changeQueryParameters(ctx: StateContext<SubmissionPolicyStateModel>, action: SubmissionPolicyChangeQueryParameters): void {
    super.changeQueryParameters(ctx, action);
  }

  @Action(SubmissionPolicyGetAll, {cancelUncompleted: true})
  getAll(ctx: StateContext<SubmissionPolicyStateModel>, action: SubmissionPolicyGetAll) {
    return super.getAll(ctx, action);
  }

  @Action(SubmissionPolicyGetAllSuccess)
  getAllSuccess(ctx: StateContext<SubmissionPolicyStateModel>, action: SubmissionPolicyGetAllSuccess): void {
    super.getAllSuccess(ctx, action);
  }

  @Action(SubmissionPolicyGetAllFail)
  getAllFail(ctx: StateContext<SubmissionPolicyStateModel>, action: SubmissionPolicyGetAllFail): void {
    super.getAllFail(ctx, action);
  }

  @Action(SubmissionPolicyGetById, {cancelUncompleted: true})
  getById(ctx: StateContext<SubmissionPolicyStateModel>, action: SubmissionPolicyGetById): Observable<SubmissionPoliciesModel> {
    return super.getById(ctx, action);
  }

  @Action(SubmissionPolicyGetByIdSuccess)
  getByIdSuccess(ctx: StateContext<SubmissionPolicyStateModel>, action: SubmissionPolicyGetByIdSuccess): void {
    super.getByIdSuccess(ctx, action);
  }

  @Action(SubmissionPolicyGetByIdFail)
  getByIdFail(ctx: StateContext<SubmissionPolicyStateModel>, action: SubmissionPolicyGetByIdFail): void {
    super.getByIdFail(ctx, action);
  }

  @Action(SubmissionPolicyCreate, {cancelUncompleted: true})
  create(ctx: StateContext<SubmissionPolicyStateModel>, action: SubmissionPolicyCreate): Observable<SubmissionPoliciesModel> {
    return super.create(ctx, action);
  }

  @Action(SubmissionPolicyCreateSuccess)
  createSuccess(ctx: StateContext<SubmissionPolicyStateModel>, action: SubmissionPolicyCreateSuccess): void {
    super.createSuccess(ctx, action);
  }

  @Action(SubmissionPolicyCreateFail)
  createFail(ctx: StateContext<SubmissionPolicyStateModel>, action: SubmissionPolicyCreateFail): void {
    super.createFail(ctx, action);
  }

  @Action(SubmissionPolicyUpdate, {cancelUncompleted: true})
  update(ctx: StateContext<SubmissionPolicyStateModel>, action: SubmissionPolicyUpdate): Observable<SubmissionPoliciesModel> {
    return super.update(ctx, action);
  }

  @Action(SubmissionPolicyUpdateSuccess)
  updateSuccess(ctx: StateContext<SubmissionPolicyStateModel>, action: SubmissionPolicyUpdateSuccess): void {
    super.updateSuccess(ctx, action);
  }

  @Action(SubmissionPolicyUpdateFail)
  updateFail(ctx: StateContext<SubmissionPolicyStateModel>, action: SubmissionPolicyUpdateFail): void {
    super.updateFail(ctx, action);
  }

  @Action(SubmissionPolicyDelete, {cancelUncompleted: true})
  delete(ctx: StateContext<SubmissionPolicyStateModel>, action: SubmissionPolicyDelete): Observable<SubmissionPoliciesModel> {
    return super.delete(ctx, action);
  }

  @Action(SubmissionPolicyDeleteSuccess)
  deleteSuccess(ctx: StateContext<SubmissionPolicyStateModel>, action: SubmissionPolicyDeleteSuccess): void {
    super.deleteSuccess(ctx, action);
  }

  @Action(SubmissionPolicyDeleteFail)
  deleteFail(ctx: StateContext<SubmissionPolicyStateModel>, action: SubmissionPolicyDeleteFail): void {
    super.deleteFail(ctx, action);
  }
}