Project

General

Profile

1
import {Injectable} from '@angular/core';
2
import {Repository, RepositorySnippet} from '../domain/typeScriptClasses';
3
import {Subject} from 'rxjs/internal/Subject';
4

    
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

    
15
  get repository$() {
16
    return this.repository.asObservable();
17
  }
18

    
19
  getRepository() {
20
    return this.repositoryCopy;
21
  }
22

    
23
  setRepository(data: Repository) {
24
    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
}
(10-10/13)