Skip to content
Snippets Groups Projects
submission-policy.state.ts 1.51 KiB
Newer Older
import {SubmissionPoliciesModel} from "@app/generated-api";
import {CrudNameSpace} from "@app/shared/crud.namespace";
import {CrudState, CrudStateModel, defaultCrudStateInitValue} 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/core/http/api.service";
Florent Poittevin's avatar
Florent Poittevin committed
import {NotificationService} from "@app/core/services/notification.service";
import {submissionPolicyActionNameSpace} from "@app/shared/submission-policy.action";
import {State, Store} from "@ngxs/store";

export interface SubmissionPolicyStateModel extends CrudStateModel<SubmissionPoliciesModel> {
}

@State<SubmissionPolicyStateModel>({
  name: StateEnum.submissionPolicy,
  defaults: {
    ...defaultCrudStateInitValue,
  },
})
export class SubmissionPolicyState extends CrudState<SubmissionPoliciesModel> {
  constructor(protected apiService: ApiService,
              protected notificationService: NotificationService) {
    super(apiService, store, notificationService);
  }

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

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

  defineCrudNameSpace(): CrudNameSpace {
    return submissionPolicyActionNameSpace;