Files
dspace-angular/src/app/core/provide-core.ts
abhinav 2eb09b3ada SubmissionCoarNotifyWorkspaceitemModel removed
This doesn't seem to be used anywhere and was throwing some errors.
2025-03-26 18:11:16 +01:00

229 lines
10 KiB
TypeScript

import { HttpClient } from '@angular/common/http';
import { makeEnvironmentProviders } from '@angular/core';
import { environment } from '../../environments/environment';
import { Itemfilter } from '../admin/admin-ldn-services/ldn-services-model/ldn-service-itemfilters';
import { LdnService } from '../admin/admin-ldn-services/ldn-services-model/ldn-services.model';
import { AdminNotifyMessage } from '../admin/admin-notify-dashboard/models/admin-notify-message.model';
import { NotifyRequestsStatus } from '../item-page/simple/notify-requests-status/notify-requests-status.model';
import { Filetypes } from '../process-page/processes/filetypes.model';
import { Process } from '../process-page/processes/process.model';
import { Script } from '../process-page/scripts/script.model';
import { EndpointMockingRestService } from '../shared/mocks/dspace-rest/endpoint-mocking-rest.service';
import {
MOCK_RESPONSE_MAP,
ResponseMapMock,
} from '../shared/mocks/dspace-rest/mocks/response-map.mock';
import { AccessStatusObject } from '../shared/object-collection/shared/badges/access-status-badge/access-status.model';
import { IdentifierData } from '../shared/object-list/identifier-data/identifier-data.model';
import { ListableNotificationObject } from '../shared/object-list/listable-notification-object/listable-notification-object.model';
import { FacetConfigResponse } from '../shared/search/models/facet-config-response.model';
import { FacetValues } from '../shared/search/models/facet-values.model';
import { SearchFilterConfig } from '../shared/search/models/search-filter-config.model';
import { SearchObjects } from '../shared/search/models/search-objects.model';
import { SearchResult } from '../shared/search/models/search-result.model';
import { Subscription } from '../shared/subscriptions/models/subscription.model';
import { StatisticsEndpoint } from '../statistics/statistics-endpoint.model';
import { SubmissionCoarNotifyConfig } from '../submission/sections/section-coar-notify/submission-coar-notify.config';
import { SystemWideAlert } from '../system-wide-alert/system-wide-alert.model';
import { AuthStatus } from './auth/models/auth-status.model';
import { ShortLivedToken } from './auth/models/short-lived-token.model';
import { BulkAccessConditionOptions } from './config/models/bulk-access-condition-options.model';
import { SubmissionAccessModel } from './config/models/config-submission-access.model';
import { SubmissionAccessesModel } from './config/models/config-submission-accesses.model';
import { SubmissionDefinitionModel } from './config/models/config-submission-definition.model';
import { SubmissionDefinitionsModel } from './config/models/config-submission-definitions.model';
import { SubmissionFormModel } from './config/models/config-submission-form.model';
import { SubmissionFormsModel } from './config/models/config-submission-forms.model';
import { SubmissionSectionModel } from './config/models/config-submission-section.model';
import { SubmissionSectionsModel } from './config/models/config-submission-sections.model';
import { SubmissionUploadModel } from './config/models/config-submission-upload.model';
import { SubmissionUploadsModel } from './config/models/config-submission-uploads.model';
import { PaginatedList } from './data/paginated-list.model';
import { Root } from './data/root.model';
import { DspaceRestService } from './dspace-rest/dspace-rest.service';
import { EPerson } from './eperson/models/eperson.model';
import { Group } from './eperson/models/group.model';
import { Feedback } from './feedback/models/feedback.model';
import { MetadataField } from './metadata/metadata-field.model';
import { MetadataSchema } from './metadata/metadata-schema.model';
import { QualityAssuranceEventObject } from './notifications/qa/models/quality-assurance-event.model';
import { QualityAssuranceSourceObject } from './notifications/qa/models/quality-assurance-source.model';
import { QualityAssuranceTopicObject } from './notifications/qa/models/quality-assurance-topic.model';
import { Suggestion } from './notifications/suggestions/models/suggestion.model';
import { SuggestionSource } from './notifications/suggestions/models/suggestion-source.model';
import { SuggestionTarget } from './notifications/suggestions/models/suggestion-target.model';
import { OrcidHistory } from './orcid/model/orcid-history.model';
import { OrcidQueue } from './orcid/model/orcid-queue.model';
import { ResearcherProfile } from './profile/model/researcher-profile.model';
import { ResourcePolicy } from './resource-policy/models/resource-policy.model';
import { Authorization } from './shared/authorization.model';
import { Bitstream } from './shared/bitstream.model';
import { BitstreamFormat } from './shared/bitstream-format.model';
import { BrowseDefinition } from './shared/browse-definition.model';
import { BrowseEntry } from './shared/browse-entry.model';
import { Bundle } from './shared/bundle.model';
import { Collection } from './shared/collection.model';
import { Community } from './shared/community.model';
import { ConfigurationProperty } from './shared/configuration-property.model';
import { ContentSource } from './shared/content-source.model';
import { DSpaceObject } from './shared/dspace-object.model';
import { ExternalSource } from './shared/external-source.model';
import { ExternalSourceEntry } from './shared/external-source-entry.model';
import { Feature } from './shared/feature.model';
import { FlatBrowseDefinition } from './shared/flat-browse-definition.model';
import { HierarchicalBrowseDefinition } from './shared/hierarchical-browse-definition.model';
import { Item } from './shared/item.model';
import { ItemType } from './shared/item-relationships/item-type.model';
import { Relationship } from './shared/item-relationships/relationship.model';
import { RelationshipType } from './shared/item-relationships/relationship-type.model';
import { ItemRequest } from './shared/item-request.model';
import { License } from './shared/license.model';
import { NonHierarchicalBrowseDefinition } from './shared/non-hierarchical-browse-definition';
import { Registration } from './shared/registration.model';
import { SearchConfig } from './shared/search/search-filters/search-config.model';
import { Site } from './shared/site.model';
import { TemplateItem } from './shared/template-item.model';
import { ValueListBrowseDefinition } from './shared/value-list-browse-definition.model';
import { Version } from './shared/version.model';
import { VersionHistory } from './shared/version-history.model';
import { UsageReport } from './statistics/models/usage-report.model';
import { CorrectionType } from './submission/models/correctiontype.model';
import { SubmissionCcLicence } from './submission/models/submission-cc-license.model';
import { SubmissionCcLicenceUrl } from './submission/models/submission-cc-license-url.model';
import { WorkflowItem } from './submission/models/workflowitem.model';
import { WorkspaceItem } from './submission/models/workspaceitem.model';
import { Vocabulary } from './submission/vocabularies/models/vocabulary.model';
import { VocabularyEntry } from './submission/vocabularies/models/vocabulary-entry.model';
import { VocabularyEntryDetail } from './submission/vocabularies/models/vocabulary-entry-detail.model';
import { SupervisionOrder } from './supervision-order/models/supervision-order.model';
import { AdvancedWorkflowInfo } from './tasks/models/advanced-workflow-info.model';
import { ClaimedTask } from './tasks/models/claimed-task-object.model';
import { PoolTask } from './tasks/models/pool-task-object.model';
import { RatingAdvancedWorkflowInfo } from './tasks/models/rating-advanced-workflow-info.model';
import { SelectReviewerAdvancedWorkflowInfo } from './tasks/models/select-reviewer-advanced-workflow-info.model';
import { TaskObject } from './tasks/models/task-object.model';
import { WorkflowAction } from './tasks/models/workflow-action-object.model';
export const provideCore = () => {
return makeEnvironmentProviders([
{ provide: DspaceRestService, useFactory: restServiceFactory, deps: [MOCK_RESPONSE_MAP, HttpClient] },
]);
};
/**
* When not in production, endpoint responses can be mocked for testing purposes
* If there is no mock version available for the endpoint, the actual REST response will be used just like in production mode
*/
export const restServiceFactory = (mocks: ResponseMapMock, http: HttpClient) => {
if (environment.production) {
return new DspaceRestService(http);
} else {
return new EndpointMockingRestService(mocks, http);
}
};
/**
* Declaration needed to make sure all decorator functions are called in time
*/
export const models =
[
Root,
DSpaceObject,
Bundle,
Bitstream,
BitstreamFormat,
Item,
Site,
Collection,
Community,
EPerson,
Group,
ResourcePolicy,
MetadataSchema,
MetadataField,
License,
WorkflowItem,
WorkspaceItem,
SubmissionCcLicence,
SubmissionCcLicenceUrl,
SubmissionDefinitionsModel,
SubmissionFormsModel,
SubmissionSectionModel,
SubmissionUploadsModel,
AuthStatus,
BrowseEntry,
BrowseDefinition,
NonHierarchicalBrowseDefinition,
FlatBrowseDefinition,
ValueListBrowseDefinition,
HierarchicalBrowseDefinition,
ClaimedTask,
TaskObject,
PoolTask,
Relationship,
RelationshipType,
ItemType,
ExternalSource,
ExternalSourceEntry,
Script,
Process,
Version,
VersionHistory,
WorkflowAction,
AdvancedWorkflowInfo,
RatingAdvancedWorkflowInfo,
SelectReviewerAdvancedWorkflowInfo,
TemplateItem,
Feature,
Authorization,
Registration,
Vocabulary,
VocabularyEntry,
VocabularyEntryDetail,
ConfigurationProperty,
ShortLivedToken,
UsageReport,
QualityAssuranceTopicObject,
QualityAssuranceEventObject,
SearchConfig,
SubmissionAccessesModel,
QualityAssuranceSourceObject,
AccessStatusObject,
ResearcherProfile,
OrcidQueue,
OrcidHistory,
IdentifierData,
Subscription,
ItemRequest,
BulkAccessConditionOptions,
SuggestionTarget,
SuggestionSource,
LdnService,
Itemfilter,
SubmissionCoarNotifyConfig,
NotifyRequestsStatus,
SystemWideAlert,
AdminNotifyMessage,
SubmissionAccessModel,
SubmissionDefinitionModel,
SubmissionFormModel,
SubmissionSectionsModel,
SubmissionUploadModel,
PaginatedList,
Feedback,
Suggestion,
Filetypes,
ContentSource,
ListableNotificationObject,
FacetConfigResponse,
FacetValues,
SearchFilterConfig,
SearchObjects,
SearchResult,
StatisticsEndpoint,
CorrectionType,
SupervisionOrder,
];