🔀 Merge add and get pin services

navbar
Alexis Feron 5 months ago
parent 61a5acd811
commit 5da162fcb7

@ -8,9 +8,8 @@ describe('AddPinPopupComponent', () => {
beforeEach(async () => { beforeEach(async () => {
await TestBed.configureTestingModule({ await TestBed.configureTestingModule({
imports: [AddPinPopupComponent] imports: [AddPinPopupComponent],
}) }).compileComponents();
.compileComponents();
fixture = TestBed.createComponent(AddPinPopupComponent); fixture = TestBed.createComponent(AddPinPopupComponent);
component = fixture.componentInstance; component = fixture.componentInstance;

@ -13,8 +13,8 @@ import {
distinctUntilChanged, distinctUntilChanged,
switchMap, switchMap,
} from 'rxjs/operators'; } from 'rxjs/operators';
import { AddPinService } from '../../services/add-pin.service';
import { AutocompleteService } from '../../services/auto-complete.service'; import { AutocompleteService } from '../../services/auto-complete.service';
import { PinService } from '../../services/pin.service';
import { DragDropComponent } from '../drag-drop/drag-drop.component'; import { DragDropComponent } from '../drag-drop/drag-drop.component';
@Component({ @Component({
@ -34,7 +34,7 @@ export class AddPinPopupComponent implements OnInit {
constructor( constructor(
private fb: FormBuilder, private fb: FormBuilder,
private autocompleteService: AutocompleteService, private autocompleteService: AutocompleteService,
private addPinService: AddPinService private pinService: PinService
) { ) {
this.form = this.fb.group({ this.form = this.fb.group({
title: new FormControl(''), title: new FormControl(''),
@ -100,7 +100,7 @@ export class AddPinPopupComponent implements OnInit {
files: this.files, files: this.files,
}; };
this.addPinService.addPin(pinData).subscribe(() => { this.pinService.addPin(pinData).subscribe(() => {
this.closePinModal(); this.closePinModal();
}); });
} else { } else {

@ -2,7 +2,7 @@ import { Component, OnInit, ViewContainerRef } from '@angular/core';
import * as L from 'leaflet'; import * as L from 'leaflet';
import 'leaflet/dist/leaflet.css'; import 'leaflet/dist/leaflet.css';
import { Monument } from '../../model/Monument'; import { Monument } from '../../model/Monument';
import { GetPinService } from '../../services/get-pin.service'; import { PinService } from '../../services/pin.service';
import { MonumentMarkerComponent } from '../monument-marker/monument-marker.component'; import { MonumentMarkerComponent } from '../monument-marker/monument-marker.component';
@Component({ @Component({
@ -14,7 +14,7 @@ export class LeafletMapComponent implements OnInit {
constructor( constructor(
private viewContainerRef: ViewContainerRef, private viewContainerRef: ViewContainerRef,
private getPinsService: GetPinService private pinsService: PinService
) {} ) {}
ngOnInit(): void { ngOnInit(): void {
@ -51,7 +51,7 @@ export class LeafletMapComponent implements OnInit {
</svg> </svg>
`); `);
this.getPinsService.getPins().subscribe((monuments: Monument[]) => { this.pinsService.getPins().subscribe((monuments: Monument[]) => {
console.log(monuments); console.log(monuments);
// Add markers // Add markers
monuments.forEach((monument: Monument) => { monuments.forEach((monument: Monument) => {

@ -1,16 +0,0 @@
import { TestBed } from '@angular/core/testing';
import { GetPinService } from './get-pin.service';
describe('GetPinService', () => {
let service: GetPinService;
beforeEach(() => {
TestBed.configureTestingModule({});
service = TestBed.inject(GetPinService);
});
it('should be created', () => {
expect(service).toBeTruthy();
});
});

@ -1,21 +0,0 @@
import { HttpClient, HttpHeaders } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { environment } from '../../environments/environment';
@Injectable({
providedIn: 'root',
})
export class GetPinService {
private apiURL = environment.apiURL;
private token = localStorage.getItem('auth_token');
constructor(private http: HttpClient) {}
getPins(): any {
const url = `${this.apiURL}/pins`;
const headers = new HttpHeaders({
'Content-Type': 'application/json',
Authorization: 'Bearer ' + this.token,
});
return this.http.get<any>(url, { headers });
}
}

@ -1,13 +1,13 @@
import { TestBed } from '@angular/core/testing'; import { TestBed } from '@angular/core/testing';
import { AddPinService } from './add-pin.service'; import { PinService } from './pin.service';
describe('AddPinService', () => { describe('PinService', () => {
let service: AddPinService; let service: PinService;
beforeEach(() => { beforeEach(() => {
TestBed.configureTestingModule({}); TestBed.configureTestingModule({});
service = TestBed.inject(AddPinService); service = TestBed.inject(PinService);
}); });
it('should be created', () => { it('should be created', () => {

@ -7,7 +7,7 @@ import { AutocompleteService } from './auto-complete.service';
@Injectable({ @Injectable({
providedIn: 'root', providedIn: 'root',
}) })
export class AddPinService { export class PinService {
private apiURL = environment.apiURL; private apiURL = environment.apiURL;
private token = localStorage.getItem('auth_token'); private token = localStorage.getItem('auth_token');
constructor( constructor(
@ -15,6 +15,15 @@ export class AddPinService {
private autoCompleteService: AutocompleteService private autoCompleteService: AutocompleteService
) {} ) {}
getPins(): any {
const url = `${this.apiURL}/pins`;
const headers = new HttpHeaders({
'Content-Type': 'application/json',
Authorization: 'Bearer ' + this.token,
});
return this.http.get<any>(url, { headers });
}
addPin(pin: { addPin(pin: {
title: string; title: string;
description: string; description: string;
Loading…
Cancel
Save