Skip to content
Snippets Groups Projects
datasets.component.ts 2.53 KiB
Newer Older
cazenave's avatar
cazenave committed
import { Component, OnInit } from '@angular/core';
Administrator's avatar
Administrator committed
import { HttpClient, HttpHeaders } from '@angular/common/http';
import { AppConfiguration } from '../AppConfiguration';
import { FileSaverService } from 'ngx-filesaver';
Administrator's avatar
Administrator committed
import { environment } from 'src/environments/environment.prod';
Administrator's avatar
Administrator committed

cazenave's avatar
cazenave committed

@Component({
  selector: 'app-datasets',
  templateUrl: './datasets.component.html',
  styleUrls: ['./datasets.component.scss']
})
cazenave's avatar
cazenave committed
export class DatasetsComponent implements OnInit {
Administrator's avatar
Administrator committed
  dataresult: any;
Administrator's avatar
Administrator committed
  itemsdatasets: any;
cazenave's avatar
cazenave committed

Administrator's avatar
Administrator committed
  constructor(
    private appConfig: AppConfiguration,
    private http: HttpClient,
    private _FileSaverService: FileSaverService,
  ) { }
cazenave's avatar
cazenave committed

  ngOnInit() {
Administrator's avatar
Administrator committed

cazenave's avatar
cazenave committed
  }

Administrator's avatar
Administrator committed
  listdatasets() {
Administrator's avatar
Administrator committed
    var myHeaders = new Headers();
        myHeaders.append("Content-Type", "Application/json");
    var myInit = { method: 'GET', headers: myHeaders};
Administrator's avatar
Administrator committed
    var myRequest = new Request('https://data.inra.fr/api/search?q=*&type=dataset&start=60000&show_entity_ids=true',myInit);
Administrator's avatar
Administrator committed

          fetch(myRequest, myInit)
          .then(response => {          
              response.json()
                  .then(data => {
Administrator's avatar
Administrator committed
                    this.dataresult =JSON.stringify(data['data']['total_count']);                    
Administrator's avatar
Administrator committed
                    this.itemsdatasets = data['data']['items'];                         
                    for (var i = 0; i < this.itemsdatasets.length; i++) {
                     this.createdataset((JSON.stringify(data['data']['items'][i]['entity_id'])));
                    }
Administrator's avatar
Administrator committed
                  });            
          });    
Administrator's avatar
Administrator committed
          return null; 
Administrator's avatar
Administrator committed
  }  
Administrator's avatar
Administrator committed
  createdataset(id: String) {
    console.log(id);
    let data: string;

data ='\
@prefix dcat: <http://www.w3.org/ns/dcat#>.\n\
@prefix dct: <http://purl.org/dc/terms/>.\n\
@prefix language: <http://id.loc.gov/vocabulary/iso639-1/>.\n\
@prefix s: <http://sandbox9.cines.fr/>.\n\
@prefix c: <http://sandbox9.cines.fr/catalog/>.\n\
\n\
s:new\n\
    a dcat:Dataset, dcat:Resource;\n\
    dct:description "descr";\n\
    dct:hasVersion "1.0";\n\
    dct:isPartOf c:186e50ee-339d-4bae-818f-969977f6e57a;\n\
    dct:language language:en;\n\
    dct:license <http://rdflicense.appspot.com/rdflicense/cc-by-nc-nd3.0>;\n\
    dct:title "data1";\n\
    dcat:keyword "toto".\n'

    const httpOptions = {
      headers: new HttpHeaders({
        'Accept':  'text/turtle',
        'Content-Type':  'text/turtle',
        'Authorization': 'Bearer '+ environment.token
      })
    };

    return this.http.post(this.appConfig.fdpurl+"/dataset", data, httpOptions ).subscribe( (r)=>{console.log('got r', r)}) ;

  }
cazenave's avatar
cazenave committed
}