Skip to content
Snippets Groups Projects
submission-policy.state.ts 1.61 KiB
Newer Older
import {ResourceNameSpace} from "../../../core/stores/resource/resource-namespace.model";
import {SubmissionPoliciesModel} from "@app/generated-api";
import {ResourceState, ResourceStateModel, defaultResourceStateInitValue} from "@app/core/stores/resource/resource.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/stores/submission-policy/submission-policy.action";
import {State, Store} from "@ngxs/store";
export interface SubmissionPolicyStateModel extends ResourceStateModel<SubmissionPoliciesModel> {
}

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

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

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

  defineResourceNameSpace(): ResourceNameSpace {
    return submissionPolicyActionNameSpace;