Moved member service with the other services. Preparing for library functionality.

This commit is contained in:
Joseph Milazzo 2020-12-17 16:15:34 -06:00
parent 8f07ce9b6d
commit 2c0921acc6
9 changed files with 54 additions and 15 deletions

View file

@ -44,13 +44,9 @@ export class AccountService {
if (model?.isAdmin) { if (model?.isAdmin) {
model.isAdmin = false; model.isAdmin = false;
} }
return this.httpClient.post<User>(this.baseUrl + 'account/register', model).pipe( return this.httpClient.post<User>(this.baseUrl + 'account/register', model).pipe(
map((user: User) => { map((user: User) => {
if (user && login) {
//this.setCurrentUser(user); // Register should not act as if a user has logged in
}
return user; return user;
}) })
); );

View file

@ -25,4 +25,8 @@ export class LibraryService {
return this.httpClient.get<Library[]>(this.baseUrl + 'library'); return this.httpClient.get<Library[]>(this.baseUrl + 'library');
} }
getLibrariesForMember(username: string) {
return this.httpClient.get<Library[]>(this.baseUrl + 'library/' + username);
}
} }

View file

@ -1,7 +1,7 @@
import { HttpClient } from '@angular/common/http'; import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { environment } from 'src/environments/environment'; import { environment } from 'src/environments/environment';
import { Member } from './_models/member'; import { Member } from '../_models/member';
@Injectable({ @Injectable({
providedIn: 'root' providedIn: 'root'

View file

@ -1 +1,22 @@
<p>library-access-modal works!</p>
<div class="modal-header">
<h4 class="modal-title" id="modal-basic-title">Library Access</h4>
<button type="button" class="close" aria-label="Close" (click)="close()">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<div class="list-group">
<li class="list-group-item">
<div class="form-check">
<input id="library1" type="checkbox" aria-label="Library 1" class="form-check-input">
<label for="library1" class="form-check-label">Library 1</label>
</div>
</li>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-light" (click)="reset()">Cancel</button>
<button type="button" class="btn btn-secondary" (click)="close()">Cancel</button>
<button type="button" class="btn btn-primary" (click)="save()">Save</button>
</div>

View file

@ -1,5 +1,9 @@
import { Component, Input, OnInit } from '@angular/core'; import { Component, Input, OnInit } from '@angular/core';
import { FormBuilder } from '@angular/forms';
import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';
import { Library } from 'src/app/_models/library';
import { Member } from 'src/app/_models/member'; import { Member } from 'src/app/_models/member';
import { LibraryService } from 'src/app/_services/library.service';
@Component({ @Component({
selector: 'app-library-access-modal', selector: 'app-library-access-modal',
@ -9,10 +13,26 @@ import { Member } from 'src/app/_models/member';
export class LibraryAccessModalComponent implements OnInit { export class LibraryAccessModalComponent implements OnInit {
@Input() member: Member | undefined; @Input() member: Member | undefined;
libraries: Library[] = [];
constructor() { } constructor(public modal: NgbActiveModal, private libraryService: LibraryService, private fb: FormBuilder) { }
ngOnInit(): void { ngOnInit(): void {
this.libraryService.getLibrariesForMember(this.member?.username + '').subscribe(libs => {
this.libraries = libs;
});
}
close() {
this.modal.close();
}
save() {
}
reset() {
} }
} }

View file

@ -1,7 +1,7 @@
import { Component, OnInit, ViewChild } from '@angular/core'; import { Component, OnInit, ViewChild } from '@angular/core';
import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
import { take } from 'rxjs/operators'; import { take } from 'rxjs/operators';
import { MemberService } from 'src/app/member.service'; import { MemberService } from 'src/app/_services/member.service';
import { Member } from 'src/app/_models/member'; import { Member } from 'src/app/_models/member';
import { User } from 'src/app/_models/user'; import { User } from 'src/app/_models/user';
import { AccountService } from 'src/app/_services/account.service'; import { AccountService } from 'src/app/_services/account.service';

View file

@ -1,10 +1,8 @@
import { Component, OnInit } from '@angular/core'; import { Component, OnInit } from '@angular/core';
import { FormControl, FormGroup, Validators } from '@angular/forms'; import { FormControl, FormGroup, Validators } from '@angular/forms';
import { Router } from '@angular/router'; import { Router } from '@angular/router';
import { Observable } from 'rxjs';
import { take } from 'rxjs/operators'; import { take } from 'rxjs/operators';
import { MemberService } from '../member.service'; import { MemberService } from '../_services/member.service';
import { User } from '../_models/user';
import { AccountService } from '../_services/account.service'; import { AccountService } from '../_services/account.service';
@Component({ @Component({

View file

@ -1,10 +1,10 @@
import { Component, OnInit } from '@angular/core'; import { Component, OnInit } from '@angular/core';
import { take } from 'rxjs/operators'; import { take } from 'rxjs/operators';
import { MemberService } from '../member.service';
import { Library } from '../_models/library'; import { Library } from '../_models/library';
import { User } from '../_models/user'; import { User } from '../_models/user';
import { AccountService } from '../_services/account.service'; import { AccountService } from '../_services/account.service';
import { LibraryService } from '../_services/library.service'; import { LibraryService } from '../_services/library.service';
import { MemberService } from '../_services/member.service';
@Component({ @Component({
selector: 'app-library', selector: 'app-library',

View file

@ -1,6 +1,6 @@
import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
import { FormGroup, FormControl, Validators } from '@angular/forms'; import { FormGroup, FormControl, Validators } from '@angular/forms';
import { MemberService } from 'src/app/member.service'; import { MemberService } from 'src/app/_services/member.service';
import { Member } from 'src/app/_models/member'; import { Member } from 'src/app/_models/member';
import { AccountService } from 'src/app/_services/account.service'; import { AccountService } from 'src/app/_services/account.service';
@ -23,7 +23,7 @@ export class RegisterMemberComponent implements OnInit {
constructor(private accountService: AccountService, private memberService: MemberService) { constructor(private accountService: AccountService, private memberService: MemberService) {
this.memberService.getMembers().subscribe(members => { this.memberService.getMembers().subscribe(members => {
this.adminExists = members.filter(m => m.isAdmin).length > 0; this.adminExists = members.filter((m: Member) => m.isAdmin).length > 0;
if (!this.adminExists) { if (!this.adminExists) {
this.registerForm.get('isAdmin')?.setValue(true); this.registerForm.get('isAdmin')?.setValue(true);
this.model.isAdmin = true; this.model.isAdmin = true;