vegwatch-dzz — API
AccessRole
Заголовок раздела «AccessRole»export type AccessRole = "admin" | "analyst" | "viewer";UserProfile
Заголовок раздела «UserProfile»export type UserProfile = { id: string; email: string; displayName: string; role: AccessRole;};getOrCreateProfile
Заголовок раздела «getOrCreateProfile»export async function getOrCreateProfile(user: ChatGPTUser): Promise<UserProfile>getRequestProfile
Заголовок раздела «getRequestProfile»export async function getRequestProfile(): Promise<UserProfile | null>canUpload
Заголовок раздела «canUpload»export function canUpload(role: AccessRole)isLocalAuthEnabled
Заголовок раздела «isLocalAuthEnabled»export function isLocalAuthEnabled()normalizeEmail
Заголовок раздела «normalizeEmail»export function normalizeEmail(value: string)validatePassword
Заголовок раздела «validatePassword»export function validatePassword(value: string)getLocalAuthenticatedUser
Заголовок раздела «getLocalAuthenticatedUser»export async function getLocalAuthenticatedUser( requestHeaders: Pick<Headers, "get">,): Promise<ChatGPTUser | null>authenticateLocalUser
Заголовок раздела «authenticateLocalUser»export async function authenticateLocalUser( emailValue: string, password: string,): Promise<UserProfile | null>createLocalUser
Заголовок раздела «createLocalUser»export async function createLocalUser(input: { email: string; displayName: string; password: string; role: AccessRole;})createLocalSession
Заголовок раздела «createLocalSession»export async function createLocalSession(userId: string)deleteLocalSession
Заголовок раздела «deleteLocalSession»export async function deleteLocalSession(cookieHeader: string | null)sessionCookie
Заголовок раздела «sessionCookie»export function sessionCookie(token: string, request: Request)clearSessionCookie
Заголовок раздела «clearSessionCookie»export function clearSessionCookie(request: Request)export function cn(...inputs: ClassValue[]): stringSeriesPoint
Заголовок раздела «SeriesPoint»export type SeriesPoint = { date: string; label: string; value: number; baseline: number; lower: number; anomaly: boolean;};FieldZone
Заголовок раздела «FieldZone»export type FieldZone = { id: string; name: string; score: number; status: "normal" | "watch" | "critical"; path: string;};formatDate
Заголовок раздела «formatDate»export function formatDate(value: string)export function median(values: number[])buildSeriesFromCsv
Заголовок раздела «buildSeriesFromCsv»export function buildSeriesFromCsv(text: string): SeriesPoint[]