Switched from eslint and prettier to biome
This commit is contained in:
20
assets/env.d.ts
vendored
20
assets/env.d.ts
vendored
@@ -1,14 +1,12 @@
|
||||
import type { TypedPocketbase } from "../../../src/lib/pocketbase/schemas";
|
||||
import type { helpersFrom } from "astro-pocketbase-continue";
|
||||
import type { TypedPocketbase } from '../../../src/lib/pocketbase/schemas'
|
||||
import type { helpersFrom } from 'astro-pocketbase-continue'
|
||||
|
||||
declare global {
|
||||
namespace App {
|
||||
interface Locals {
|
||||
pocketbase: TypedPocketbase;
|
||||
getRecord: ReturnType<typeof helpersFrom>["getRecord"];
|
||||
getRecords: ReturnType<typeof helpersFrom>["getRecords"];
|
||||
}
|
||||
}
|
||||
namespace App {
|
||||
interface Locals {
|
||||
pocketbase: TypedPocketbase
|
||||
getRecord: ReturnType<typeof helpersFrom>['getRecord']
|
||||
getRecords: ReturnType<typeof helpersFrom>['getRecords']
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export {};
|
||||
|
||||
@@ -1,59 +1,69 @@
|
||||
// This file was automatically generated by Astro PocketBase.
|
||||
|
||||
import type { Collection, TypedPocketbase } from "./schemas";
|
||||
import type { LoaderContext } from "astro/loaders";
|
||||
import Pocketbase from "pocketbase";
|
||||
import Client from "pocketbase";
|
||||
import type { RecordAuthResponse, } from "pocketbase";
|
||||
import type { LoaderContext } from 'astro/loaders'
|
||||
import type Client from 'pocketbase'
|
||||
import type { RecordAuthResponse } from 'pocketbase'
|
||||
import Pocketbase from 'pocketbase'
|
||||
import type { Collection, TypedPocketbase } from './schemas'
|
||||
|
||||
let pocketbase: TypedPocketbase;
|
||||
let auth: Promise<RecordAuthResponse<Client>>;
|
||||
let isAuthenticating = false;
|
||||
let pocketbase: TypedPocketbase
|
||||
let auth: Promise<RecordAuthResponse<Client>>
|
||||
let isAuthenticating = false
|
||||
|
||||
export function pocketbaseLoader({ collection }: PocketbaseLoaderOptions) {
|
||||
return {
|
||||
name: "pocketbase-loader",
|
||||
load: async ({ store, logger, meta, parseData }: LoaderContext) => {
|
||||
const { ASTRO_POCKETBASE_ADMIN_EMAIL, ASTRO_POCKETBASE_ADMIN_PASSWORD, PUBLIC_ASTRO_POCKETBASE_URL } = import.meta.env;
|
||||
if (!ASTRO_POCKETBASE_ADMIN_EMAIL || !ASTRO_POCKETBASE_ADMIN_PASSWORD || !PUBLIC_ASTRO_POCKETBASE_URL)
|
||||
return logger.error("Environment variables not set");
|
||||
return {
|
||||
name: 'pocketbase-loader',
|
||||
load: async ({ store, logger, meta, parseData }: LoaderContext) => {
|
||||
const {
|
||||
ASTRO_POCKETBASE_ADMIN_EMAIL,
|
||||
ASTRO_POCKETBASE_ADMIN_PASSWORD,
|
||||
PUBLIC_ASTRO_POCKETBASE_URL,
|
||||
} = import.meta.env
|
||||
if (
|
||||
!ASTRO_POCKETBASE_ADMIN_EMAIL ||
|
||||
!ASTRO_POCKETBASE_ADMIN_PASSWORD ||
|
||||
!PUBLIC_ASTRO_POCKETBASE_URL
|
||||
)
|
||||
return logger.error('Environment variables not set')
|
||||
|
||||
logger.info(`Loading ${collection}`);
|
||||
logger.info(`Loading ${collection}`)
|
||||
|
||||
if (!pocketbase) pocketbase = new Pocketbase(PUBLIC_ASTRO_POCKETBASE_URL);
|
||||
if (!pocketbase) pocketbase = new Pocketbase(PUBLIC_ASTRO_POCKETBASE_URL)
|
||||
|
||||
try {
|
||||
if (!isAuthenticating && !pocketbase.authStore.isValid) {
|
||||
isAuthenticating = true;
|
||||
auth = pocketbase.collection("_superusers").authWithPassword(ASTRO_POCKETBASE_ADMIN_EMAIL, ASTRO_POCKETBASE_ADMIN_PASSWORD);
|
||||
}
|
||||
await auth;
|
||||
try {
|
||||
if (!isAuthenticating && !pocketbase.authStore.isValid) {
|
||||
isAuthenticating = true
|
||||
auth = pocketbase
|
||||
.collection('_superusers')
|
||||
.authWithPassword(ASTRO_POCKETBASE_ADMIN_EMAIL, ASTRO_POCKETBASE_ADMIN_PASSWORD)
|
||||
}
|
||||
await auth
|
||||
|
||||
const lastUpdatedItems = await pocketbase
|
||||
.collection(collection)
|
||||
.getList(1, 1, { fields: "updated", skipTotal: true, sort: "updated", order: "desc" });
|
||||
const lastUpdated = lastUpdatedItems.items[0]?.updated;
|
||||
const lastUpdatedItems = await pocketbase
|
||||
.collection(collection)
|
||||
.getList(1, 1, { fields: 'updated', skipTotal: true, sort: 'updated', order: 'desc' })
|
||||
const lastUpdated = lastUpdatedItems.items[0]?.updated
|
||||
|
||||
if (lastUpdated !== meta.get("last-updated")) {
|
||||
logger.info(`Refreshing ${collection}`);
|
||||
if (lastUpdated !== meta.get('last-updated')) {
|
||||
logger.info(`Refreshing ${collection}`)
|
||||
|
||||
meta.set("last-updated", lastUpdated);
|
||||
const items = await pocketbase.collection(collection).getFullList();
|
||||
for (const { id, updated, ...rest } of items) {
|
||||
const data = await parseData({ id, data: { id, updated, ...rest } });
|
||||
store.set({ data, digest: updated, id });
|
||||
}
|
||||
}
|
||||
meta.set('last-updated', lastUpdated)
|
||||
const items = await pocketbase.collection(collection).getFullList()
|
||||
for (const { id, updated, ...rest } of items) {
|
||||
const data = await parseData({ id, data: { id, updated, ...rest } })
|
||||
store.set({ data, digest: updated, id })
|
||||
}
|
||||
}
|
||||
|
||||
logger.info(`Loaded ${collection}`);
|
||||
} catch (error) {
|
||||
logger.error(`Error fetching ${collection}: ${error}`);
|
||||
return;
|
||||
}
|
||||
},
|
||||
};
|
||||
logger.info(`Loaded ${collection}`)
|
||||
} catch (error) {
|
||||
logger.error(`Error fetching ${collection}: ${error}`)
|
||||
return
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
export type PocketbaseLoaderOptions = {
|
||||
collection: Collection;
|
||||
};
|
||||
collection: Collection
|
||||
}
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
// This file was automatically generated by Astro PocketBase.
|
||||
|
||||
import { defineMiddleware } from "astro:middleware";
|
||||
import { helpersFrom } from "astro-pocketbase-continue";
|
||||
import PocketBase from "pocketbase";
|
||||
import { defineMiddleware } from 'astro:middleware'
|
||||
import { helpersFrom } from 'astro-pocketbase-continue'
|
||||
import PocketBase from 'pocketbase'
|
||||
|
||||
const middleware = defineMiddleware((context, next) => {
|
||||
const pocketbase = new PocketBase(import.meta.env.PUBLIC_ASTRO_POCKETBASE_URL);
|
||||
const { getRecord, getRecords } = helpersFrom({ pocketbase });
|
||||
context.locals.pocketbase = pocketbase;
|
||||
context.locals.getRecord = getRecord;
|
||||
context.locals.getRecords = getRecords;
|
||||
return next();
|
||||
});
|
||||
const pocketbase = new PocketBase(import.meta.env.PUBLIC_ASTRO_POCKETBASE_URL)
|
||||
const { getRecord, getRecords } = helpersFrom({ pocketbase })
|
||||
context.locals.pocketbase = pocketbase
|
||||
context.locals.getRecord = getRecord
|
||||
context.locals.getRecords = getRecords
|
||||
return next()
|
||||
})
|
||||
|
||||
// You should NOT change the exported name as it is used by the Astro PocketBase integration.
|
||||
export { middleware as onRequest };
|
||||
export { middleware as onRequest }
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
import { defineToolbarApp } from "astro/toolbar";
|
||||
import { defineToolbarApp } from 'astro/toolbar'
|
||||
|
||||
export default defineToolbarApp({
|
||||
init(_canvas, app, server) {
|
||||
let pending = false;
|
||||
init(_canvas, app, server) {
|
||||
let pending = false
|
||||
|
||||
// const button = document.querySelector("astro-dev-toolbar")?.shadowRoot.querySelector("button[data-app-id='astro-pocketbase-continue']");
|
||||
// const button = document.querySelector("astro-dev-toolbar")?.shadowRoot.querySelector("button[data-app-id='astro-pocketbase-continue']");
|
||||
|
||||
app.onToggled(({ state }) => {
|
||||
if (!state) return;
|
||||
app.toggleNotification({ level: "error", state: true });
|
||||
if (pending) return;
|
||||
pending = true;
|
||||
server.send("astro-pocketbase-continue:refresh", undefined);
|
||||
});
|
||||
},
|
||||
});
|
||||
app.onToggled(({ state }) => {
|
||||
if (!state) return
|
||||
app.toggleNotification({ level: 'error', state: true })
|
||||
if (pending) return
|
||||
pending = true
|
||||
server.send('astro-pocketbase-continue:refresh', undefined)
|
||||
})
|
||||
},
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user