From a5086b8d117cdad0efd2ab8e65e042643dac432e Mon Sep 17 00:00:00 2001 From: lotte <lotte_hofstede@hotmail.com> Date: Wed, 24 Apr 2019 16:51:46 +0200 Subject: [PATCH] 61949: replacing object factories with decorator --- .../workflowitems-edit-page-routing.module.ts | 2 +- .../workflowitems-edit-page.module.ts | 6 ++-- src/app/app-routing.module.ts | 2 +- src/app/core/auth/auth-type.ts | 5 ---- .../models/normalized-auth-status.model.ts | 2 ++ .../normalized-bitstream-format.model.ts | 3 ++ .../models/normalized-bitstream.model.ts | 2 ++ .../cache/models/normalized-bundle.model.ts | 2 ++ .../models/normalized-collection.model.ts | 2 ++ .../models/normalized-community.model.ts | 2 ++ .../models/normalized-dspace-object.model.ts | 2 ++ .../cache/models/normalized-item.model.ts | 2 ++ .../cache/models/normalized-license.model.ts | 3 ++ .../cache/models/normalized-object-factory.ts | 4 +-- .../normalized-resource-policy.model.ts | 3 ++ ...zed-config-submission-definitions.model.ts | 5 ++++ src/app/core/core.module.ts | 4 +-- .../models/normalized-eperson.model.ts | 2 ++ .../eperson/models/normalized-group.model.ts | 2 ++ ...field.model.ts => metadata-field.model.ts} | 9 +----- ...hema.model.ts => metadata-schema.model.ts} | 5 ---- .../normalized-metadata-field.model.ts | 30 +++++++++++++++++++ .../normalized-metadata-schema.model.ts | 5 +++- .../core/shared/resource-type.decorator.ts | 16 ++++++++++ src/app/core/shared/resource-type.ts | 5 ++-- .../models/normalized-workflowitem.model.ts | 8 +++-- .../models/normalized-workspaceitem.model.ts | 10 ++++--- .../submission/models/workflowitem.model.ts | 6 ++-- .../submission/models/workspaceitem.model.ts | 4 +-- .../submission/workflowitem-data.service.ts | 6 ++-- .../objects/submission-objects.effects.ts | 8 ++--- 31 files changed, 118 insertions(+), 49 deletions(-) delete mode 100644 src/app/core/auth/auth-type.ts rename src/app/core/metadata/{metadatafield.model.ts => metadata-field.model.ts} (72%) rename src/app/core/metadata/{metadataschema.model.ts => metadata-schema.model.ts} (66%) create mode 100644 src/app/core/metadata/normalized-metadata-field.model.ts create mode 100644 src/app/core/shared/resource-type.decorator.ts diff --git a/src/app/+workflowitems-edit-page/workflowitems-edit-page-routing.module.ts b/src/app/+workflowitems-edit-page/workflowitems-edit-page-routing.module.ts index aa182eb291..d5df70698c 100644 --- a/src/app/+workflowitems-edit-page/workflowitems-edit-page-routing.module.ts +++ b/src/app/+workflowitems-edit-page/workflowitems-edit-page-routing.module.ts @@ -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. */ -export class WorkflowitemsEditPageRoutingModule { } +export class WorkflowItemsEditPageRoutingModule { } diff --git a/src/app/+workflowitems-edit-page/workflowitems-edit-page.module.ts b/src/app/+workflowitems-edit-page/workflowitems-edit-page.module.ts index fbb53d8dcc..7a89f18c7d 100644 --- a/src/app/+workflowitems-edit-page/workflowitems-edit-page.module.ts +++ b/src/app/+workflowitems-edit-page/workflowitems-edit-page.module.ts @@ -1,12 +1,12 @@ import { CommonModule } from '@angular/common'; import { NgModule } from '@angular/core'; 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'; @NgModule({ imports: [ - WorkflowitemsEditPageRoutingModule, + WorkflowItemsEditPageRoutingModule, CommonModule, SharedModule, SubmissionModule, @@ -16,6 +16,6 @@ import { SubmissionModule } from '../submission/submission.module'; /** * This module handles all modules that need to access the workflowitems edit page. */ -export class WorkflowitemsEditPageModule { +export class WorkflowItemsEditPageModule { } diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index be956ee895..266839f64b 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -31,7 +31,7 @@ export function getCommunityModulePath() { { path: 'logout', loadChildren: './+logout-page/logout-page.module#LogoutPageModule' }, { path: 'submit', loadChildren: './+submit-page/submit-page.module#SubmitPageModule' }, { 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 }, ]) ], diff --git a/src/app/core/auth/auth-type.ts b/src/app/core/auth/auth-type.ts deleted file mode 100644 index f0460449ea..0000000000 --- a/src/app/core/auth/auth-type.ts +++ /dev/null @@ -1,5 +0,0 @@ -export enum AuthType { - EPerson = 'eperson', - Status = 'status', - Group = 'group' -} diff --git a/src/app/core/auth/models/normalized-auth-status.model.ts b/src/app/core/auth/models/normalized-auth-status.model.ts index a13a996604..46d0177fdc 100644 --- a/src/app/core/auth/models/normalized-auth-status.model.ts +++ b/src/app/core/auth/models/normalized-auth-status.model.ts @@ -4,9 +4,11 @@ import { mapsTo, relationship } from '../../cache/builders/build-decorators'; import { ResourceType } from '../../shared/resource-type'; import { NormalizedObject } from '../../cache/models/normalized-object.model'; import { IDToUUIDSerializer } from '../../cache/id-to-uuid-serializer'; +import { resourceType } from '../../shared/resource-type.decorator'; @mapsTo(AuthStatus) @inheritSerialization(NormalizedObject) +@resourceType(ResourceType.AuthStatus) export class NormalizedAuthStatus extends NormalizedObject<AuthStatus> { @autoserialize id: string; diff --git a/src/app/core/cache/models/normalized-bitstream-format.model.ts b/src/app/core/cache/models/normalized-bitstream-format.model.ts index 994792d535..66fbd84176 100644 --- a/src/app/core/cache/models/normalized-bitstream-format.model.ts +++ b/src/app/core/cache/models/normalized-bitstream-format.model.ts @@ -5,12 +5,15 @@ import { mapsTo } from '../builders/build-decorators'; import { IDToUUIDSerializer } from '../id-to-uuid-serializer'; import { NormalizedObject } from './normalized-object.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 */ @mapsTo(BitstreamFormat) @inheritSerialization(NormalizedObject) +@resourceType(ResourceType.BitstreamFormat) export class NormalizedBitstreamFormat extends NormalizedObject<BitstreamFormat> { /** diff --git a/src/app/core/cache/models/normalized-bitstream.model.ts b/src/app/core/cache/models/normalized-bitstream.model.ts index 64a17aae84..c2042878da 100644 --- a/src/app/core/cache/models/normalized-bitstream.model.ts +++ b/src/app/core/cache/models/normalized-bitstream.model.ts @@ -4,12 +4,14 @@ import { NormalizedDSpaceObject } from './normalized-dspace-object.model'; import { Bitstream } from '../../shared/bitstream.model'; import { mapsTo, relationship } from '../builders/build-decorators'; import { ResourceType } from '../../shared/resource-type'; +import { resourceType } from '../../shared/resource-type.decorator'; /** * Normalized model class for a DSpace Bitstream */ @mapsTo(Bitstream) @inheritSerialization(NormalizedDSpaceObject) +@resourceType(ResourceType.Bitstream) export class NormalizedBitstream extends NormalizedDSpaceObject<Bitstream> { /** diff --git a/src/app/core/cache/models/normalized-bundle.model.ts b/src/app/core/cache/models/normalized-bundle.model.ts index 342b13629f..c77a1d027f 100644 --- a/src/app/core/cache/models/normalized-bundle.model.ts +++ b/src/app/core/cache/models/normalized-bundle.model.ts @@ -4,12 +4,14 @@ import { NormalizedDSpaceObject } from './normalized-dspace-object.model'; import { Bundle } from '../../shared/bundle.model'; import { mapsTo, relationship } from '../builders/build-decorators'; import { ResourceType } from '../../shared/resource-type'; +import { resourceType } from '../../shared/resource-type.decorator'; /** * Normalized model class for a DSpace Bundle */ @mapsTo(Bundle) @inheritSerialization(NormalizedDSpaceObject) +@resourceType(ResourceType.Bundle) export class NormalizedBundle extends NormalizedDSpaceObject<Bundle> { /** * The primary bitstream of this Bundle diff --git a/src/app/core/cache/models/normalized-collection.model.ts b/src/app/core/cache/models/normalized-collection.model.ts index ddfcc29a2c..e726a967e7 100644 --- a/src/app/core/cache/models/normalized-collection.model.ts +++ b/src/app/core/cache/models/normalized-collection.model.ts @@ -4,12 +4,14 @@ import { NormalizedDSpaceObject } from './normalized-dspace-object.model'; import { Collection } from '../../shared/collection.model'; import { mapsTo, relationship } from '../builders/build-decorators'; import { ResourceType } from '../../shared/resource-type'; +import { resourceType } from '../../shared/resource-type.decorator'; /** * Normalized model class for a DSpace Collection */ @mapsTo(Collection) @inheritSerialization(NormalizedDSpaceObject) +@resourceType(ResourceType.Collection) export class NormalizedCollection extends NormalizedDSpaceObject<Collection> { /** diff --git a/src/app/core/cache/models/normalized-community.model.ts b/src/app/core/cache/models/normalized-community.model.ts index f561089949..85dce37e82 100644 --- a/src/app/core/cache/models/normalized-community.model.ts +++ b/src/app/core/cache/models/normalized-community.model.ts @@ -4,12 +4,14 @@ import { NormalizedDSpaceObject } from './normalized-dspace-object.model'; import { Community } from '../../shared/community.model'; import { mapsTo, relationship } from '../builders/build-decorators'; import { ResourceType } from '../../shared/resource-type'; +import { resourceType } from '../../shared/resource-type.decorator'; /** * Normalized model class for a DSpace Community */ @mapsTo(Community) @inheritSerialization(NormalizedDSpaceObject) +@resourceType(ResourceType.Community) export class NormalizedCommunity extends NormalizedDSpaceObject<Community> { /** diff --git a/src/app/core/cache/models/normalized-dspace-object.model.ts b/src/app/core/cache/models/normalized-dspace-object.model.ts index e12faa4a77..84e3f41f42 100644 --- a/src/app/core/cache/models/normalized-dspace-object.model.ts +++ b/src/app/core/cache/models/normalized-dspace-object.model.ts @@ -4,11 +4,13 @@ import { MetadataMap, MetadataMapSerializer } from '../../shared/metadata.models import { ResourceType } from '../../shared/resource-type'; import { mapsTo } from '../builders/build-decorators'; import { NormalizedObject } from './normalized-object.model'; +import { resourceType } from '../../shared/resource-type.decorator'; /** * An model class for a DSpaceObject. */ @mapsTo(DSpaceObject) +@resourceType(ResourceType.DSpaceObject) export class NormalizedDSpaceObject<T extends DSpaceObject> extends NormalizedObject<T> { /** diff --git a/src/app/core/cache/models/normalized-item.model.ts b/src/app/core/cache/models/normalized-item.model.ts index 9e8c034e81..c5be6d8e2e 100644 --- a/src/app/core/cache/models/normalized-item.model.ts +++ b/src/app/core/cache/models/normalized-item.model.ts @@ -4,12 +4,14 @@ import { NormalizedDSpaceObject } from './normalized-dspace-object.model'; import { Item } from '../../shared/item.model'; import { mapsTo, relationship } from '../builders/build-decorators'; import { ResourceType } from '../../shared/resource-type'; +import { resourceType } from '../../shared/resource-type.decorator'; /** * Normalized model class for a DSpace Item */ @mapsTo(Item) @inheritSerialization(NormalizedDSpaceObject) +@resourceType(ResourceType.Item) export class NormalizedItem extends NormalizedDSpaceObject<Item> { /** diff --git a/src/app/core/cache/models/normalized-license.model.ts b/src/app/core/cache/models/normalized-license.model.ts index 02bd1808c8..105a0f288e 100644 --- a/src/app/core/cache/models/normalized-license.model.ts +++ b/src/app/core/cache/models/normalized-license.model.ts @@ -2,12 +2,15 @@ import { autoserialize, inheritSerialization } from 'cerialize'; import { mapsTo } from '../builders/build-decorators'; import { NormalizedDSpaceObject } from './normalized-dspace-object.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 */ @mapsTo(License) @inheritSerialization(NormalizedDSpaceObject) +@resourceType(ResourceType.License) export class NormalizedLicense extends NormalizedDSpaceObject<License> { /** diff --git a/src/app/core/cache/models/normalized-object-factory.ts b/src/app/core/cache/models/normalized-object-factory.ts index 2a0db803df..b83b39e437 100644 --- a/src/app/core/cache/models/normalized-object-factory.ts +++ b/src/app/core/cache/models/normalized-object-factory.ts @@ -59,10 +59,10 @@ export class NormalizedObjectFactory { case ResourceType.MetadataField: { return NormalizedGroup } - case ResourceType.Workspaceitem: { + case ResourceType.WorkspaceItem: { return NormalizedWorkspaceItem } - case ResourceType.Workflowitem: { + case ResourceType.WorkflowItem: { return NormalizedWorkflowItem } case ResourceType.SubmissionDefinition: diff --git a/src/app/core/cache/models/normalized-resource-policy.model.ts b/src/app/core/cache/models/normalized-resource-policy.model.ts index 9438c1da0a..2f779d0773 100644 --- a/src/app/core/cache/models/normalized-resource-policy.model.ts +++ b/src/app/core/cache/models/normalized-resource-policy.model.ts @@ -5,12 +5,15 @@ import { mapsTo } from '../builders/build-decorators'; import { NormalizedObject } from './normalized-object.model'; import { IDToUUIDSerializer } from '../id-to-uuid-serializer'; 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 */ @mapsTo(ResourcePolicy) @inheritSerialization(NormalizedObject) +@resourceType(ResourceType.ResourcePolicy) export class NormalizedResourcePolicy extends NormalizedObject<ResourcePolicy> { /** diff --git a/src/app/core/config/models/normalized-config-submission-definitions.model.ts b/src/app/core/config/models/normalized-config-submission-definitions.model.ts index 3887c566c1..0d98132c0f 100644 --- a/src/app/core/config/models/normalized-config-submission-definitions.model.ts +++ b/src/app/core/config/models/normalized-config-submission-definitions.model.ts @@ -3,11 +3,16 @@ import { SubmissionSectionModel } from './config-submission-section.model'; import { PaginatedList } from '../../data/paginated-list'; import { NormalizedConfigObject } from './normalized-config.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 */ +@mapsTo(SubmissionDefinitionsModel) @inheritSerialization(NormalizedConfigObject) +@resourceType(ResourceType.SubmissionDefinitions) export class NormalizedSubmissionDefinitionsModel extends NormalizedConfigObject<SubmissionDefinitionsModel> { /** diff --git a/src/app/core/core.module.ts b/src/app/core/core.module.ts index 6e94028a0a..2ca5af0294 100644 --- a/src/app/core/core.module.ts +++ b/src/app/core/core.module.ts @@ -64,7 +64,7 @@ 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 { 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'; @@ -152,7 +152,7 @@ const PROVIDERS = [ UUIDService, NotificationsService, WorkspaceitemDataService, - WorkflowitemDataService, + WorkflowItemDataService, UploaderService, FileService, DSpaceObjectDataService, diff --git a/src/app/core/eperson/models/normalized-eperson.model.ts b/src/app/core/eperson/models/normalized-eperson.model.ts index ad4b20ee80..01d9ef3681 100644 --- a/src/app/core/eperson/models/normalized-eperson.model.ts +++ b/src/app/core/eperson/models/normalized-eperson.model.ts @@ -6,9 +6,11 @@ import { NormalizedDSpaceObject } from '../../cache/models/normalized-dspace-obj import { EPerson } from './eperson.model'; import { mapsTo, relationship } from '../../cache/builders/build-decorators'; import { ResourceType } from '../../shared/resource-type'; +import { resourceType } from '../../shared/resource-type.decorator'; @mapsTo(EPerson) @inheritSerialization(NormalizedDSpaceObject) +@resourceType(ResourceType.EPerson) export class NormalizedEPerson extends NormalizedDSpaceObject<EPerson> implements CacheableObject, ListableObject { /** diff --git a/src/app/core/eperson/models/normalized-group.model.ts b/src/app/core/eperson/models/normalized-group.model.ts index f86bec8628..776f248127 100644 --- a/src/app/core/eperson/models/normalized-group.model.ts +++ b/src/app/core/eperson/models/normalized-group.model.ts @@ -6,9 +6,11 @@ import { NormalizedDSpaceObject } from '../../cache/models/normalized-dspace-obj import { mapsTo, relationship } from '../../cache/builders/build-decorators'; import { Group } from './group.model'; import { ResourceType } from '../../shared/resource-type'; +import { resourceType } from '../../shared/resource-type.decorator'; @mapsTo(Group) @inheritSerialization(NormalizedDSpaceObject) +@resourceType(ResourceType.Group) export class NormalizedGroup extends NormalizedDSpaceObject<Group> implements CacheableObject, ListableObject { /** diff --git a/src/app/core/metadata/metadatafield.model.ts b/src/app/core/metadata/metadata-field.model.ts similarity index 72% rename from src/app/core/metadata/metadatafield.model.ts rename to src/app/core/metadata/metadata-field.model.ts index ba28b59d0e..f773ff8b49 100644 --- a/src/app/core/metadata/metadatafield.model.ts +++ b/src/app/core/metadata/metadata-field.model.ts @@ -1,25 +1,18 @@ -import { MetadataSchema } from './metadataschema.model'; -import { autoserialize } from 'cerialize'; import { ListableObject } from '../../shared/object-collection/shared/listable-object.model'; import { isNotEmpty } from '../../shared/empty.util'; +import { MetadataSchema } from './metadata-schema.model'; export class MetadataField implements ListableObject { - @autoserialize id: number; - @autoserialize self: string; - @autoserialize element: string; - @autoserialize qualifier: string; - @autoserialize scopeNote: string; - @autoserialize schema: MetadataSchema; toString(separator: string = '.'): string { diff --git a/src/app/core/metadata/metadataschema.model.ts b/src/app/core/metadata/metadata-schema.model.ts similarity index 66% rename from src/app/core/metadata/metadataschema.model.ts rename to src/app/core/metadata/metadata-schema.model.ts index 13fb8e8b4e..d141f56e2c 100644 --- a/src/app/core/metadata/metadataschema.model.ts +++ b/src/app/core/metadata/metadata-schema.model.ts @@ -1,16 +1,11 @@ -import { autoserialize } from 'cerialize'; import { ListableObject } from '../../shared/object-collection/shared/listable-object.model'; export class MetadataSchema implements ListableObject { - @autoserialize id: number; - @autoserialize self: string; - @autoserialize prefix: string; - @autoserialize namespace: string; } diff --git a/src/app/core/metadata/normalized-metadata-field.model.ts b/src/app/core/metadata/normalized-metadata-field.model.ts new file mode 100644 index 0000000000..29a3376532 --- /dev/null +++ b/src/app/core/metadata/normalized-metadata-field.model.ts @@ -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; +} diff --git a/src/app/core/metadata/normalized-metadata-schema.model.ts b/src/app/core/metadata/normalized-metadata-schema.model.ts index c121938940..aa6eb6a50a 100644 --- a/src/app/core/metadata/normalized-metadata-schema.model.ts +++ b/src/app/core/metadata/normalized-metadata-schema.model.ts @@ -2,12 +2,15 @@ import { autoserialize } from 'cerialize'; import { NormalizedObject } from '../cache/models/normalized-object.model'; import { mapsTo } from '../cache/builders/build-decorators'; 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 */ @mapsTo(MetadataSchema) +@resourceType(ResourceType.MetadataSchema) export class NormalizedMetadataSchema extends NormalizedObject<MetadataSchema> implements ListableObject { /** * The unique identifier for this schema diff --git a/src/app/core/shared/resource-type.decorator.ts b/src/app/core/shared/resource-type.decorator.ts new file mode 100644 index 0000000000..da5259b968 --- /dev/null +++ b/src/app/core/shared/resource-type.decorator.ts @@ -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); +} diff --git a/src/app/core/shared/resource-type.ts b/src/app/core/shared/resource-type.ts index 484f1ea6e2..02283a5dde 100644 --- a/src/app/core/shared/resource-type.ts +++ b/src/app/core/shared/resource-type.ts @@ -12,12 +12,13 @@ export enum ResourceType { MetadataSchema = 'metadataschema', MetadataField = 'metadatafield', License = 'license', - Workflowitem = 'workflowitem', - Workspaceitem = 'workspaceitem', + WorkflowItem = 'workflowitem', + WorkspaceItem = 'workspaceitem', SubmissionDefinitions = 'submissiondefinitions', SubmissionDefinition = 'submissiondefinition', SubmissionForm = 'submissionform', SubmissionForms = 'submissionforms', SubmissionSections = 'submissionsections', SubmissionSection = 'submissionsection', + AuthStatus = 'status' } diff --git a/src/app/core/submission/models/normalized-workflowitem.model.ts b/src/app/core/submission/models/normalized-workflowitem.model.ts index a3fa8992a2..354b8e7c06 100644 --- a/src/app/core/submission/models/normalized-workflowitem.model.ts +++ b/src/app/core/submission/models/normalized-workflowitem.model.ts @@ -1,16 +1,18 @@ import { autoserialize, inheritSerialization } from 'cerialize'; 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 { ResourceType } from '../../shared/resource-type'; +import { resourceType } from '../../shared/resource-type.decorator'; /** * An model class for a NormalizedWorkflowItem. */ -@mapsTo(Workflowitem) +@mapsTo(WorkflowItem) @inheritSerialization(NormalizedSubmissionObject) -export class NormalizedWorkflowItem extends NormalizedSubmissionObject<Workflowitem> { +@resourceType(ResourceType.WorkflowItem) +export class NormalizedWorkflowItem extends NormalizedSubmissionObject<WorkflowItem> { /** * The collection this workflowitem belonging to diff --git a/src/app/core/submission/models/normalized-workspaceitem.model.ts b/src/app/core/submission/models/normalized-workspaceitem.model.ts index 7c15925c98..a381aac00b 100644 --- a/src/app/core/submission/models/normalized-workspaceitem.model.ts +++ b/src/app/core/submission/models/normalized-workspaceitem.model.ts @@ -1,19 +1,21 @@ import { autoserialize, inheritSerialization } from 'cerialize'; -import { Workspaceitem } from './workspaceitem.model'; +import { WorkspaceItem } from './workspaceitem.model'; import { NormalizedSubmissionObject } from './normalized-submission-object.model'; import { mapsTo, relationship } from '../../cache/builders/build-decorators'; import { NormalizedDSpaceObject } from '../../cache/models/normalized-dspace-object.model'; 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. */ -@mapsTo(Workspaceitem) +@mapsTo(WorkspaceItem) @inheritSerialization(NormalizedDSpaceObject) @inheritSerialization(NormalizedSubmissionObject) -export class NormalizedWorkspaceItem extends NormalizedSubmissionObject<Workflowitem> { +@resourceType(ResourceType.WorkspaceItem) +export class NormalizedWorkspaceItem extends NormalizedSubmissionObject<WorkflowItem> { /** * The collection this workspaceitem belonging to diff --git a/src/app/core/submission/models/workflowitem.model.ts b/src/app/core/submission/models/workflowitem.model.ts index f1a0467f43..4a1666fdef 100644 --- a/src/app/core/submission/models/workflowitem.model.ts +++ b/src/app/core/submission/models/workflowitem.model.ts @@ -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 { } diff --git a/src/app/core/submission/models/workspaceitem.model.ts b/src/app/core/submission/models/workspaceitem.model.ts index 6548191ba2..136ca346c1 100644 --- a/src/app/core/submission/models/workspaceitem.model.ts +++ b/src/app/core/submission/models/workspaceitem.model.ts @@ -1,8 +1,8 @@ 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 { } diff --git a/src/app/core/submission/workflowitem-data.service.ts b/src/app/core/submission/workflowitem-data.service.ts index e739a62e81..fd769745da 100644 --- a/src/app/core/submission/workflowitem-data.service.ts +++ b/src/app/core/submission/workflowitem-data.service.ts @@ -6,7 +6,7 @@ import { RemoteDataBuildService } from '../cache/builders/remote-data-build.serv import { CoreState } from '../core.reducers'; import { DataService } from '../data/data.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 { FindAllOptions } from '../data/request.models'; 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. */ @Injectable() -export class WorkflowitemDataService extends DataService<Workflowitem> { +export class WorkflowItemDataService extends DataService<WorkflowItem> { protected linkPath = 'workflowitems'; protected forceBypassCache = true; constructor( - protected comparator: DSOChangeAnalyzer<Workflowitem>, + protected comparator: DSOChangeAnalyzer<WorkflowItem>, protected dataBuildService: NormalizedObjectBuildService, protected halService: HALEndpointService, protected http: HttpClient, diff --git a/src/app/submission/objects/submission-objects.effects.ts b/src/app/submission/objects/submission-objects.effects.ts index f5c8887320..ba82fe1e65 100644 --- a/src/app/submission/objects/submission-objects.effects.ts +++ b/src/app/submission/objects/submission-objects.effects.ts @@ -30,9 +30,9 @@ import { } from './submission-objects.actions'; import { SectionsService } from '../sections/sections.service'; 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 { Workflowitem } from '../../core/submission/models/workflowitem.model'; +import { WorkflowItem } from '../../core/submission/models/workflowitem.model'; import { NotificationsService } from '../../shared/notifications/notifications.service'; import { SubmissionObject } from '../../core/submission/models/submission-object.model'; import { TranslateService } from '@ngx-translate/core'; @@ -265,7 +265,7 @@ export class SubmissionObjectEffects { let canDeposit = true; if (isNotEmpty(response)) { - response.forEach((item: Workspaceitem | Workflowitem) => { + response.forEach((item: WorkspaceItem | WorkflowItem) => { const {errors} = item; if (errors && !isEmpty(errors)) { @@ -303,7 +303,7 @@ export class SubmissionObjectEffects { 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({}); const {errors} = item; -- GitLab