refactor: untangle SCCreativeWork inheritance

This commit is contained in:
Rainer Killinger
2022-05-30 17:00:14 +02:00
parent 31bb7e89ea
commit 9d0ff36af5
5 changed files with 79 additions and 24 deletions

View File

@@ -17,19 +17,13 @@ import {SCISO8601Date} from '../../general/time';
import {SCOrganizationWithoutReferences} from '../organization';
import {SCPersonWithoutReferences} from '../person';
import {SCPublicationEventWithoutReferences} from '../publication-event';
import {SCThingMeta, SCThingTranslatableProperties, SCThingWithoutReferences} from './thing';
import {
SCAcademicPriceGroup,
SCThingThatCanBeOffered, SCThingThatCanBeOfferedMeta,
SCThingThatCanBeOfferedTranslatableProperties,
SCThingThatCanBeOfferedWithoutReferences,
} from './thing-that-can-be-offered';
import {SCThing, SCThingMeta, SCThingTranslatableProperties, SCThingWithoutReferences} from './thing';
/**
* A creative work without references
*/
export interface SCCreativeWorkWithoutReferences
extends SCThingWithoutReferences, SCThingThatCanBeOfferedWithoutReferences {
extends SCThingWithoutReferences {
/**
* Languages this creative work is available in
@@ -88,7 +82,7 @@ export interface SCCreativeWorkWithoutReferences
* A creative work
*/
export interface SCCreativeWork
extends SCCreativeWorkWithoutReferences, SCThingThatCanBeOffered<SCAcademicPriceGroup> {
extends SCCreativeWorkWithoutReferences, SCThing {
/**
* Authors of the creative work
*/
@@ -124,7 +118,7 @@ export interface SCCreativeWork
* Translatable properties of creative works
*/
export interface SCCreativeWorkTranslatableProperties
extends SCThingTranslatableProperties, SCThingThatCanBeOfferedTranslatableProperties {
extends SCThingTranslatableProperties {
/**
* Translation of the keywords of the creative work
*
@@ -144,7 +138,6 @@ export class SCCreativeWorkMeta
fieldTranslations = {
de: {
...SCThingMeta.getInstance<SCThingMeta>().fieldTranslations.de,
...SCThingThatCanBeOfferedMeta.getInstance().fieldTranslations.de,
name: 'Titel',
authors: 'beteiligte Personen',
availableLanguages: 'verfügbare Übersetzungen',
@@ -161,7 +154,6 @@ export class SCCreativeWorkMeta
},
en: {
...SCThingMeta.getInstance<SCThingMeta>().fieldTranslations.en,
...SCThingThatCanBeOfferedMeta.getInstance().fieldTranslations.en,
name: 'title',
authors: 'involved persons',
availableLanguages: 'available languages',
@@ -184,11 +176,9 @@ export class SCCreativeWorkMeta
fieldValueTranslations = {
de: {
...SCThingMeta.getInstance<SCThingMeta>().fieldValueTranslations.de,
...SCThingThatCanBeOfferedMeta.getInstance().fieldValueTranslations.de,
},
en: {
...SCThingMeta.getInstance<SCThingMeta>().fieldValueTranslations.en,
...SCThingThatCanBeOfferedMeta.getInstance().fieldValueTranslations.en,
},
};
}