mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-07 10:04:11 +00:00
288 lines
13 KiB
TypeScript
288 lines
13 KiB
TypeScript
import { ModuleWithProviders, NgModule, Optional, SkipSelf } from '@angular/core';
|
|
import { CommonModule } from '@angular/common';
|
|
|
|
import { StoreModule } from '@ngrx/store';
|
|
import { EffectsModule } from '@ngrx/effects';
|
|
import {
|
|
DynamicFormLayoutService,
|
|
DynamicFormService,
|
|
DynamicFormValidationService
|
|
} from '@ng-dynamic-forms/core';
|
|
|
|
import { coreEffects } from './core.effects';
|
|
import { coreReducers } from './core.reducers';
|
|
|
|
import { isNotEmpty } from '../shared/empty.util';
|
|
|
|
import { ApiService } from './services/api.service';
|
|
import { BrowseEntriesResponseParsingService } from './data/browse-entries-response-parsing.service';
|
|
import { CollectionDataService } from './data/collection-data.service';
|
|
import { CommunityDataService } from './data/community-data.service';
|
|
import { DebugResponseParsingService } from './data/debug-response-parsing.service';
|
|
import { DSOResponseParsingService } from './data/dso-response-parsing.service';
|
|
import { SearchResponseParsingService } from './data/search-response-parsing.service';
|
|
import { DSpaceRESTv2Service } from './dspace-rest-v2/dspace-rest-v2.service';
|
|
import { FormBuilderService } from '../shared/form/builder/form-builder.service';
|
|
import { SectionFormOperationsService } from '../submission/sections/form/section-form-operations.service';
|
|
import { FormService } from '../shared/form/form.service';
|
|
import { GroupEpersonService } from './eperson/group-eperson.service';
|
|
import { HostWindowService } from '../shared/host-window.service';
|
|
import { ItemDataService } from './data/item-data.service';
|
|
import { MetadataService } from './metadata/metadata.service';
|
|
import { ObjectCacheService } from './cache/object-cache.service';
|
|
import { PaginationComponentOptions } from '../shared/pagination/pagination-component-options.model';
|
|
import { RemoteDataBuildService } from './cache/builders/remote-data-build.service';
|
|
import { RequestService } from './data/request.service';
|
|
import { EndpointMapResponseParsingService } from './data/endpoint-map-response-parsing.service';
|
|
import { ServerResponseService } from './services/server-response.service';
|
|
import { NativeWindowFactory, NativeWindowService } from './services/window.service';
|
|
import { BrowseService } from './browse/browse.service';
|
|
import { BrowseResponseParsingService } from './data/browse-response-parsing.service';
|
|
import { ConfigResponseParsingService } from './config/config-response-parsing.service';
|
|
import { RouteService } from './services/route.service';
|
|
import { SubmissionDefinitionsConfigService } from './config/submission-definitions-config.service';
|
|
import { SubmissionFormsConfigService } from './config/submission-forms-config.service';
|
|
import { SubmissionSectionsConfigService } from './config/submission-sections-config.service';
|
|
import { SubmissionResponseParsingService } from './submission/submission-response-parsing.service';
|
|
import { EpersonResponseParsingService } from './eperson/eperson-response-parsing.service';
|
|
import { JsonPatchOperationsBuilder } from './json-patch/builder/json-patch-operations-builder';
|
|
import { AuthorityService } from './integration/authority.service';
|
|
import { IntegrationResponseParsingService } from './integration/integration-response-parsing.service';
|
|
import { WorkspaceitemDataService } from './submission/workspaceitem-data.service';
|
|
import { UUIDService } from './shared/uuid.service';
|
|
import { AuthenticatedGuard } from './auth/authenticated.guard';
|
|
import { AuthRequestService } from './auth/auth-request.service';
|
|
import { AuthResponseParsingService } from './auth/auth-response-parsing.service';
|
|
import { HTTP_INTERCEPTORS } from '@angular/common/http';
|
|
import { AuthInterceptor } from './auth/auth.interceptor';
|
|
import { HALEndpointService } from './shared/hal-endpoint.service';
|
|
import { FacetValueResponseParsingService } from './data/facet-value-response-parsing.service';
|
|
import { FacetValueMapResponseParsingService } from './data/facet-value-map-response-parsing.service';
|
|
import { FacetConfigResponseParsingService } from './data/facet-config-response-parsing.service';
|
|
import { ResourcePolicyService } from './data/resource-policy.service';
|
|
import { RegistryService } from './registry/registry.service';
|
|
import { RegistryMetadataschemasResponseParsingService } from './data/registry-metadataschemas-response-parsing.service';
|
|
import { RegistryMetadatafieldsResponseParsingService } from './data/registry-metadatafields-response-parsing.service';
|
|
import { RegistryBitstreamformatsResponseParsingService } from './data/registry-bitstreamformats-response-parsing.service';
|
|
import { WorkflowItemDataService } from './submission/workflowitem-data.service';
|
|
import { NotificationsService } from '../shared/notifications/notifications.service';
|
|
import { UploaderService } from '../shared/uploader/uploader.service';
|
|
import { FileService } from './shared/file.service';
|
|
import { SubmissionRestService } from './submission/submission-rest.service';
|
|
import { BrowseItemsResponseParsingService } from './data/browse-items-response-parsing-service';
|
|
import { DSpaceObjectDataService } from './data/dspace-object-data.service';
|
|
import { MetadataschemaParsingService } from './data/metadataschema-parsing.service';
|
|
import { FilteredDiscoveryPageResponseParsingService } from './data/filtered-discovery-page-response-parsing.service';
|
|
import { CSSVariableService } from '../shared/sass-helper/sass-helper.service';
|
|
import { MenuService } from '../shared/menu/menu.service';
|
|
import { SubmissionJsonPatchOperationsService } from './submission/submission-json-patch-operations.service';
|
|
import { NormalizedObjectBuildService } from './cache/builders/normalized-object-build.service';
|
|
import { DSOChangeAnalyzer } from './data/dso-change-analyzer.service';
|
|
import { ObjectUpdatesService } from './data/object-updates/object-updates.service';
|
|
import { DefaultChangeAnalyzer } from './data/default-change-analyzer.service';
|
|
import { SearchService } from '../+search-page/search-service/search.service';
|
|
import { NormalizedCollection } from './cache/models/normalized-collection.model';
|
|
import { NormalizedCommunity } from './cache/models/normalized-community.model';
|
|
import { NormalizedDSpaceObject } from './cache/models/normalized-dspace-object.model';
|
|
import { NormalizedBitstream } from './cache/models/normalized-bitstream.model';
|
|
import { NormalizedBundle } from './cache/models/normalized-bundle.model';
|
|
import { NormalizedBitstreamFormat } from './cache/models/normalized-bitstream-format.model';
|
|
import { NormalizedItem } from './cache/models/normalized-item.model';
|
|
import { NormalizedEPerson } from './eperson/models/normalized-eperson.model';
|
|
import { NormalizedGroup } from './eperson/models/normalized-group.model';
|
|
import { NormalizedResourcePolicy } from './cache/models/normalized-resource-policy.model';
|
|
import { NormalizedMetadataSchema } from './metadata/normalized-metadata-schema.model';
|
|
import { NormalizedMetadataField } from './metadata/normalized-metadata-field.model';
|
|
import { NormalizedLicense } from './cache/models/normalized-license.model';
|
|
import { NormalizedWorkflowItem } from './submission/models/normalized-workflowitem.model';
|
|
import { NormalizedWorkspaceItem } from './submission/models/normalized-workspaceitem.model';
|
|
import { NormalizedSubmissionDefinitionsModel } from './config/models/normalized-config-submission-definitions.model';
|
|
import { NormalizedSubmissionFormsModel } from './config/models/normalized-config-submission-forms.model';
|
|
import { NormalizedSubmissionSectionModel } from './config/models/normalized-config-submission-section.model';
|
|
import { NormalizedAuthStatus } from './auth/models/normalized-auth-status.model';
|
|
import { NormalizedAuthorityValue } from './integration/models/normalized-authority-value.model';
|
|
import { RelationshipService } from './data/relationship.service';
|
|
import { RoleService } from './roles/role.service';
|
|
import { MyDSpaceGuard } from '../+my-dspace-page/my-dspace.guard';
|
|
import { MyDSpaceResponseParsingService } from './data/mydspace-response-parsing.service';
|
|
import { ClaimedTaskDataService } from './tasks/claimed-task-data.service';
|
|
import { PoolTaskDataService } from './tasks/pool-task-data.service';
|
|
import { TaskResponseParsingService } from './tasks/task-response-parsing.service';
|
|
import { BitstreamFormatDataService } from './data/bitstream-format-data.service';
|
|
import { NormalizedClaimedTask } from './tasks/models/normalized-claimed-task-object.model';
|
|
import { NormalizedTaskObject } from './tasks/models/normalized-task-object.model';
|
|
import { NormalizedPoolTask } from './tasks/models/normalized-pool-task-object.model';
|
|
import { NormalizedRelationship } from './cache/models/items/normalized-relationship.model';
|
|
import { NormalizedRelationshipType } from './cache/models/items/normalized-relationship-type.model';
|
|
import { NormalizedItemType } from './cache/models/items/normalized-item-type.model';
|
|
import { MetadatafieldParsingService } from './data/metadatafield-parsing.service';
|
|
import { NormalizedSubmissionUploadsModel } from './config/models/normalized-config-submission-uploads.model';
|
|
import { NormalizedBrowseEntry } from './shared/normalized-browse-entry.model';
|
|
import { BrowseDefinition } from './shared/browse-definition.model';
|
|
|
|
const IMPORTS = [
|
|
CommonModule,
|
|
StoreModule.forFeature('core', coreReducers, {}),
|
|
EffectsModule.forFeature(coreEffects)
|
|
];
|
|
|
|
const DECLARATIONS = [];
|
|
|
|
const EXPORTS = [];
|
|
|
|
const PROVIDERS = [
|
|
ApiService,
|
|
AuthenticatedGuard,
|
|
AuthRequestService,
|
|
AuthResponseParsingService,
|
|
CommunityDataService,
|
|
CollectionDataService,
|
|
DSOResponseParsingService,
|
|
DSpaceRESTv2Service,
|
|
DynamicFormLayoutService,
|
|
DynamicFormService,
|
|
DynamicFormValidationService,
|
|
FormBuilderService,
|
|
SectionFormOperationsService,
|
|
FormService,
|
|
EpersonResponseParsingService,
|
|
GroupEpersonService,
|
|
HALEndpointService,
|
|
HostWindowService,
|
|
ItemDataService,
|
|
MetadataService,
|
|
ObjectCacheService,
|
|
PaginationComponentOptions,
|
|
ResourcePolicyService,
|
|
RegistryService,
|
|
BitstreamFormatDataService,
|
|
NormalizedObjectBuildService,
|
|
RemoteDataBuildService,
|
|
RequestService,
|
|
EndpointMapResponseParsingService,
|
|
FacetValueResponseParsingService,
|
|
FacetValueMapResponseParsingService,
|
|
FacetConfigResponseParsingService,
|
|
RegistryMetadataschemasResponseParsingService,
|
|
RegistryMetadatafieldsResponseParsingService,
|
|
RegistryBitstreamformatsResponseParsingService,
|
|
DebugResponseParsingService,
|
|
SearchResponseParsingService,
|
|
MyDSpaceResponseParsingService,
|
|
ServerResponseService,
|
|
BrowseResponseParsingService,
|
|
BrowseEntriesResponseParsingService,
|
|
BrowseItemsResponseParsingService,
|
|
BrowseService,
|
|
ConfigResponseParsingService,
|
|
RouteService,
|
|
SubmissionDefinitionsConfigService,
|
|
SubmissionFormsConfigService,
|
|
SubmissionRestService,
|
|
SubmissionSectionsConfigService,
|
|
SubmissionResponseParsingService,
|
|
SubmissionJsonPatchOperationsService,
|
|
JsonPatchOperationsBuilder,
|
|
AuthorityService,
|
|
IntegrationResponseParsingService,
|
|
MetadataschemaParsingService,
|
|
MetadatafieldParsingService,
|
|
UploaderService,
|
|
UUIDService,
|
|
NotificationsService,
|
|
WorkspaceitemDataService,
|
|
WorkflowItemDataService,
|
|
UploaderService,
|
|
FileService,
|
|
DSpaceObjectDataService,
|
|
DSOChangeAnalyzer,
|
|
DefaultChangeAnalyzer,
|
|
CSSVariableService,
|
|
MenuService,
|
|
ObjectUpdatesService,
|
|
SearchService,
|
|
RelationshipService,
|
|
MyDSpaceGuard,
|
|
RoleService,
|
|
TaskResponseParsingService,
|
|
ClaimedTaskDataService,
|
|
PoolTaskDataService,
|
|
// register AuthInterceptor as HttpInterceptor
|
|
{
|
|
provide: HTTP_INTERCEPTORS,
|
|
useClass: AuthInterceptor,
|
|
multi: true
|
|
},
|
|
NotificationsService,
|
|
FilteredDiscoveryPageResponseParsingService,
|
|
{ provide: NativeWindowService, useFactory: NativeWindowFactory }
|
|
];
|
|
|
|
/**
|
|
* Declaration needed to make sure all decorator functions are called in time
|
|
*/
|
|
export const normalizedModels =
|
|
[
|
|
NormalizedDSpaceObject,
|
|
NormalizedBundle,
|
|
NormalizedBitstream,
|
|
NormalizedBitstreamFormat,
|
|
NormalizedItem,
|
|
NormalizedCollection,
|
|
NormalizedCommunity,
|
|
NormalizedEPerson,
|
|
NormalizedGroup,
|
|
NormalizedResourcePolicy,
|
|
NormalizedMetadataSchema,
|
|
NormalizedMetadataField,
|
|
NormalizedLicense,
|
|
NormalizedWorkflowItem,
|
|
NormalizedWorkspaceItem,
|
|
NormalizedSubmissionDefinitionsModel,
|
|
NormalizedSubmissionFormsModel,
|
|
NormalizedSubmissionSectionModel,
|
|
NormalizedSubmissionUploadsModel,
|
|
NormalizedAuthStatus,
|
|
NormalizedAuthorityValue,
|
|
NormalizedBrowseEntry,
|
|
BrowseDefinition,
|
|
NormalizedClaimedTask,
|
|
NormalizedTaskObject,
|
|
NormalizedPoolTask,
|
|
NormalizedRelationship,
|
|
NormalizedRelationshipType,
|
|
NormalizedItemType
|
|
];
|
|
|
|
@NgModule({
|
|
imports: [
|
|
...IMPORTS
|
|
],
|
|
declarations: [
|
|
...DECLARATIONS
|
|
],
|
|
exports: [
|
|
...EXPORTS
|
|
],
|
|
providers: [
|
|
...PROVIDERS
|
|
]
|
|
})
|
|
|
|
export class CoreModule {
|
|
static forRoot(): ModuleWithProviders {
|
|
return {
|
|
ngModule: CoreModule,
|
|
providers: [
|
|
...PROVIDERS
|
|
]
|
|
};
|
|
}
|
|
|
|
constructor(@Optional() @SkipSelf() parentModule: CoreModule) {
|
|
if (isNotEmpty(parentModule)) {
|
|
throw new Error('CoreModule is already loaded. Import it in the AppModule only');
|
|
}
|
|
}
|
|
}
|