aboutsummaryrefslogtreecommitdiff
path: root/src/DevHive.Angular/src/app/services
diff options
context:
space:
mode:
Diffstat (limited to 'src/DevHive.Angular/src/app/services')
-rw-r--r--src/DevHive.Angular/src/app/services/cloudinary.service.ts17
-rw-r--r--src/DevHive.Angular/src/app/services/comment.service.ts83
-rw-r--r--src/DevHive.Angular/src/app/services/feed.service.ts50
-rw-r--r--src/DevHive.Angular/src/app/services/language.service.ts113
-rw-r--r--src/DevHive.Angular/src/app/services/post.service.ts86
-rw-r--r--src/DevHive.Angular/src/app/services/technology.service.ts113
-rw-r--r--src/DevHive.Angular/src/app/services/token.service.ts47
-rw-r--r--src/DevHive.Angular/src/app/services/user.service.ts179
8 files changed, 0 insertions, 688 deletions
diff --git a/src/DevHive.Angular/src/app/services/cloudinary.service.ts b/src/DevHive.Angular/src/app/services/cloudinary.service.ts
deleted file mode 100644
index 999e498..0000000
--- a/src/DevHive.Angular/src/app/services/cloudinary.service.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-import {HttpClient} from '@angular/common/http';
-import {Injectable} from '@angular/core';
-import {Observable} from 'rxjs';
-
-@Injectable({
- providedIn: 'root'
-})
-export class CloudinaryService {
- constructor(private _http: HttpClient)
- { }
-
- getFileRequest(fileLink: string): Observable<Blob> {
- return this._http.get(fileLink, {
- responseType: 'blob'
- });
- }
-}
diff --git a/src/DevHive.Angular/src/app/services/comment.service.ts b/src/DevHive.Angular/src/app/services/comment.service.ts
deleted file mode 100644
index c9dbf35..0000000
--- a/src/DevHive.Angular/src/app/services/comment.service.ts
+++ /dev/null
@@ -1,83 +0,0 @@
-import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';
-import { Injectable } from '@angular/core';
-import { Guid } from 'guid-typescript';
-import { Observable } from 'rxjs';
-import { Comment } from 'src/models/comment';
-import { AppConstants } from '../app-constants.module';
-import { TokenService } from './token.service';
-
-@Injectable({
- providedIn: 'root'
-})
-export class CommentService {
- constructor(private _http: HttpClient, private _tokenService: TokenService)
- { }
-
- getDefaultComment(): Comment {
- return new Comment(Guid.createEmpty(), Guid.createEmpty(), 'Gosho', 'Trapov', 'gosho_trapov', 'Your opinion on my idea?', new Date());
- }
-
- /* Requests from session storage */
-
- createCommentWithSessionStorageRequest(postId: Guid, commentMessage: string): Observable<object> {
- const userId = this._tokenService.getUserIdFromSessionStorageToken();
- const token = this._tokenService.getTokenFromSessionStorage();
-
- return this.createCommentRequest(userId, token, postId, commentMessage);
- }
-
- putCommentWithSessionStorageRequest(commentId: Guid, postId: Guid, newMessage: string): Observable<object> {
- const userId = this._tokenService.getUserIdFromSessionStorageToken();
- const token = this._tokenService.getTokenFromSessionStorage();
-
- return this.putCommentRequest(userId, token, commentId, postId, newMessage);
- }
-
- deleteCommentWithSessionStorage(commentId: Guid): Observable<object> {
- const token = this._tokenService.getTokenFromSessionStorage();
-
- return this.deleteCommentRequest(commentId, token);
- }
-
- /* Comment requests */
-
- createCommentRequest(userId: Guid, authToken: string, postId: Guid, commentMessage: string): Observable<object> {
- const body = {
- postId: postId.toString(),
- message: commentMessage
- };
- const options = {
- params: new HttpParams().set('UserId', userId.toString()),
- headers: new HttpHeaders().set('Authorization', 'Bearer ' + authToken)
- };
- return this._http.post(AppConstants.API_COMMENT_URL, body, options);
- }
-
- getCommentRequest(id: Guid): Observable<object> {
- const options = {
- params: new HttpParams().set('Id', id.toString())
- };
- return this._http.get(AppConstants.API_COMMENT_URL, options);
- }
-
- putCommentRequest(userId: Guid, authToken: string, commentId: Guid, postId: Guid, newMessage: string): Observable<object> {
- const body = {
- commentId: commentId.toString(),
- postId: postId.toString(),
- newMessage: newMessage
- };
- const options = {
- params: new HttpParams().set('UserId', userId.toString()),
- headers: new HttpHeaders().set('Authorization', 'Bearer ' + authToken)
- };
- return this._http.put(AppConstants.API_COMMENT_URL, body, options);
- }
-
- deleteCommentRequest(commentId: Guid, authToken: string): Observable<object> {
- const options = {
- params: new HttpParams().set('Id', commentId.toString()),
- headers: new HttpHeaders().set('Authorization', 'Bearer ' + authToken)
- };
- return this._http.delete(AppConstants.API_COMMENT_URL, options);
- }
-}
diff --git a/src/DevHive.Angular/src/app/services/feed.service.ts b/src/DevHive.Angular/src/app/services/feed.service.ts
deleted file mode 100644
index d160f6d..0000000
--- a/src/DevHive.Angular/src/app/services/feed.service.ts
+++ /dev/null
@@ -1,50 +0,0 @@
-import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';
-import { Injectable } from '@angular/core';
-import { Guid } from 'guid-typescript';
-import { Observable } from 'rxjs';
-import { AppConstants } from '../app-constants.module';
-import { TokenService } from './token.service';
-
-@Injectable({
- providedIn: 'root'
-})
-export class FeedService {
- constructor(private _http: HttpClient, private _tokenService: TokenService)
- { }
-
- /* Requests from session storage */
-
- getUserFeedFromSessionStorageRequest(pageNumber: number, firstTimeIssued: string, pageSize: number): Observable<object> {
- const token = this._tokenService.getTokenFromSessionStorage();
- const userId = this._tokenService.getUserIdFromSessionStorageToken();
-
- return this.getUserFeedRequest(userId, token, pageNumber, firstTimeIssued, pageSize);
- }
-
- /* Feed requests */
-
- getUserFeedRequest(userId: Guid, authToken: string, pageNumber: number, firstTimeIssued: string, pageSize: number): Observable<object> {
- const body = {
- pageNumber: pageNumber,
- firstPageTimeIssued: firstTimeIssued,
- pageSize: pageSize
- };
- const options = {
- params: new HttpParams().set('UserId', userId.toString()),
- headers: new HttpHeaders().set('Authorization', 'Bearer ' + authToken)
- };
- return this._http.post(AppConstants.API_FEED_URL + '/GetPosts', body, options);
- }
-
- getUserPostsRequest(userName: string, pageNumber: number, firstTimeIssued: string, pageSize: number): Observable<object> {
- const body = {
- pageNumber: pageNumber,
- firstPageTimeIssued: firstTimeIssued,
- pageSize: pageSize
- };
- const options = {
- params: new HttpParams().set('UserName', userName)
- };
- return this._http.post(AppConstants.API_FEED_URL + '/GetUserPosts', body, options);
- }
-}
diff --git a/src/DevHive.Angular/src/app/services/language.service.ts b/src/DevHive.Angular/src/app/services/language.service.ts
deleted file mode 100644
index 15e241f..0000000
--- a/src/DevHive.Angular/src/app/services/language.service.ts
+++ /dev/null
@@ -1,113 +0,0 @@
-import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';
-import { Injectable } from '@angular/core';
-import { Guid } from 'guid-typescript';
-import { Observable } from 'rxjs';
-import { Language } from 'src/models/language';
-import { AppConstants } from '../app-constants.module';
-import { TokenService } from './token.service';
-
-@Injectable({
- providedIn: 'root'
-})
-export class LanguageService {
- constructor(private _http: HttpClient, private _tokenService: TokenService)
- { }
-
- /* Requests from session storage */
-
- createLanguageWithSessionStorageRequest(name: string): Observable<object> {
- const token = this._tokenService.getTokenFromSessionStorage();
-
- return this.createLanguageRequest(name, token);
- }
-
- getAllLanguagesWithSessionStorageRequest(): Observable<object> {
- const token = this._tokenService.getTokenFromSessionStorage();
-
- return this.getAllLanguagesRequest(token);
- }
-
- putLanguageWithSessionStorageRequest(langId: Guid, newName: string): Observable<object> {
- const token = this._tokenService.getTokenFromSessionStorage();
-
- return this.putLanguageRequest(token, langId, newName);
- }
-
- deleteLanguageWithSessionStorageRequest(langId: Guid): Observable<object> {
- const token = this._tokenService.getTokenFromSessionStorage();
-
- return this.deleteLanguageRequest(token, langId);
- }
-
- /* Language requests */
-
- createLanguageRequest(name: string, authToken: string): Observable<object> {
- const body = {
- name: name
- };
- const options = {
- headers: new HttpHeaders().set('Authorization', 'Bearer ' + authToken)
- };
- return this._http.post(AppConstants.API_LANGUAGE_URL, body, options);
- }
-
- getLanguageRequest(langId: Guid): Observable<object> {
- const options = {
- params: new HttpParams().set('Id', langId.toString()),
- };
- return this._http.get(AppConstants.API_LANGUAGE_URL, options);
- }
-
- getAllLanguagesRequest(authToken: string): Observable<object> {
- const options = {
- headers: new HttpHeaders().set('Authorization', 'Bearer ' + authToken)
- };
- return this._http.get(AppConstants.API_LANGUAGE_URL + '/GetLanguages', options);
- }
-
- getFullLanguagesFromIncomplete(givenLanguages: Language[]): Promise<Language[]> {
- if (givenLanguages.length === 0) {
- return new Promise(resolve => resolve(givenLanguages));
- }
-
- // This accepts language array with incomplete languages, meaning
- // languages that only have an id, but no name
- return new Promise(resolve => {
- const lastGuid = givenLanguages[givenLanguages.length - 1].id;
-
- // For each language, request his name and assign it
- for (const lang of givenLanguages) {
- this.getLanguageRequest(lang.id).subscribe(
- (result: object) => {
- // this only assigns the "name" property to the language,
- // because only the name is returned from the request
- Object.assign(lang, result);
-
- if (lastGuid === lang.id) {
- resolve(givenLanguages);
- }
- }
- );
- }
- });
- }
-
- putLanguageRequest(authToken: string, langId: Guid, newName: string): Observable<object> {
- const body = {
- name: newName
- };
- const options = {
- params: new HttpParams().set('Id', langId.toString()),
- headers: new HttpHeaders().set('Authorization', 'Bearer ' + authToken)
- };
- return this._http.put(AppConstants.API_LANGUAGE_URL, body, options);
- }
-
- deleteLanguageRequest(authToken: string, langId: Guid): Observable<object> {
- const options = {
- params: new HttpParams().set('Id', langId.toString()),
- headers: new HttpHeaders().set('Authorization', 'Bearer ' + authToken)
- };
- return this._http.delete(AppConstants.API_LANGUAGE_URL, options);
- }
-}
diff --git a/src/DevHive.Angular/src/app/services/post.service.ts b/src/DevHive.Angular/src/app/services/post.service.ts
deleted file mode 100644
index 7b2a539..0000000
--- a/src/DevHive.Angular/src/app/services/post.service.ts
+++ /dev/null
@@ -1,86 +0,0 @@
-import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';
-import { Injectable } from '@angular/core';
-import * as FormData from 'form-data';
-import { Guid } from 'guid-typescript';
-import { Observable } from 'rxjs';
-import { Post } from 'src/models/post';
-import { AppConstants } from '../app-constants.module';
-import { TokenService } from './token.service';
-
-@Injectable({
- providedIn: 'root'
-})
-export class PostService {
- constructor(private _http: HttpClient, private _tokenService: TokenService)
- { }
-
- getDefaultPost(): Post {
- return new Post(Guid.createEmpty(), 'Gosho', 'Trapov', 'gosho_trapov', 'Your opinion on my idea?', new Date(), [], []);
- }
-
- /* Requests from session storage */
-
- createPostWithSessionStorageRequest(postMessage: string, files: File[]): Observable<object> {
- const userId = this._tokenService.getUserIdFromSessionStorageToken();
- const token = this._tokenService.getTokenFromSessionStorage();
-
- return this.createPostRequest(userId, token, postMessage, files);
- }
-
- putPostWithSessionStorageRequest(postId: Guid, newMessage: string, posts: File[]): Observable<object> {
- const userId = this._tokenService.getUserIdFromSessionStorageToken();
- const token = this._tokenService.getTokenFromSessionStorage();
-
- return this.putPostRequest(userId, token, postId, newMessage, posts);
- }
-
- deletePostWithSessionStorage(postId: Guid): Observable<object> {
- const token = this._tokenService.getTokenFromSessionStorage();
-
- return this.deletePostRequest(postId, token);
- }
-
- /* Post requests */
-
- createPostRequest(userId: Guid, authToken: string, postMessage: string, files: File[]): Observable<object> {
- const form = new FormData();
- form.append('message', postMessage);
- for (const file of files) {
- form.append('files', file, file.name);
- }
- const options = {
- params: new HttpParams().set('UserId', userId.toString()),
- headers: new HttpHeaders().set('Authorization', 'Bearer ' + authToken)
- };
- return this._http.post(AppConstants.API_POST_URL, form, options);
- }
-
- getPostRequest(id: Guid): Observable<object> {
- const options = {
- params: new HttpParams().set('Id', id.toString())
- };
- return this._http.get(AppConstants.API_POST_URL, options);
- }
-
- putPostRequest(userId: Guid, authToken: string, postId: Guid, newMessage: string, files: File[]): Observable<object> {
- const form = new FormData();
- form.append('postId', postId);
- form.append('newMessage', newMessage);
- for (const file of files) {
- form.append('files', file, file.name);
- }
- const options = {
- params: new HttpParams().set('UserId', userId.toString()),
- headers: new HttpHeaders().set('Authorization', 'Bearer ' + authToken)
- };
- return this._http.put(AppConstants.API_POST_URL, form, options);
- }
-
- deletePostRequest(postId: Guid, authToken: string): Observable<object> {
- const options = {
- params: new HttpParams().set('Id', postId.toString()),
- headers: new HttpHeaders().set('Authorization', 'Bearer ' + authToken)
- };
- return this._http.delete(AppConstants.API_POST_URL, options);
- }
-}
diff --git a/src/DevHive.Angular/src/app/services/technology.service.ts b/src/DevHive.Angular/src/app/services/technology.service.ts
deleted file mode 100644
index dbdc039..0000000
--- a/src/DevHive.Angular/src/app/services/technology.service.ts
+++ /dev/null
@@ -1,113 +0,0 @@
-import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';
-import { Injectable } from '@angular/core';
-import { Guid } from 'guid-typescript';
-import { Observable } from 'rxjs';
-import { Technology } from 'src/models/technology';
-import { AppConstants } from '../app-constants.module';
-import { TokenService } from './token.service';
-
-@Injectable({
- providedIn: 'root'
-})
-export class TechnologyService {
- constructor(private _http: HttpClient, private _tokenService: TokenService)
- { }
-
- /* Requests from session storage */
-
- createTechnologyWithSessionStorageRequest(name: string): Observable<object> {
- const token = this._tokenService.getTokenFromSessionStorage();
-
- return this.createtTechnologyRequest(name, token);
- }
-
- getAllTechnologiesWithSessionStorageRequest(): Observable<object> {
- const token = this._tokenService.getTokenFromSessionStorage();
-
- return this.getAllTechnologiesRequest(token);
- }
-
- putTechnologyWithSessionStorageRequest(langId: Guid, newName: string): Observable<object> {
- const token = this._tokenService.getTokenFromSessionStorage();
-
- return this.putTechnologyRequest(token, langId, newName);
- }
-
- deleteTechnologyWithSessionStorageRequest(langId: Guid): Observable<object> {
- const token = this._tokenService.getTokenFromSessionStorage();
-
- return this.deleteTechnologyRequest(token, langId);
- }
-
- /* Technology requests */
-
- createtTechnologyRequest(name: string, authToken: string): Observable<object> {
- const body = {
- name: name
- };
- const options = {
- headers: new HttpHeaders().set('Authorization', 'Bearer ' + authToken)
- };
- return this._http.post(AppConstants.API_TECHNOLOGY_URL, body, options);
- }
-
- getTechnologyRequest(techId: Guid): Observable<object> {
- const options = {
- params: new HttpParams().set('Id', techId.toString())
- };
- return this._http.get(AppConstants.API_TECHNOLOGY_URL, options);
- }
-
- getAllTechnologiesRequest(authToken: string): Observable<object> {
- const options = {
- headers: new HttpHeaders().set('Authorization', 'Bearer ' + authToken)
- };
- return this._http.get(AppConstants.API_TECHNOLOGY_URL + '/GetTechnologies', options);
- }
-
- getFullTechnologiesFromIncomplete(givenTechnologies: Technology[]): Promise<Technology[]> {
- if (givenTechnologies.length === 0) {
- return new Promise(resolve => resolve(givenTechnologies));
- }
-
- // This accepts language array with incomplete languages, meaning
- // languages that only have an id, but no name
- return new Promise(resolve => {
- const lastGuid = givenTechnologies[givenTechnologies.length - 1].id;
-
- // For each language, request his name and assign it
- for (const tech of givenTechnologies) {
- this.getTechnologyRequest(tech.id).subscribe(
- (result: object) => {
- // this only assigns the "name" property to the language,
- // because only the name is returned from the request
- Object.assign(tech, result);
-
- if (lastGuid === tech.id) {
- resolve(givenTechnologies);
- }
- }
- );
- }
- });
- }
-
- putTechnologyRequest(authToken: string, langId: Guid, newName: string): Observable<object> {
- const body = {
- name: newName
- };
- const options = {
- params: new HttpParams().set('Id', langId.toString()),
- headers: new HttpHeaders().set('Authorization', 'Bearer ' + authToken)
- };
- return this._http.put(AppConstants.API_TECHNOLOGY_URL, body, options);
- }
-
- deleteTechnologyRequest(authToken: string, langId: Guid): Observable<object> {
- const options = {
- params: new HttpParams().set('Id', langId.toString()),
- headers: new HttpHeaders().set('Authorization', 'Bearer ' + authToken)
- };
- return this._http.delete(AppConstants.API_TECHNOLOGY_URL, options);
- }
-}
diff --git a/src/DevHive.Angular/src/app/services/token.service.ts b/src/DevHive.Angular/src/app/services/token.service.ts
deleted file mode 100644
index 62bc07e..0000000
--- a/src/DevHive.Angular/src/app/services/token.service.ts
+++ /dev/null
@@ -1,47 +0,0 @@
-import { Injectable } from '@angular/core';
-import { Guid } from 'guid-typescript';
-import jwt_decode from 'jwt-decode';
-import { IJWTPayload } from 'src/interfaces/jwt-payload';
-import { IUserCredentials } from 'src/interfaces/user-credentials';
-import { AppConstants } from '../app-constants.module';
-
-@Injectable({
- providedIn: 'root'
-})
-export class TokenService {
- constructor()
- { }
-
- /* Session storage */
-
- setUserTokenToSessionStorage(response: object): void {
- const token = JSON.stringify(response);
- sessionStorage.setItem(AppConstants.SESSION_TOKEN_KEY, token.substr(10, token.length - 12));
- }
-
- getTokenFromSessionStorage(): string {
- return sessionStorage.getItem(AppConstants.SESSION_TOKEN_KEY) ?? '';
- }
-
- getUserIdFromSessionStorageToken(): Guid {
- const jwt: IJWTPayload = {
- token: this.getTokenFromSessionStorage()
- };
- const userCred = jwt_decode<IUserCredentials>(jwt.token);
-
- return userCred.ID;
- }
-
- getUsernameFromSessionStorageToken(): string {
- const jwt: IJWTPayload = {
- token: this.getTokenFromSessionStorage()
- };
- const userCred = jwt_decode<IUserCredentials>(jwt.token);
-
- return userCred.Username;
- }
-
- logoutUserFromSessionStorage(): void {
- sessionStorage.removeItem(AppConstants.SESSION_TOKEN_KEY);
- }
-}
diff --git a/src/DevHive.Angular/src/app/services/user.service.ts b/src/DevHive.Angular/src/app/services/user.service.ts
deleted file mode 100644
index 31862c4..0000000
--- a/src/DevHive.Angular/src/app/services/user.service.ts
+++ /dev/null
@@ -1,179 +0,0 @@
-import { Injectable } from '@angular/core';
-import { Guid } from 'guid-typescript';
-import { User } from '../../models/identity/user';
-import { FormGroup } from '@angular/forms';
-import { AppConstants } from 'src/app/app-constants.module';
-import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';
-import { Observable } from 'rxjs';
-import { Role } from 'src/models/identity/role';
-import { Friend } from 'src/models/identity/friend';
-import { TokenService } from './token.service';
-
-@Injectable({
- providedIn: 'root'
-})
-export class UserService {
- constructor(private _http: HttpClient, private _tokenService: TokenService)
- { }
-
- getDefaultUser(): User {
- return new User(Guid.createEmpty(), 'gosho_trapov', 'Gosho', 'Trapov', 'gotra@bg.com', AppConstants.FALLBACK_PROFILE_ICON, [], [], [], []);
- }
-
- /* Requests from session storage */
-
- getUserFromSessionStorageRequest(): Observable<object> {
- const userId = this._tokenService.getUserIdFromSessionStorageToken();
- const token = this._tokenService.getTokenFromSessionStorage();
-
- return this.getUserRequest(userId, token);
- }
-
- addFriendToUserFromSessionStorageRequest(newFriendUserName: string): Observable<object> {
- const userUserName = this._tokenService.getUsernameFromSessionStorageToken();
- const token = this._tokenService.getTokenFromSessionStorage();
-
- return this.addFriendToUserRequest(userUserName, token, newFriendUserName);
- }
-
- putUserFromSessionStorageRequest(updateUserFormGroup: FormGroup, userRoles: Role[], userFriends: Friend[]): Observable<object> {
- const userId = this._tokenService.getUserIdFromSessionStorageToken();
- const token = this._tokenService.getTokenFromSessionStorage();
-
- return this.putUserRequest(userId, token, updateUserFormGroup, userRoles, userFriends);
- }
-
- putProfilePictureFromSessionStorageRequest(newPicture: File): Observable<object> {
- const userId = this._tokenService.getUserIdFromSessionStorageToken();
- const token = this._tokenService.getTokenFromSessionStorage();
-
- return this.putProfilePictureRequest(userId, token, newPicture);
- }
-
- putBareUserFromSessionStorageRequest(user: User, password: string): Observable<object> {
- const userId = this._tokenService.getUserIdFromSessionStorageToken();
- const token = this._tokenService.getTokenFromSessionStorage();
-
- return this.putBareUserRequest(userId, token, user, password);
- }
-
- deleteUserFromSessionStorageRequest(): Observable<object> {
- const userId = this._tokenService.getUserIdFromSessionStorageToken();
- const token = this._tokenService.getTokenFromSessionStorage();
-
- return this.deleteUserRequest(userId, token);
- }
-
- removeFriendFromUserFromSessionStorageRequest(friendToRemoveUserName: string): Observable<object> {
- const userUserName = this._tokenService.getUsernameFromSessionStorageToken();
- const token = this._tokenService.getTokenFromSessionStorage();
-
- return this.removeFriendFromUserRequest(userUserName, token, friendToRemoveUserName);
- }
-
-
- /* User requests */
-
- loginUserRequest(loginUserFormGroup: FormGroup): Observable<object> {
- const body = {
- UserName: loginUserFormGroup.get('username')?.value,
- Password: loginUserFormGroup.get('password')?.value
- };
- return this._http.post(AppConstants.API_USER_LOGIN_URL, body);
- }
-
- registerUserRequest(registerUserFormGroup: FormGroup): Observable<object> {
- const body = {
- UserName: registerUserFormGroup.get('username')?.value,
- Email: registerUserFormGroup.get('email')?.value,
- FirstName: registerUserFormGroup.get('firstName')?.value,
- LastName: registerUserFormGroup.get('lastName')?.value,
- Password: registerUserFormGroup.get('password')?.value
- };
- return this._http.post(AppConstants.API_USER_REGISTER_URL, body);
- }
-
- addFriendToUserRequest(userUserName: string, authToken: string, newFriendUserName: string): Observable<object> {
- const body = {
- newFriendUserName: newFriendUserName
- };
- const options = {
- params: new HttpParams().set('UserName', userUserName),
- headers: new HttpHeaders().set('Authorization', 'Bearer ' + authToken)
- };
- return this._http.put(AppConstants.API_USER_URL + '/AddFriend', body, options);
- }
-
- getUserRequest(userId: Guid, authToken: string): Observable<object> {
- const options = {
- params: new HttpParams().set('Id', userId.toString()),
- headers: new HttpHeaders().set('Authorization', 'Bearer ' + authToken)
- };
- return this._http.get(AppConstants.API_USER_URL, options);
- }
-
- getUserByUsernameRequest(username: string): Observable<object> {
- const options = {
- params: new HttpParams().set('UserName', username),
- };
- return this._http.get(AppConstants.API_USER_URL + '/GetUser', options);
- }
-
- putUserRequest(userId: Guid, authToken: string, updateUserFormGroup: FormGroup, userRoles: Role[], userFriends: Friend[]): Observable<object> {
- const body = {
- UserName: updateUserFormGroup.get('username')?.value,
- Email: updateUserFormGroup.get('email')?.value,
- FirstName: updateUserFormGroup.get('firstName')?.value,
- LastName: updateUserFormGroup.get('lastName')?.value,
- Password: updateUserFormGroup.get('password')?.value,
- Roles: userRoles,
- Friends: userFriends,
- Languages: updateUserFormGroup.get('languages')?.value,
- Technologies: updateUserFormGroup.get('technologies')?.value
- };
- const options = {
- params: new HttpParams().set('Id', userId.toString()),
- headers: new HttpHeaders().set('Authorization', 'Bearer ' + authToken)
- };
- return this._http.put(AppConstants.API_USER_URL, body, options);
- }
-
- putBareUserRequest(userId: Guid, authToken: string, user: User, password: string): Observable<object> {
- const body: object = user;
- Object.assign(body, { password: password });
- const options = {
- params: new HttpParams().set('Id', userId.toString()),
- headers: new HttpHeaders().set('Authorization', 'Bearer ' + authToken)
- };
- return this._http.put(AppConstants.API_USER_URL, body, options);
- }
-
- putProfilePictureRequest(userId: Guid, authToken: string, newPicture: File): Observable<object> {
- const form = new FormData();
- form.append('picture', newPicture);
- const options = {
- params: new HttpParams().set('UserId', userId.toString()),
- headers: new HttpHeaders().set('Authorization', 'Bearer ' + authToken)
- };
- return this._http.put(AppConstants.API_USER_URL + '/ProfilePicture', form, options);
- }
-
- deleteUserRequest(userId: Guid, authToken: string): Observable<object> {
- const options = {
- params: new HttpParams().set('Id', userId.toString()),
- headers: new HttpHeaders().set('Authorization', 'Bearer ' + authToken)
- };
- return this._http.delete(AppConstants.API_USER_URL, options);
- }
-
- removeFriendFromUserRequest(userUserName: string, authToken: string, friendToRemoveUserName: string): Observable<object> {
- const body = {
- friendUserNameToRemove: friendToRemoveUserName
- };
- const options = {
- params: new HttpParams().set('UserName', userUserName),
- headers: new HttpHeaders().set('Authorization', 'Bearer ' + authToken)
- };
- return this._http.post(AppConstants.API_USER_URL + '/RemoveFriend', body, options);
- }
-}