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
  get repository$() {
15
    return this.repository.asObservable();
16
  }
17

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

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

    
27
  get repositoriesOfUser$() {
28
    return this.repositoriesOfUser.asObservable();
29
  }
30

    
31
  getRepositoriesOfUser() {
32
    return this.repositoriesOfUserCopy;
33
  }
34

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