Supabase Removals
This commit is contained in:
@@ -29,7 +29,6 @@
|
|||||||
"@infisical/sdk": "^4.0.6",
|
"@infisical/sdk": "^4.0.6",
|
||||||
"@mmote/niimbluelib": "^0.0.1-alpha.29",
|
"@mmote/niimbluelib": "^0.0.1-alpha.29",
|
||||||
"@prisma/client": "^6.15.0",
|
"@prisma/client": "^6.15.0",
|
||||||
"@supabase/supabase-js": "^2.56.1",
|
|
||||||
"@zip.js/zip.js": "^2.7.73",
|
"@zip.js/zip.js": "^2.7.73",
|
||||||
"archiver": "^7.0.1",
|
"archiver": "^7.0.1",
|
||||||
"axios": "^1.12.1",
|
"axios": "^1.12.1",
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
import Fastify from "fastify";
|
import Fastify from "fastify";
|
||||||
import swaggerPlugin from "./plugins/swagger"
|
import swaggerPlugin from "./plugins/swagger"
|
||||||
import supabasePlugin from "./plugins/supabase";
|
|
||||||
import dayjsPlugin from "./plugins/dayjs";
|
import dayjsPlugin from "./plugins/dayjs";
|
||||||
import healthRoutes from "./routes/health";
|
import healthRoutes from "./routes/health";
|
||||||
import meRoutes from "./routes/auth/me";
|
import meRoutes from "./routes/auth/me";
|
||||||
@@ -73,7 +72,6 @@ async function main() {
|
|||||||
|
|
||||||
// Plugins Global verfügbar
|
// Plugins Global verfügbar
|
||||||
await app.register(swaggerPlugin);
|
await app.register(swaggerPlugin);
|
||||||
await app.register(supabasePlugin);
|
|
||||||
await app.register(tenantPlugin);
|
await app.register(tenantPlugin);
|
||||||
await app.register(dayjsPlugin);
|
await app.register(dayjsPlugin);
|
||||||
await app.register(dbPlugin);
|
await app.register(dbPlugin);
|
||||||
|
|||||||
@@ -1,19 +0,0 @@
|
|||||||
import { FastifyInstance } from "fastify";
|
|
||||||
import fp from "fastify-plugin";
|
|
||||||
import { createClient, SupabaseClient } from "@supabase/supabase-js";
|
|
||||||
import {secrets} from "../utils/secrets";
|
|
||||||
|
|
||||||
export default fp(async (server: FastifyInstance) => {
|
|
||||||
const supabaseUrl = secrets.SUPABASE_URL
|
|
||||||
const supabaseServiceKey = secrets.SUPABASE_SERVICE_ROLE_KEY
|
|
||||||
const supabase: SupabaseClient = createClient(supabaseUrl, supabaseServiceKey);
|
|
||||||
|
|
||||||
// Fastify um supabase erweitern
|
|
||||||
server.decorate("supabase", supabase);
|
|
||||||
});
|
|
||||||
|
|
||||||
declare module "fastify" {
|
|
||||||
interface FastifyInstance {
|
|
||||||
supabase: SupabaseClient;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,6 +1,4 @@
|
|||||||
import { FastifyInstance } from "fastify";
|
import { FastifyInstance } from "fastify";
|
||||||
import jwt from "jsonwebtoken";
|
|
||||||
import {insertHistoryItem} from "../utils/history";
|
|
||||||
import {buildExportZip} from "../utils/export/datev";
|
import {buildExportZip} from "../utils/export/datev";
|
||||||
import {s3} from "../utils/s3";
|
import {s3} from "../utils/s3";
|
||||||
import {GetObjectCommand, PutObjectCommand} from "@aws-sdk/client-s3"
|
import {GetObjectCommand, PutObjectCommand} from "@aws-sdk/client-s3"
|
||||||
@@ -9,6 +7,8 @@ import dayjs from "dayjs";
|
|||||||
import {randomUUID} from "node:crypto";
|
import {randomUUID} from "node:crypto";
|
||||||
import {secrets} from "../utils/secrets";
|
import {secrets} from "../utils/secrets";
|
||||||
import {createSEPAExport} from "../utils/export/sepa";
|
import {createSEPAExport} from "../utils/export/sepa";
|
||||||
|
import {generatedexports} from "../../db/schema";
|
||||||
|
import {eq} from "drizzle-orm";
|
||||||
|
|
||||||
const createDatevExport = async (server:FastifyInstance,req:any,startDate,endDate,beraternr,mandantennr) => {
|
const createDatevExport = async (server:FastifyInstance,req:any,startDate,endDate,beraternr,mandantennr) => {
|
||||||
try {
|
try {
|
||||||
@@ -45,25 +45,21 @@ const createDatevExport = async (server:FastifyInstance,req:any,startDate,endDat
|
|||||||
|
|
||||||
console.log(url)
|
console.log(url)
|
||||||
|
|
||||||
// 5) In Supabase-DB speichern
|
// 5) In Haupt-DB speichern
|
||||||
const { data, error } = await server.supabase
|
const inserted = await server.db
|
||||||
.from("exports")
|
.insert(generatedexports)
|
||||||
.insert([
|
.values({
|
||||||
{
|
tenantId: req.user.tenant_id,
|
||||||
tenant_id: req.user.tenant_id,
|
startDate: new Date(startDate),
|
||||||
start_date: startDate,
|
endDate: new Date(endDate),
|
||||||
end_date: endDate,
|
validUntil: dayjs().add(24, "hours").toDate(),
|
||||||
valid_until: dayjs().add(24,"hours").toISOString(),
|
filePath: fileKey,
|
||||||
file_path: fileKey,
|
url,
|
||||||
url: url,
|
type: "datev",
|
||||||
created_at: new Date().toISOString(),
|
})
|
||||||
},
|
.returning()
|
||||||
])
|
|
||||||
.select()
|
|
||||||
.single()
|
|
||||||
|
|
||||||
console.log(data)
|
console.log(inserted[0])
|
||||||
console.log(error)
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.log(error)
|
console.log(error)
|
||||||
}
|
}
|
||||||
@@ -120,9 +116,22 @@ export default async function exportRoutes(server: FastifyInstance) {
|
|||||||
//List Exports Available for Download
|
//List Exports Available for Download
|
||||||
|
|
||||||
server.get("/exports", async (req,reply) => {
|
server.get("/exports", async (req,reply) => {
|
||||||
const {data,error} = await server.supabase.from("exports").select().eq("tenant_id",req.user.tenant_id)
|
const data = await server.db
|
||||||
|
.select({
|
||||||
|
id: generatedexports.id,
|
||||||
|
created_at: generatedexports.createdAt,
|
||||||
|
tenant_id: generatedexports.tenantId,
|
||||||
|
start_date: generatedexports.startDate,
|
||||||
|
end_date: generatedexports.endDate,
|
||||||
|
valid_until: generatedexports.validUntil,
|
||||||
|
type: generatedexports.type,
|
||||||
|
url: generatedexports.url,
|
||||||
|
file_path: generatedexports.filePath,
|
||||||
|
})
|
||||||
|
.from(generatedexports)
|
||||||
|
.where(eq(generatedexports.tenantId, req.user.tenant_id))
|
||||||
|
|
||||||
console.log(data,error)
|
console.log(data)
|
||||||
reply.send(data)
|
reply.send(data)
|
||||||
|
|
||||||
})
|
})
|
||||||
@@ -131,4 +140,4 @@ export default async function exportRoutes(server: FastifyInstance) {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,12 +3,11 @@ import { FastifyInstance } from "fastify";
|
|||||||
export default async function routes(server: FastifyInstance) {
|
export default async function routes(server: FastifyInstance) {
|
||||||
server.get("/ping", async () => {
|
server.get("/ping", async () => {
|
||||||
// Testquery gegen DB
|
// Testquery gegen DB
|
||||||
const { data, error } = await server.supabase.from("tenants").select("id").limit(1);
|
const result = await server.db.execute("SELECT NOW()");
|
||||||
|
|
||||||
return {
|
return {
|
||||||
status: "ok",
|
status: "ok",
|
||||||
db: error ? "not connected" : "connected",
|
db: JSON.stringify(result.rows[0]),
|
||||||
tenant_count: data?.length ?? 0
|
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -14,8 +14,6 @@ export let secrets = {
|
|||||||
PORT: number
|
PORT: number
|
||||||
HOST: string
|
HOST: string
|
||||||
DATABASE_URL: string
|
DATABASE_URL: string
|
||||||
SUPABASE_URL: string
|
|
||||||
SUPABASE_SERVICE_ROLE_KEY: string
|
|
||||||
S3_BUCKET: string
|
S3_BUCKET: string
|
||||||
ENCRYPTION_KEY: string
|
ENCRYPTION_KEY: string
|
||||||
MAILER_SMTP_HOST: string
|
MAILER_SMTP_HOST: string
|
||||||
|
|||||||
@@ -1,25 +0,0 @@
|
|||||||
|
|
||||||
export const useErrorLogging = (resourceType) => {
|
|
||||||
const supabase = useSupabaseClient()
|
|
||||||
const toast = useToast()
|
|
||||||
const profileStore = useProfileStore()
|
|
||||||
|
|
||||||
const logError = async (error) => {
|
|
||||||
let errorData = {
|
|
||||||
message: error,
|
|
||||||
tenant: profileStore.currentTenant,
|
|
||||||
profile: profileStore.activeProfile.id
|
|
||||||
}
|
|
||||||
|
|
||||||
const {data:supabaseData,error:supabaseError} = await supabase.from("errors").insert(errorData).select().single()
|
|
||||||
|
|
||||||
if(supabaseError) {
|
|
||||||
console.error(supabaseError)
|
|
||||||
} else if(supabaseData) {
|
|
||||||
return supabaseData.id
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
return { logError}
|
|
||||||
}
|
|
||||||
@@ -1,6 +1,5 @@
|
|||||||
|
|
||||||
export const useFiles = () => {
|
export const useFiles = () => {
|
||||||
const supabase = useSupabaseClient()
|
|
||||||
const toast = useToast()
|
const toast = useToast()
|
||||||
|
|
||||||
const auth = useAuthStore()
|
const auth = useAuthStore()
|
||||||
|
|||||||
@@ -1,61 +0,0 @@
|
|||||||
|
|
||||||
export const useNumberRange = (resourceType) => {
|
|
||||||
const supabase = useSupabaseClient()
|
|
||||||
|
|
||||||
const dataStore = useDataStore()
|
|
||||||
const profileStore = useProfileStore()
|
|
||||||
|
|
||||||
const numberRanges = profileStore.ownTenant.numberRanges
|
|
||||||
|
|
||||||
const numberRange = numberRanges[resourceType]
|
|
||||||
|
|
||||||
const useNextNumber = async () => {
|
|
||||||
|
|
||||||
let nextNumber = numberRange.nextNumber
|
|
||||||
|
|
||||||
let newNumberRanges = numberRanges
|
|
||||||
|
|
||||||
newNumberRanges[resourceType].nextNumber += 1
|
|
||||||
|
|
||||||
const {data,error} = await supabase
|
|
||||||
.from("tenants")
|
|
||||||
.update({numberRanges: newNumberRanges})
|
|
||||||
.eq('id',profileStore.currentTenant)
|
|
||||||
|
|
||||||
|
|
||||||
await profileStore.fetchOwnTenant()
|
|
||||||
|
|
||||||
return (numberRange.prefix ? numberRange.prefix : "") + nextNumber + (numberRange.suffix ? numberRange.suffix : "")
|
|
||||||
}
|
|
||||||
|
|
||||||
return { useNextNumber}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*export const useNumberRange = (resourceType) => {
|
|
||||||
const supabase = useSupabaseClient()
|
|
||||||
|
|
||||||
const {numberRanges} = storeToRefs(useDataStore())
|
|
||||||
const {fetchNumberRanges} = useDataStore()
|
|
||||||
|
|
||||||
const numberRange = numberRanges.value.find(range => range.resourceType === resourceType)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
const useNextNumber = async () => {
|
|
||||||
|
|
||||||
let nextNumber = numberRange.nextNumber
|
|
||||||
|
|
||||||
const {data,error} = await supabase
|
|
||||||
.from("numberranges")
|
|
||||||
.update({nextNumber: nextNumber + 1})
|
|
||||||
.eq('id',numberRange.id)
|
|
||||||
|
|
||||||
fetchNumberRanges()
|
|
||||||
|
|
||||||
return (numberRange.prefix ? numberRange.prefix : "") + nextNumber + (numberRange.suffix ? numberRange.suffix : "")
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
return { useNextNumber}
|
|
||||||
}*/
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
|
|
||||||
import Handlebars from "handlebars";
|
|
||||||
|
|
||||||
export const usePrintLabel = async (printServerId,printerName , rawZPL ) => {
|
|
||||||
const supabase = useSupabaseClient()
|
|
||||||
const dataStore = useDataStore()
|
|
||||||
const profileStore = useProfileStore()
|
|
||||||
|
|
||||||
await supabase.from("printJobs").insert({
|
|
||||||
tenant: profileStore.currentTenant,
|
|
||||||
rawContent: rawZPL,
|
|
||||||
printerName: printerName,
|
|
||||||
printServer: printServerId
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
export const useGenerateZPL = (rawZPL,data) => {
|
|
||||||
let template = Handlebars.compile(rawZPL)
|
|
||||||
|
|
||||||
return template(data)
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -34,12 +34,6 @@ export default defineNuxtConfig({
|
|||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
supabase: {
|
|
||||||
key: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InV3cHB2Y3hmbHJjc2lidXpzYmlsIiwicm9sZSI6ImFub24iLCJpYXQiOjE3MDA5MzgxOTQsImV4cCI6MjAxNjUxNDE5NH0.CkxYSQH0uLfwx9GVUlO6AYMU2FMLAxGMrwEKvyPv7Oo",
|
|
||||||
url: "https://uwppvcxflrcsibuzsbil.supabase.co",
|
|
||||||
redirect: false
|
|
||||||
},
|
|
||||||
|
|
||||||
vite: {
|
vite: {
|
||||||
resolve: {
|
resolve: {
|
||||||
dedupe: [
|
dedupe: [
|
||||||
|
|||||||
@@ -12,7 +12,6 @@
|
|||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@capacitor/cli": "^7.0.0",
|
"@capacitor/cli": "^7.0.0",
|
||||||
"@nuxtjs/leaflet": "^1.2.3",
|
"@nuxtjs/leaflet": "^1.2.3",
|
||||||
"@nuxtjs/supabase": "^1.1.4",
|
|
||||||
"@vite-pwa/nuxt": "^1.1.0",
|
"@vite-pwa/nuxt": "^1.1.0",
|
||||||
"@vueuse/core": "^14.1.0",
|
"@vueuse/core": "^14.1.0",
|
||||||
"@vueuse/nuxt": "^14.1.0",
|
"@vueuse/nuxt": "^14.1.0",
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
import {defineStore} from 'pinia'
|
import {defineStore} from 'pinia'
|
||||||
import dayjs from "dayjs"
|
import dayjs from "dayjs"
|
||||||
//import {typeOf} from "uri-js/dist/esnext/util";
|
//import {typeOf} from "uri-js/dist/esnext/util";
|
||||||
import {useNumberRange} from "~/composables/useNumberRange.js";
|
|
||||||
|
|
||||||
|
|
||||||
import projecttype from "~/components/columnRenderings/projecttype.vue"
|
import projecttype from "~/components/columnRenderings/projecttype.vue"
|
||||||
|
|||||||
Reference in New Issue
Block a user