UNPKG

api-core

Version:

Model-based dynamic multi-level APIs for any provider, plus multiple consumption channels

26 lines (22 loc) 900 B
import {ApiEdgeDefinition} from "../edge/ApiEdgeDefinition"; import {ApiEdgeRelation, ApiEdgeRelationTypes} from "./ApiEdgeRelation"; import {Api} from "../Api"; import {OneToManyRelation} from "./OneToManyRelation"; export class OneToOneRelation extends ApiEdgeRelation { name: string; relationId: string; relatedId: string; from: ApiEdgeDefinition; to: ApiEdgeDefinition; hasPair = false; constructor(from: ApiEdgeDefinition, to: ApiEdgeDefinition, options: { relationId?: string, relatedId?: string, name?: string } = {}) { super(from, to); this.name = options.name || to.name; this.relatedId = options.relatedId || from.idField; this.relationId = options.relationId || to.name + Api.defaultIdPostfix } getType() { return 'one-to-one' } } ApiEdgeRelationTypes['one-to-one'] = OneToOneRelation;