Project

General

Profile

1 61423 j.balasis9
import {Injectable} from '@angular/core';
2
import {Repository, RepositorySnippet} from '../domain/typeScriptClasses';
3
import {Subject} from 'rxjs/internal/Subject';
4 58098 stefania.m
5
@Injectable()
6
export class SharedService {
7
8
  private repositoryCopy: Repository;
9
  private repository: Subject<Repository> = new Subject<Repository>();
10
11
  private repositoriesOfUserCopy: RepositorySnippet[];
12
  private repositoriesOfUser: Subject<RepositorySnippet[]> = new Subject<RepositorySnippet[]>();
13
14 58108 stefania.m
15 58098 stefania.m
  get repository$() {
16
    return this.repository.asObservable();
17
  }
18
19
  getRepository() {
20
    return this.repositoryCopy;
21
  }
22
23 61423 j.balasis9
  setRepository(data: Repository) {
24 58098 stefania.m
    this.repository.next(data);
25
    this.repositoryCopy = data;
26
  }
27
28
  get repositoriesOfUser$() {
29
    return this.repositoriesOfUser.asObservable();
30
  }
31
32
  getRepositoriesOfUser() {
33
    return this.repositoriesOfUserCopy;
34
  }
35
36
  setRepositoriesOfUser(data: RepositorySnippet[]) {
37
    // this.repositoriesOfUser.
38
    this.repositoriesOfUser.next(data);
39
    this.repositoriesOfUserCopy = data;
40
  }
41
}