import {SubmissionPoliciesModel} from "@app/generated-api"; import {CrudNameSpace} from "@app/shared/crud.namespace"; 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 {languageActionNameSpace} from "@app/shared/language.action"; import {QueryParametersModel} from "@app/shared/models/query-parameters.model"; import {ApiService} from "@app/core/http/api.service"; import {NotificationService} from "@app/core/notification.service"; import {SubmissionPolicyAction, submissionPolicyActionNameSpace} from "@app/shared/submission-policy.action"; import {Action, State, StateContext, Store} 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 store: Store, protected notificationService: NotificationService) { super(apiService, store, notificationService); } defineUrlResource(): ResourceApiEnum { return AdminResourceApiEnum.submissionPolicies; } defineState(): StateEnum { return StateEnum.submissionPolicy; } defineCrudNameSpace(): CrudNameSpace { return submissionPolicyActionNameSpace; } defineSubResource(): ApiResourceNameEnum[] { return []; } }