allfree-angular-frontend / src / app / _services / article-service / articles.service.ts
articles.service.ts
Raw
import { HttpClient, HttpParams,HttpClientModule } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { Observable } from 'rxjs';
import { APIResponse, Article } from '../../models/models';
import { TokenStorageService } from '../jwt-service/token-storage.service';

const API_BASE_URL = 'http://localhost:8081/api/v1/';
const API_MESSAGE_URL = 'http://localhost:8081/api/v1/message/';
//http://localhost:8081/api/v1/articles/update/24

@Injectable({
  providedIn: 'root',
})
export class ArticlesService {
  constructor(
    private http: HttpClient,
    private httpClient: HttpClientModule,
    private tokenStorage: TokenStorageService
  ) {}

  // getUserById(id: number): Observable<User> {
  //   return this.http.get<User>(API_BASE_URL + 'users/' + id);
  // getAllUsers(): Observable<APIResponse<User>> {
  //   return this.http.get<APIResponse<User>>(API_BASE_URL + 'users');
  // }
  // }

  getArticlesByStatus(status: string): Observable<Array<Article>> {
    console.log('status', status);
    let response = this.http.get<Array<Article>>(API_BASE_URL + 'articles/status/'+status);
    return response;
  }
  updateArticleStatus(articleId:number, status:string):Observable<string>{
   return this.http.put<string>(API_BASE_URL + 'articles/'+articleId+'/updateStatus/'+status,null);
  }
  getArticleById(articleId:number):Observable<Article>{
    return this.http.get<Article>(API_BASE_URL + 'articles/' + articleId);
  }
  updateArticle(article: Article): boolean {
    this.http.put(API_BASE_URL + 'articles/update/' + article.id, article);
    return true;
  }
  updateArticlePhotoUrlByID(articleId:number, url:string): void {
     this.http.put(API_BASE_URL + 'articles/updateUrl/' + articleId, {
      'url':url
    });
    return;
  }

  getMessagesForArticle(articleId: number):Observable<any> {
    return this.http.get(API_MESSAGE_URL + 'article/' + articleId);
  }

  acceptAll() {
    return this.http.get<String>(API_BASE_URL +'articles/acceptAll');
  }

  declineAll() {
    return this.http.get<String>(API_BASE_URL +'articles/declineAll');
  }
}