mirror of
https://github.com/appwrite/console.git
synced 2026-06-06 19:27:48 +00:00
update: smaller payloads :D
This commit is contained in:
@@ -38,7 +38,11 @@ export const projectsSearcher = (async (query: string) => {
|
||||
}
|
||||
|
||||
const { projects } = await sdk.forConsole.projects.list({
|
||||
queries: [Query.equal('teamId', get(organization).$id), Query.orderDesc('')]
|
||||
queries: [
|
||||
Query.equal('teamId', get(organization).$id),
|
||||
Query.orderDesc(''),
|
||||
Query.select(['$id', 'name', 'region'])
|
||||
]
|
||||
});
|
||||
|
||||
return projects
|
||||
|
||||
@@ -140,7 +140,8 @@
|
||||
queries: [
|
||||
Query.equal('teamId', organizationId ?? page.data.currentOrgId),
|
||||
Query.limit(5),
|
||||
Query.orderDesc('$updatedAt')
|
||||
Query.orderDesc('$updatedAt'),
|
||||
Query.select(['$id', 'name', 'region', 'teamId'])
|
||||
]
|
||||
})) ?? loadedProjects;
|
||||
|
||||
|
||||
@@ -35,7 +35,11 @@ export const load: LayoutLoad = async ({ depends, parent }) => {
|
||||
try {
|
||||
projectsCount = (
|
||||
await sdk.forConsole.projects.list({
|
||||
queries: [Query.equal('teamId', currentOrgId), Query.limit(1)]
|
||||
queries: [
|
||||
Query.equal('teamId', currentOrgId),
|
||||
Query.limit(1),
|
||||
Query.select(['$id'])
|
||||
]
|
||||
})
|
||||
).total;
|
||||
} catch (e) {
|
||||
|
||||
@@ -65,7 +65,7 @@ export const load: PageLoad = async ({ parent }) => {
|
||||
let projects: Models.ProjectList = null;
|
||||
try {
|
||||
projects = await sdk.forConsole.projects.list({
|
||||
queries: [Query.equal('teamId', org.$id), Query.limit(1)]
|
||||
queries: [Query.equal('teamId', org.$id), Query.limit(1), Query.select(['$id'])]
|
||||
});
|
||||
} catch (e) {
|
||||
redirect(303, `${base}/organization-${org.$id}`);
|
||||
|
||||
@@ -24,7 +24,8 @@ export const load: PageLoad = async ({ params, url, route, depends, parent }) =>
|
||||
Query.offset(offset),
|
||||
Query.equal('teamId', params.organization),
|
||||
Query.limit(limit),
|
||||
Query.orderDesc('')
|
||||
Query.orderDesc(''),
|
||||
Query.select(['$id', 'name', 'region', 'status'])
|
||||
],
|
||||
search: search || undefined
|
||||
});
|
||||
|
||||
@@ -106,10 +106,13 @@
|
||||
}
|
||||
|
||||
try {
|
||||
allProjects = await sdk.forConsole.projects.list([
|
||||
Query.equal('teamId', data.organization.$id),
|
||||
Query.limit(1000)
|
||||
]);
|
||||
allProjects = await sdk.forConsole.projects.list({
|
||||
queries: [
|
||||
Query.equal('teamId', data.organization.$id),
|
||||
Query.limit(1000),
|
||||
Query.select(['$id', 'name']) // TODO: @itznotabug, check if we need to add `$createdAt`
|
||||
]
|
||||
});
|
||||
} catch {
|
||||
allProjects = { projects: [] };
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { sdk } from '$lib/stores/sdk';
|
||||
import type { PageLoad } from './$types';
|
||||
import { Query } from '@appwrite.io/console';
|
||||
import type { UsageProjectInfo } from '../../store';
|
||||
import { type Models, Query } from '@appwrite.io/console';
|
||||
import type { Invoice, OrganizationUsage } from '$lib/sdk/billing';
|
||||
|
||||
export const load: PageLoad = async ({ params, parent }) => {
|
||||
@@ -70,14 +70,18 @@ export const load: PageLoad = async ({ params, parent }) => {
|
||||
// all this to get the project's name and region!
|
||||
function getUsageProjects(usage: OrganizationUsage) {
|
||||
return (async () => {
|
||||
const projects: Record<string, UsageProjectInfo> = {};
|
||||
const limit = 100;
|
||||
const requests = [];
|
||||
const requests: Array<Promise<Models.ProjectList>> = [];
|
||||
const projects: Record<string, UsageProjectInfo> = {};
|
||||
for (let index = 0; index < usage.projects.length; index += limit) {
|
||||
const chunkIds = usage.projects.slice(index, index + limit).map((p) => p.projectId);
|
||||
requests.push(
|
||||
sdk.forConsole.projects.list({
|
||||
queries: [Query.limit(limit), Query.equal('$id', chunkIds)]
|
||||
queries: [
|
||||
Query.limit(limit),
|
||||
Query.equal('$id', chunkIds),
|
||||
Query.select(['$id', 'name', 'region'])
|
||||
]
|
||||
})
|
||||
);
|
||||
}
|
||||
|
||||
@@ -80,7 +80,9 @@
|
||||
onMount(async () => {
|
||||
// Filter projects by organization ID using server-side queries
|
||||
const projectList = await sdk.forConsole.projects.list({
|
||||
queries: $organization?.$id ? [Query.equal('teamId', $organization.$id)] : []
|
||||
queries: $organization?.$id
|
||||
? [Query.equal('teamId', $organization.$id), Query.select(['$id', 'name'])]
|
||||
: []
|
||||
});
|
||||
projectOptions = projectList.projects.map((project) => ({
|
||||
value: project.$id,
|
||||
|
||||
@@ -43,7 +43,11 @@
|
||||
loadingProjects = true;
|
||||
|
||||
projects = await sdk.forConsole.projects.list({
|
||||
queries: [Query.equal('teamId', selectedOrg), Query.orderDesc('')]
|
||||
queries: [
|
||||
Query.equal('teamId', selectedOrg),
|
||||
Query.orderDesc(''),
|
||||
Query.select(['$id', 'name'])
|
||||
]
|
||||
});
|
||||
|
||||
selectedProject = projects?.total ? projects.projects[0].$id : null;
|
||||
@@ -215,9 +219,9 @@
|
||||
: undefined}
|
||||
disabled={loadingProjects}
|
||||
options={[
|
||||
...(projects?.projects?.map((p) => ({
|
||||
label: p.name,
|
||||
value: p.$id
|
||||
...(projects?.projects?.map((project) => ({
|
||||
label: project.name,
|
||||
value: project.$id
|
||||
})) ?? []),
|
||||
{
|
||||
label: 'Create project',
|
||||
|
||||
@@ -48,7 +48,11 @@
|
||||
async function fetchProjects() {
|
||||
loadingProjects = true;
|
||||
projects = await sdk.forConsole.projects.list({
|
||||
queries: [Query.equal('teamId', selectedOrg), Query.orderDesc('')]
|
||||
queries: [
|
||||
Query.equal('teamId', selectedOrg),
|
||||
Query.orderDesc(''),
|
||||
Query.select(['$id', 'name'])
|
||||
]
|
||||
});
|
||||
|
||||
selectedProject = projects?.total ? projects.projects[0].$id : null;
|
||||
@@ -87,7 +91,7 @@
|
||||
loadingProjects = false;
|
||||
}
|
||||
} else {
|
||||
const project = projects.projects.find((p) => p.$id === selectedProject);
|
||||
const project = projects.projects.find((project) => project.$id === selectedProject);
|
||||
if (!project) {
|
||||
addNotification({ type: 'error', message: 'Selected project not found' });
|
||||
return;
|
||||
@@ -371,9 +375,9 @@
|
||||
: undefined}
|
||||
disabled={loadingProjects}
|
||||
options={[
|
||||
...(projects?.projects?.map((p) => ({
|
||||
label: p.name,
|
||||
value: p.$id
|
||||
...(projects?.projects?.map((project) => ({
|
||||
label: project.name,
|
||||
value: project.$id
|
||||
})) ?? []),
|
||||
{
|
||||
label: 'Create project',
|
||||
|
||||
@@ -55,7 +55,11 @@
|
||||
|
||||
async function fetchProjects() {
|
||||
projects = await sdk.forConsole.projects.list({
|
||||
queries: [Query.equal('teamId', selectedOrg), Query.orderDesc('')]
|
||||
queries: [
|
||||
Query.equal('teamId', selectedOrg),
|
||||
Query.orderDesc(''),
|
||||
Query.select(['$id', 'name'])
|
||||
]
|
||||
});
|
||||
selectedProject = projects?.total ? projects.projects[0].$id : null;
|
||||
}
|
||||
@@ -180,9 +184,9 @@
|
||||
label="Project"
|
||||
required
|
||||
options={[
|
||||
...projects.projects.map((p) => ({
|
||||
label: p.name,
|
||||
value: p.$id
|
||||
...projects.projects.map((project) => ({
|
||||
label: project.name,
|
||||
value: project.$id
|
||||
})),
|
||||
{
|
||||
label: 'Create project',
|
||||
|
||||
Reference in New Issue
Block a user