fix(auth): SDK'yı kaldırıp ince REST katmanına geç (lib/appwrite-rest.ts)
Sorun: - node-appwrite v20-25 hepsi Node 26'da bozuk (node-fetch-native-with-agent polyfill) - appwrite browser SDK Server Action context'inde 'unexpected response' veriyor (büyük olasılıkla browser-only global'ları kontrol ederken) Çözüm: - Tüm Appwrite SDK'larını sil (appwrite + node-appwrite) - lib/appwrite-rest.ts: native fetch üzerinde ~250 satırlık ince REST wrapper - account: createEmailPasswordSession, get, deleteSession - tablesDB: listRows, getRow, createRow, updateRow, deleteRow - storage: listFiles, createFile, deleteFile, fileViewUrl - Q helpers: equal, orderAsc/Desc, limit, offset - AppwriteError class - Session secret cookie tabanlı auth korundu (isletmem-kovakcrm'deki desen) - Tüm CRUD action ve query'ler REST katmanına bağlandı End-to-end test edildi: ✓ Login (proper 401 hata mesajları, başarılı durumda redirect) ✓ Public read (services, blog, testimonials) ✓ Anonim create (contact form) ✓ Build (24 route) ✓ Sıfır SDK bağımlılığı — Node 26 sorunu yok
This commit is contained in:
+10
-8
@@ -1,6 +1,8 @@
|
||||
import type { Models } from "appwrite";
|
||||
import type { AwRow } from "@/lib/appwrite-rest";
|
||||
|
||||
export interface ServiceRow extends Models.Row {
|
||||
export type Row = AwRow;
|
||||
|
||||
export interface ServiceRow extends AwRow {
|
||||
slug: string;
|
||||
title: string;
|
||||
description: string;
|
||||
@@ -9,7 +11,7 @@ export interface ServiceRow extends Models.Row {
|
||||
featured?: boolean | null;
|
||||
}
|
||||
|
||||
export interface ProjectRow extends Models.Row {
|
||||
export interface ProjectRow extends AwRow {
|
||||
slug: string;
|
||||
title: string;
|
||||
description: string;
|
||||
@@ -21,7 +23,7 @@ export interface ProjectRow extends Models.Row {
|
||||
featured?: boolean | null;
|
||||
}
|
||||
|
||||
export interface BlogPostRow extends Models.Row {
|
||||
export interface BlogPostRow extends AwRow {
|
||||
slug: string;
|
||||
title: string;
|
||||
excerpt?: string | null;
|
||||
@@ -37,7 +39,7 @@ export interface BlogPostRow extends Models.Row {
|
||||
seo_image?: string | null;
|
||||
}
|
||||
|
||||
export interface TestimonialRow extends Models.Row {
|
||||
export interface TestimonialRow extends AwRow {
|
||||
name: string;
|
||||
role?: string | null;
|
||||
company?: string | null;
|
||||
@@ -48,7 +50,7 @@ export interface TestimonialRow extends Models.Row {
|
||||
featured?: boolean | null;
|
||||
}
|
||||
|
||||
export interface SeoPageRow extends Models.Row {
|
||||
export interface SeoPageRow extends AwRow {
|
||||
path: string;
|
||||
title?: string | null;
|
||||
description?: string | null;
|
||||
@@ -57,7 +59,7 @@ export interface SeoPageRow extends Models.Row {
|
||||
noindex?: boolean | null;
|
||||
}
|
||||
|
||||
export interface SeoSettingsRow extends Models.Row {
|
||||
export interface SeoSettingsRow extends AwRow {
|
||||
site_name?: string | null;
|
||||
site_description?: string | null;
|
||||
default_og_image?: string | null;
|
||||
@@ -69,7 +71,7 @@ export interface SeoSettingsRow extends Models.Row {
|
||||
gtm_id?: string | null;
|
||||
}
|
||||
|
||||
export interface ContactMessageRow extends Models.Row {
|
||||
export interface ContactMessageRow extends AwRow {
|
||||
name: string;
|
||||
email: string;
|
||||
phone?: string | null;
|
||||
|
||||
Reference in New Issue
Block a user