From b98b54fcd176a9ff9126576fa0b168e18c03e2c2 Mon Sep 17 00:00:00 2001 From: Wesley Finck Date: Tue, 23 Dec 2025 11:08:52 +0800 Subject: [PATCH] feat: add doi and isbn as optional fields to UrlMetadata Co-authored-by: aider (anthropic/claude-sonnet-4-20250514) --- src/modules/cards/domain/value-objects/UrlMetadata.ts | 10 ++++++++++ .../cards/infrastructure/CitoidMetadataService.ts | 2 ++ 2 files changed, 12 insertions(+) diff --git a/src/modules/cards/domain/value-objects/UrlMetadata.ts b/src/modules/cards/domain/value-objects/UrlMetadata.ts index c0d04dcf..b8f0f7c2 100644 --- a/src/modules/cards/domain/value-objects/UrlMetadata.ts +++ b/src/modules/cards/domain/value-objects/UrlMetadata.ts @@ -12,6 +12,8 @@ export interface UrlMetadataProps { imageUrl?: string; type?: UrlType; retrievedAt?: Date; + doi?: string; + isbn?: string; } export class UrlMetadata extends ValueObject { @@ -51,6 +53,14 @@ export class UrlMetadata extends ValueObject { return this.props.retrievedAt; } + get doi(): string | undefined { + return this.props.doi; + } + + get isbn(): string | undefined { + return this.props.isbn; + } + private constructor(props: UrlMetadataProps) { super(props); } diff --git a/src/modules/cards/infrastructure/CitoidMetadataService.ts b/src/modules/cards/infrastructure/CitoidMetadataService.ts index 9aeec43a..8b8032e1 100644 --- a/src/modules/cards/infrastructure/CitoidMetadataService.ts +++ b/src/modules/cards/infrastructure/CitoidMetadataService.ts @@ -203,6 +203,8 @@ export class CitoidMetadataService implements IMetadataService { publishedDate, siteName, type: mapCitoidUrlType(citoidData.itemType), + doi: citoidData.DOI, + isbn: citoidData.ISBN, }); return metadataResult; -- 2.51.2