makes profiles public

This commit is contained in:
Christian Beutel
2024-11-16 15:13:22 +01:00
parent 2e8d7f5e82
commit dcc8da83e7
19 changed files with 364 additions and 41 deletions

View File

@@ -7,8 +7,10 @@ import { fetchGPX } from "./trail_store";
export const summitLog: Writable<SummitLog> = writable(new SummitLog(new Date().toISOString().substring(0, 10)));
export const summitLogs: Writable<SummitLog[]> = writable([]);
export async function summit_logs_index(filter?: SummitLogFilter, f: (url: RequestInfo | URL, config?: RequestInit) => Promise<Response> = fetch) {
const filterText = filter ? buildFilterText(filter) : "";
export async function summit_logs_index(author: string, filter?: SummitLogFilter, f: (url: RequestInfo | URL, config?: RequestInit) => Promise<Response> = fetch) {
let filterText = `author='${author}'`
filterText += filter ? "&&" + buildFilterText(filter) : "";
const r = await f('/api/v1/summit-log?' + new URLSearchParams({
filter: filterText,
@@ -35,7 +37,7 @@ export async function summit_logs_index(filter?: SummitLogFilter, f: (url: Reque
}
summitLogs.set(fetchedSummitLogs);
return fetchedSummitLogs;
}
@@ -117,15 +119,15 @@ function buildFilterText(filter: SummitLogFilter,): string {
let filterText: string = "";
if (filter.category.length > 0) {
filterText += `trails_via_summit_logs.category != null && '${filter.category.join(",")}' ~ trails_via_summit_logs.category`;
filterText += `trails_via_summit_logs.category!=null&&'${filter.category.join(",")}'~trails_via_summit_logs.category`;
}
if (filter.startDate) {
filterText += `${filter.category.length ? ' && ' : ''}date >= '${filter.startDate}'`
filterText += `${filter.category.length ? '&&' : ''}date>='${filter.startDate}'`
}
if (filter.endDate) {
filterText += `${filter.category.length || filter.startDate ? ' && ' : ''} date <= '${filter.endDate}'`
filterText += `${filter.category.length || filter.startDate ? '&&' : ''}date<='${filter.endDate}'`
}
return filterText;

View File

@@ -1,4 +1,4 @@
import type { User } from "$lib/models/user";
import type { User, UserAnonymous } from "$lib/models/user";
import { pb } from "$lib/pocketbase";
import { ClientResponseError, type AuthMethodsList } from "pocketbase";
import { writable, type Writable } from "svelte/store";
@@ -35,11 +35,11 @@ export async function users_search(q: string, includeSelf: boolean = true) {
}
}
export async function users_show(id: string) {
let r = await fetch(`/api/v1/user/anonymous/${id}`, {
export async function users_show(id: string, f: (url: RequestInfo | URL, config?: RequestInit) => Promise<Response> = fetch) {
let r = await f(`/api/v1/user/anonymous/${id}`, {
method: 'GET',
})
const response = await r.json()
const response: UserAnonymous = await r.json()
if (r.ok) {
return response;