switch to typedObject decorator, which no longer needs explict type param

This commit is contained in:
Art Lowel
2020-02-17 10:30:16 +01:00
parent 10bb457897
commit 7f76769bff
38 changed files with 79 additions and 90 deletions

View File

@@ -1,6 +1,6 @@
import { autoserialize, deserialize, deserializeAs } from 'cerialize'; import { autoserialize, deserialize, deserializeAs } from 'cerialize';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
import { link, resourceType } from '../../cache/builders/build-decorators'; import { link, typedObject } from '../../cache/builders/build-decorators';
import { IDToUUIDSerializer } from '../../cache/id-to-uuid-serializer'; import { IDToUUIDSerializer } from '../../cache/id-to-uuid-serializer';
import { CacheableObject } from '../../cache/object-cache.reducer'; import { CacheableObject } from '../../cache/object-cache.reducer';
import { RemoteData } from '../../data/remote-data'; import { RemoteData } from '../../data/remote-data';
@@ -16,7 +16,7 @@ import { AuthTokenInfo } from './auth-token-info.model';
/** /**
* Object that represents the authenticated status of a user * Object that represents the authenticated status of a user
*/ */
@resourceType(AuthStatus.type) @typedObject
export class AuthStatus implements CacheableObject { export class AuthStatus implements CacheableObject {
static type = AUTH_STATUS; static type = AUTH_STATUS;

View File

@@ -1,12 +1,11 @@
import 'reflect-metadata'; import 'reflect-metadata';
import { hasNoValue, hasValue } from '../../../shared/empty.util'; import { hasNoValue, hasValue } from '../../../shared/empty.util';
import { DataService } from '../../data/data.service'; import { DataService } from '../../data/data.service';
import { PaginatedList } from '../../data/paginated-list';
import { GenericConstructor } from '../../shared/generic-constructor'; import { GenericConstructor } from '../../shared/generic-constructor';
import { HALResource } from '../../shared/hal-resource.model'; import { HALResource } from '../../shared/hal-resource.model';
import { CacheableObject, TypedObject } from '../object-cache.reducer';
import { ResourceType } from '../../shared/resource-type'; import { ResourceType } from '../../shared/resource-type';
import { CacheableObject, TypedObject } from '../object-cache.reducer';
const resolvedLinkKey = Symbol('resolvedLink'); const resolvedLinkKey = Symbol('resolvedLink');
@@ -17,12 +16,10 @@ const linkMap = new Map();
/** /**
* Decorator function to map a ResourceType to its class * Decorator function to map a ResourceType to its class
* @param value The ResourceType to map * @param target The contructor of the typed class to map
*/ */
export function resourceType(value: ResourceType) { export function typedObject(target: typeof TypedObject) {
return function decorator(objectConstructor: GenericConstructor<TypedObject>) { typeMap.set(target.type.value, target);
typeMap.set(value.value, objectConstructor);
}
} }
/** /**
@@ -74,14 +71,6 @@ export function resolvedLink<T extends DataService<any>, K extends keyof T>(prov
}; };
} }
export function getResolvedLinkMetadata(target: any, propertyKey: string) {
return Reflect.getMetadata(resolvedLinkKey, target, propertyKey);
}
export function getResolvedLinks(target: any) {
return resolvedLinkMap.get(target);
}
export class LinkDefinition<T extends HALResource> { export class LinkDefinition<T extends HALResource> {
resourceType: ResourceType; resourceType: ResourceType;
isList = false; isList = false;

View File

@@ -1,5 +1,5 @@
import { autoserialize, deserialize } from 'cerialize'; import { autoserialize, deserialize } from 'cerialize';
import { resourceType } from '../../cache/builders/build-decorators'; import { typedObject } from '../../cache/builders/build-decorators';
import { PaginatedList } from '../../data/paginated-list'; import { PaginatedList } from '../../data/paginated-list';
import { HALLink } from '../../shared/hal-link.model'; import { HALLink } from '../../shared/hal-link.model';
import { ResourceType } from '../../shared/resource-type'; import { ResourceType } from '../../shared/resource-type';
@@ -9,7 +9,7 @@ import { ConfigObject } from './config.model';
/** /**
* Class for the configuration describing the submission * Class for the configuration describing the submission
*/ */
@resourceType(SubmissionDefinitionModel.type) @typedObject
export class SubmissionDefinitionModel extends ConfigObject { export class SubmissionDefinitionModel extends ConfigObject {
static type = new ResourceType('submissiondefinition'); static type = new ResourceType('submissiondefinition');

View File

@@ -1,9 +1,9 @@
import { inheritSerialization } from 'cerialize'; import { inheritSerialization } from 'cerialize';
import { resourceType } from '../../cache/builders/build-decorators'; import { typedObject } from '../../cache/builders/build-decorators';
import { SubmissionDefinitionModel } from './config-submission-definition.model'; import { SubmissionDefinitionModel } from './config-submission-definition.model';
import { ResourceType } from '../../shared/resource-type'; import { ResourceType } from '../../shared/resource-type';
@resourceType(SubmissionDefinitionsModel.type) @typedObject
@inheritSerialization(SubmissionDefinitionModel) @inheritSerialization(SubmissionDefinitionModel)
export class SubmissionDefinitionsModel extends SubmissionDefinitionModel { export class SubmissionDefinitionsModel extends SubmissionDefinitionModel {
static type = new ResourceType('submissiondefinitions'); static type = new ResourceType('submissiondefinitions');

View File

@@ -1,5 +1,5 @@
import { autoserialize, inheritSerialization } from 'cerialize'; import { autoserialize, inheritSerialization } from 'cerialize';
import { resourceType } from '../../cache/builders/build-decorators'; import { typedObject } from '../../cache/builders/build-decorators';
import { ConfigObject } from './config.model'; import { ConfigObject } from './config.model';
import { FormFieldModel } from '../../../shared/form/builder/models/form-field.model'; import { FormFieldModel } from '../../../shared/form/builder/models/form-field.model';
import { ResourceType } from '../../shared/resource-type'; import { ResourceType } from '../../shared/resource-type';
@@ -14,7 +14,7 @@ export interface FormRowModel {
/** /**
* A model class for a NormalizedObject. * A model class for a NormalizedObject.
*/ */
@resourceType(SubmissionFormModel.type) @typedObject
@inheritSerialization(ConfigObject) @inheritSerialization(ConfigObject)
export class SubmissionFormModel extends ConfigObject { export class SubmissionFormModel extends ConfigObject {
static type = new ResourceType('submissionform'); static type = new ResourceType('submissionform');

View File

@@ -1,12 +1,12 @@
import { inheritSerialization } from 'cerialize'; import { inheritSerialization } from 'cerialize';
import { resourceType } from '../../cache/builders/build-decorators'; import { typedObject } from '../../cache/builders/build-decorators';
import { SubmissionFormModel } from './config-submission-form.model'; import { SubmissionFormModel } from './config-submission-form.model';
import { ResourceType } from '../../shared/resource-type'; import { ResourceType } from '../../shared/resource-type';
/** /**
* A model class for a NormalizedObject. * A model class for a NormalizedObject.
*/ */
@resourceType(SubmissionFormsModel.type) @typedObject
@inheritSerialization(SubmissionFormModel) @inheritSerialization(SubmissionFormModel)
export class SubmissionFormsModel extends SubmissionFormModel { export class SubmissionFormsModel extends SubmissionFormModel {
static type = new ResourceType('submissionforms'); static type = new ResourceType('submissionforms');

View File

@@ -1,6 +1,6 @@
import { autoserialize, deserialize } from 'cerialize'; import { autoserialize, deserialize } from 'cerialize';
import { SectionsType } from '../../../submission/sections/sections-type'; import { SectionsType } from '../../../submission/sections/sections-type';
import { resourceType } from '../../cache/builders/build-decorators'; import { typedObject } from '../../cache/builders/build-decorators';
import { HALLink } from '../../shared/hal-link.model'; import { HALLink } from '../../shared/hal-link.model';
import { ResourceType } from '../../shared/resource-type'; import { ResourceType } from '../../shared/resource-type';
import { ConfigObject } from './config.model'; import { ConfigObject } from './config.model';
@@ -13,7 +13,7 @@ export interface SubmissionSectionVisibility {
other: any other: any
} }
@resourceType(SubmissionSectionModel.type) @typedObject
export class SubmissionSectionModel extends ConfigObject { export class SubmissionSectionModel extends ConfigObject {
static type = new ResourceType('submissionsection'); static type = new ResourceType('submissionsection');

View File

@@ -1,9 +1,9 @@
import { inheritSerialization } from 'cerialize'; import { inheritSerialization } from 'cerialize';
import { resourceType } from '../../cache/builders/build-decorators'; import { typedObject } from '../../cache/builders/build-decorators';
import { SubmissionSectionModel } from './config-submission-section.model'; import { SubmissionSectionModel } from './config-submission-section.model';
import { ResourceType } from '../../shared/resource-type'; import { ResourceType } from '../../shared/resource-type';
@resourceType(SubmissionSectionsModel.type) @typedObject
@inheritSerialization(SubmissionSectionModel) @inheritSerialization(SubmissionSectionModel)
export class SubmissionSectionsModel extends SubmissionSectionModel { export class SubmissionSectionsModel extends SubmissionSectionModel {
static type = new ResourceType('submissionsections'); static type = new ResourceType('submissionsections');

View File

@@ -1,11 +1,11 @@
import { autoserialize } from 'cerialize'; import { autoserialize } from 'cerialize';
import { resourceType } from '../../cache/builders/build-decorators'; import { typedObject } from '../../cache/builders/build-decorators';
import { ConfigObject } from './config.model'; import { ConfigObject } from './config.model';
import { AccessConditionOption } from './config-access-condition-option.model'; import { AccessConditionOption } from './config-access-condition-option.model';
import { SubmissionFormsModel } from './config-submission-forms.model'; import { SubmissionFormsModel } from './config-submission-forms.model';
import { ResourceType } from '../../shared/resource-type'; import { ResourceType } from '../../shared/resource-type';
@resourceType(SubmissionUploadsModel.type) @typedObject
export class SubmissionUploadsModel extends ConfigObject { export class SubmissionUploadsModel extends ConfigObject {
static type = new ResourceType('submissionupload'); static type = new ResourceType('submissionupload');
/** /**

View File

@@ -111,10 +111,10 @@ export abstract class BaseResponseParsingService {
protected deserialize<ObjectDomain>(obj): any { protected deserialize<ObjectDomain>(obj): any {
const type: string = obj.type; const type: string = obj.type;
if (hasValue(type)) { if (hasValue(type)) {
const normObjConstructor = getClassForType(type) as GenericConstructor<ObjectDomain>; const objConstructor = getClassForType(type) as GenericConstructor<ObjectDomain>;
if (hasValue(normObjConstructor)) { if (hasValue(objConstructor)) {
const serializer = new this.serializerConstructor(normObjConstructor); const serializer = new this.serializerConstructor(objConstructor);
return serializer.deserialize(obj); return serializer.deserialize(obj);
} else { } else {
return null; return null;

View File

@@ -1,6 +1,6 @@
import { autoserialize, deserialize, inheritSerialization } from 'cerialize'; import { autoserialize, deserialize, inheritSerialization } from 'cerialize';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
import { link, resourceType } from '../../cache/builders/build-decorators'; import { link, typedObject } from '../../cache/builders/build-decorators';
import { PaginatedList } from '../../data/paginated-list'; import { PaginatedList } from '../../data/paginated-list';
import { RemoteData } from '../../data/remote-data'; import { RemoteData } from '../../data/remote-data';
@@ -10,7 +10,7 @@ import { EPERSON } from './eperson.resource-type';
import { Group } from './group.model'; import { Group } from './group.model';
import { GROUP } from './group.resource-type'; import { GROUP } from './group.resource-type';
@resourceType(EPerson.type) @typedObject
@inheritSerialization(DSpaceObject) @inheritSerialization(DSpaceObject)
export class EPerson extends DSpaceObject { export class EPerson extends DSpaceObject {
static type = EPERSON; static type = EPERSON;

View File

@@ -1,6 +1,6 @@
import { autoserialize, deserialize, inheritSerialization } from 'cerialize'; import { autoserialize, deserialize, inheritSerialization } from 'cerialize';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
import { link, resourceType } from '../../cache/builders/build-decorators'; import { link, typedObject } from '../../cache/builders/build-decorators';
import { PaginatedList } from '../../data/paginated-list'; import { PaginatedList } from '../../data/paginated-list';
import { RemoteData } from '../../data/remote-data'; import { RemoteData } from '../../data/remote-data';
@@ -8,7 +8,7 @@ import { DSpaceObject } from '../../shared/dspace-object.model';
import { HALLink } from '../../shared/hal-link.model'; import { HALLink } from '../../shared/hal-link.model';
import { GROUP } from './group.resource-type'; import { GROUP } from './group.resource-type';
@resourceType(Group.type) @typedObject
@inheritSerialization(DSpaceObject) @inheritSerialization(DSpaceObject)
export class Group extends DSpaceObject { export class Group extends DSpaceObject {
static type = GROUP; static type = GROUP;

View File

@@ -2,7 +2,7 @@ import { autoserialize, deserialize, inheritSerialization } from 'cerialize';
import { isNotEmpty } from '../../../shared/empty.util'; import { isNotEmpty } from '../../../shared/empty.util';
import { PLACEHOLDER_PARENT_METADATA } from '../../../shared/form/builder/ds-dynamic-form-ui/models/relation-group/dynamic-relation-group.model'; import { PLACEHOLDER_PARENT_METADATA } from '../../../shared/form/builder/ds-dynamic-form-ui/models/relation-group/dynamic-relation-group.model';
import { OtherInformation } from '../../../shared/form/builder/models/form-field-metadata-value.model'; import { OtherInformation } from '../../../shared/form/builder/models/form-field-metadata-value.model';
import { resourceType } from '../../cache/builders/build-decorators'; import { typedObject } from '../../cache/builders/build-decorators';
import { HALLink } from '../../shared/hal-link.model'; import { HALLink } from '../../shared/hal-link.model';
import { MetadataValueInterface } from '../../shared/metadata.models'; import { MetadataValueInterface } from '../../shared/metadata.models';
import { AUTHORITY_VALUE } from './authority.resource-type'; import { AUTHORITY_VALUE } from './authority.resource-type';
@@ -11,7 +11,7 @@ import { IntegrationModel } from './integration.model';
/** /**
* Class representing an authority object * Class representing an authority object
*/ */
@resourceType(AuthorityValue.type) @typedObject
@inheritSerialization(IntegrationModel) @inheritSerialization(IntegrationModel)
export class AuthorityValue extends IntegrationModel implements MetadataValueInterface { export class AuthorityValue extends IntegrationModel implements MetadataValueInterface {
static type = AUTHORITY_VALUE; static type = AUTHORITY_VALUE;

View File

@@ -1,7 +1,7 @@
import { autoserialize, deserialize } from 'cerialize'; import { autoserialize, deserialize } from 'cerialize';
import { isNotEmpty } from '../../shared/empty.util'; import { isNotEmpty } from '../../shared/empty.util';
import { ListableObject } from '../../shared/object-collection/shared/listable-object.model'; import { ListableObject } from '../../shared/object-collection/shared/listable-object.model';
import { link, resourceType } from '../cache/builders/build-decorators'; import { link, typedObject } from '../cache/builders/build-decorators';
import { GenericConstructor } from '../shared/generic-constructor'; import { GenericConstructor } from '../shared/generic-constructor';
import { HALLink } from '../shared/hal-link.model'; import { HALLink } from '../shared/hal-link.model';
import { HALResource } from '../shared/hal-resource.model'; import { HALResource } from '../shared/hal-resource.model';
@@ -13,7 +13,7 @@ import { MetadataSchema } from './metadata-schema.model';
/** /**
* Class the represents a metadata field * Class the represents a metadata field
*/ */
@resourceType(MetadataField.type) @typedObject
export class MetadataField extends ListableObject implements HALResource { export class MetadataField extends ListableObject implements HALResource {
static type = METADATA_FIELD; static type = METADATA_FIELD;

View File

@@ -1,6 +1,6 @@
import { autoserialize, deserialize } from 'cerialize'; import { autoserialize, deserialize } from 'cerialize';
import { ListableObject } from '../../shared/object-collection/shared/listable-object.model'; import { ListableObject } from '../../shared/object-collection/shared/listable-object.model';
import { resourceType } from '../cache/builders/build-decorators'; import { typedObject } from '../cache/builders/build-decorators';
import { GenericConstructor } from '../shared/generic-constructor'; import { GenericConstructor } from '../shared/generic-constructor';
import { HALLink } from '../shared/hal-link.model'; import { HALLink } from '../shared/hal-link.model';
import { HALResource } from '../shared/hal-resource.model'; import { HALResource } from '../shared/hal-resource.model';
@@ -11,7 +11,7 @@ import { METADATA_SCHEMA } from './metadata-schema.resource-type';
/** /**
* Class that represents a metadata schema * Class that represents a metadata schema
*/ */
@resourceType(MetadataSchema.type) @typedObject
export class MetadataSchema extends ListableObject implements HALResource { export class MetadataSchema extends ListableObject implements HALResource {
static type = METADATA_SCHEMA; static type = METADATA_SCHEMA;

View File

@@ -1,5 +1,5 @@
import { autoserialize, deserialize } from 'cerialize'; import { autoserialize, deserialize } from 'cerialize';
import { resourceType } from '../cache/builders/build-decorators'; import { typedObject } from '../cache/builders/build-decorators';
import { MetadataField } from '../metadata/metadata-field.model'; import { MetadataField } from '../metadata/metadata-field.model';
import { METADATA_FIELD } from '../metadata/metadata-field.resource-type'; import { METADATA_FIELD } from '../metadata/metadata-field.resource-type';
import { HALLink } from '../shared/hal-link.model'; import { HALLink } from '../shared/hal-link.model';
@@ -10,7 +10,7 @@ import { excludeFromEquals } from '../utilities/equals.decorators';
/** /**
* Class that represents a response with a registry's metadata fields * Class that represents a response with a registry's metadata fields
*/ */
@resourceType(RegistryMetadatafieldsResponse.type) @typedObject
export class RegistryMetadatafieldsResponse { export class RegistryMetadatafieldsResponse {
static type = METADATA_FIELD; static type = METADATA_FIELD;

View File

@@ -1,5 +1,5 @@
import { autoserialize, deserialize, deserializeAs } from 'cerialize'; import { autoserialize, deserialize, deserializeAs } from 'cerialize';
import { resourceType } from '../cache/builders/build-decorators'; import { typedObject } from '../cache/builders/build-decorators';
import { IDToUUIDSerializer } from '../cache/id-to-uuid-serializer'; import { IDToUUIDSerializer } from '../cache/id-to-uuid-serializer';
import { CacheableObject } from '../cache/object-cache.reducer'; import { CacheableObject } from '../cache/object-cache.reducer';
import { excludeFromEquals } from '../utilities/equals.decorators'; import { excludeFromEquals } from '../utilities/equals.decorators';
@@ -11,7 +11,7 @@ import { ResourceType } from './resource-type';
/** /**
* Model class for a Bitstream Format * Model class for a Bitstream Format
*/ */
@resourceType(BitstreamFormat.type) @typedObject
export class BitstreamFormat implements CacheableObject { export class BitstreamFormat implements CacheableObject {
static type = BITSTREAM_FORMAT; static type = BITSTREAM_FORMAT;

View File

@@ -1,6 +1,6 @@
import { autoserialize, deserialize, inheritSerialization } from 'cerialize'; import { autoserialize, deserialize, inheritSerialization } from 'cerialize';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
import { link, resourceType } from '../cache/builders/build-decorators'; import { link, typedObject } from '../cache/builders/build-decorators';
import { RemoteData } from '../data/remote-data'; import { RemoteData } from '../data/remote-data';
import { BitstreamFormat } from './bitstream-format.model'; import { BitstreamFormat } from './bitstream-format.model';
import { BITSTREAM_FORMAT } from './bitstream-format.resource-type'; import { BITSTREAM_FORMAT } from './bitstream-format.resource-type';
@@ -9,7 +9,7 @@ import { DSpaceObject } from './dspace-object.model';
import { HALLink } from './hal-link.model'; import { HALLink } from './hal-link.model';
import { HALResource } from './hal-resource.model'; import { HALResource } from './hal-resource.model';
@resourceType(Bitstream.type) @typedObject
@inheritSerialization(DSpaceObject) @inheritSerialization(DSpaceObject)
export class Bitstream extends DSpaceObject implements HALResource { export class Bitstream extends DSpaceObject implements HALResource {
static type = BITSTREAM; static type = BITSTREAM;

View File

@@ -1,5 +1,5 @@
import { autoserialize, autoserializeAs, deserialize } from 'cerialize'; import { autoserialize, autoserializeAs, deserialize } from 'cerialize';
import { resourceType } from '../cache/builders/build-decorators'; import { typedObject } from '../cache/builders/build-decorators';
import { TypedObject } from '../cache/object-cache.reducer'; import { TypedObject } from '../cache/object-cache.reducer';
import { excludeFromEquals } from '../utilities/equals.decorators'; import { excludeFromEquals } from '../utilities/equals.decorators';
import { BROWSE_DEFINITION } from './browse-definition.resource-type'; import { BROWSE_DEFINITION } from './browse-definition.resource-type';
@@ -7,7 +7,7 @@ import { HALLink } from './hal-link.model';
import { ResourceType } from './resource-type'; import { ResourceType } from './resource-type';
import { SortOption } from './sort-option.model'; import { SortOption } from './sort-option.model';
@resourceType(BrowseDefinition.type) @typedObject
export class BrowseDefinition implements TypedObject { export class BrowseDefinition implements TypedObject {
static type = BROWSE_DEFINITION; static type = BROWSE_DEFINITION;

View File

@@ -1,6 +1,6 @@
import { autoserialize, autoserializeAs, deserialize } from 'cerialize'; import { autoserialize, autoserializeAs, deserialize } from 'cerialize';
import { ListableObject } from '../../shared/object-collection/shared/listable-object.model'; import { ListableObject } from '../../shared/object-collection/shared/listable-object.model';
import { resourceType } from '../cache/builders/build-decorators'; import { typedObject } from '../cache/builders/build-decorators';
import { TypedObject } from '../cache/object-cache.reducer'; import { TypedObject } from '../cache/object-cache.reducer';
import { excludeFromEquals } from '../utilities/equals.decorators'; import { excludeFromEquals } from '../utilities/equals.decorators';
import { BROWSE_ENTRY } from './browse-entry.resource-type'; import { BROWSE_ENTRY } from './browse-entry.resource-type';
@@ -11,7 +11,7 @@ import { ResourceType } from './resource-type';
/** /**
* Class object representing a browse entry * Class object representing a browse entry
*/ */
@resourceType(BrowseEntry.type) @typedObject
export class BrowseEntry extends ListableObject implements TypedObject { export class BrowseEntry extends ListableObject implements TypedObject {
static type = BROWSE_ENTRY; static type = BROWSE_ENTRY;

View File

@@ -1,10 +1,10 @@
import { deserialize, inheritSerialization } from 'cerialize'; import { deserialize, inheritSerialization } from 'cerialize';
import { resourceType } from '../cache/builders/build-decorators'; import { typedObject } from '../cache/builders/build-decorators';
import { BUNDLE } from './bundle.resource-type'; import { BUNDLE } from './bundle.resource-type';
import { DSpaceObject } from './dspace-object.model'; import { DSpaceObject } from './dspace-object.model';
import { HALLink } from './hal-link.model'; import { HALLink } from './hal-link.model';
@resourceType(Bundle.type) @typedObject
@inheritSerialization(DSpaceObject) @inheritSerialization(DSpaceObject)
export class Bundle extends DSpaceObject { export class Bundle extends DSpaceObject {
static type = BUNDLE; static type = BUNDLE;

View File

@@ -1,6 +1,6 @@
import { autoserialize, deserialize, inheritSerialization } from 'cerialize'; import { autoserialize, deserialize, inheritSerialization } from 'cerialize';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
import { link, resourceType } from '../cache/builders/build-decorators'; import { link, typedObject } from '../cache/builders/build-decorators';
import { PaginatedList } from '../data/paginated-list'; import { PaginatedList } from '../data/paginated-list';
import { RemoteData } from '../data/remote-data'; import { RemoteData } from '../data/remote-data';
import { Bitstream } from './bitstream.model'; import { Bitstream } from './bitstream.model';
@@ -13,7 +13,7 @@ import { LICENSE } from './license.resource-type';
import { ResourcePolicy } from './resource-policy.model'; import { ResourcePolicy } from './resource-policy.model';
import { RESOURCE_POLICY } from './resource-policy.resource-type'; import { RESOURCE_POLICY } from './resource-policy.resource-type';
@resourceType(Collection.type) @typedObject
@inheritSerialization(DSpaceObject) @inheritSerialization(DSpaceObject)
export class Collection extends DSpaceObject { export class Collection extends DSpaceObject {
static type = COLLECTION; static type = COLLECTION;

View File

@@ -1,6 +1,6 @@
import { autoserialize, deserialize, inheritSerialization } from 'cerialize'; import { autoserialize, deserialize, inheritSerialization } from 'cerialize';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
import { link, resourceType } from '../cache/builders/build-decorators'; import { link, typedObject } from '../cache/builders/build-decorators';
import { PaginatedList } from '../data/paginated-list'; import { PaginatedList } from '../data/paginated-list';
import { RemoteData } from '../data/remote-data'; import { RemoteData } from '../data/remote-data';
import { Bitstream } from './bitstream.model'; import { Bitstream } from './bitstream.model';
@@ -11,7 +11,7 @@ import { COMMUNITY } from './community.resource-type';
import { DSpaceObject } from './dspace-object.model'; import { DSpaceObject } from './dspace-object.model';
import { HALLink } from './hal-link.model'; import { HALLink } from './hal-link.model';
@resourceType(Community.type) @typedObject
@inheritSerialization(DSpaceObject) @inheritSerialization(DSpaceObject)
export class Community extends DSpaceObject { export class Community extends DSpaceObject {
static type = COMMUNITY; static type = COMMUNITY;

View File

@@ -1,7 +1,7 @@
import { autoserialize, autoserializeAs, deserialize, deserializeAs } from 'cerialize'; import { autoserialize, autoserializeAs, deserialize, deserializeAs } from 'cerialize';
import { hasNoValue, isUndefined } from '../../shared/empty.util'; import { hasNoValue, isUndefined } from '../../shared/empty.util';
import { ListableObject } from '../../shared/object-collection/shared/listable-object.model'; import { ListableObject } from '../../shared/object-collection/shared/listable-object.model';
import { resourceType } from '../cache/builders/build-decorators'; import { typedObject } from '../cache/builders/build-decorators';
import { CacheableObject } from '../cache/object-cache.reducer'; import { CacheableObject } from '../cache/object-cache.reducer';
import { excludeFromEquals } from '../utilities/equals.decorators'; import { excludeFromEquals } from '../utilities/equals.decorators';
import { DSPACE_OBJECT } from './dspace-object.resource-type'; import { DSPACE_OBJECT } from './dspace-object.resource-type';
@@ -20,7 +20,7 @@ import { ResourceType } from './resource-type';
/** /**
* An abstract model class for a DSpaceObject. * An abstract model class for a DSpaceObject.
*/ */
@resourceType(DSpaceObject.type) @typedObject
export class DSpaceObject extends ListableObject implements CacheableObject { export class DSpaceObject extends ListableObject implements CacheableObject {
/** /**
* A string representing the kind of DSpaceObject, e.g. community, item, … * A string representing the kind of DSpaceObject, e.g. community, item, …

View File

@@ -1,6 +1,6 @@
import { autoserialize, autoserializeAs, deserialize } from 'cerialize'; import { autoserialize, autoserializeAs, deserialize } from 'cerialize';
import { ListableObject } from '../../shared/object-collection/shared/listable-object.model'; import { ListableObject } from '../../shared/object-collection/shared/listable-object.model';
import { resourceType } from '../cache/builders/build-decorators'; import { typedObject } from '../cache/builders/build-decorators';
import { excludeFromEquals } from '../utilities/equals.decorators'; import { excludeFromEquals } from '../utilities/equals.decorators';
import { EXTERNAL_SOURCE_ENTRY } from './external-source-entry.resource-type'; import { EXTERNAL_SOURCE_ENTRY } from './external-source-entry.resource-type';
import { GenericConstructor } from './generic-constructor'; import { GenericConstructor } from './generic-constructor';
@@ -11,7 +11,7 @@ import { ResourceType } from './resource-type';
/** /**
* Model class for a single entry from an external source * Model class for a single entry from an external source
*/ */
@resourceType(ExternalSourceEntry.type) @typedObject
export class ExternalSourceEntry extends ListableObject { export class ExternalSourceEntry extends ListableObject {
static type = EXTERNAL_SOURCE_ENTRY; static type = EXTERNAL_SOURCE_ENTRY;

View File

@@ -1,5 +1,5 @@
import { autoserialize, deserialize, inheritSerialization } from 'cerialize'; import { autoserialize, deserialize, inheritSerialization } from 'cerialize';
import { resourceType } from '../cache/builders/build-decorators'; import { typedObject } from '../cache/builders/build-decorators';
import { CacheableObject } from '../cache/object-cache.reducer'; import { CacheableObject } from '../cache/object-cache.reducer';
import { excludeFromEquals } from '../utilities/equals.decorators'; import { excludeFromEquals } from '../utilities/equals.decorators';
import { EXTERNAL_SOURCE } from './external-source.resource-type'; import { EXTERNAL_SOURCE } from './external-source.resource-type';
@@ -9,7 +9,7 @@ import { ResourceType } from './resource-type';
/** /**
* Model class for an external source * Model class for an external source
*/ */
@resourceType(ExternalSource.type) @typedObject
export class ExternalSource extends CacheableObject { export class ExternalSource extends CacheableObject {
static type = EXTERNAL_SOURCE; static type = EXTERNAL_SOURCE;

View File

@@ -1,5 +1,5 @@
import { autoserialize, deserialize, deserializeAs } from 'cerialize'; import { autoserialize, deserialize, deserializeAs } from 'cerialize';
import { resourceType } from '../../cache/builders/build-decorators'; import { typedObject } from '../../cache/builders/build-decorators';
import { IDToUUIDSerializer } from '../../cache/id-to-uuid-serializer'; import { IDToUUIDSerializer } from '../../cache/id-to-uuid-serializer';
import { CacheableObject } from '../../cache/object-cache.reducer'; import { CacheableObject } from '../../cache/object-cache.reducer';
import { excludeFromEquals } from '../../utilities/equals.decorators'; import { excludeFromEquals } from '../../utilities/equals.decorators';
@@ -10,7 +10,7 @@ import { ITEM_TYPE } from './item-type.resource-type';
/** /**
* Describes a type of Item * Describes a type of Item
*/ */
@resourceType(ItemType.type) @typedObject
export class ItemType implements CacheableObject { export class ItemType implements CacheableObject {
static type = ITEM_TYPE; static type = ITEM_TYPE;

View File

@@ -1,6 +1,6 @@
import { autoserialize, deserialize, deserializeAs } from 'cerialize'; import { autoserialize, deserialize, deserializeAs } from 'cerialize';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
import { link, resourceType } from '../../cache/builders/build-decorators'; import { link, typedObject } from '../../cache/builders/build-decorators';
import { IDToUUIDSerializer } from '../../cache/id-to-uuid-serializer'; import { IDToUUIDSerializer } from '../../cache/id-to-uuid-serializer';
import { CacheableObject } from '../../cache/object-cache.reducer'; import { CacheableObject } from '../../cache/object-cache.reducer';
import { RemoteData } from '../../data/remote-data'; import { RemoteData } from '../../data/remote-data';
@@ -14,7 +14,7 @@ import { RELATIONSHIP_TYPE } from './relationship-type.resource-type';
/** /**
* Describes a type of Relationship between multiple possible Items * Describes a type of Relationship between multiple possible Items
*/ */
@resourceType(RelationshipType.type) @typedObject
export class RelationshipType implements CacheableObject { export class RelationshipType implements CacheableObject {
static type = RELATIONSHIP_TYPE; static type = RELATIONSHIP_TYPE;

View File

@@ -1,6 +1,6 @@
import { autoserialize, deserialize, serialize, deserializeAs } from 'cerialize'; import { autoserialize, deserialize, serialize, deserializeAs } from 'cerialize';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
import { link, resourceType } from '../../cache/builders/build-decorators'; import { link, typedObject } from '../../cache/builders/build-decorators';
import { IDToUUIDSerializer } from '../../cache/id-to-uuid-serializer'; import { IDToUUIDSerializer } from '../../cache/id-to-uuid-serializer';
import { CacheableObject } from '../../cache/object-cache.reducer'; import { CacheableObject } from '../../cache/object-cache.reducer';
import { RemoteData } from '../../data/remote-data'; import { RemoteData } from '../../data/remote-data';
@@ -16,7 +16,7 @@ import { RELATIONSHIP } from './relationship.resource-type';
/** /**
* Describes a Relationship between two Items * Describes a Relationship between two Items
*/ */
@resourceType(Relationship.type) @typedObject
export class Relationship implements CacheableObject { export class Relationship implements CacheableObject {
static type = RELATIONSHIP; static type = RELATIONSHIP;

View File

@@ -3,7 +3,7 @@ import { Observable } from 'rxjs/internal/Observable';
import { isEmpty } from '../../shared/empty.util'; import { isEmpty } from '../../shared/empty.util';
import { DEFAULT_ENTITY_TYPE } from '../../shared/metadata-representation/metadata-representation.decorator'; import { DEFAULT_ENTITY_TYPE } from '../../shared/metadata-representation/metadata-representation.decorator';
import { ListableObject } from '../../shared/object-collection/shared/listable-object.model'; import { ListableObject } from '../../shared/object-collection/shared/listable-object.model';
import { link, resourceType } from '../cache/builders/build-decorators'; import { link, typedObject } from '../cache/builders/build-decorators';
import { PaginatedList } from '../data/paginated-list'; import { PaginatedList } from '../data/paginated-list';
import { RemoteData } from '../data/remote-data'; import { RemoteData } from '../data/remote-data';
import { Bundle } from './bundle.model'; import { Bundle } from './bundle.model';
@@ -21,7 +21,7 @@ import { ITEM } from './item.resource-type';
/** /**
* Class representing a DSpace Item * Class representing a DSpace Item
*/ */
@resourceType(Item.type) @typedObject
@inheritSerialization(DSpaceObject) @inheritSerialization(DSpaceObject)
export class Item extends DSpaceObject { export class Item extends DSpaceObject {
static type = ITEM; static type = ITEM;

View File

@@ -1,9 +1,9 @@
import { autoserialize, inheritSerialization } from 'cerialize'; import { autoserialize, inheritSerialization } from 'cerialize';
import { resourceType } from '../cache/builders/build-decorators'; import { typedObject } from '../cache/builders/build-decorators';
import { DSpaceObject } from './dspace-object.model'; import { DSpaceObject } from './dspace-object.model';
import { LICENSE } from './license.resource-type'; import { LICENSE } from './license.resource-type';
@resourceType(License.type) @typedObject
@inheritSerialization(DSpaceObject) @inheritSerialization(DSpaceObject)
export class License extends DSpaceObject { export class License extends DSpaceObject {
static type = LICENSE; static type = LICENSE;

View File

@@ -1,5 +1,5 @@
import { autoserialize, deserialize, deserializeAs } from 'cerialize'; import { autoserialize, deserialize, deserializeAs } from 'cerialize';
import { resourceType } from '../cache/builders/build-decorators'; import { typedObject } from '../cache/builders/build-decorators';
import { IDToUUIDSerializer } from '../cache/id-to-uuid-serializer'; import { IDToUUIDSerializer } from '../cache/id-to-uuid-serializer';
import { ActionType } from '../cache/models/action-type.model'; import { ActionType } from '../cache/models/action-type.model';
import { CacheableObject } from '../cache/object-cache.reducer'; import { CacheableObject } from '../cache/object-cache.reducer';
@@ -11,7 +11,7 @@ import { ResourceType } from './resource-type';
/** /**
* Model class for a Resource Policy * Model class for a Resource Policy
*/ */
@resourceType(ResourcePolicy.type) @typedObject
export class ResourcePolicy implements CacheableObject { export class ResourcePolicy implements CacheableObject {
static type = RESOURCE_POLICY; static type = RESOURCE_POLICY;

View File

@@ -1,12 +1,12 @@
import { inheritSerialization } from 'cerialize'; import { inheritSerialization } from 'cerialize';
import { resourceType } from '../cache/builders/build-decorators'; import { typedObject } from '../cache/builders/build-decorators';
import { DSpaceObject } from './dspace-object.model'; import { DSpaceObject } from './dspace-object.model';
import { SITE } from './site.resource-type'; import { SITE } from './site.resource-type';
/** /**
* Model class for the Site object * Model class for the Site object
*/ */
@resourceType(Site.type) @typedObject
@inheritSerialization(DSpaceObject) @inheritSerialization(DSpaceObject)
export class Site extends DSpaceObject { export class Site extends DSpaceObject {

View File

@@ -1,5 +1,5 @@
import { deserializeAs, inheritSerialization } from 'cerialize'; import { deserializeAs, inheritSerialization } from 'cerialize';
import { inheritLinkAnnotations, resourceType } from '../../cache/builders/build-decorators'; import { inheritLinkAnnotations, typedObject } from '../../cache/builders/build-decorators';
import { IDToUUIDSerializer } from '../../cache/id-to-uuid-serializer'; import { IDToUUIDSerializer } from '../../cache/id-to-uuid-serializer';
import { WORKFLOWITEM } from '../../eperson/models/workflowitem.resource-type'; import { WORKFLOWITEM } from '../../eperson/models/workflowitem.resource-type';
import { SubmissionObject } from './submission-object.model'; import { SubmissionObject } from './submission-object.model';
@@ -7,7 +7,7 @@ import { SubmissionObject } from './submission-object.model';
/** /**
* A model class for a WorkflowItem. * A model class for a WorkflowItem.
*/ */
@resourceType(WorkflowItem.type) @typedObject
@inheritSerialization(SubmissionObject) @inheritSerialization(SubmissionObject)
@inheritLinkAnnotations(SubmissionObject) @inheritLinkAnnotations(SubmissionObject)
export class WorkflowItem extends SubmissionObject { export class WorkflowItem extends SubmissionObject {

View File

@@ -1,5 +1,5 @@
import { deserializeAs, inheritSerialization } from 'cerialize'; import { deserializeAs, inheritSerialization } from 'cerialize';
import { inheritLinkAnnotations, resourceType } from '../../cache/builders/build-decorators'; import { inheritLinkAnnotations, typedObject } from '../../cache/builders/build-decorators';
import { IDToUUIDSerializer } from '../../cache/id-to-uuid-serializer'; import { IDToUUIDSerializer } from '../../cache/id-to-uuid-serializer';
import { DSpaceObject } from '../../shared/dspace-object.model'; import { DSpaceObject } from '../../shared/dspace-object.model';
import { SubmissionObject } from './submission-object.model'; import { SubmissionObject } from './submission-object.model';
@@ -8,7 +8,7 @@ import { ResourceType } from '../../shared/resource-type';
/** /**
* A model class for a WorkspaceItem. * A model class for a WorkspaceItem.
*/ */
@resourceType(WorkspaceItem.type) @typedObject
@inheritSerialization(SubmissionObject) @inheritSerialization(SubmissionObject)
@inheritLinkAnnotations(SubmissionObject) @inheritLinkAnnotations(SubmissionObject)
export class WorkspaceItem extends SubmissionObject { export class WorkspaceItem extends SubmissionObject {

View File

@@ -1,5 +1,5 @@
import { inheritSerialization } from 'cerialize'; import { inheritSerialization } from 'cerialize';
import { resourceType } from '../../cache/builders/build-decorators'; import { typedObject } from '../../cache/builders/build-decorators';
import { DSpaceObject } from '../../shared/dspace-object.model'; import { DSpaceObject } from '../../shared/dspace-object.model';
import { CLAIMED_TASK } from './claimed-task-object.resource-type'; import { CLAIMED_TASK } from './claimed-task-object.resource-type';
import { TaskObject } from './task-object.model'; import { TaskObject } from './task-object.model';
@@ -7,7 +7,7 @@ import { TaskObject } from './task-object.model';
/** /**
* A model class for a ClaimedTask. * A model class for a ClaimedTask.
*/ */
@resourceType(ClaimedTask.type) @typedObject
@inheritSerialization(DSpaceObject) @inheritSerialization(DSpaceObject)
export class ClaimedTask extends TaskObject { export class ClaimedTask extends TaskObject {
static type = CLAIMED_TASK; static type = CLAIMED_TASK;

View File

@@ -1,12 +1,12 @@
import { inheritSerialization } from 'cerialize'; import { inheritSerialization } from 'cerialize';
import { resourceType } from '../../cache/builders/build-decorators'; import { typedObject } from '../../cache/builders/build-decorators';
import { POOL_TASK } from './pool-task-object.resource-type'; import { POOL_TASK } from './pool-task-object.resource-type';
import { TaskObject } from './task-object.model'; import { TaskObject } from './task-object.model';
/** /**
* A model class for a PoolTask. * A model class for a PoolTask.
*/ */
@resourceType(PoolTask.type) @typedObject
@inheritSerialization(TaskObject) @inheritSerialization(TaskObject)
export class PoolTask extends TaskObject { export class PoolTask extends TaskObject {
static type = POOL_TASK; static type = POOL_TASK;

View File

@@ -1,6 +1,6 @@
import { autoserialize, deserialize, inheritSerialization } from 'cerialize'; import { autoserialize, deserialize, inheritSerialization } from 'cerialize';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
import { link, resourceType } from '../../cache/builders/build-decorators'; import { link, typedObject } from '../../cache/builders/build-decorators';
import { CacheableObject } from '../../cache/object-cache.reducer'; import { CacheableObject } from '../../cache/object-cache.reducer';
import { RemoteData } from '../../data/remote-data'; import { RemoteData } from '../../data/remote-data';
@@ -16,7 +16,7 @@ import { TASK_OBJECT } from './task-object.resource-type';
/** /**
* An abstract model class for a TaskObject. * An abstract model class for a TaskObject.
*/ */
@resourceType(TaskObject.type) @typedObject
@inheritSerialization(DSpaceObject) @inheritSerialization(DSpaceObject)
export class TaskObject extends DSpaceObject implements CacheableObject { export class TaskObject extends DSpaceObject implements CacheableObject {
static type = TASK_OBJECT; static type = TASK_OBJECT;