Aktualisierung der Angular-Api-Dienste entsprechend dem DTO.

This commit is contained in:
Developer 02
2024-07-02 17:51:35 +02:00
parent 0a0a327e58
commit b548aa796a
15 changed files with 93 additions and 141 deletions

View File

@@ -1,7 +1,6 @@
import { Inject, Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Observable, of } from 'rxjs';
import { ApiMessage, ApiResult } from '../models/api.response.model';
import { AuthCheckDto } from '../models/user-management.api.models';
import { Router } from '@angular/router';
import Swal from 'sweetalert2';
@@ -50,14 +49,16 @@ export class AuthenticationService {
});
}
logout(): Observable<ApiMessage> {
logout(): Observable<any> {
return new Observable(observer => {
this.http.post<ApiMessage>(this.logoutUrl, {}, { withCredentials: true })
this.http.post<any>(this.logoutUrl, {}, { withCredentials: true })
.subscribe({
next: (response) => {
this.router.navigate(['/']);
_isLogedIn = false;
observer.next(response)
if (response.ok) {
this.router.navigate(['/']);
_isLogedIn = false;
observer.next(response)
}
},
error: (error) => observer.error(error),
complete: () => observer.complete()

View File

@@ -1,8 +1,7 @@
import { Injectable, Inject } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { DirGroup, DirUser } from '../models/user-management.api.models';
import { DirGroup, } from '../models/user-management.api.models';
import { ApiService } from './user-management.api.service';
import { ApiResult } from '../models/api.response.model';
import { Observable } from 'rxjs/internal/Observable';
import Swal from 'sweetalert2';
@@ -14,21 +13,20 @@ export class DirGroupService extends ApiService<DirGroup> {
super(http, userUri);
}
override getAll(): Observable<ApiResult<DirGroup[]>> {
return new Observable(observer => {
//TODO: Swal.fire
override getAll(): Observable<DirGroup[]> {
return new Observable<DirGroup[]>(observer => {
super.getAll()
.subscribe({
next: (response) => {
if(!response.isSuccess || !response.data) {
Swal.fire({
icon: "error",
title: "Oops...",
text: `Active Directory-Verbindung verloren. Bitte melden Sie sich erneut an`,
});
}
observer.next(response)
},
error: (error) => {
Swal.fire({
icon: "error",
title: "Oops...",
text: `Active Directory-Verbindung verloren. Bitte melden Sie sich erneut an`,
});
observer.error(error)
},
complete: () => observer.complete()

View File

@@ -3,7 +3,6 @@ import { HttpClient, HttpParams } from '@angular/common/http';
import { DirUser } from '../models/user-management.api.models';
import { ApiService } from './user-management.api.service';
import { Observable } from 'rxjs/internal/Observable';
import { ApiResult } from '../models/api.response.model';
@Injectable({
providedIn: 'root'
@@ -13,12 +12,12 @@ export class DirUserService extends ApiService<DirUser> {
super(http, userUri);
}
override getAll(groupName?: string): Observable<ApiResult<DirUser[]>> {
override getAll(groupName?: string): Observable<DirUser[]> {
let params = new HttpParams();
if (groupName) {
params = params.set('groupName', groupName);
}
return this.http.get<ApiResult<DirUser[]>>(this.baseUrl, { params, withCredentials: true });
return this.http.get<DirUser[]>(this.baseUrl, { params, withCredentials: true });
}
}

View File

@@ -1,6 +1,5 @@
import { HttpClient, HttpParams } from '@angular/common/http';
import { Observable } from 'rxjs';
import { ApiResult } from '../models/api.response.model';
import { Inject, Injectable } from '@angular/core';
import { DirUser } from '../models/user-management.api.models';
@@ -12,12 +11,12 @@ export class DirService {
this.http = http;
}
getUser(groupName: string): Observable<ApiResult<DirUser[]>> {
getUser(groupName: string): Observable<DirUser[]> {
let params = new HttpParams();
if (groupName) {
params = params.set('groupName', groupName);
}
return this.http.get<ApiResult<DirUser[]>>(this.baseUrl, { params, withCredentials: true });
return this.http.get<DirUser[]>(this.baseUrl, { params, withCredentials: true });
}
}

View File

@@ -2,7 +2,6 @@ import { Injectable, Inject } from '@angular/core';
import { HttpClient, HttpParams } from '@angular/common/http';
import { GroupOfUser } from '../models/user-management.api.models';
import { ApiService } from './user-management.api.service';
import { ApiResult } from '../models/api.response.model';
import { Observable } from 'rxjs';
@Injectable({
@@ -13,12 +12,12 @@ export class GroupOfUserService extends ApiService<GroupOfUser> {
super(http, userUri);
}
deleteByGroupUserId(groupId: number, userId: number): Observable<ApiResult<any>> {
deleteByGroupUserId(groupId: number, userId: number): Observable<any> {
const url = `${this.baseUrl}?groupId=${groupId}&userId=${userId}`;
return this.http.delete<ApiResult<any>>(url, { withCredentials: true });
return this.http.delete<any>(url, { withCredentials: true });
}
override getAll(withUser: boolean = false, withGroup: boolean = false): Observable<ApiResult<GroupOfUser[]>> {
override getAll(withUser: boolean = false, withGroup: boolean = false): Observable<GroupOfUser[]> {
let params = new HttpParams();
if (withUser) {
params = params.set('withUser', withUser);
@@ -27,6 +26,6 @@ export class GroupOfUserService extends ApiService<GroupOfUser> {
params = params.set('withGroup', withGroup);
}
return this.http.get<ApiResult<GroupOfUser[]>>(this.baseUrl, { params, withCredentials: true });
return this.http.get<GroupOfUser[]>(this.baseUrl, { params, withCredentials: true });
}
}

View File

@@ -2,7 +2,6 @@ import { Injectable, Inject } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { ModuleOfUser } from '../models/user-management.api.models';
import { ApiService } from './user-management.api.service';
import { ApiResult } from '../models/api.response.model';
import { Observable } from 'rxjs';
@Injectable({
@@ -13,8 +12,8 @@ export class ModuleOfUserService extends ApiService<ModuleOfUser> {
super(http, userUri);
}
deleteByModuleGroupId(moduleId: number, userId: number): Observable<ApiResult<any>> {
deleteByModuleGroupId(moduleId: number, userId: number): Observable<any> {
const url = `${this.baseUrl}?moduleId=${moduleId}&userId=${userId}`;
return this.http.delete<ApiResult<any>>(url, { withCredentials: true });
return this.http.delete<any>(url, { withCredentials: true });
}
}

View File

@@ -1,6 +1,5 @@
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';
import { ApiResult } from '../models/api.response.model';
import { Inject, Injectable } from '@angular/core';
@Injectable({
@@ -15,26 +14,26 @@ export class ApiService<Model> {
http: HttpClient;
baseUrl: string;
getAll(): Observable<ApiResult<Model[]>> {
return this.http.get<ApiResult<Model[]>>(this.baseUrl, { withCredentials: true });
getAll(): Observable<Model[]> {
return this.http.get<Model[]>(this.baseUrl, { withCredentials: true });
}
getById(id: number): Observable<ApiResult<Model>> {
getById(id: number): Observable<Model> {
const url = `${this.baseUrl}/${id}`;
return this.http.get<ApiResult<Model>>(url, { withCredentials: true });
return this.http.get<Model>(url, { withCredentials: true });
}
create(createModel: Model): Observable<Model> {
return this.http.post<Model>(this.baseUrl, createModel, { withCredentials: true });
}
update(updateModel: Model): Observable<ApiResult<Model>> {
update(updateModel: Model): Observable<Model> {
const url = `${this.baseUrl}`;
return this.http.put<ApiResult<Model>>(url, updateModel, { withCredentials: true });
return this.http.put<Model>(url, updateModel, { withCredentials: true });
}
delete(id: number): Observable<ApiResult<any>> {
delete(id: number): Observable<any> {
const url = `${this.baseUrl}/${id}`;
return this.http.delete<ApiResult<any>>(url, { withCredentials: true });
return this.http.delete<any>(url, { withCredentials: true });
}
}

View File

@@ -2,7 +2,6 @@ import { Inject, Injectable } from "@angular/core";
import { UserRep } from "../models/user-management.api.models";
import { ApiService } from "./user-management.api.service";
import { HttpClient, HttpParams } from "@angular/common/http";
import { ApiResult } from "../models/api.response.model";
import { Observable } from "rxjs";
@Injectable({
@@ -13,7 +12,7 @@ export class UserRepService extends ApiService<UserRep> {
super(http, userRepUri)
}
override getAll(withUser: boolean = false, withRepGroup: boolean = false, withRightGroup: boolean = false, withRepUser: boolean = false, userId?: number): Observable<ApiResult<UserRep[]>> {
override getAll(withUser: boolean = false, withRepGroup: boolean = false, withRightGroup: boolean = false, withRepUser: boolean = false, userId?: number): Observable<UserRep[]> {
let params = new HttpParams();
if (withUser) {
params = params.set('withUser', withUser);
@@ -31,6 +30,6 @@ export class UserRepService extends ApiService<UserRep> {
params = params.set('userId', userId)
}
return this.http.get<ApiResult<UserRep[]>>(`${this.baseUrl}`, { params: params, withCredentials: true });
return this.http.get<UserRep[]>(`${this.baseUrl}`, { params: params, withCredentials: true });
}
}

View File

@@ -3,7 +3,6 @@ import { HttpClient } from '@angular/common/http';
import { DirUser, User } from '../models/user-management.api.models';
import { ApiService } from './user-management.api.service';
import { Observable } from 'rxjs';
import { ApiResult } from '../models/api.response.model';
@Injectable({
providedIn: 'root'
@@ -13,14 +12,14 @@ export class UserService extends ApiService<User> {
super(http, userUri);
}
getByModuleId(moduleId: number, assigned: boolean = true): Observable<ApiResult<User[]>> {
getByModuleId(moduleId: number, assigned: boolean = true): Observable<User[]> {
const url = `${this.baseUrl}/ByModuleId/${moduleId}?assigned=${assigned}`;
return this.http.get<ApiResult<User[]>>(url, { withCredentials: true });
return this.http.get<User[]>(url, { withCredentials: true });
}
getByGroupId(groupId: number, assigned: boolean = true): Observable<ApiResult<User[]>> {
getByGroupId(groupId: number, assigned: boolean = true): Observable<User[]> {
const url = `${this.baseUrl}/ByGroupId/${groupId}?assigned=${assigned}`;
return this.http.get<ApiResult<User[]>>(url, { withCredentials: true });
return this.http.get<User[]>(url, { withCredentials: true });
}
createByDir(createModel: DirUser): Observable<DirUser> {