Skip to main content

Interface: IImportService

Defined in: src/types/interfaces/plugin.interface.ts:1158

Import service interface for tracking imported eprints.

Remarks

Manages the AppView cache of imported eprints. All data is rebuildable from external sources (ATProto compliant).

Since

0.1.0

Methods

create()

create(data): Promise<ImportedEprint>

Defined in: src/types/interfaces/plugin.interface.ts:1191

Creates a new imported eprint.

Parameters

data

Import data

abstract

string

authors

readonly ExternalAuthor[]

categories

readonly string[]

doi

string

externalId

string

externalUrl

string

importedByPlugin

string

metadata

Record<string, unknown>

pdfUrl

string

publicationDate

Date

source

string

title

string

Returns

Promise<ImportedEprint>

Created imported eprint


exists()

exists(source, externalId): Promise<boolean>

Defined in: src/types/interfaces/plugin.interface.ts:1166

Checks if an eprint has been imported.

Parameters

source

string

External source

externalId

string

Source-specific ID

Returns

Promise<boolean>

True if already imported


get()

get(source, externalId): Promise<null | ImportedEprint>

Defined in: src/types/interfaces/plugin.interface.ts:1175

Gets an imported eprint by source and ID.

Parameters

source

string

External source

externalId

string

Source-specific ID

Returns

Promise<null | ImportedEprint>

Imported eprint or null


getById()

getById(id): Promise<null | ImportedEprint>

Defined in: src/types/interfaces/plugin.interface.ts:1183

Gets an imported eprint by internal ID.

Parameters

id

number

Internal database ID

Returns

Promise<null | ImportedEprint>

Imported eprint or null


markClaimed()

markClaimed(id, canonicalUri, claimedByDid): Promise<void>

Defined in: src/types/interfaces/plugin.interface.ts:1253

Marks an eprint as claimed.

Parameters

id

number

Internal database ID

canonicalUri

string

AT-URI of user's canonical record

claimedByDid

string

DID of claiming user

Returns

Promise<void>


search(options): Promise<{ cursor: string; eprints: ImportedEprint[]; }>

Defined in: src/types/interfaces/plugin.interface.ts:1236

Searches imported eprints.

Parameters

options

Search options

authorName

string

authorOrcid

string

claimStatus

"pending" | "unclaimed" | "claimed"

cursor

string

limit

number

query

string

source

string

Returns

Promise<{ cursor: string; eprints: ImportedEprint[]; }>

Matching eprints with cursor


update()

update(id, data): Promise<ImportedEprint>

Defined in: src/types/interfaces/plugin.interface.ts:1213

Updates an imported eprint.

Parameters

id

number

Internal database ID

data

Partial<{ abstract: string; authors: readonly ExternalAuthor[]; canonicalUri: string; claimedAt: Date; claimedByDid: string; claimStatus: "pending" | "unclaimed" | "claimed"; doi: string; lastSyncedAt: Date; pdfUrl: string; syncStatus: "active" | "stale" | "unavailable"; title: string; }>

Fields to update

Returns

Promise<ImportedEprint>

Updated imported eprint