Documentation
¶
Index ¶
- Constants
- Variables
- func EuroPMC2Pub(pmc *EuroPMC, id string) (*models.Publication, error)
- func FetchAndBuildAnnotations(params *FetchAndBuildAnnotationsParams) ([]*models.GOAnnotation, error)
- func FetchDOI(ctx context.Context, doi string) (*models.Publication, error)
- func FetchPublication(ctx context.Context, repo repository.Repository, endpoint, id string) (*models.Publication, error)
- func FetchPublicationFromCache(repo repository.Repository, id string) (bool, *models.Publication, error)
- func FetchPublicationFromEuroPMC(ctx context.Context, endpoint, id string) (*models.Publication, error)
- func GetResp(url string) (*http.Response, error)
- func StorePublicationInCache(id string, repo repository.Repository, pub *models.Publication) error
- type Author
- type EuroPMC
- type FetchAndBuildAnnotationsParams
- type Links
- type PubData
- type PubJSONAPI
- type Publication
Constants ¶
View Source
const (
RedisKey = "PUBLICATION_KEY"
)
Variables ¶
View Source
var Status string = "published"
Functions ¶
func EuroPMC2Pub ¶
func EuroPMC2Pub(pmc *EuroPMC, id string) (*models.Publication, error)
func FetchAndBuildAnnotations ¶
func FetchAndBuildAnnotations( params *FetchAndBuildAnnotationsParams, ) ([]*models.GOAnnotation, error)
func FetchPublication ¶
func FetchPublication( ctx context.Context, repo repository.Repository, endpoint, id string, ) (*models.Publication, error)
func FetchPublicationFromCache ¶
func FetchPublicationFromCache( repo repository.Repository, id string, ) (bool, *models.Publication, error)
func StorePublicationInCache ¶
func StorePublicationInCache( id string, repo repository.Repository, pub *models.Publication, ) error
Types ¶
type EuroPMC ¶
type EuroPMC struct {
HitCount int64 `json:"hitCount"`
NextCursorMark string `json:"nextCursorMark"`
Request struct {
CursorMark string `json:"cursorMark"`
PageSize int64 `json:"pageSize"`
Query string `json:"query"`
ResultType string `json:"resultType"`
Sort string `json:"sort"`
Synonym bool `json:"synonym"`
} `json:"request"`
ResultList struct {
Result []struct {
AbstractText string `json:"abstractText"`
Affiliation string `json:"affiliation"`
AuthMan string `json:"authMan"`
AuthorList struct {
Author []struct {
Affiliation string `json:"affiliation"`
FirstName string `json:"firstName"`
FullName string `json:"fullName"`
Initials string `json:"initials"`
LastName string `json:"lastName"`
} `json:"author"`
} `json:"authorList"`
AuthorString string `json:"authorString"`
CitedByCount int64 `json:"citedByCount"`
DateOfCreation string `json:"dateOfCreation"`
DateOfRevision string `json:"dateOfRevision"`
Doi string `json:"doi"`
ElectronicPublicationDate string `json:"electronicPublicationDate"`
EpmcAuthMan string `json:"epmcAuthMan"`
FirstPublicationDate string `json:"firstPublicationDate"`
FullTextURLList struct {
FullTextURL []struct {
Availability string `json:"availability"`
AvailabilityCode string `json:"availabilityCode"`
DocumentStyle string `json:"documentStyle"`
Site string `json:"site"`
URL string `json:"url"`
} `json:"fullTextUrl"`
} `json:"fullTextUrlList"`
HasBook string `json:"hasBook"`
HasDBCrossReferences string `json:"hasDbCrossReferences"`
HasLabsLinks string `json:"hasLabsLinks"`
HasPDF string `json:"hasPDF"`
HasReferences string `json:"hasReferences"`
HasTMAccessionNumbers string `json:"hasTMAccessionNumbers"`
HasTextMinedTerms string `json:"hasTextMinedTerms"`
ID string `json:"id"`
InEPMC string `json:"inEPMC"`
InPMC string `json:"inPMC"`
IsOpenAccess string `json:"isOpenAccess"`
JournalInfo struct {
DateOfPublication string `json:"dateOfPublication"`
Journal struct {
Essn string `json:"essn"`
Isoabbreviation string `json:"isoabbreviation"`
Issn string `json:"issn"`
MedlineAbbreviation string `json:"medlineAbbreviation"`
Nlmid string `json:"nlmid"`
Title string `json:"title"`
} `json:"journal"`
JournalIssueID int64 `json:"journalIssueId"`
MonthOfPublication int64 `json:"monthOfPublication"`
PrintPublicationDate string `json:"printPublicationDate"`
YearOfPublication int64 `json:"yearOfPublication"`
Issue string `json:"issue"`
Volume string `json:"volume"`
} `json:"journalInfo"`
KeywordList struct {
Keyword []string `json:"keyword"`
} `json:"keywordList"`
Language string `json:"language"`
NihAuthMan string `json:"nihAuthMan"`
PageInfo string `json:"pageInfo"`
Pmid string `json:"pmid"`
PubModel string `json:"pubModel"`
PubTypeList struct {
PubType []string `json:"pubType"`
} `json:"pubTypeList"`
PubYear string `json:"pubYear"`
Source string `json:"source"`
Title string `json:"title"`
} `json:"result"`
} `json:"resultList"`
Version string `json:"version"`
}
type FetchAndBuildAnnotationsParams ¶
type FetchAndBuildAnnotationsParams struct {
Ctx context.Context
Gene string
UniprotID string
Redis repository.Repository
Logger *logrus.Entry
}
type PubData ¶
type PubData struct {
Type string `json:"type"`
ID string `json:"id"`
Attributes *Publication `json:"attributes"`
}
type PubJSONAPI ¶
type Publication ¶
type Publication struct {
Abstract string `json:"abstract"`
Doi string `json:"doi,omitempty"`
FullTextURL string `json:"full_text_url,omitempty"`
PubmedURL string `json:"pubmed_url"`
Journal string `json:"journal"`
Issn string `json:"issn,omitempty"`
Page string `json:"page,omitempty"`
Pubmed string `json:"pubmed"`
Title string `json:"title"`
Source string `json:"source"`
Status string `json:"status"`
PubType string `json:"pub_type"`
Issue string `json:"issue"`
Volume string `json:"volume"`
PublishedDate string `json:"publication_date"`
Authors []*Author `json:"authors"`
}
Click to show internal directories.
Click to hide internal directories.