Project

General

Profile

1 15795 thanos.pap
namespace java eu.dnetlib.openaire.thrift
2
3 16130 thanos.pap
struct Author {
4
	1: string id,
5
	2: string lastName,
6
	3: string firstName
7
}
8
9 16156 thanos.pap
// alerts
10
struct AlertSubscription {
11
	1: string templateId,
12
	2: string notificationService,
13
	3: string queryId,
14
	4: string resultId,
15
	5: string alertMode,
16
	6: string subscriber
17
}
18
19
struct ResultPage {
20
	1: i32 limit,
21
	2: i32 offset,
22
	3: list<string> columns,
23
	4: list<list<string>> rows
24
}
25
26 19894 antonis.le
struct Claim {
27 27637 antonis.le
    1: string userEmail,
28
	2: string resultid,
29
	3: i64 date,
30
	4: string type,
31
	5: string xml
32 19894 antonis.le
}
33
34 27193 antonis.le
struct Project {
35
    1: string type,
36
    2: string projectId
37
}
38
39 16156 thanos.pap
// connector
40 15795 thanos.pap
service OpenAIREConnector {
41 16130 thanos.pap
	// claim
42 19894 antonis.le
	list<Claim> getClaimedPublications(1: string userEmail),
43 27224 antonis.le
44
	// from: date in milisecs
45
	// to: ditto
46
	list<Claim> getAllClaimedPublications(1: i64 from, 2: i64 to),
47 19378 antonis.le
48 28314 antonis.le
	string insertDocument (
49 28258 antonis.le
			1: string originalId,
50 19378 antonis.le
			2: string source,
51
			3: string title,
52
			4: string description,
53
			5: string access_mode,
54
			6: string embargoEndDate,
55
			7: list<Author> authors,
56
			8: string url,
57
			9: string dcSource,
58 28258 antonis.le
			10: string userEmail,
59
			11: list<string> subjects,
60
			12: string publicationDate,
61
			13: string publisher,
62
			14: string language,
63
			15: string category,
64
			16: string doi),
65 27193 antonis.le
66 28314 antonis.le
    void insertConcept (
67 28258 antonis.le
        1: string docId,
68
        2: string documentSource,
69
        3: string concept,
70
        4: string userEmail),
71
72 28314 antonis.le
    void insertProjectRelation (
73 28258 antonis.le
        1: string docId,
74
        2: string documentSource,
75
        3: Project project,
76
        4: string userEmail),
77
78 28314 antonis.le
    void insertResultRelation (
79
        1: string sourceResultId,
80
        2: string sourceResultType,
81
        3: string sourceResultSource,
82
        4: string targetResultId,
83
        5: string targetResultType,
84
        6: string userEmail
85 28258 antonis.le
    ),
86
87 27193 antonis.le
	void deleteClaim(1: string userEmail, 2:string resultId),
88 24008 antonis.le
89 16156 thanos.pap
	// alerts
90 25063 katerina.i
	list<AlertSubscription> getSubscriptions(
91
			1: string alertMode,
92
			2: string subscriber,
93
			3: i32 limit,
94
			4: i32 offset),
95
96 16156 thanos.pap
	void addSubscription(1: AlertSubscription subscription),
97 25063 katerina.i
98 16156 thanos.pap
	void removeSubscription(1: AlertSubscription subscription),
99 25063 katerina.i
100
	i32 countAlertResults(
101
			1: string notificationService,
102
			2: string queryId,
103
			3: i64 date,
104
			5: string resultId),
105
106
	ResultPage getAlertResults(
107
			1: string notificationService,
108
			2: string queryId,
109
			3: string resultId,
110
			4: i64 fromDate,
111
			5: i64 toDate,
112
			6: i32 limit,
113
			7: i32 offset),
114
115
	list<string> getContexts(),
116 27193 antonis.le
}