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

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

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

    
24
  setRepository(data:Repository) {
25
    this.repository.next(data);
26
    this.repositoryCopy = data;
27
  }
28

    
29
  get repositoriesOfUser$() {
30
    return this.repositoriesOfUser.asObservable();
31
  }
32

    
33
  getRepositoriesOfUser() {
34
    return this.repositoriesOfUserCopy;
35
  }
36

    
37
  setRepositoriesOfUser(data: RepositorySnippet[]) {
38
    // this.repositoriesOfUser.
39
    this.repositoriesOfUser.next(data);
40
    this.repositoriesOfUserCopy = data;
41
  }
42
}
(10-10/13)