Skip to main content

Interface: IImportService

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

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:1205

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:1180

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:1189

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:1197

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:1267

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:1250

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:1227

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: "unavailable" | "active" | "stale"; title: string; }>

Fields to update

Returns​

Promise<ImportedEprint>

Updated imported eprint