import { HttpClient, HttpHeaders } from '@angular/common/http'; import { Injectable } from '@angular/core'; import { DepositConfigurationModel } from '@app/core/model/deposit/deposit-configuration'; import { DepositRequest } from '@app/core/model/deposit/deposit-request'; import { Observable } from 'rxjs'; import { ConfigurationService } from '../configuration/configuration.service'; import { BaseHttpService } from '../http/base-http.service'; @Injectable() export class DepositRepositoriesService { private actionUrl: string; private headers = new HttpHeaders(); constructor(private http: BaseHttpService, private httpClient: HttpClient, private configurationService: ConfigurationService) { this.actionUrl = configurationService.server + 'deposit/'; } getAvailableRepos(): Observable { return this.http.get(this.actionUrl + 'repos', { headers: this.headers }); } getAccessToken(repository: string, code: string): Observable { return this.http.get(this.actionUrl + 'getAccessToken?repository=' + repository + '&code=' + code, { headers: this.headers }); } createDoi(repositoryId: string, dmpId: string, accessToken: string): Observable { const depositRequest = new DepositRequest(); depositRequest.repositoryId = repositoryId; depositRequest.dmpId = dmpId; depositRequest.accessToken = accessToken; return this.http.post(this.actionUrl + 'createDoi', depositRequest, { headers: this.headers }); } }