import { Injectable } from '@angular/core'; import { Project } from '../models/project'; import { Node } from '../../cartography/shared/models/node'; import { Observable } from 'rxjs/Observable'; import 'rxjs/add/operator/map'; import { Link } from "../../cartography/shared/models/link"; import { Server } from "../models/server"; import { HttpServer } from "./http-server.service"; import {Drawing} from "../../cartography/shared/models/drawing"; @Injectable() export class ProjectService { constructor(private httpServer: HttpServer) { } get(server: Server, project_id: string) { return this.httpServer .get(server, `/projects/${project_id}`); } open(server: Server, project_id: string) { return this.httpServer .post(server, `/projects/${project_id}/open`, {}); } list(server: Server) { return this.httpServer .get(server, '/projects'); } nodes(server: Server, project_id: string) { return this.httpServer .get(server, `/projects/${project_id}/nodes`); } links(server: Server, project_id: string) { return this.httpServer .get(server, `/projects/${project_id}/links`); } drawings(server: Server, project_id: string) { return this.httpServer .get(server, `/projects/${project_id}/drawings`); } delete(server: Server, project_id: string): Observable { return this.httpServer .delete(server, `/projects/${project_id}`); } notificationsPath(server: Server, project_id: string): string { return `ws://${server.ip}:${server.port}/v2/projects/${project_id}/notifications/ws`; } }