Skip to content
Snippets Groups Projects
submission-policy.state.ts 4.87 KiB
Newer Older
import {SubmissionPoliciesModel} 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 {ApiService} from "@app/shared/services/api.service";
import {NotificationService} from "@app/shared/services/notification.service";
import {SubmissionPolicyAction} 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> {
  constructor(protected apiService: ApiService,
              protected notificationService: NotificationService) {
    super(apiService, notificationService);
  }

  defineUrlResource(): ResourceApiEnum {
    return AdminResourceApiEnum.submissionPolicies;
  }

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

  defineSubResource(): ApiResourceNameEnum[] {
    return [];
  @Action(SubmissionPolicyAction.ChangeQueryParameters)
  changeQueryParameters(ctx: StateContext<SubmissionPolicyStateModel>, action: SubmissionPolicyAction.ChangeQueryParameters): void {
  @Action(SubmissionPolicyAction.GetAll, {cancelUncompleted: true})
  getAll(ctx: StateContext<SubmissionPolicyStateModel>, action: SubmissionPolicyAction.GetAll) {
  @Action(SubmissionPolicyAction.GetAllSuccess)
  getAllSuccess(ctx: StateContext<SubmissionPolicyStateModel>, action: SubmissionPolicyAction.GetAllSuccess): void {
  @Action(SubmissionPolicyAction.GetAllFail)
  getAllFail(ctx: StateContext<SubmissionPolicyStateModel>, action: SubmissionPolicyAction.GetAllFail): void {
  @Action(SubmissionPolicyAction.GetById, {cancelUncompleted: true})
  getById(ctx: StateContext<SubmissionPolicyStateModel>, action: SubmissionPolicyAction.GetById): Observable<SubmissionPoliciesModel> {
  @Action(SubmissionPolicyAction.GetByIdSuccess)
  getByIdSuccess(ctx: StateContext<SubmissionPolicyStateModel>, action: SubmissionPolicyAction.GetByIdSuccess): void {
  @Action(SubmissionPolicyAction.GetByIdFail)
  getByIdFail(ctx: StateContext<SubmissionPolicyStateModel>, action: SubmissionPolicyAction.GetByIdFail): void {
  @Action(SubmissionPolicyAction.Create, {cancelUncompleted: true})
  create(ctx: StateContext<SubmissionPolicyStateModel>, action: SubmissionPolicyAction.Create): Observable<SubmissionPoliciesModel> {
  @Action(SubmissionPolicyAction.CreateSuccess)
  createSuccess(ctx: StateContext<SubmissionPolicyStateModel>, action: SubmissionPolicyAction.CreateSuccess): void {
  @Action(SubmissionPolicyAction.CreateFail)
  createFail(ctx: StateContext<SubmissionPolicyStateModel>, action: SubmissionPolicyAction.CreateFail): void {
  @Action(SubmissionPolicyAction.Update, {cancelUncompleted: true})
  update(ctx: StateContext<SubmissionPolicyStateModel>, action: SubmissionPolicyAction.Update): Observable<SubmissionPoliciesModel> {
  @Action(SubmissionPolicyAction.UpdateSuccess)
  updateSuccess(ctx: StateContext<SubmissionPolicyStateModel>, action: SubmissionPolicyAction.UpdateSuccess): void {
  @Action(SubmissionPolicyAction.UpdateFail)
  updateFail(ctx: StateContext<SubmissionPolicyStateModel>, action: SubmissionPolicyAction.UpdateFail): void {
  @Action(SubmissionPolicyAction.Delete, {cancelUncompleted: true})
  delete(ctx: StateContext<SubmissionPolicyStateModel>, action: SubmissionPolicyAction.Delete): Observable<SubmissionPoliciesModel> {
  @Action(SubmissionPolicyAction.DeleteSuccess)
  deleteSuccess(ctx: StateContext<SubmissionPolicyStateModel>, action: SubmissionPolicyAction.DeleteSuccess): void {
  @Action(SubmissionPolicyAction.DeleteFail)
  deleteFail(ctx: StateContext<SubmissionPolicyStateModel>, action: SubmissionPolicyAction.DeleteFail): void {