mirror of
https://github.com/CaramelFur/Picsur.git
synced 2026-05-06 15:16:42 +02:00
modify user settings to use new pagination
This commit is contained in:
@@ -53,6 +53,7 @@ export class UserAdminController {
|
||||
users: found.results.map(EUserBackend2EUser),
|
||||
page: found.page,
|
||||
pages: found.pages,
|
||||
total: found.totalResults,
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -75,6 +75,7 @@ export class ImageManageController {
|
||||
images: found.results,
|
||||
page: found.page,
|
||||
pages: found.pages,
|
||||
total: found.totalResults,
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -68,7 +68,7 @@
|
||||
[pageSizeOptions]="pageSizeOptions"
|
||||
[pageSize]="startingPageSize"
|
||||
[hidePageSize]="utilService.isMobile() | async"
|
||||
length="Infinity"
|
||||
[length]="totalUsers"
|
||||
aria-label="Select page of users"
|
||||
(page)="updateSubject.next($event)"
|
||||
>
|
||||
|
||||
@@ -28,6 +28,7 @@ export class SettingsUsersComponent implements OnInit {
|
||||
|
||||
public dataSubject = new BehaviorSubject<EUser[]>([]);
|
||||
public updateSubject = new Subject<PageEvent>();
|
||||
public totalUsers: number = 0;
|
||||
|
||||
@ViewChild(MatPaginator) paginator: MatPaginator;
|
||||
|
||||
@@ -126,8 +127,9 @@ export class SettingsUsersComponent implements OnInit {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (result.length > 0) {
|
||||
this.dataSubject.next(result);
|
||||
if (result.users.length > 0) {
|
||||
this.dataSubject.next(result.users);
|
||||
this.totalUsers = result.total;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import {
|
||||
UserCreateRequest,
|
||||
UserCreateResponse,
|
||||
UserDeleteRequest,
|
||||
UserDeleteResponse,
|
||||
UserInfoRequest,
|
||||
UserInfoResponse,
|
||||
UserListRequest,
|
||||
UserListResponse,
|
||||
UserUpdateRequest,
|
||||
UserUpdateResponse
|
||||
UserCreateRequest,
|
||||
UserCreateResponse,
|
||||
UserDeleteRequest,
|
||||
UserDeleteResponse,
|
||||
UserInfoRequest,
|
||||
UserInfoResponse,
|
||||
UserListRequest,
|
||||
UserListResponse,
|
||||
UserUpdateRequest,
|
||||
UserUpdateResponse
|
||||
} from 'picsur-shared/dist/dto/api/user-manage.dto';
|
||||
import { EUser } from 'picsur-shared/dist/entities/user.entity';
|
||||
import { AsyncFailable, Open } from 'picsur-shared/dist/types';
|
||||
import { AsyncFailable } from 'picsur-shared/dist/types';
|
||||
import { ApiService } from './api.service';
|
||||
|
||||
@Injectable({
|
||||
@@ -30,8 +30,11 @@ export class UserAdminService {
|
||||
);
|
||||
}
|
||||
|
||||
public async getUsers(count: number, page: number): AsyncFailable<EUser[]> {
|
||||
const result = await this.api.post(
|
||||
public async getUsers(
|
||||
count: number,
|
||||
page: number
|
||||
): AsyncFailable<UserListResponse> {
|
||||
return await this.api.post(
|
||||
UserListRequest,
|
||||
UserListResponse,
|
||||
'/api/user/list',
|
||||
@@ -40,8 +43,6 @@ export class UserAdminService {
|
||||
page,
|
||||
}
|
||||
);
|
||||
|
||||
return Open(result, 'users');
|
||||
}
|
||||
|
||||
public async createUser(user: UserCreateRequest): AsyncFailable<EUser> {
|
||||
|
||||
@@ -22,6 +22,7 @@ export const ImageListResponseSchema = z.object({
|
||||
images: z.array(EImageSchema),
|
||||
page: IsPosInt(),
|
||||
pages: IsPosInt(),
|
||||
total: IsPosInt(),
|
||||
});
|
||||
export class ImageListResponse extends createZodDto(ImageListResponseSchema) {}
|
||||
|
||||
|
||||
@@ -18,6 +18,7 @@ export const UserListResponseSchema = z.object({
|
||||
users: z.array(EUserSchema),
|
||||
page: IsPosInt(),
|
||||
pages: IsPosInt(),
|
||||
total: IsPosInt(),
|
||||
});
|
||||
export class UserListResponse extends createZodDto(UserListResponseSchema) {}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user