1+ export enum FileSizeUnit {
2+ BYTES = 'B' ,
3+ KILOBYTES = 'KB' ,
4+ MEGABYTES = 'MB' ,
5+ GIGABYTES = 'GB' ,
6+ TERABYTES = 'TB' ,
7+ PETABYTES = 'PB'
8+ }
9+
110export class FileSize {
2- constructor ( readonly value : number , readonly unit : string ) { }
11+ constructor ( readonly value : number , readonly unit : FileSizeUnit ) { }
312
413 toString ( ) : string {
514 return `${ this . value } ${ this . unit } `
@@ -11,14 +20,54 @@ export interface FileAccess {
1120 canDownload : boolean
1221}
1322
23+ export enum FileStatus {
24+ DRAFT = 'draft' ,
25+ RELEASED = 'released'
26+ }
27+
1428export class FileVersion {
15- constructor ( public readonly majorNumber : number , public readonly minorNumber : number ) { }
29+ constructor (
30+ public readonly majorNumber : number ,
31+ public readonly minorNumber : number ,
32+ public readonly status : FileStatus
33+ ) { }
1634
1735 toString ( ) : string {
1836 return `${ this . majorNumber } .${ this . minorNumber } `
1937 }
2038}
2139
40+ export enum FileDateType {
41+ METADATA_RELEASED = 'metadataReleased' ,
42+ PUBLISHED = 'published' ,
43+ DEPOSITED = 'deposited'
44+ }
45+
46+ export interface FileDate {
47+ type : FileDateType
48+ date : string
49+ }
50+
51+ export interface FileEmbargo {
52+ active : boolean
53+ date : string
54+ }
55+
56+ export interface FileTabularData {
57+ variablesCount : number
58+ observationsCount : number
59+ unf : string
60+ }
61+
62+ export enum FileLabelType {
63+ CATEGORY = 'category' ,
64+ TAG = 'tag'
65+ }
66+ export interface FileLabel {
67+ type : FileLabelType
68+ value : string
69+ }
70+
2271export class File {
2372 constructor (
2473 readonly id : string ,
@@ -27,10 +76,15 @@ export class File {
2776 readonly access : FileAccess ,
2877 readonly type : string ,
2978 readonly size : FileSize ,
30- readonly publicationDate : string ,
79+ readonly date : FileDate ,
3180 readonly downloads : number ,
32- readonly checksum : string ,
33- readonly thumbnail ?: string
81+ readonly labels : FileLabel [ ] ,
82+ readonly checksum ?: string ,
83+ readonly thumbnail ?: string ,
84+ readonly directory ?: string ,
85+ readonly embargo ?: FileEmbargo ,
86+ readonly tabularData ?: FileTabularData ,
87+ readonly description ?: string
3488 ) { }
3589
3690 getLink ( ) : string {
0 commit comments