Project

General

Profile

1
// Generated using typescript-generator version 1.29.366 on 2018-02-05 16:06:12.
2

    
3
export class BrowseData {
4
    data: { [index: string]: FieldData };
5
    fields: string[];
6
}
7

    
8
export class DataCollectionAccessProtocol {
9
    value: string;
10
    username: string;
11
    password: string;
12
}
13

    
14
export class DataCollectionInterface {
15
    protocol: DataCollectionAccessProtocol;
16
    baseUrl: string;
17
    format: string;
18
    filter: string;
19
}
20

    
21
export class DataCollectionType {
22
    dataCollectionInterface: DataCollectionInterface;
23
    id: string;
24
    label: string;
25
    group: string;
26
}
27

    
28
export class Document {
29
    map: { [index: string]: string[] };
30
    fieldNames: string[];
31
}
32

    
33
export class FieldData {
34
    fieldRowList: FieldRow[];
35
    count: number[];
36
    values: string[];
37
}
38

    
39
export class FieldRow {
40
    value: string;
41
    count: number;
42
}
43

    
44
export class FormattedSearchResult {
45
    formattedResult: string;
46
    resultsNumber: number;
47
}
48

    
49
export class Hint {
50
    alternateTerm: string;
51
    autoFollowHint: boolean;
52
}
53

    
54
export class DriverResource implements Serializable {
55
    resourceId: string;
56
    resourceUri: string;
57
    resourceKind: string;
58
    resourceType: string;
59
    dateOfCreation: Date;
60
}
61

    
62
export class MDFormatDataStructure extends DriverResource {
63
    resourceName: string;
64
    layouts: { [index: string]: LayoutField[] };
65
}
66

    
67
export class PiwikInfo implements IsSerializable {
68
    repositoryId: string;
69
    openaireId: string;
70
    repositoryName: string;
71
    country: string;
72
    siteId: string;
73
    authenticationToken: string;
74
    creationDate: Date;
75
    requestorName: string;
76
    requestorEmail: string;
77
    validated: boolean;
78
    validationDate: Date;
79
    comment: string;
80
}
81

    
82
/*export class Repository extends DriverResource implements IsSerializable {
83
    id: string = null;
84
    officialName: string = null;
85
    englishName: string = '';
86
    websiteUrl: string = '';
87
    logoUrl: string = '';
88
    contactEmail: string = '';
89
    countryName: string = '';
90
    countryCode: string = '';
91
    organization: string = '';
92
    latitude: number = 0;
93
    longitude: number = 0;
94
    timezone: number = 0;
95
    namespacePrefix: string = '';
96
    odNumberOfItems: string = '';
97
    odNumberOfItemsDate: string = '';
98
    odPolicies: string = '';
99
    odLanguages: string = '';
100
    odContentTypes: string = '';
101
    collectedFrom: string = '';
102
    inferred: boolean = null;
103
    deletedByInference: boolean = null;
104
    trust: number = 0;
105
    inferenceProvenance: string = '';
106
    dateOfValidation: Date = null;
107
    datasourceClass: string = '';
108
    provenanceActionClass: string = '';
109
    dateOfCollection: Date = null;
110
    typology: string = '';
111
    activationId: string = '';
112
    mergehomonyms: boolean = null;
113
    description: string = '';
114
    releaseStartDate: Date = null;
115
    releaseEndDate: Date = null;
116
    missionStatementUrl: string = '';
117
    dataProvider: boolean = null;
118
    serviceProvider: boolean = null;
119
    databaseAccessType: string = '';
120
    dataUploadType: string = '';
121
    databaseAccessRestriction: string = '';
122
    dataUploadRestriction: string = '';
123
    versioning: boolean = null;
124
    citationGuidelineUrl: string = '';
125
    qualityManagementKind: string = '';
126
    pidSystems: string = '';
127
    certificates: string = '';
128
    aggregator: string = '';
129
    issn: string = '';
130
    eissn: string = '';
131
    lissn: string = '';
132
    interfaces: RepositoryInterface[] = [];
133
    availableDiskSpace: string = '';
134
    securityParameters: string = '';
135
    protocol: string = 'oai';
136
    registeredBy: string = '';
137
    datasourceType: string = '';
138
    datasourceAggregatorId: string = '';
139
    datasourceOriginalIdValue: string = '';
140
    datasourceOriginalIdProvenance: string = '';
141
    datasourceAggregated: boolean = false;
142
    datasourceComplianceDegreeValue: string = '';
143
    datasourceComplianceDegreeEncoding: string = '';
144
    numberOfObjects: number = 0;
145
    maxSizeOfDatastructure: number = 0;
146
    maxNumberOfDataStructures: number = 0;
147
    registered: boolean = null;
148
    extraFields: { [index: string]: string } = {};
149
    piwikInfo: PiwikInfo = null;
150
    environments: string[] = [];
151
    registrationDate: Date = null;
152
    verified: boolean = false;
153
    dataCollectionTypes: DataCollectionType[] = [];
154
}*/
155

    
156
export class Repository extends DriverResource implements IsSerializable {
157
  id: string;
158
  officialName: string;
159
  englishName: string;
160
  websiteUrl: string;
161
  logoUrl: string;
162
  contactEmail: string;
163
  countryName: string;
164
  countryCode: string;
165
  organization: string;
166
  latitude: number;
167
  longitude: number;
168
  timezone: number;
169
  namespacePrefix: string;
170
  odNumberOfItems: string;
171
  odNumberOfItemsDate: string;
172
  odPolicies: string;
173
  odLanguages: string;
174
  odContentTypes: string;
175
  collectedFrom: string;
176
  inferred: boolean;
177
  deletedByInference: boolean;
178
  trust: number;
179
  inferenceProvenance: string;
180
  dateOfValidation: Date;
181
  datasourceClass: string;
182
  provenanceActionClass: string;
183
  dateOfCollection: Date;
184
  typology: string;
185
  activationId: string;
186
  mergehomonyms: boolean;
187
  description: string;
188
  releaseStartDate: Date;
189
  releaseEndDate: Date;
190
  missionStatementUrl: string;
191
  dataProvider: boolean;
192
  serviceProvider: boolean;
193
  databaseAccessType: string;
194
  dataUploadType: string;
195
  databaseAccessRestriction: string;
196
  dataUploadRestriction: string;
197
  versioning: boolean;
198
  citationGuidelineUrl: string;
199
  qualityManagementKind: string;
200
  pidSystems: string;
201
  certificates: string;
202
  aggregator: string;
203
  issn: string;
204
  eissn: string;
205
  lissn: string;
206
  interfaces: RepositoryInterface[];
207
  availableDiskSpace: string;
208
  securityParameters: string;
209
  protocol: string;
210
  registeredBy: string;
211
  datasourceType: string;
212
  datasourceAggregatorId: string;
213
  datasourceOriginalIdValue: string;
214
  datasourceOriginalIdProvenance: string;
215
  datasourceAggregated: boolean;
216
  datasourceComplianceDegreeValue: string;
217
  datasourceComplianceDegreeEncoding: string;
218
  numberOfObjects: number;
219
  maxSizeOfDatastructure: number;
220
  maxNumberOfDataStructures: number;
221
  registered: boolean;
222
  extraFields: { [index: string]: string };
223
  piwikInfo: PiwikInfo;
224
  environments: string[];
225
  registrationDate: Date;
226
  verified: boolean;
227
  dataCollectionTypes: DataCollectionType[];
228
}
229

    
230
export class RepositoryAccessProtocol {
231
    value: string;
232
    username: string;
233
    password: string;
234
    filter: string;
235
}
236

    
237
export class RepositoryBlackboard {
238
    lastrequest: string;
239
    lastresponse: string;
240
    messages: RepositoryBlackboardMessage[];
241
}
242

    
243
export class RepositoryBlackboardMessage {
244
    id: string;
245
    action: Action;
246
    actionStatus: ActionStatus;
247
    parameters: string[];
248
}
249

    
250
export class RepositoryComparator implements Comparator<Repository> {
251
}
252

    
253
/*export class RepositoryInterface implements Serializable, IsSerializable {
254
    desiredCompatibilityLevel: string = '';
255
    complianceName: string = null;
256
    upgradeToV3: string = '';
257
    deleteApi: boolean = false;
258
    accessSet: string = '';
259
    accessFormat: string = '';
260
    metadataIdentifierPath: string = '';
261
    lastCollectionDate: string = '';
262
    nextScheduledExecution: string = '';
263
    status: string = '';
264
    collectedFrom: string = '';
265
    id: string = '';
266
    typology: string = '';
267
    compliance: string = 'UNKNOWN';
268
    contentDescription: string = '';
269
    accessProtocol: string = 'oai';
270
    baseUrl: string = '';
271
    active: boolean = false;
272
    removable: boolean = false;
273
    accessParams: { [index: string]: string } = {};
274
    extraFields: { [index: string]: string } = {};
275
}*/
276

    
277
export class RepositoryInterface implements Serializable, IsSerializable {
278
  desiredCompatibilityLevel: string;
279
  complianceName: string;
280
  upgradeToV3: string;
281
  deleteApi: boolean;
282
  accessSet: string;
283
  accessFormat: string;
284
  metadataIdentifierPath: string;
285
  lastCollectionDate: string;
286
  nextScheduledExecution: string;
287
  status: string;
288
  collectedFrom: string;
289
  id: string;
290
  typology: string;
291
  compliance: string;
292
  contentDescription: string;
293
  accessProtocol: string;
294
  baseUrl: string;
295
  active: boolean;
296
  removable: boolean;
297
  accessParams: { [index: string]: string };
298
  extraFields: { [index: string]: string };
299
}
300

    
301
export class SearchCriteriaImpl implements SearchCriteria {
302
    startsWith: string;
303
    endsWith: string;
304
    contains: string;
305
}
306

    
307
export class RepositorySearchCriteria extends SearchCriteriaImpl implements SearchCriteria {
308
    haveDocuments: boolean;
309
    protocolType: string;
310
    adminInfo: string;
311
    officialName: string;
312
    registeredBy: string;
313
    country: string;
314
    verified: boolean;
315
}
316

    
317
export class SearchResult {
318
    query: string;
319
    locale: string;
320
    total: number;
321
    page: number;
322
    size: number;
323
    fields: string[];
324
    searchResults: string[];
325
    browseResults: string[];
326
}
327

    
328
export class SimilarDocument {
329
    id: string;
330
    score: number;
331
}
332

    
333
export class StoreInfo {
334
    serviceUrl: string;
335
    storeId: string;
336
}
337

    
338
export class StoreObjectInfo {
339
    storeInfo: StoreInfo;
340
    objectId: string;
341
}
342

    
343
export class SuggestiveResult {
344
    epr: EPR;
345
    alternativeTerm: string;
346
    autofollow: boolean;
347
}
348

    
349
export class CustomProperties implements IsSerializable {
350
    properties: { [index: string]: string };
351
}
352

    
353
export class JobForValidation implements IsSerializable {
354
    officialName: string;
355
    baseUrl: string;
356
    userEmail: string;
357
    validationSet: string;
358
    datasourceId: string;
359
    interfaceId: string;
360
    desiredCompatibilityLevel: string;
361
    activationId: string;
362
    repoType: string;
363
    interfaceIdOld: string;
364
    groupByXpath: string;
365
    metadataPrefix: string;
366
    records: number;
367
    registration: boolean;
368
    updateExisting: boolean;
369
    cris: boolean;
370
    crisReferentialChecks: boolean;
371
    selectedCrisEntities: string[];
372
    selectedContentRules: number[];
373
    selectedUsageRules: number[];
374
    adminEmails: string[];
375
}
376

    
377
export class JobResultEntry implements IsSerializable {
378
    name: string;
379
    description: string;
380
    successes: string;
381
    weight: number;
382
    errors: string[];
383
    ruleId: number;
384
    hasErrors: boolean;
385
    mandatory: boolean;
386
    type: string;
387
}
388

    
389
export class Rule implements IsSerializable {
390
    id: number;
391
    name: string;
392
    description: string;
393
    type: string;
394
    mandatory: boolean;
395
    weight: number;
396
    provider_information: string;
397
    job_type: string;
398
    entity_type: string;
399
    for_cris: boolean;
400
    configuration: CustomProperties;
401
}
402

    
403
export class RuleSet implements Serializable, IsSerializable {
404
    id: number;
405
    name: string;
406
    description: string;
407
    guidelinesAcronym: string;
408
    shortName: string;
409
    visibility: string[];
410
    contentRules: Rule[];
411
    usageRules: Rule[];
412
    contentRulesIds: number[];
413
    usageRulesIds: number[];
414
}
415

    
416
export class StoredJob extends JobForValidation implements IsSerializable {
417
    contentJobStatus: string;
418
    usageJobStatus: string;
419
    started: string;
420
    ended: string;
421
    duration: string;
422
    error: string;
423
    validationType: string;
424
    jobType: string;
425
    guidelinesShortName: string;
426
    validationStatus: string;
427
    recordsTested: number;
428
    id: number;
429
    contentJobScore: number;
430
    usageJobScore: number;
431
    rules: number[];
432
    resultEntries: JobResultEntry[];
433
    filteredScores: { [index: string]: number };
434
}
435

    
436
export class AdvQueryObject implements IsSerializable {
437
    datasource: string;
438
    topic: string;
439
    titles: string[];
440
    subjects: string[];
441
    authors: string[];
442
    dates: Range[];
443
    trust: Range;
444
    page: number;
445
}
446

    
447
export class BrowseEntry implements Comparable<BrowseEntry>, IsSerializable {
448
    value: string;
449
    size: number;
450
}
451

    
452
export class ConditionParams implements IsSerializable {
453
    value: string;
454
    otherValue: string;
455
}
456

    
457
export class Dataset implements IsSerializable {
458
    titles: string[];
459
    collectedFrom: string[];
460
    pids: Pid[];
461
    instances: Instance[];
462
}
463

    
464
export class DatasourcesBroker implements IsSerializable {
465
    datasourcesOfUser: Tuple<BrowseEntry, string>[];
466
    sharedDatasources: Tuple<BrowseEntry, string>[];
467
    datasourcesOfOthers: Tuple<BrowseEntry, string>[];
468
}
469

    
470
export class EventsPage implements IsSerializable {
471
    datasource: string;
472
    topic: string;
473
    currPage: number;
474
    totalPages: number;
475
    total: number;
476
    values: OpenAireEventPayload[];
477
}
478

    
479
export class ExternalReference implements IsSerializable {
480
    url: string;
481
    sitename: string;
482
    type: string;
483
    refidentifier: string;
484
}
485

    
486
export class Instance implements IsSerializable {
487
    url: string;
488
    license: string;
489
    hostedby: string;
490
    instancetype: string;
491
}
492

    
493
export class Journal implements IsSerializable {
494
    name: string;
495
    issn: string;
496
    eissn: string;
497
    lissn: string;
498
}
499

    
500
export class MapConditions implements IsSerializable {
501
    field: string;
502
    fieldType: MapValueType;
503
    operator: ConditionOperator;
504
    listParams: ConditionParams[];
505
}
506

    
507
export class OpenAireEventPayload implements IsSerializable {
508
    publication: Publication;
509
    highlight: Publication;
510
    provenance: Provenance;
511
    trust: number;
512
}
513

    
514
export class OpenaireSubscription implements IsSerializable {
515
    subscriber: string;
516
    frequency: NotificationFrequency;
517
    mode: NotificationMode;
518
    query: AdvQueryObject;
519
}
520

    
521
export class Pid implements IsSerializable {
522
    value: string;
523
    type: string;
524
}
525

    
526
export class Project implements IsSerializable {
527
    code: string;
528
    acronym: string;
529
    title: string;
530
    funder: string;
531
    fundingProgram: string;
532
    jurisdiction: string;
533
}
534

    
535
export class Provenance implements IsSerializable {
536
    repositoryName: string;
537
    url: string;
538
    id: string;
539
}
540

    
541
export class Publication implements IsSerializable {
542
    originalId: string;
543
    titles: string[];
544
    abstracts: string[];
545
    language: string;
546
    subjects: string[];
547
    creators: string[];
548
    publicationdate: string;
549
    publisher: string;
550
    embargoenddate: string;
551
    contributor: string[];
552
    journal: Journal;
553
    collectedFrom: string[];
554
    pids: Pid[];
555
    instances: Instance[];
556
    externalReferences: ExternalReference[];
557
    projects: Project[];
558
    datasets: Dataset[];
559
}
560

    
561
export class Range implements IsSerializable {
562
    min: string;
563
    max: string;
564
}
565

    
566
export class SimpleSubscriptionDesc implements IsSerializable {
567
    id: string;
568
    datasource: string;
569
    topic: string;
570
    count: number;
571
    creationDate: Date;
572
    lastNotificationDate: Date;
573
}
574

    
575
export class Subscription implements IsSerializable {
576
    subscriptionId: string;
577
    subscriber: string;
578
    topic: string;
579
    frequency: NotificationFrequency;
580
    mode: NotificationMode;
581
    creationDate: Date;
582
    lastNotificationDate: Date;
583
    conditions: string;
584
    conditionsAsList: MapConditions[];
585
}
586

    
587
export class LayoutField {
588
    name: string;
589
    xpath: string;
590
    type: string;
591
    indexable: boolean;
592
    result: boolean;
593
    stat: boolean;
594
    tokenizable: boolean;
595
}
596

    
597
export interface IsSerializable {
598
}
599

    
600
export interface Serializable {
601
}
602

    
603
export interface SearchCriteria {
604
}
605

    
606
export class EPR {
607
    epr: string;
608
    address: string;
609
    serviceName: string;
610
    endpointName: string;
611
    parameterNames: string[];
612
}
613

    
614
export class Tuple<K, V> implements IsSerializable {
615
    first: K;
616
    second: V;
617
}
618

    
619
export interface Comparator<T> {
620
}
621

    
622
export interface Comparable<T> {
623
}
624

    
625
export type ConditionOperator = "EXACT" | "MATCH_ANY" | "MATCH_ALL" | "RANGE";
626

    
627
export type MapValueType = "STRING" | "INTEGER" | "FLOAT" | "DATE" | "BOOLEAN" | "LIST_STRING" | "LIST_INTEGER" | "LIST_FLOAT" | "LIST_DATE" | "LIST_BOOLEAN";
628

    
629
export type NotificationFrequency = "never" | "realtime" | "daily" | "weekly" | "monthly";
630

    
631
export type NotificationMode = "MOCK" | "EMAIL";
632

    
633
export type Action = "CREATE" | "DELETE" | "UPDATE" | "MANAGE" | "RELEASE" | "CANCEL";
634

    
635
export type ActionStatus = "DONE" | "ONGOING" | "FAILED" | "WAITING" | "ASSIGNED";
636

    
637

    
638

    
639
/*ADDITIONAL CLASSES -- added by myrto --*/
640

    
641
export class Country {
642
  name: string;
643
  code: string;
644
}
645

    
646
export class Term implements IsSerializable {
647
  englishName: string;
648
  nativeName: string;
649
  encoding: string;
650
  code: string;
651
}
652

    
653
export class Timezone {
654
  name: string;
655
  offset: number;
656
}
657

    
658
export class InterfaceInformation implements IsSerializable {
659

    
660
  identified: boolean;
661
  sets: string[];
662
  adminEmails: string[];
663
}
664

    
665
export class JobsOfUser implements IsSerializable {
666
  totalJobs: number;
667
  totalJobsSuccessful: number;
668
  totalJobsFailed: number;
669
  totalJobsOngoing: number;
670

    
671
  jobs: StoredJob[];
672
}
673

    
674
export class MetricsNumbers implements IsSerializable {
675
  downloads: string[];
676
  pageviews: string;
677
  total_downloads: string;
678
  total_openaire_downloads: string;
679
  total_openaire_views: string;
680
  total_views: string;
681
  views: string[];
682
}
683

    
684
export class MetricsInfo implements IsSerializable {
685
  diagramsBaseURL: string;
686
  metricsNumbers: MetricsNumbers;
687
}
688

    
689
export class Typology {
690
  value: string;
691
  name: string;
692
}
693

    
694
export class AggregationDetails implements IsSerializable {
695
  aggregationStage: string;
696
  date: Date;
697
  numberOfRecords: number;
698
  collectionMode: string;
699
}
700

    
701
export class Aggregations implements IsSerializable {
702
  aggregationHistory: AggregationDetails[];
703
  lastCollection: AggregationDetails[];
704
  lastTransformation: AggregationDetails[];
705
}
706

    
707
export class UserInfo implements  IsSerializable {
708
  sub: string;
709
  role: string[];
710
  name: string;
711
  email: string;
712
}
(8-8/12)