import { Enums } from "#lib/client/prisma.js";

export const API_ACCESS_TOKEN_COOKIE_NAME = "accessToken";
export const API_REFRESH_TOKEN_COOKIE_NAME = "refreshToken";
export const API_UID_COOKIE_NAME = "uid";

export enum VALID_UUID_PREFIXES {
	"auf" = "Aufnahme",
	"obj" = "Objekt",
	"vaw" = "Verbrauchsausweis Wohnen",
	"vag" = "Verbrauchsausweis Gewerbe",
	"baw" = "Bedarfsausweis Wohnen",
	"bag" = "Bedarfsausweis Gewerbe",
	"usr" = "User",
	"ant" = "Anteilshaber",
	"evt" = "Event",
	"img" = "Bild",
	"inv" = "Rechnung",
	"tkt" = "Ticket",
	"pln" = "Gebäude Plan",
	"gnw" = "GEG Nachweis Wohnen",
	"gng" = "GEG Nachweis Gewerbe",
	"gge" = "GEG Einpreisung",
} 

/**
 * Ein Objekt welches alle definierten Preise für unsere Basisprodukte enthält.
 */
export const PRICES: Record<Enums.Ausweisart, Record<Enums.AusweisTyp, number>> = {
	// per E-Mail , inkl.Beratung, offline

	BedarfsausweisWohnen: {
		[Enums.AusweisTyp.Standard]: 95,
		[Enums.AusweisTyp.Beratung]: 125,
		[Enums.AusweisTyp.Offline]: 295
	},
	VerbrauchsausweisWohnen: {
		[Enums.AusweisTyp.Standard]: 65,
		[Enums.AusweisTyp.Beratung]: 95,
		[Enums.AusweisTyp.Offline]: 180
	},
	VerbrauchsausweisGewerbe: {
		[Enums.AusweisTyp.Standard]: 95,
		[Enums.AusweisTyp.Beratung]: 125,
		[Enums.AusweisTyp.Offline]: 360
	},
	BedarfsausweisGewerbe: {
		[Enums.AusweisTyp.Standard]: 500,
		[Enums.AusweisTyp.Beratung]: 700,
		[Enums.AusweisTyp.Offline]: 1000
	},
	GEGNachweisWohnen: {
		[Enums.AusweisTyp.Standard]: 500,
		[Enums.AusweisTyp.Beratung]: 700,
		[Enums.AusweisTyp.Offline]: 1000
	},
	GEGNachweisGewerbe: {
		[Enums.AusweisTyp.Standard]: 800,
		[Enums.AusweisTyp.Beratung]: 1000,
		[Enums.AusweisTyp.Offline]: 1300
	}

};

export const SERVICES: Record<
	Enums.Ausweisart,
	Record<Enums.Service, number>
> = {
	BedarfsausweisWohnen: {
		Qualitaetsdruck: 9,
		Aushang: 10,
		SameDay: 29,
		Telefonberatung: 30,
	},
	VerbrauchsausweisWohnen: {
		Qualitaetsdruck: 9,
		Aushang: 10,
		SameDay: 29,
		Telefonberatung: 20,
	},
	VerbrauchsausweisGewerbe: {
		Qualitaetsdruck: 9,
		Aushang: 10,
		SameDay: 29,
		Telefonberatung: 25,
	},
	BedarfsausweisGewerbe: {
		Aushang: 0,
		Qualitaetsdruck: 0,
		SameDay: 0,
		Telefonberatung: 0,
	},
};

export const BASE_URI = process.env.NODE_ENV == "production" ? "https://online-energieausweis.org" : "http://localhost:3000";
export const LEX_OFFICE_API_KEY = process.env.NODE_ENV == "production" ? "iwQLCU_ZAq6bVV7hmR8RO8MiC8Q" : "znjmkmbA3Hbx9dC7wdKp7TnOf1pcRl_tCUwEBZys7bj-QRPG"
