import { injectable } from 'inversify'; import { AuthorRole } from '../../../entities/library/author-role'; import { getDeserializedEntityPromise } from '../get-deserialized'; import { serializeName } from '../serialize-name'; import { Serializer } from '../serializer'; @injectable() export class AuthorRoleNameSerializer extends Serializer< AuthorRoleNameEntityInterface, AuthorRoleNameSerializedInterface > { public serialize(entity: AuthorRoleNameEntityInterface): Promise { return serializeName(entity); } public deserialize(partial: Partial): Partial { return { ...(partial.id ? { id: partial.id } : {}), ...(partial.name ? { name: partial.name } : {}), ...(partial.entity ? { entity: getDeserializedEntityPromise(partial.entity, AuthorRole) } : {}), }; } }