mirror of
https://github.com/kremalicious/umami.git
synced 2025-02-14 21:10:34 +01:00
Merge branch 'dev' into bugfix/user-website-error
This commit is contained in:
commit
907253926e
@ -2,15 +2,13 @@ import useApi from 'hooks/useApi';
|
|||||||
import WebsitesTable from 'components/pages/settings/websites/WebsitesTable';
|
import WebsitesTable from 'components/pages/settings/websites/WebsitesTable';
|
||||||
import useMessages from 'hooks/useMessages';
|
import useMessages from 'hooks/useMessages';
|
||||||
import useApiFilter from 'hooks/useApiFilter';
|
import useApiFilter from 'hooks/useApiFilter';
|
||||||
import Page from 'components/layout/Page';
|
|
||||||
import useConfig from 'hooks/useConfig';
|
|
||||||
|
|
||||||
export function UserWebsites({ userId }) {
|
export function UserWebsites({ userId }) {
|
||||||
const { cloudMode } = useConfig();
|
|
||||||
const { formatMessage, messages } = useMessages();
|
const { formatMessage, messages } = useMessages();
|
||||||
const { filter, page, pageSize, handlePageSizeChange, handleFilterChange, handlePageChange } = useApiFilter();
|
const { filter, page, pageSize, handleFilterChange, handlePageChange, handlePageSizeChange } =
|
||||||
|
useApiFilter();
|
||||||
const { get, useQuery } = useApi();
|
const { get, useQuery } = useApi();
|
||||||
const { data, isLoading, error } = useQuery(['user:websites', userId, filter, page, pageSize], () =>
|
const { data, isLoading } = useQuery(['user:websites', userId, filter, page, pageSize], () =>
|
||||||
get(`/users/${userId}/websites`, {
|
get(`/users/${userId}/websites`, {
|
||||||
filter,
|
filter,
|
||||||
page,
|
page,
|
||||||
@ -20,7 +18,7 @@ export function UserWebsites({ userId }) {
|
|||||||
const hasData = data && data.length !== 0;
|
const hasData = data && data.length !== 0;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Page loading={isLoading} error={error}>
|
<div>
|
||||||
{hasData && (
|
{hasData && (
|
||||||
<WebsitesTable
|
<WebsitesTable
|
||||||
data={data}
|
data={data}
|
||||||
@ -28,11 +26,10 @@ export function UserWebsites({ userId }) {
|
|||||||
onPageChange={handlePageChange}
|
onPageChange={handlePageChange}
|
||||||
onPageSizeChange={handlePageSizeChange}
|
onPageSizeChange={handlePageSizeChange}
|
||||||
filterValue={filter}
|
filterValue={filter}
|
||||||
showEditButton={!cloudMode}
|
/>
|
||||||
/>)
|
)}
|
||||||
}
|
|
||||||
{!hasData && formatMessage(messages.noDataAvailable)}
|
{!hasData && formatMessage(messages.noDataAvailable)}
|
||||||
</Page>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -185,7 +185,9 @@ function getPageFilters(filters: SearchFilter<any>): [
|
|||||||
orderBy: string;
|
orderBy: string;
|
||||||
},
|
},
|
||||||
] {
|
] {
|
||||||
const { pageSize = 10, page = 1, orderBy } = filters;
|
const pageSize = filters?.pageSize || 10;
|
||||||
|
const page = filters?.page || 1;
|
||||||
|
const orderBy = filters?.orderBy;
|
||||||
|
|
||||||
return [
|
return [
|
||||||
{
|
{
|
||||||
|
@ -37,7 +37,7 @@ export async function getUserByUsername(username: string, options: GetUserOption
|
|||||||
}
|
}
|
||||||
|
|
||||||
export async function getUsers(
|
export async function getUsers(
|
||||||
UserSearchFilter: UserSearchFilter = {},
|
UserSearchFilter: UserSearchFilter,
|
||||||
options?: { include?: Prisma.UserInclude },
|
options?: { include?: Prisma.UserInclude },
|
||||||
): Promise<FilterResult<User[]>> {
|
): Promise<FilterResult<User[]>> {
|
||||||
const { teamId, filter, filterType = USER_FILTER_TYPES.all } = UserSearchFilter;
|
const { teamId, filter, filterType = USER_FILTER_TYPES.all } = UserSearchFilter;
|
||||||
@ -72,14 +72,22 @@ export async function getUsers(
|
|||||||
...UserSearchFilter,
|
...UserSearchFilter,
|
||||||
});
|
});
|
||||||
|
|
||||||
const users = await prisma.client.user.findMany({
|
const users = await prisma.client.user
|
||||||
where: {
|
.findMany({
|
||||||
...where,
|
where: {
|
||||||
deletedAt: null,
|
...where,
|
||||||
},
|
deletedAt: null,
|
||||||
...pageFilters,
|
},
|
||||||
...(options?.include && { include: options.include }),
|
...pageFilters,
|
||||||
});
|
...(options?.include && { include: options.include }),
|
||||||
|
})
|
||||||
|
.then(a => {
|
||||||
|
return a.map(a => {
|
||||||
|
const { password, ...rest } = a;
|
||||||
|
|
||||||
|
return rest;
|
||||||
|
});
|
||||||
|
});
|
||||||
const count = await prisma.client.user.count({
|
const count = await prisma.client.user.count({
|
||||||
where: {
|
where: {
|
||||||
...where,
|
...where,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user