Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 9223bc22

Přidáno uživatelem Jakub Danek před více než 5 roky(ů)

re #37 protect getUser and getUsers processes on server-side

Related refactoring - moving relevant logic to UserManager interface
and to /users API endpoint.

Zobrazit rozdíly:

webapp/src/app/services/api/user.service.ts
3 3

  
4 4
import {Calendar, CalendarEdit, PostCalendar} from '../../models/calendar.model';
5 5
import {BasicService} from './basic.service';
6
import {catchError} from 'rxjs/operators';
6
import {catchError, flatMap} from 'rxjs/operators';
7 7
import {Languages, RequestStatus, RequestTypes} from '../../enums/common.enum';
8 8
import {NotificationSettings, UserSettings} from '../../models/settings.model';
9 9
import {UserRequest} from '../../models/requests.model';
10 10
import {MatSnackBar} from '@angular/material';
11 11
import {DateFormatterService} from '../util/date-formatter.service';
12 12
import {TranslateService} from '@ngx-translate/core';
13
import {ProfileService} from "../util/profile.service";
13 14

  
14 15
@Injectable({
15 16
  providedIn: 'root'
16 17
})
17 18
export class UserService extends BasicService { // dost podobny k usersService, mozna zmenit v rest api
18
  private _userUrl = this.baseUrl + '/api/users/';
19
  private _userUrl = this.baseUrl + '/api/user/';
19 20

  
20
  constructor(protected http: HttpClient, protected snackBar: MatSnackBar, protected translateService: TranslateService, private dateFormater: DateFormatterService) {
21
  constructor(protected http: HttpClient, protected snackBar: MatSnackBar, protected translateService: TranslateService, protected profileService: ProfileService, private dateFormater: DateFormatterService) {
21 22
    super(http, snackBar, translateService);
22 23
  }
23 24

  
......
27 28
   * @param from returns days from this date forward
28 29
   */
29 30
  getLoggedUserCalendar(from: Date) {
30
    return this.makeGetCalendarApiCall('me', from, null, null, null);
31
    return this.profileService.getLoggedUser(true).pipe(flatMap((profile) => this.makeGetCalendarApiCall(profile.id.toString(), from, null, null, null)));
31 32
  }
32 33

  
33 34
  /**
......
39 40
   * @param status filter by status
40 41
   */
41 42
  getLoggedUserCalendarWithOptions(from: Date, to: Date, language: Languages, status: RequestStatus) {
42
    return this.makeGetCalendarApiCall('me', from, to, language, status);
43
    return this.profileService.getLoggedUser(true).pipe(flatMap((profile) => this.makeGetCalendarApiCall(profile.id.toString(), from, to, language, status)));
43 44
  }
44 45

  
45 46
  /**

Také k dispozici: Unified diff