Merge branch 'dev' of https://git.peaceultime.com/Peaceultime/obsidian-visualiser into dev
This commit is contained in:
commit
78a101b79d
|
|
@ -1,7 +1,6 @@
|
|||
import { Database } from "bun:sqlite";
|
||||
import { BunSQLiteDatabase, drizzle } from "drizzle-orm/bun-sqlite";
|
||||
import * as schema from '../db/schema';
|
||||
import { eq, or, sql } from "drizzle-orm";
|
||||
|
||||
let instance: BunSQLiteDatabase<typeof schema> & {
|
||||
$client: Database;
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ interface Parser
|
|||
}
|
||||
export default function useMarkdown(): Parser
|
||||
{
|
||||
let processor: Processor, processorSync: Processor;
|
||||
let processor: Processor, processorText: Processor;
|
||||
|
||||
const parse = (markdown: string) => {
|
||||
if (!processor)
|
||||
|
|
@ -43,14 +43,14 @@ export default function useMarkdown(): Parser
|
|||
}
|
||||
|
||||
const text = (markdown: string) => {
|
||||
if (!processor)
|
||||
if (!processorText)
|
||||
{
|
||||
processor = unified().use([RemarkParse, RemarkGfm, RemarkOfm, RemarkBreaks, RemarkFrontmatter ]);
|
||||
processor.use(StripMarkdown, { remove: [ 'comment', 'tag', 'callout' ] });
|
||||
processor.use(RemarkStringify);
|
||||
processorText = unified().use([RemarkParse, RemarkGfm, RemarkOfm, RemarkBreaks, RemarkFrontmatter ]);
|
||||
processorText.use(StripMarkdown, { remove: [ 'comment', 'tag', 'callout' ] });
|
||||
processorText.use(RemarkStringify);
|
||||
}
|
||||
|
||||
const processed = processor.processSync(markdown);
|
||||
const processed = processorText.processSync(markdown);
|
||||
return String(processed);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@ export default defineEventHandler(async (e): Promise<Return> => {
|
|||
|
||||
logSession(e, await setUserSession(e, { user: { id: id.id, username: body.data.username, email: body.data.email, state: 0, signin: new Date(), permissions: [], lastTimestamp: new Date() } }) as UserSessionRequired);
|
||||
|
||||
const emailId = Bun.hash('register' + id.id + hash, Date.now());
|
||||
const emailId = Bun.hash('register' + id.id + hash, Date.now()).toString(10);
|
||||
const timestamp = Date.now() + 1000 * 60 * 60;
|
||||
|
||||
await runTask('validation', {
|
||||
|
|
@ -90,7 +90,7 @@ export default defineEventHandler(async (e): Promise<Return> => {
|
|||
template: 'registration',
|
||||
data: {
|
||||
id: emailId, timestamp,
|
||||
userId: id,
|
||||
userId: id.id,
|
||||
username: body.data.username,
|
||||
},
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ export default defineEventHandler(async (e) => {
|
|||
|
||||
if(result && result.id)
|
||||
{
|
||||
const id = hash('reset' + result.id + result.hash, Date.now());
|
||||
const id = hash('reset' + result.id + result.hash, Date.now()).toString(10);
|
||||
const timestamp = Date.now() + 1000 * 60 * 60;
|
||||
await runTask('validation', {
|
||||
payload: {
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ export default defineEventHandler(async (e) => {
|
|||
return;
|
||||
}
|
||||
|
||||
const emailId = hash('register' + data.id + data.hash, Date.now());
|
||||
const emailId = hash('register' + data.id + data.hash, Date.now()).toString(10);
|
||||
const timestamp = Date.now() + 1000 * 60 * 60;
|
||||
|
||||
await runTask('validation', {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
import { dom, text } from "#shared/dom.virtual.util";
|
||||
import { format } from "#shared/general.util";
|
||||
|
||||
export default function(data: any)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -16,6 +16,8 @@ export default defineEventHandler(async (e) => {
|
|||
if(!query.success)
|
||||
throw query.error;
|
||||
|
||||
const date = new Date();
|
||||
|
||||
if(Bun.hash('1' + query.data.u.toString(), query.data.t).toString() !== query.data.h)
|
||||
{
|
||||
return createError({
|
||||
|
|
@ -23,7 +25,7 @@ export default defineEventHandler(async (e) => {
|
|||
message: 'Lien incorrect',
|
||||
});
|
||||
}
|
||||
if(Date.now() > query.data.t + (60 * 60 * 1000))
|
||||
if(date.getTime() > query.data.t + (60 * 60 * 1000))
|
||||
{
|
||||
return createError({
|
||||
statusCode: 400,
|
||||
|
|
@ -34,7 +36,7 @@ export default defineEventHandler(async (e) => {
|
|||
const db = useDatabase();
|
||||
const validate = db.select(getTableColumns(emailValidationTable)).from(emailValidationTable).where(eq(emailValidationTable.id, query.data.i)).get();
|
||||
|
||||
if(!validate || validate.timestamp <= new Date())
|
||||
if(!validate || validate.timestamp <= date)
|
||||
{
|
||||
return createError({
|
||||
statusCode: 400,
|
||||
|
|
@ -42,7 +44,7 @@ export default defineEventHandler(async (e) => {
|
|||
});
|
||||
}
|
||||
|
||||
db.delete(emailValidationTable).where(lte(emailValidationTable.timestamp, new Date())).run();
|
||||
db.delete(emailValidationTable).where(lte(emailValidationTable.timestamp, date)).run();
|
||||
const result = db.select({ state: usersTable.state }).from(usersTable).where(eq(usersTable.id, query.data.u)).get();
|
||||
|
||||
if(result === undefined)
|
||||
|
|
|
|||
|
|
@ -14,18 +14,18 @@ export default defineTask({
|
|||
name: 'validation',
|
||||
description: 'Add email ID to DB',
|
||||
},
|
||||
run(e) {
|
||||
run({ payload, context }) {
|
||||
try {
|
||||
if(e.payload.type !== 'validation')
|
||||
if(payload.type !== 'validation')
|
||||
{
|
||||
throw new Error(`Données inconnues`);
|
||||
}
|
||||
|
||||
const payload = e.payload as ValidationPayload;
|
||||
const _payload = payload as ValidationPayload;
|
||||
const db = useDatabase();
|
||||
|
||||
db.delete(emailValidationTable).where(lt(emailValidationTable.timestamp, new Date())).run();
|
||||
db.insert(emailValidationTable).values({ id: payload.id, timestamp: new Date(payload.timestamp) }).run();
|
||||
db.insert(emailValidationTable).values({ id: _payload.id, timestamp: new Date(_payload.timestamp) }).run();
|
||||
|
||||
return { result: true };
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ import { z } from "zod/v4";
|
|||
import characterConfig from '#shared/character-config.json';
|
||||
import proses, { preview } from "#shared/proses";
|
||||
import { button, buttongroup, checkbox, floater, foldable, input, loading, multiselect, numberpicker, select, tabgroup, Toaster, toggle } from "#shared/components.util";
|
||||
import { div, dom, icon, span, text, type DOMList, type RedrawableHTML } from "#shared/dom.util";
|
||||
import { div, dom, icon, span, text, reactive, type DOMList, type RedrawableHTML } from "#shared/dom.util";
|
||||
import { followermenu, fullblocker, tooltip } from "#shared/floating.util";
|
||||
import { clamp, deepEquals } from "#shared/general.util";
|
||||
import markdown from "#shared/markdown.util";
|
||||
|
|
@ -1301,7 +1301,7 @@ export class CharacterSheet
|
|||
useRequestFetch()(`/api/character/${id}`).then(character => {
|
||||
if(character)
|
||||
{
|
||||
this.character = new CharacterCompiler(character);
|
||||
this.character = new CharacterCompiler(reactive(character));
|
||||
|
||||
if(character.campaign)
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in New Issue