hazo_connect 2.4.4 → 2.4.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +55 -4
- package/dist/adapters/base-adapter.d.ts +2 -2
- package/dist/adapters/base-adapter.d.ts.map +1 -1
- package/dist/adapters/base-adapter.js +6 -6
- package/dist/adapters/base-adapter.js.map +1 -1
- package/dist/adapters/file-adapter.d.ts +3 -3
- package/dist/adapters/file-adapter.d.ts.map +1 -1
- package/dist/adapters/file-adapter.js +5 -5
- package/dist/adapters/file-adapter.js.map +1 -1
- package/dist/adapters/postgrest-adapter.d.ts +3 -3
- package/dist/adapters/postgrest-adapter.d.ts.map +1 -1
- package/dist/adapters/postgrest-adapter.js +9 -9
- package/dist/adapters/postgrest-adapter.js.map +1 -1
- package/dist/adapters/sqlite-adapter.d.ts +3 -3
- package/dist/adapters/sqlite-adapter.d.ts.map +1 -1
- package/dist/adapters/sqlite-adapter.js +30 -30
- package/dist/adapters/sqlite-adapter.js.map +1 -1
- package/dist/adapters/supabase-adapter.d.ts +3 -3
- package/dist/adapters/supabase-adapter.d.ts.map +1 -1
- package/dist/adapters/supabase-adapter.js +14 -14
- package/dist/adapters/supabase-adapter.js.map +1 -1
- package/dist/default-logger.d.ts +2 -2
- package/dist/default-logger.d.ts.map +1 -1
- package/dist/default-logger.js +5 -5
- package/dist/default-logger.js.map +1 -1
- package/dist/factory.d.ts +1 -1
- package/dist/factory.d.ts.map +1 -1
- package/dist/factory.js +11 -11
- package/dist/factory.js.map +1 -1
- package/dist/helpers.d.ts +2 -2
- package/dist/helpers.d.ts.map +1 -1
- package/dist/helpers.js +69 -13
- package/dist/helpers.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/nextjs/api-route-helpers.d.ts +1 -1
- package/dist/nextjs/api-route-helpers.d.ts.map +1 -1
- package/dist/nextjs/api-route-helpers.js +3 -3
- package/dist/nextjs/api-route-helpers.js.map +1 -1
- package/dist/nextjs/index.d.ts +4 -4
- package/dist/nextjs/index.d.ts.map +1 -1
- package/dist/nextjs/index.js +11 -11
- package/dist/nextjs/index.js.map +1 -1
- package/dist/nextjs/server-only.d.ts +1 -1
- package/dist/nextjs/server-only.d.ts.map +1 -1
- package/dist/nextjs/server-only.js +1 -1
- package/dist/nextjs/server-only.js.map +1 -1
- package/dist/nextjs/setup-helpers.d.ts +1 -1
- package/dist/nextjs/setup-helpers.d.ts.map +1 -1
- package/dist/nextjs/setup-helpers.js +7 -7
- package/dist/nextjs/setup-helpers.js.map +1 -1
- package/dist/server/index.d.ts +20 -20
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +47 -47
- package/dist/server/index.js.map +1 -1
- package/dist/ui/index.d.ts +3 -3
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/index.js +2 -2
- package/dist/ui/index.js.map +1 -1
- package/dist/utils/assertions.js +3 -3
- package/dist/utils/assertions.js.map +1 -1
- package/package.json +30 -5
- package/app/hazo_connect/api/sqlite/data/route.ts +0 -197
- package/app/hazo_connect/api/sqlite/schema/route.ts +0 -34
- package/app/hazo_connect/api/sqlite/tables/route.ts +0 -25
- package/app/hazo_connect/middleware.ts +0 -40
- package/app/hazo_connect/sqlite_admin/page.tsx +0 -29
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { NextRequest, NextResponse } from "next/server"
|
|
2
|
-
import { getSqliteAdminService } from "hazo_connect/server"
|
|
3
|
-
import { getHazoConnectSingleton } from "hazo_connect/nextjs/setup"
|
|
4
|
-
|
|
5
|
-
export const dynamic = "force-dynamic"
|
|
6
|
-
|
|
7
|
-
export async function GET(request: NextRequest) {
|
|
8
|
-
// Initialize the singleton to ensure the adapter is registered with the admin service
|
|
9
|
-
getHazoConnectSingleton()
|
|
10
|
-
const service = getSqliteAdminService()
|
|
11
|
-
const url = new URL(request.url)
|
|
12
|
-
const table = url.searchParams.get("table")
|
|
13
|
-
|
|
14
|
-
if (!table) {
|
|
15
|
-
return NextResponse.json(
|
|
16
|
-
{ error: "Query parameter 'table' is required." },
|
|
17
|
-
{ status: 400 }
|
|
18
|
-
)
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
try {
|
|
22
|
-
const schema = await service.getTableSchema(table)
|
|
23
|
-
return NextResponse.json({ data: schema })
|
|
24
|
-
} catch (error) {
|
|
25
|
-
return toErrorResponse(error, `Failed to load schema for table '${table}'`)
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
function toErrorResponse(error: unknown, fallback: string) {
|
|
30
|
-
const message = error instanceof Error ? error.message : fallback
|
|
31
|
-
const status = message.toLowerCase().includes("required") ? 400 : 500
|
|
32
|
-
return NextResponse.json({ error: message }, { status })
|
|
33
|
-
}
|
|
34
|
-
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { NextResponse } from "next/server"
|
|
2
|
-
import { getSqliteAdminService } from "hazo_connect/server"
|
|
3
|
-
import { getHazoConnectSingleton } from "hazo_connect/nextjs/setup"
|
|
4
|
-
|
|
5
|
-
export const dynamic = "force-dynamic"
|
|
6
|
-
|
|
7
|
-
export async function GET() {
|
|
8
|
-
try {
|
|
9
|
-
// Initialize the singleton to ensure the adapter is registered with the admin service
|
|
10
|
-
getHazoConnectSingleton()
|
|
11
|
-
|
|
12
|
-
const service = getSqliteAdminService()
|
|
13
|
-
const tables = await service.listTables()
|
|
14
|
-
return NextResponse.json({ data: tables })
|
|
15
|
-
} catch (error) {
|
|
16
|
-
return toErrorResponse(error, "Failed to list SQLite tables")
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
function toErrorResponse(error: unknown, fallback: string) {
|
|
21
|
-
const message = error instanceof Error ? error.message : fallback
|
|
22
|
-
const status = message.toLowerCase().includes("required") ? 400 : 500
|
|
23
|
-
return NextResponse.json({ error: message }, { status })
|
|
24
|
-
}
|
|
25
|
-
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Purpose: Middleware to check if SQLite admin UI is enabled before allowing access to routes.
|
|
3
|
-
*
|
|
4
|
-
* This middleware ensures that the admin UI routes are only accessible when explicitly enabled
|
|
5
|
-
* in the hazo_connect configuration.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
import { NextResponse } from "next/server"
|
|
9
|
-
import type { NextRequest } from "next/server"
|
|
10
|
-
|
|
11
|
-
export function middleware(request: NextRequest) {
|
|
12
|
-
// Check if this is an admin UI route
|
|
13
|
-
if (
|
|
14
|
-
request.nextUrl.pathname.startsWith("/hazo_connect/sqlite_admin") ||
|
|
15
|
-
request.nextUrl.pathname.startsWith("/hazo_connect/api/sqlite")
|
|
16
|
-
) {
|
|
17
|
-
// Check if admin UI is enabled via environment variable or config
|
|
18
|
-
// The admin service will throw an error if not enabled, but we can provide a better message here
|
|
19
|
-
const adminUiEnabled =
|
|
20
|
-
process.env.HAZO_CONNECT_ENABLE_ADMIN_UI === "true" ||
|
|
21
|
-
process.env.ENABLE_SQLITE_ADMIN_UI === "true"
|
|
22
|
-
|
|
23
|
-
if (!adminUiEnabled) {
|
|
24
|
-
return NextResponse.json(
|
|
25
|
-
{
|
|
26
|
-
error:
|
|
27
|
-
"SQLite admin UI is not enabled. Set 'enable_admin_ui: true' in your hazo_connect configuration or set HAZO_CONNECT_ENABLE_ADMIN_UI=true environment variable."
|
|
28
|
-
},
|
|
29
|
-
{ status: 403 }
|
|
30
|
-
)
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
return NextResponse.next()
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
export const config = {
|
|
38
|
-
matcher: ["/hazo_connect/sqlite_admin/:path*", "/hazo_connect/api/sqlite/:path*"]
|
|
39
|
-
}
|
|
40
|
-
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { getSqliteAdminService } from "hazo_connect/server"
|
|
2
|
-
import { getHazoConnectSingleton } from "hazo_connect/nextjs/setup"
|
|
3
|
-
import { SqliteAdminClient } from "hazo_connect/ui"
|
|
4
|
-
|
|
5
|
-
export const dynamic = "force-dynamic"
|
|
6
|
-
|
|
7
|
-
export default async function SqliteAdminPage() {
|
|
8
|
-
// Initialize the singleton to ensure the adapter is registered with the admin service
|
|
9
|
-
getHazoConnectSingleton()
|
|
10
|
-
const service = getSqliteAdminService()
|
|
11
|
-
|
|
12
|
-
try {
|
|
13
|
-
const tables = await service.listTables()
|
|
14
|
-
return <SqliteAdminClient initialTables={tables} />
|
|
15
|
-
} catch (error) {
|
|
16
|
-
const message =
|
|
17
|
-
error instanceof Error ? error.message : "Failed to initialise SQLite admin UI."
|
|
18
|
-
|
|
19
|
-
return (
|
|
20
|
-
<section className="mx-auto flex max-w-4xl flex-col gap-4 p-6">
|
|
21
|
-
<h1 className="text-2xl font-semibold text-slate-900">SQLite Admin</h1>
|
|
22
|
-
<p className="rounded-md border border-red-200 bg-red-50 p-4 text-sm text-red-700">
|
|
23
|
-
{message}
|
|
24
|
-
</p>
|
|
25
|
-
</section>
|
|
26
|
-
)
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
|