mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-07 10:04:11 +00:00
61949: replacing object factories with decorator
This commit is contained in:
@@ -20,4 +20,4 @@ import { SubmissionEditComponent } from '../submission/edit/submission-edit.comp
|
|||||||
/**
|
/**
|
||||||
* This module defines the default component to load when navigating to the workflowitems edit page path.
|
* This module defines the default component to load when navigating to the workflowitems edit page path.
|
||||||
*/
|
*/
|
||||||
export class WorkflowitemsEditPageRoutingModule { }
|
export class WorkflowItemsEditPageRoutingModule { }
|
||||||
|
@@ -1,12 +1,12 @@
|
|||||||
import { CommonModule } from '@angular/common';
|
import { CommonModule } from '@angular/common';
|
||||||
import { NgModule } from '@angular/core';
|
import { NgModule } from '@angular/core';
|
||||||
import { SharedModule } from '../shared/shared.module';
|
import { SharedModule } from '../shared/shared.module';
|
||||||
import { WorkflowitemsEditPageRoutingModule } from './workflowitems-edit-page-routing.module';
|
import { WorkflowItemsEditPageRoutingModule } from './workflowitems-edit-page-routing.module';
|
||||||
import { SubmissionModule } from '../submission/submission.module';
|
import { SubmissionModule } from '../submission/submission.module';
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
imports: [
|
imports: [
|
||||||
WorkflowitemsEditPageRoutingModule,
|
WorkflowItemsEditPageRoutingModule,
|
||||||
CommonModule,
|
CommonModule,
|
||||||
SharedModule,
|
SharedModule,
|
||||||
SubmissionModule,
|
SubmissionModule,
|
||||||
@@ -16,6 +16,6 @@ import { SubmissionModule } from '../submission/submission.module';
|
|||||||
/**
|
/**
|
||||||
* This module handles all modules that need to access the workflowitems edit page.
|
* This module handles all modules that need to access the workflowitems edit page.
|
||||||
*/
|
*/
|
||||||
export class WorkflowitemsEditPageModule {
|
export class WorkflowItemsEditPageModule {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -31,7 +31,7 @@ export function getCommunityModulePath() {
|
|||||||
{ path: 'logout', loadChildren: './+logout-page/logout-page.module#LogoutPageModule' },
|
{ path: 'logout', loadChildren: './+logout-page/logout-page.module#LogoutPageModule' },
|
||||||
{ path: 'submit', loadChildren: './+submit-page/submit-page.module#SubmitPageModule' },
|
{ path: 'submit', loadChildren: './+submit-page/submit-page.module#SubmitPageModule' },
|
||||||
{ path: 'workspaceitems', loadChildren: './+workspaceitems-edit-page/workspaceitems-edit-page.module#WorkspaceitemsEditPageModule' },
|
{ path: 'workspaceitems', loadChildren: './+workspaceitems-edit-page/workspaceitems-edit-page.module#WorkspaceitemsEditPageModule' },
|
||||||
{ path: 'workflowitems', loadChildren: './+workflowitems-edit-page/workflowitems-edit-page.module#WorkflowitemsEditPageModule' },
|
{ path: 'workflowitems', loadChildren: './+workflowitems-edit-page/workflowitems-edit-page.module#WorkflowItemsEditPageModule' },
|
||||||
{ path: '**', pathMatch: 'full', component: PageNotFoundComponent },
|
{ path: '**', pathMatch: 'full', component: PageNotFoundComponent },
|
||||||
])
|
])
|
||||||
],
|
],
|
||||||
|
@@ -1,5 +0,0 @@
|
|||||||
export enum AuthType {
|
|
||||||
EPerson = 'eperson',
|
|
||||||
Status = 'status',
|
|
||||||
Group = 'group'
|
|
||||||
}
|
|
@@ -4,9 +4,11 @@ import { mapsTo, relationship } from '../../cache/builders/build-decorators';
|
|||||||
import { ResourceType } from '../../shared/resource-type';
|
import { ResourceType } from '../../shared/resource-type';
|
||||||
import { NormalizedObject } from '../../cache/models/normalized-object.model';
|
import { NormalizedObject } from '../../cache/models/normalized-object.model';
|
||||||
import { IDToUUIDSerializer } from '../../cache/id-to-uuid-serializer';
|
import { IDToUUIDSerializer } from '../../cache/id-to-uuid-serializer';
|
||||||
|
import { resourceType } from '../../shared/resource-type.decorator';
|
||||||
|
|
||||||
@mapsTo(AuthStatus)
|
@mapsTo(AuthStatus)
|
||||||
@inheritSerialization(NormalizedObject)
|
@inheritSerialization(NormalizedObject)
|
||||||
|
@resourceType(ResourceType.AuthStatus)
|
||||||
export class NormalizedAuthStatus extends NormalizedObject<AuthStatus> {
|
export class NormalizedAuthStatus extends NormalizedObject<AuthStatus> {
|
||||||
@autoserialize
|
@autoserialize
|
||||||
id: string;
|
id: string;
|
||||||
|
@@ -5,12 +5,15 @@ import { mapsTo } from '../builders/build-decorators';
|
|||||||
import { IDToUUIDSerializer } from '../id-to-uuid-serializer';
|
import { IDToUUIDSerializer } from '../id-to-uuid-serializer';
|
||||||
import { NormalizedObject } from './normalized-object.model';
|
import { NormalizedObject } from './normalized-object.model';
|
||||||
import { SupportLevel } from './support-level.model';
|
import { SupportLevel } from './support-level.model';
|
||||||
|
import { resourceType } from '../../shared/resource-type.decorator';
|
||||||
|
import { ResourceType } from '../../shared/resource-type';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Normalized model class for a Bitstream Format
|
* Normalized model class for a Bitstream Format
|
||||||
*/
|
*/
|
||||||
@mapsTo(BitstreamFormat)
|
@mapsTo(BitstreamFormat)
|
||||||
@inheritSerialization(NormalizedObject)
|
@inheritSerialization(NormalizedObject)
|
||||||
|
@resourceType(ResourceType.BitstreamFormat)
|
||||||
export class NormalizedBitstreamFormat extends NormalizedObject<BitstreamFormat> {
|
export class NormalizedBitstreamFormat extends NormalizedObject<BitstreamFormat> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -4,12 +4,14 @@ import { NormalizedDSpaceObject } from './normalized-dspace-object.model';
|
|||||||
import { Bitstream } from '../../shared/bitstream.model';
|
import { Bitstream } from '../../shared/bitstream.model';
|
||||||
import { mapsTo, relationship } from '../builders/build-decorators';
|
import { mapsTo, relationship } from '../builders/build-decorators';
|
||||||
import { ResourceType } from '../../shared/resource-type';
|
import { ResourceType } from '../../shared/resource-type';
|
||||||
|
import { resourceType } from '../../shared/resource-type.decorator';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Normalized model class for a DSpace Bitstream
|
* Normalized model class for a DSpace Bitstream
|
||||||
*/
|
*/
|
||||||
@mapsTo(Bitstream)
|
@mapsTo(Bitstream)
|
||||||
@inheritSerialization(NormalizedDSpaceObject)
|
@inheritSerialization(NormalizedDSpaceObject)
|
||||||
|
@resourceType(ResourceType.Bitstream)
|
||||||
export class NormalizedBitstream extends NormalizedDSpaceObject<Bitstream> {
|
export class NormalizedBitstream extends NormalizedDSpaceObject<Bitstream> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -4,12 +4,14 @@ import { NormalizedDSpaceObject } from './normalized-dspace-object.model';
|
|||||||
import { Bundle } from '../../shared/bundle.model';
|
import { Bundle } from '../../shared/bundle.model';
|
||||||
import { mapsTo, relationship } from '../builders/build-decorators';
|
import { mapsTo, relationship } from '../builders/build-decorators';
|
||||||
import { ResourceType } from '../../shared/resource-type';
|
import { ResourceType } from '../../shared/resource-type';
|
||||||
|
import { resourceType } from '../../shared/resource-type.decorator';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Normalized model class for a DSpace Bundle
|
* Normalized model class for a DSpace Bundle
|
||||||
*/
|
*/
|
||||||
@mapsTo(Bundle)
|
@mapsTo(Bundle)
|
||||||
@inheritSerialization(NormalizedDSpaceObject)
|
@inheritSerialization(NormalizedDSpaceObject)
|
||||||
|
@resourceType(ResourceType.Bundle)
|
||||||
export class NormalizedBundle extends NormalizedDSpaceObject<Bundle> {
|
export class NormalizedBundle extends NormalizedDSpaceObject<Bundle> {
|
||||||
/**
|
/**
|
||||||
* The primary bitstream of this Bundle
|
* The primary bitstream of this Bundle
|
||||||
|
@@ -4,12 +4,14 @@ import { NormalizedDSpaceObject } from './normalized-dspace-object.model';
|
|||||||
import { Collection } from '../../shared/collection.model';
|
import { Collection } from '../../shared/collection.model';
|
||||||
import { mapsTo, relationship } from '../builders/build-decorators';
|
import { mapsTo, relationship } from '../builders/build-decorators';
|
||||||
import { ResourceType } from '../../shared/resource-type';
|
import { ResourceType } from '../../shared/resource-type';
|
||||||
|
import { resourceType } from '../../shared/resource-type.decorator';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Normalized model class for a DSpace Collection
|
* Normalized model class for a DSpace Collection
|
||||||
*/
|
*/
|
||||||
@mapsTo(Collection)
|
@mapsTo(Collection)
|
||||||
@inheritSerialization(NormalizedDSpaceObject)
|
@inheritSerialization(NormalizedDSpaceObject)
|
||||||
|
@resourceType(ResourceType.Collection)
|
||||||
export class NormalizedCollection extends NormalizedDSpaceObject<Collection> {
|
export class NormalizedCollection extends NormalizedDSpaceObject<Collection> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -4,12 +4,14 @@ import { NormalizedDSpaceObject } from './normalized-dspace-object.model';
|
|||||||
import { Community } from '../../shared/community.model';
|
import { Community } from '../../shared/community.model';
|
||||||
import { mapsTo, relationship } from '../builders/build-decorators';
|
import { mapsTo, relationship } from '../builders/build-decorators';
|
||||||
import { ResourceType } from '../../shared/resource-type';
|
import { ResourceType } from '../../shared/resource-type';
|
||||||
|
import { resourceType } from '../../shared/resource-type.decorator';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Normalized model class for a DSpace Community
|
* Normalized model class for a DSpace Community
|
||||||
*/
|
*/
|
||||||
@mapsTo(Community)
|
@mapsTo(Community)
|
||||||
@inheritSerialization(NormalizedDSpaceObject)
|
@inheritSerialization(NormalizedDSpaceObject)
|
||||||
|
@resourceType(ResourceType.Community)
|
||||||
export class NormalizedCommunity extends NormalizedDSpaceObject<Community> {
|
export class NormalizedCommunity extends NormalizedDSpaceObject<Community> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -4,11 +4,13 @@ import { MetadataMap, MetadataMapSerializer } from '../../shared/metadata.models
|
|||||||
import { ResourceType } from '../../shared/resource-type';
|
import { ResourceType } from '../../shared/resource-type';
|
||||||
import { mapsTo } from '../builders/build-decorators';
|
import { mapsTo } from '../builders/build-decorators';
|
||||||
import { NormalizedObject } from './normalized-object.model';
|
import { NormalizedObject } from './normalized-object.model';
|
||||||
|
import { resourceType } from '../../shared/resource-type.decorator';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An model class for a DSpaceObject.
|
* An model class for a DSpaceObject.
|
||||||
*/
|
*/
|
||||||
@mapsTo(DSpaceObject)
|
@mapsTo(DSpaceObject)
|
||||||
|
@resourceType(ResourceType.DSpaceObject)
|
||||||
export class NormalizedDSpaceObject<T extends DSpaceObject> extends NormalizedObject<T> {
|
export class NormalizedDSpaceObject<T extends DSpaceObject> extends NormalizedObject<T> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -4,12 +4,14 @@ import { NormalizedDSpaceObject } from './normalized-dspace-object.model';
|
|||||||
import { Item } from '../../shared/item.model';
|
import { Item } from '../../shared/item.model';
|
||||||
import { mapsTo, relationship } from '../builders/build-decorators';
|
import { mapsTo, relationship } from '../builders/build-decorators';
|
||||||
import { ResourceType } from '../../shared/resource-type';
|
import { ResourceType } from '../../shared/resource-type';
|
||||||
|
import { resourceType } from '../../shared/resource-type.decorator';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Normalized model class for a DSpace Item
|
* Normalized model class for a DSpace Item
|
||||||
*/
|
*/
|
||||||
@mapsTo(Item)
|
@mapsTo(Item)
|
||||||
@inheritSerialization(NormalizedDSpaceObject)
|
@inheritSerialization(NormalizedDSpaceObject)
|
||||||
|
@resourceType(ResourceType.Item)
|
||||||
export class NormalizedItem extends NormalizedDSpaceObject<Item> {
|
export class NormalizedItem extends NormalizedDSpaceObject<Item> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -2,12 +2,15 @@ import { autoserialize, inheritSerialization } from 'cerialize';
|
|||||||
import { mapsTo } from '../builders/build-decorators';
|
import { mapsTo } from '../builders/build-decorators';
|
||||||
import { NormalizedDSpaceObject } from './normalized-dspace-object.model';
|
import { NormalizedDSpaceObject } from './normalized-dspace-object.model';
|
||||||
import { License } from '../../shared/license.model';
|
import { License } from '../../shared/license.model';
|
||||||
|
import { resourceType } from '../../shared/resource-type.decorator';
|
||||||
|
import { ResourceType } from '../../shared/resource-type';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Normalized model class for a Collection License
|
* Normalized model class for a Collection License
|
||||||
*/
|
*/
|
||||||
@mapsTo(License)
|
@mapsTo(License)
|
||||||
@inheritSerialization(NormalizedDSpaceObject)
|
@inheritSerialization(NormalizedDSpaceObject)
|
||||||
|
@resourceType(ResourceType.License)
|
||||||
export class NormalizedLicense extends NormalizedDSpaceObject<License> {
|
export class NormalizedLicense extends NormalizedDSpaceObject<License> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -59,10 +59,10 @@ export class NormalizedObjectFactory {
|
|||||||
case ResourceType.MetadataField: {
|
case ResourceType.MetadataField: {
|
||||||
return NormalizedGroup
|
return NormalizedGroup
|
||||||
}
|
}
|
||||||
case ResourceType.Workspaceitem: {
|
case ResourceType.WorkspaceItem: {
|
||||||
return NormalizedWorkspaceItem
|
return NormalizedWorkspaceItem
|
||||||
}
|
}
|
||||||
case ResourceType.Workflowitem: {
|
case ResourceType.WorkflowItem: {
|
||||||
return NormalizedWorkflowItem
|
return NormalizedWorkflowItem
|
||||||
}
|
}
|
||||||
case ResourceType.SubmissionDefinition:
|
case ResourceType.SubmissionDefinition:
|
||||||
|
@@ -5,12 +5,15 @@ import { mapsTo } from '../builders/build-decorators';
|
|||||||
import { NormalizedObject } from './normalized-object.model';
|
import { NormalizedObject } from './normalized-object.model';
|
||||||
import { IDToUUIDSerializer } from '../id-to-uuid-serializer';
|
import { IDToUUIDSerializer } from '../id-to-uuid-serializer';
|
||||||
import { ActionType } from './action-type.model';
|
import { ActionType } from './action-type.model';
|
||||||
|
import { resourceType } from '../../shared/resource-type.decorator';
|
||||||
|
import { ResourceType } from '../../shared/resource-type';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Normalized model class for a Resource Policy
|
* Normalized model class for a Resource Policy
|
||||||
*/
|
*/
|
||||||
@mapsTo(ResourcePolicy)
|
@mapsTo(ResourcePolicy)
|
||||||
@inheritSerialization(NormalizedObject)
|
@inheritSerialization(NormalizedObject)
|
||||||
|
@resourceType(ResourceType.ResourcePolicy)
|
||||||
export class NormalizedResourcePolicy extends NormalizedObject<ResourcePolicy> {
|
export class NormalizedResourcePolicy extends NormalizedObject<ResourcePolicy> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -3,11 +3,16 @@ import { SubmissionSectionModel } from './config-submission-section.model';
|
|||||||
import { PaginatedList } from '../../data/paginated-list';
|
import { PaginatedList } from '../../data/paginated-list';
|
||||||
import { NormalizedConfigObject } from './normalized-config.model';
|
import { NormalizedConfigObject } from './normalized-config.model';
|
||||||
import { SubmissionDefinitionsModel } from './config-submission-definitions.model';
|
import { SubmissionDefinitionsModel } from './config-submission-definitions.model';
|
||||||
|
import { resourceType } from '../../shared/resource-type.decorator';
|
||||||
|
import { ResourceType } from '../../shared/resource-type';
|
||||||
|
import { mapsTo } from '../../cache/builders/build-decorators';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Normalized class for the configuration describing the submission
|
* Normalized class for the configuration describing the submission
|
||||||
*/
|
*/
|
||||||
|
@mapsTo(SubmissionDefinitionsModel)
|
||||||
@inheritSerialization(NormalizedConfigObject)
|
@inheritSerialization(NormalizedConfigObject)
|
||||||
|
@resourceType(ResourceType.SubmissionDefinitions)
|
||||||
export class NormalizedSubmissionDefinitionsModel extends NormalizedConfigObject<SubmissionDefinitionsModel> {
|
export class NormalizedSubmissionDefinitionsModel extends NormalizedConfigObject<SubmissionDefinitionsModel> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -64,7 +64,7 @@ import { RegistryService } from './registry/registry.service';
|
|||||||
import { RegistryMetadataschemasResponseParsingService } from './data/registry-metadataschemas-response-parsing.service';
|
import { RegistryMetadataschemasResponseParsingService } from './data/registry-metadataschemas-response-parsing.service';
|
||||||
import { RegistryMetadatafieldsResponseParsingService } from './data/registry-metadatafields-response-parsing.service';
|
import { RegistryMetadatafieldsResponseParsingService } from './data/registry-metadatafields-response-parsing.service';
|
||||||
import { RegistryBitstreamformatsResponseParsingService } from './data/registry-bitstreamformats-response-parsing.service';
|
import { RegistryBitstreamformatsResponseParsingService } from './data/registry-bitstreamformats-response-parsing.service';
|
||||||
import { WorkflowitemDataService } from './submission/workflowitem-data.service';
|
import { WorkflowItemDataService } from './submission/workflowitem-data.service';
|
||||||
import { NotificationsService } from '../shared/notifications/notifications.service';
|
import { NotificationsService } from '../shared/notifications/notifications.service';
|
||||||
import { UploaderService } from '../shared/uploader/uploader.service';
|
import { UploaderService } from '../shared/uploader/uploader.service';
|
||||||
import { FileService } from './shared/file.service';
|
import { FileService } from './shared/file.service';
|
||||||
@@ -152,7 +152,7 @@ const PROVIDERS = [
|
|||||||
UUIDService,
|
UUIDService,
|
||||||
NotificationsService,
|
NotificationsService,
|
||||||
WorkspaceitemDataService,
|
WorkspaceitemDataService,
|
||||||
WorkflowitemDataService,
|
WorkflowItemDataService,
|
||||||
UploaderService,
|
UploaderService,
|
||||||
FileService,
|
FileService,
|
||||||
DSpaceObjectDataService,
|
DSpaceObjectDataService,
|
||||||
|
@@ -6,9 +6,11 @@ import { NormalizedDSpaceObject } from '../../cache/models/normalized-dspace-obj
|
|||||||
import { EPerson } from './eperson.model';
|
import { EPerson } from './eperson.model';
|
||||||
import { mapsTo, relationship } from '../../cache/builders/build-decorators';
|
import { mapsTo, relationship } from '../../cache/builders/build-decorators';
|
||||||
import { ResourceType } from '../../shared/resource-type';
|
import { ResourceType } from '../../shared/resource-type';
|
||||||
|
import { resourceType } from '../../shared/resource-type.decorator';
|
||||||
|
|
||||||
@mapsTo(EPerson)
|
@mapsTo(EPerson)
|
||||||
@inheritSerialization(NormalizedDSpaceObject)
|
@inheritSerialization(NormalizedDSpaceObject)
|
||||||
|
@resourceType(ResourceType.EPerson)
|
||||||
export class NormalizedEPerson extends NormalizedDSpaceObject<EPerson> implements CacheableObject, ListableObject {
|
export class NormalizedEPerson extends NormalizedDSpaceObject<EPerson> implements CacheableObject, ListableObject {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -6,9 +6,11 @@ import { NormalizedDSpaceObject } from '../../cache/models/normalized-dspace-obj
|
|||||||
import { mapsTo, relationship } from '../../cache/builders/build-decorators';
|
import { mapsTo, relationship } from '../../cache/builders/build-decorators';
|
||||||
import { Group } from './group.model';
|
import { Group } from './group.model';
|
||||||
import { ResourceType } from '../../shared/resource-type';
|
import { ResourceType } from '../../shared/resource-type';
|
||||||
|
import { resourceType } from '../../shared/resource-type.decorator';
|
||||||
|
|
||||||
@mapsTo(Group)
|
@mapsTo(Group)
|
||||||
@inheritSerialization(NormalizedDSpaceObject)
|
@inheritSerialization(NormalizedDSpaceObject)
|
||||||
|
@resourceType(ResourceType.Group)
|
||||||
export class NormalizedGroup extends NormalizedDSpaceObject<Group> implements CacheableObject, ListableObject {
|
export class NormalizedGroup extends NormalizedDSpaceObject<Group> implements CacheableObject, ListableObject {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -1,25 +1,18 @@
|
|||||||
import { MetadataSchema } from './metadataschema.model';
|
|
||||||
import { autoserialize } from 'cerialize';
|
|
||||||
import { ListableObject } from '../../shared/object-collection/shared/listable-object.model';
|
import { ListableObject } from '../../shared/object-collection/shared/listable-object.model';
|
||||||
import { isNotEmpty } from '../../shared/empty.util';
|
import { isNotEmpty } from '../../shared/empty.util';
|
||||||
|
import { MetadataSchema } from './metadata-schema.model';
|
||||||
|
|
||||||
export class MetadataField implements ListableObject {
|
export class MetadataField implements ListableObject {
|
||||||
@autoserialize
|
|
||||||
id: number;
|
id: number;
|
||||||
|
|
||||||
@autoserialize
|
|
||||||
self: string;
|
self: string;
|
||||||
|
|
||||||
@autoserialize
|
|
||||||
element: string;
|
element: string;
|
||||||
|
|
||||||
@autoserialize
|
|
||||||
qualifier: string;
|
qualifier: string;
|
||||||
|
|
||||||
@autoserialize
|
|
||||||
scopeNote: string;
|
scopeNote: string;
|
||||||
|
|
||||||
@autoserialize
|
|
||||||
schema: MetadataSchema;
|
schema: MetadataSchema;
|
||||||
|
|
||||||
toString(separator: string = '.'): string {
|
toString(separator: string = '.'): string {
|
@@ -1,16 +1,11 @@
|
|||||||
import { autoserialize } from 'cerialize';
|
|
||||||
import { ListableObject } from '../../shared/object-collection/shared/listable-object.model';
|
import { ListableObject } from '../../shared/object-collection/shared/listable-object.model';
|
||||||
|
|
||||||
export class MetadataSchema implements ListableObject {
|
export class MetadataSchema implements ListableObject {
|
||||||
@autoserialize
|
|
||||||
id: number;
|
id: number;
|
||||||
|
|
||||||
@autoserialize
|
|
||||||
self: string;
|
self: string;
|
||||||
|
|
||||||
@autoserialize
|
|
||||||
prefix: string;
|
prefix: string;
|
||||||
|
|
||||||
@autoserialize
|
|
||||||
namespace: string;
|
namespace: string;
|
||||||
}
|
}
|
30
src/app/core/metadata/normalized-metadata-field.model.ts
Normal file
30
src/app/core/metadata/normalized-metadata-field.model.ts
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
import { autoserialize, deserialize } from 'cerialize';
|
||||||
|
import { mapsTo, relationship } from '../cache/builders/build-decorators';
|
||||||
|
import { ResourceType } from '../shared/resource-type';
|
||||||
|
import { resourceType } from '../shared/resource-type.decorator';
|
||||||
|
import { MetadataField } from './metadata-field.model';
|
||||||
|
import { NormalizedObject } from '../cache/models/normalized-object.model';
|
||||||
|
import { ListableObject } from '../../shared/object-collection/shared/listable-object.model';
|
||||||
|
|
||||||
|
@mapsTo(MetadataField)
|
||||||
|
@resourceType(ResourceType.MetadataField)
|
||||||
|
export class NormalizedMetadataField extends NormalizedObject<MetadataField> implements ListableObject {
|
||||||
|
@autoserialize
|
||||||
|
id: number;
|
||||||
|
|
||||||
|
@autoserialize
|
||||||
|
self: string;
|
||||||
|
|
||||||
|
@autoserialize
|
||||||
|
element: string;
|
||||||
|
|
||||||
|
@autoserialize
|
||||||
|
qualifier: string;
|
||||||
|
|
||||||
|
@autoserialize
|
||||||
|
scopeNote: string;
|
||||||
|
|
||||||
|
@deserialize
|
||||||
|
@relationship(ResourceType.MetadataSchema)
|
||||||
|
schema: string;
|
||||||
|
}
|
@@ -2,12 +2,15 @@ import { autoserialize } from 'cerialize';
|
|||||||
import { NormalizedObject } from '../cache/models/normalized-object.model';
|
import { NormalizedObject } from '../cache/models/normalized-object.model';
|
||||||
import { mapsTo } from '../cache/builders/build-decorators';
|
import { mapsTo } from '../cache/builders/build-decorators';
|
||||||
import { ListableObject } from '../../shared/object-collection/shared/listable-object.model';
|
import { ListableObject } from '../../shared/object-collection/shared/listable-object.model';
|
||||||
import { MetadataSchema } from './metadataschema.model';
|
import { resourceType } from '../shared/resource-type.decorator';
|
||||||
|
import { ResourceType } from '../shared/resource-type';
|
||||||
|
import { MetadataSchema } from './metadata-schema.model';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Normalized class for a DSpace MetadataSchema
|
* Normalized class for a DSpace MetadataSchema
|
||||||
*/
|
*/
|
||||||
@mapsTo(MetadataSchema)
|
@mapsTo(MetadataSchema)
|
||||||
|
@resourceType(ResourceType.MetadataSchema)
|
||||||
export class NormalizedMetadataSchema extends NormalizedObject<MetadataSchema> implements ListableObject {
|
export class NormalizedMetadataSchema extends NormalizedObject<MetadataSchema> implements ListableObject {
|
||||||
/**
|
/**
|
||||||
* The unique identifier for this schema
|
* The unique identifier for this schema
|
||||||
|
16
src/app/core/shared/resource-type.decorator.ts
Normal file
16
src/app/core/shared/resource-type.decorator.ts
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
import { CacheableObject } from '../cache/object-cache.reducer';
|
||||||
|
import { GenericConstructor } from './generic-constructor';
|
||||||
|
|
||||||
|
const resourceTypeForObjectMap = new Map();
|
||||||
|
export function resourceType(resourceType: string) {
|
||||||
|
return function decorator(objectConstructor: GenericConstructor<CacheableObject>) {
|
||||||
|
if (!objectConstructor) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
resourceTypeForObjectMap.set(resourceType, objectConstructor);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
export function rendersSectionType(resourceType: string) {
|
||||||
|
return resourceTypeForObjectMap.get(resourceType);
|
||||||
|
}
|
@@ -12,12 +12,13 @@ export enum ResourceType {
|
|||||||
MetadataSchema = 'metadataschema',
|
MetadataSchema = 'metadataschema',
|
||||||
MetadataField = 'metadatafield',
|
MetadataField = 'metadatafield',
|
||||||
License = 'license',
|
License = 'license',
|
||||||
Workflowitem = 'workflowitem',
|
WorkflowItem = 'workflowitem',
|
||||||
Workspaceitem = 'workspaceitem',
|
WorkspaceItem = 'workspaceitem',
|
||||||
SubmissionDefinitions = 'submissiondefinitions',
|
SubmissionDefinitions = 'submissiondefinitions',
|
||||||
SubmissionDefinition = 'submissiondefinition',
|
SubmissionDefinition = 'submissiondefinition',
|
||||||
SubmissionForm = 'submissionform',
|
SubmissionForm = 'submissionform',
|
||||||
SubmissionForms = 'submissionforms',
|
SubmissionForms = 'submissionforms',
|
||||||
SubmissionSections = 'submissionsections',
|
SubmissionSections = 'submissionsections',
|
||||||
SubmissionSection = 'submissionsection',
|
SubmissionSection = 'submissionsection',
|
||||||
|
AuthStatus = 'status'
|
||||||
}
|
}
|
||||||
|
@@ -1,16 +1,18 @@
|
|||||||
import { autoserialize, inheritSerialization } from 'cerialize';
|
import { autoserialize, inheritSerialization } from 'cerialize';
|
||||||
|
|
||||||
import { mapsTo, relationship } from '../../cache/builders/build-decorators';
|
import { mapsTo, relationship } from '../../cache/builders/build-decorators';
|
||||||
import { Workflowitem } from './workflowitem.model';
|
import { WorkflowItem } from './workflowitem.model';
|
||||||
import { NormalizedSubmissionObject } from './normalized-submission-object.model';
|
import { NormalizedSubmissionObject } from './normalized-submission-object.model';
|
||||||
import { ResourceType } from '../../shared/resource-type';
|
import { ResourceType } from '../../shared/resource-type';
|
||||||
|
import { resourceType } from '../../shared/resource-type.decorator';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An model class for a NormalizedWorkflowItem.
|
* An model class for a NormalizedWorkflowItem.
|
||||||
*/
|
*/
|
||||||
@mapsTo(Workflowitem)
|
@mapsTo(WorkflowItem)
|
||||||
@inheritSerialization(NormalizedSubmissionObject)
|
@inheritSerialization(NormalizedSubmissionObject)
|
||||||
export class NormalizedWorkflowItem extends NormalizedSubmissionObject<Workflowitem> {
|
@resourceType(ResourceType.WorkflowItem)
|
||||||
|
export class NormalizedWorkflowItem extends NormalizedSubmissionObject<WorkflowItem> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The collection this workflowitem belonging to
|
* The collection this workflowitem belonging to
|
||||||
|
@@ -1,19 +1,21 @@
|
|||||||
import { autoserialize, inheritSerialization } from 'cerialize';
|
import { autoserialize, inheritSerialization } from 'cerialize';
|
||||||
|
|
||||||
import { Workspaceitem } from './workspaceitem.model';
|
import { WorkspaceItem } from './workspaceitem.model';
|
||||||
import { NormalizedSubmissionObject } from './normalized-submission-object.model';
|
import { NormalizedSubmissionObject } from './normalized-submission-object.model';
|
||||||
import { mapsTo, relationship } from '../../cache/builders/build-decorators';
|
import { mapsTo, relationship } from '../../cache/builders/build-decorators';
|
||||||
import { NormalizedDSpaceObject } from '../../cache/models/normalized-dspace-object.model';
|
import { NormalizedDSpaceObject } from '../../cache/models/normalized-dspace-object.model';
|
||||||
import { ResourceType } from '../../shared/resource-type';
|
import { ResourceType } from '../../shared/resource-type';
|
||||||
import { Workflowitem } from './workflowitem.model';
|
import { WorkflowItem } from './workflowitem.model';
|
||||||
|
import { resourceType } from '../../shared/resource-type.decorator';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An model class for a NormalizedWorkspaceItem.
|
* An model class for a NormalizedWorkspaceItem.
|
||||||
*/
|
*/
|
||||||
@mapsTo(Workspaceitem)
|
@mapsTo(WorkspaceItem)
|
||||||
@inheritSerialization(NormalizedDSpaceObject)
|
@inheritSerialization(NormalizedDSpaceObject)
|
||||||
@inheritSerialization(NormalizedSubmissionObject)
|
@inheritSerialization(NormalizedSubmissionObject)
|
||||||
export class NormalizedWorkspaceItem extends NormalizedSubmissionObject<Workflowitem> {
|
@resourceType(ResourceType.WorkspaceItem)
|
||||||
|
export class NormalizedWorkspaceItem extends NormalizedSubmissionObject<WorkflowItem> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The collection this workspaceitem belonging to
|
* The collection this workspaceitem belonging to
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
import { Workspaceitem } from './workspaceitem.model';
|
import { WorkspaceItem } from './workspaceitem.model';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A model class for a Workflowitem.
|
* A model class for a WorkflowItem.
|
||||||
*/
|
*/
|
||||||
export class Workflowitem extends Workspaceitem {
|
export class WorkflowItem extends WorkspaceItem {
|
||||||
}
|
}
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
import { SubmissionObject } from './submission-object.model';
|
import { SubmissionObject } from './submission-object.model';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A model class for a Workspaceitem.
|
* A model class for a WorkspaceItem.
|
||||||
*/
|
*/
|
||||||
export class Workspaceitem extends SubmissionObject {
|
export class WorkspaceItem extends SubmissionObject {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -6,7 +6,7 @@ import { RemoteDataBuildService } from '../cache/builders/remote-data-build.serv
|
|||||||
import { CoreState } from '../core.reducers';
|
import { CoreState } from '../core.reducers';
|
||||||
import { DataService } from '../data/data.service';
|
import { DataService } from '../data/data.service';
|
||||||
import { RequestService } from '../data/request.service';
|
import { RequestService } from '../data/request.service';
|
||||||
import { Workflowitem } from './models/workflowitem.model';
|
import { WorkflowItem } from './models/workflowitem.model';
|
||||||
import { HALEndpointService } from '../shared/hal-endpoint.service';
|
import { HALEndpointService } from '../shared/hal-endpoint.service';
|
||||||
import { FindAllOptions } from '../data/request.models';
|
import { FindAllOptions } from '../data/request.models';
|
||||||
import { NormalizedObjectBuildService } from '../cache/builders/normalized-object-build.service';
|
import { NormalizedObjectBuildService } from '../cache/builders/normalized-object-build.service';
|
||||||
@@ -18,12 +18,12 @@ import { DSOChangeAnalyzer } from '../data/dso-change-analyzer.service';
|
|||||||
* A service that provides methods to make REST requests with workflowitems endpoint.
|
* A service that provides methods to make REST requests with workflowitems endpoint.
|
||||||
*/
|
*/
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class WorkflowitemDataService extends DataService<Workflowitem> {
|
export class WorkflowItemDataService extends DataService<WorkflowItem> {
|
||||||
protected linkPath = 'workflowitems';
|
protected linkPath = 'workflowitems';
|
||||||
protected forceBypassCache = true;
|
protected forceBypassCache = true;
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
protected comparator: DSOChangeAnalyzer<Workflowitem>,
|
protected comparator: DSOChangeAnalyzer<WorkflowItem>,
|
||||||
protected dataBuildService: NormalizedObjectBuildService,
|
protected dataBuildService: NormalizedObjectBuildService,
|
||||||
protected halService: HALEndpointService,
|
protected halService: HALEndpointService,
|
||||||
protected http: HttpClient,
|
protected http: HttpClient,
|
||||||
|
@@ -30,9 +30,9 @@ import {
|
|||||||
} from './submission-objects.actions';
|
} from './submission-objects.actions';
|
||||||
import { SectionsService } from '../sections/sections.service';
|
import { SectionsService } from '../sections/sections.service';
|
||||||
import { isEmpty, isNotEmpty, isNotUndefined } from '../../shared/empty.util';
|
import { isEmpty, isNotEmpty, isNotUndefined } from '../../shared/empty.util';
|
||||||
import { Workspaceitem } from '../../core/submission/models/workspaceitem.model';
|
import { WorkspaceItem } from '../../core/submission/models/workspaceitem.model';
|
||||||
import { SubmissionService } from '../submission.service';
|
import { SubmissionService } from '../submission.service';
|
||||||
import { Workflowitem } from '../../core/submission/models/workflowitem.model';
|
import { WorkflowItem } from '../../core/submission/models/workflowitem.model';
|
||||||
import { NotificationsService } from '../../shared/notifications/notifications.service';
|
import { NotificationsService } from '../../shared/notifications/notifications.service';
|
||||||
import { SubmissionObject } from '../../core/submission/models/submission-object.model';
|
import { SubmissionObject } from '../../core/submission/models/submission-object.model';
|
||||||
import { TranslateService } from '@ngx-translate/core';
|
import { TranslateService } from '@ngx-translate/core';
|
||||||
@@ -265,7 +265,7 @@ export class SubmissionObjectEffects {
|
|||||||
let canDeposit = true;
|
let canDeposit = true;
|
||||||
|
|
||||||
if (isNotEmpty(response)) {
|
if (isNotEmpty(response)) {
|
||||||
response.forEach((item: Workspaceitem | Workflowitem) => {
|
response.forEach((item: WorkspaceItem | WorkflowItem) => {
|
||||||
const {errors} = item;
|
const {errors} = item;
|
||||||
|
|
||||||
if (errors && !isEmpty(errors)) {
|
if (errors && !isEmpty(errors)) {
|
||||||
@@ -303,7 +303,7 @@ export class SubmissionObjectEffects {
|
|||||||
this.notificationsService.success(null, this.translate.get('submission.sections.general.save_success_notice'));
|
this.notificationsService.success(null, this.translate.get('submission.sections.general.save_success_notice'));
|
||||||
}
|
}
|
||||||
|
|
||||||
response.forEach((item: Workspaceitem | Workflowitem) => {
|
response.forEach((item: WorkspaceItem | WorkflowItem) => {
|
||||||
|
|
||||||
let errorsList = Object.create({});
|
let errorsList = Object.create({});
|
||||||
const {errors} = item;
|
const {errors} = item;
|
||||||
|
Reference in New Issue
Block a user