Added graphql support #162-2

This commit is contained in:
2023-02-09 16:36:50 +01:00
parent 6aca981fd1
commit f7c27b77ee
6 changed files with 91 additions and 47 deletions

View File

@@ -1,8 +1,8 @@
import { HttpClient, HttpHeaders } from "@angular/common/http";
import { HttpClient } from "@angular/common/http";
import { Injectable } from "@angular/core";
import { SettingsService } from "../settings/settings.service";
import { Observable } from "rxjs";
import { QueryResult } from "../../models/graphql/result.model";
import { map, Observable } from "rxjs";
import { Variables } from "../../models/graphql/variables.model";
@Injectable({
providedIn: "root"
@@ -15,16 +15,25 @@ export class DataService {
) {
}
query(query: string, variables: object = {}): Observable<QueryResult> {
return this.http.post<QueryResult>(`${this.appsettings.getApiURL()}/api/graphql`,
JSON.stringify({
query, variables
}), {
headers: new HttpHeaders({
"Content-Type": "application/json"
})
}
);
// query(query: string, variables: object = {}): Observable<QueryResult> {
// return this.http.post<QueryResult>(`${this.appsettings.getApiURL()}/api/graphql`,
// JSON.stringify({
// query, variables
// }), {
// headers: new HttpHeaders({
// "Content-Type": "application/json"
// })
// }
// );
// }
public query<T>(query: string, variables?: Variables): Observable<T> {
return this.http
.post<{ data: T }>(`${this.appsettings.getApiURL()}/api/graphql`, {
query: query,
variables: variables
})
.pipe(map((d) => d.data));
}
}