refactored resource type and type mapping

This commit is contained in:
lotte
2019-06-24 16:29:54 +02:00
parent b846384ba7
commit f980b55c1c
101 changed files with 440 additions and 427 deletions

View File

@@ -1,8 +1,9 @@
import { TaskObject } from './task-object.model';
import { ResourceType } from '../../shared/resource-type';
/**
* A model class for a ClaimedTask.
*/
export class ClaimedTask extends TaskObject {
static type = new ResourceType('claimedtask');
}

View File

@@ -2,17 +2,16 @@ import { NormalizedTaskObject } from './normalized-task-object.model';
import { mapsTo, relationship } from '../../cache/builders/build-decorators';
import { autoserialize, inheritSerialization } from 'cerialize';
import { ClaimedTask } from './claimed-task-object.model';
import { ResourceType } from '../../shared/resource-type';
import { resourceType } from '../../shared/resource-type.decorator';
import { EPerson } from '../../eperson/models/eperson.model';
import { Group } from '../../eperson/models/group.model';
import { WorkflowItem } from '../../submission/models/workflowitem.model';
/**
* A normalized model class for a ClaimedTask.
*/
@mapsTo(ClaimedTask)
@resourceType(ResourceType.ClaimedTask)
@inheritSerialization(NormalizedTaskObject)
export class NormalizedClaimedTask extends NormalizedTaskObject<ClaimedTask> {
/**
* The task identifier
*/
@@ -35,21 +34,21 @@ export class NormalizedClaimedTask extends NormalizedTaskObject<ClaimedTask> {
* The eperson object for this task
*/
@autoserialize
@relationship(ResourceType.EPerson, false)
@relationship(EPerson, false)
eperson: string;
/**
* The group object for this task
*/
@autoserialize
@relationship(ResourceType.Group, false)
@relationship(Group, false)
group: string;
/**
* The workflowitem object whom this task is related
*/
@autoserialize
@relationship(ResourceType.WorkflowItem, false)
@relationship(WorkflowItem, false)
workflowitem: string;
}

View File

@@ -2,17 +2,15 @@ import { NormalizedTaskObject } from './normalized-task-object.model';
import { PoolTask } from './pool-task-object.model';
import { autoserialize, inheritSerialization } from 'cerialize';
import { mapsTo, relationship } from '../../cache/builders/build-decorators';
import { ResourceType } from '../../shared/resource-type';
import { resourceType } from '../../shared/resource-type.decorator';
import { Group } from '../../eperson/models/group.model';
import { WorkflowItem } from '../../submission/models/workflowitem.model';
/**
* A normalized model class for a PoolTask.
*/
@mapsTo(PoolTask)
@resourceType(ResourceType.PoolTask)
@inheritSerialization(NormalizedTaskObject)
export class NormalizedPoolTask extends NormalizedTaskObject<PoolTask> {
/**
* The task identifier
*/
@@ -35,13 +33,13 @@ export class NormalizedPoolTask extends NormalizedTaskObject<PoolTask> {
* The group object for this task
*/
@autoserialize
@relationship(ResourceType.Group, false)
@relationship(Group, false)
group: string;
/**
* The workflowitem object whom this task is related
*/
@autoserialize
@relationship(ResourceType.WorkflowItem, false)
@relationship(WorkflowItem, false)
workflowitem: string;
}

View File

@@ -1,16 +1,18 @@
import { autoserialize, inheritSerialization } from 'cerialize';
import { mapsTo, relationship } from '../../cache/builders/build-decorators';
import { ResourceType } from '../../shared/resource-type';
import { NormalizedDSpaceObject } from '../../cache/models/normalized-dspace-object.model';
import { TaskObject } from './task-object.model';
import { DSpaceObject } from '../../shared/dspace-object.model';
import { Group } from '../../eperson/models/group.model';
import { EPerson } from '../../eperson/models/eperson.model';
import { WorkflowItem } from '../../submission/models/workflowitem.model';
/**
* An abstract normalized model class for a TaskObject.
*/
@mapsTo(TaskObject)
@inheritSerialization(NormalizedDSpaceObject)
export abstract class NormalizedTaskObject<T extends DSpaceObject> extends NormalizedDSpaceObject<T> {
export class NormalizedTaskObject<T extends DSpaceObject> extends NormalizedDSpaceObject<T> {
/**
* The task identifier
@@ -34,20 +36,20 @@ export abstract class NormalizedTaskObject<T extends DSpaceObject> extends Norma
* The eperson object for this task
*/
@autoserialize
@relationship(ResourceType.EPerson, false)
@relationship(EPerson, false)
eperson: string;
/**
* The group object for this task
*/
@autoserialize
@relationship(ResourceType.Group, false)
@relationship(Group, false)
group: string;
/**
* The workflowitem object whom this task is related
*/
@autoserialize
@relationship(ResourceType.WorkflowItem, false)
@relationship(WorkflowItem, false)
workflowitem: string;
}

View File

@@ -1,8 +1,9 @@
import { TaskObject } from './task-object.model';
import { ResourceType } from '../../shared/resource-type';
/**
* A model class for a PoolTask.
*/
export class PoolTask extends TaskObject {
static type = new ResourceType('pooltask');
}

View File

@@ -7,11 +7,13 @@ import { RemoteData } from '../../data/remote-data';
import { WorkflowItem } from '../../submission/models/workflowitem.model';
import { Group } from '../../eperson/models/group.model';
import { EPerson } from '../../eperson/models/eperson.model';
import { ResourceType } from '../../shared/resource-type';
/**
* An abstract model class for a TaskObject.
*/
export class TaskObject extends DSpaceObject implements CacheableObject, ListableObject {
static type = new ResourceType('taskobject');
/**
* The task identifier