Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
Mike Cao 2023-10-15 20:24:44 -07:00
commit 8cb1c4ed7a
11 changed files with 29 additions and 14 deletions

View File

@ -20,7 +20,7 @@ export default function SettingsLayout({ children }) {
const getKey = () => items.find(({ url }) => pathname === url)?.key;
if (cloudMode) {
if (cloudMode && pathname != '/settings/profile') {
return null;
}

View File

@ -45,11 +45,11 @@ export function DataTable({
const noResults = Boolean(!isLoading && query && !hasData);
const handleSearch = query => {
setParams({ ...params, query, page: params.query ? page : 1 });
setParams({ ...params, query, page: params.page ? page : 1 });
};
const handlePageChange = page => {
setParams({ ...params, page });
setParams({ ...params, query, page });
};
if (error) {

View File

@ -1,7 +1,8 @@
import { useState } from 'react';
import { useApi } from 'components/hooks/useApi';
import { UseQueryOptions } from '@tanstack/react-query';
export function useFilterQuery(key: any[], fn, options?: any) {
export function useFilterQuery(key: any[], fn, options?: UseQueryOptions) {
const [params, setParams] = useState({
query: '',
page: 1,

View File

@ -50,10 +50,11 @@ export default async (
} = req.auth;
if (req.method === 'GET') {
const { page, query } = req.query;
const { page, query, pageSize } = req.query;
const data = await getReportsByUserId(userId, {
page,
pageSize: +pageSize || undefined,
query,
includeTeams: true,
});

View File

@ -5,6 +5,7 @@ import { NextApiRequestQueryBody, SearchFilter } from 'lib/types';
import { NextApiResponse } from 'next';
import { methodNotAllowed, ok, unauthorized } from 'next-basics';
import { getUsersByTeamId } from 'queries';
import { pageInfo } from 'lib/schema';
export interface TeamUserRequestQuery extends SearchFilter {
id: string;
@ -13,6 +14,7 @@ export interface TeamUserRequestQuery extends SearchFilter {
const schema = {
GET: yup.object().shape({
id: yup.string().uuid().required(),
...pageInfo,
}),
};
@ -30,11 +32,12 @@ export default async (
return unauthorized(res);
}
const { query, page } = req.query;
const { query, page, pageSize } = req.query;
const users = await getUsersByTeamId(teamId, {
query,
page,
pageSize: +pageSize || undefined,
});
return ok(res, users);

View File

@ -41,7 +41,13 @@ export default async (
return unauthorized(res);
}
const websites = await getWebsitesByTeamId(teamId, { ...req.query });
const { page, query, pageSize } = req.query;
const websites = await getWebsitesByTeamId(teamId, {
page,
query,
pageSize: +pageSize || undefined,
});
return ok(res, websites);
}

View File

@ -35,11 +35,12 @@ export default async (
} = req.auth;
if (req.method === 'GET') {
const { page, query } = req.query;
const { page, query, pageSize } = req.query;
const results = await getTeamsByUserId(userId, {
page,
query,
pageSize: +pageSize || undefined,
});
return ok(res, results);

View File

@ -44,7 +44,7 @@ export default async (
const teams = await getTeamsByUserId(userId, {
query,
page,
pageSize,
pageSize: +pageSize || undefined,
});
return ok(res, teams);

View File

@ -47,7 +47,7 @@ export default async (
const websites = await getWebsitesByUserId(userId, {
page,
pageSize,
pageSize: +pageSize || undefined,
query,
orderBy,
includeTeams,

View File

@ -44,9 +44,9 @@ export default async (
return unauthorized(res);
}
const { page, query } = req.query;
const { page, query, pageSize } = req.query;
const users = await getUsers({ page, query });
const users = await getUsers({ page, query, pageSize: +pageSize || undefined });
return ok(res, users);
}

View File

@ -5,6 +5,7 @@ import { NextApiRequestQueryBody, SearchFilter } from 'lib/types';
import { NextApiResponse } from 'next';
import { methodNotAllowed, ok, unauthorized } from 'next-basics';
import { getReportsByWebsiteId } from 'queries';
import { pageInfo } from 'lib/schema';
export interface ReportsRequestQuery extends SearchFilter {
id: string;
@ -13,6 +14,7 @@ export interface ReportsRequestQuery extends SearchFilter {
const schema = {
GET: yup.object().shape({
id: yup.string().uuid().required(),
...pageInfo,
}),
};
@ -27,14 +29,15 @@ export default async (
const { id: websiteId } = req.query;
if (req.method === 'GET') {
if (!(websiteId && (await canViewWebsite(req.auth, websiteId)))) {
if (!(await canViewWebsite(req.auth, websiteId))) {
return unauthorized(res);
}
const { page, query } = req.query;
const { page, query, pageSize } = req.query;
const data = await getReportsByWebsiteId(websiteId, {
page,
pageSize: +pageSize || undefined,
query,
});