32 lines
1.0 KiB
TypeScript
32 lines
1.0 KiB
TypeScript
// SPDX-FileCopyrightText: 2025-2026 Lucio Lelii <lucio.lelii@isti.cnr.it> - ISTI-CNR
|
|
// SPDX-License-Identifier: AGPL-3.0-or-later
|
|
// Attribution term under AGPL-3.0 section 7(b): see LICENSE-ADDENDUM.
|
|
|
|
import {
|
|
AdminChangeRoleRequest,
|
|
AdminCreateUserRequest,
|
|
AdminResetPasswordRequest,
|
|
AdminUser,
|
|
OperationsStatistics,
|
|
UserStatistics
|
|
} from "@models/user";
|
|
import { Observable } from "rxjs";
|
|
|
|
export abstract class AdminCallServiceBase {
|
|
abstract listAdminUsers(): Observable<AdminUser[]>;
|
|
|
|
abstract createAdminUser(request: AdminCreateUserRequest): Observable<void>;
|
|
|
|
abstract changeAdminUserPassword(username: string, request: AdminResetPasswordRequest): Observable<void>;
|
|
|
|
abstract changeAdminUserRole(username: string, request: AdminChangeRoleRequest): Observable<void>;
|
|
|
|
abstract deleteAdminUser(username: string): Observable<void>;
|
|
|
|
abstract getOperationsStatistics(): Observable<OperationsStatistics>;
|
|
|
|
abstract listStatisticsUsers(): Observable<string[]>;
|
|
|
|
abstract getUserStatistics(username: string): Observable<UserStatistics>;
|
|
}
|