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 { Database } from "bun:sqlite";
|
||||||
import { BunSQLiteDatabase, drizzle } from "drizzle-orm/bun-sqlite";
|
import { BunSQLiteDatabase, drizzle } from "drizzle-orm/bun-sqlite";
|
||||||
import * as schema from '../db/schema';
|
import * as schema from '../db/schema';
|
||||||
import { eq, or, sql } from "drizzle-orm";
|
|
||||||
|
|
||||||
let instance: BunSQLiteDatabase<typeof schema> & {
|
let instance: BunSQLiteDatabase<typeof schema> & {
|
||||||
$client: Database;
|
$client: Database;
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@ interface Parser
|
||||||
}
|
}
|
||||||
export default function useMarkdown(): Parser
|
export default function useMarkdown(): Parser
|
||||||
{
|
{
|
||||||
let processor: Processor, processorSync: Processor;
|
let processor: Processor, processorText: Processor;
|
||||||
|
|
||||||
const parse = (markdown: string) => {
|
const parse = (markdown: string) => {
|
||||||
if (!processor)
|
if (!processor)
|
||||||
|
|
@ -43,14 +43,14 @@ export default function useMarkdown(): Parser
|
||||||
}
|
}
|
||||||
|
|
||||||
const text = (markdown: string) => {
|
const text = (markdown: string) => {
|
||||||
if (!processor)
|
if (!processorText)
|
||||||
{
|
{
|
||||||
processor = unified().use([RemarkParse, RemarkGfm, RemarkOfm, RemarkBreaks, RemarkFrontmatter ]);
|
processorText = unified().use([RemarkParse, RemarkGfm, RemarkOfm, RemarkBreaks, RemarkFrontmatter ]);
|
||||||
processor.use(StripMarkdown, { remove: [ 'comment', 'tag', 'callout' ] });
|
processorText.use(StripMarkdown, { remove: [ 'comment', 'tag', 'callout' ] });
|
||||||
processor.use(RemarkStringify);
|
processorText.use(RemarkStringify);
|
||||||
}
|
}
|
||||||
|
|
||||||
const processed = processor.processSync(markdown);
|
const processed = processorText.processSync(markdown);
|
||||||
return String(processed);
|
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);
|
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;
|
const timestamp = Date.now() + 1000 * 60 * 60;
|
||||||
|
|
||||||
await runTask('validation', {
|
await runTask('validation', {
|
||||||
|
|
@ -90,7 +90,7 @@ export default defineEventHandler(async (e): Promise<Return> => {
|
||||||
template: 'registration',
|
template: 'registration',
|
||||||
data: {
|
data: {
|
||||||
id: emailId, timestamp,
|
id: emailId, timestamp,
|
||||||
userId: id,
|
userId: id.id,
|
||||||
username: body.data.username,
|
username: body.data.username,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ export default defineEventHandler(async (e) => {
|
||||||
|
|
||||||
if(result && result.id)
|
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;
|
const timestamp = Date.now() + 1000 * 60 * 60;
|
||||||
await runTask('validation', {
|
await runTask('validation', {
|
||||||
payload: {
|
payload: {
|
||||||
|
|
|
||||||
|
|
@ -47,7 +47,7 @@ export default defineEventHandler(async (e) => {
|
||||||
return;
|
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;
|
const timestamp = Date.now() + 1000 * 60 * 60;
|
||||||
|
|
||||||
await runTask('validation', {
|
await runTask('validation', {
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
import { dom, text } from "#shared/dom.virtual.util";
|
import { dom, text } from "#shared/dom.virtual.util";
|
||||||
|
import { format } from "#shared/general.util";
|
||||||
|
|
||||||
export default function(data: any)
|
export default function(data: any)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,8 @@ export default defineEventHandler(async (e) => {
|
||||||
if(!query.success)
|
if(!query.success)
|
||||||
throw query.error;
|
throw query.error;
|
||||||
|
|
||||||
|
const date = new Date();
|
||||||
|
|
||||||
if(Bun.hash('1' + query.data.u.toString(), query.data.t).toString() !== query.data.h)
|
if(Bun.hash('1' + query.data.u.toString(), query.data.t).toString() !== query.data.h)
|
||||||
{
|
{
|
||||||
return createError({
|
return createError({
|
||||||
|
|
@ -23,7 +25,7 @@ export default defineEventHandler(async (e) => {
|
||||||
message: 'Lien incorrect',
|
message: 'Lien incorrect',
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
if(Date.now() > query.data.t + (60 * 60 * 1000))
|
if(date.getTime() > query.data.t + (60 * 60 * 1000))
|
||||||
{
|
{
|
||||||
return createError({
|
return createError({
|
||||||
statusCode: 400,
|
statusCode: 400,
|
||||||
|
|
@ -34,7 +36,7 @@ export default defineEventHandler(async (e) => {
|
||||||
const db = useDatabase();
|
const db = useDatabase();
|
||||||
const validate = db.select(getTableColumns(emailValidationTable)).from(emailValidationTable).where(eq(emailValidationTable.id, query.data.i)).get();
|
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({
|
return createError({
|
||||||
statusCode: 400,
|
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();
|
const result = db.select({ state: usersTable.state }).from(usersTable).where(eq(usersTable.id, query.data.u)).get();
|
||||||
|
|
||||||
if(result === undefined)
|
if(result === undefined)
|
||||||
|
|
|
||||||
|
|
@ -14,18 +14,18 @@ export default defineTask({
|
||||||
name: 'validation',
|
name: 'validation',
|
||||||
description: 'Add email ID to DB',
|
description: 'Add email ID to DB',
|
||||||
},
|
},
|
||||||
run(e) {
|
run({ payload, context }) {
|
||||||
try {
|
try {
|
||||||
if(e.payload.type !== 'validation')
|
if(payload.type !== 'validation')
|
||||||
{
|
{
|
||||||
throw new Error(`Données inconnues`);
|
throw new Error(`Données inconnues`);
|
||||||
}
|
}
|
||||||
|
|
||||||
const payload = e.payload as ValidationPayload;
|
const _payload = payload as ValidationPayload;
|
||||||
const db = useDatabase();
|
const db = useDatabase();
|
||||||
|
|
||||||
db.delete(emailValidationTable).where(lt(emailValidationTable.timestamp, new Date())).run();
|
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 };
|
return { result: true };
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ import { z } from "zod/v4";
|
||||||
import characterConfig from '#shared/character-config.json';
|
import characterConfig from '#shared/character-config.json';
|
||||||
import proses, { preview } from "#shared/proses";
|
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 { 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 { followermenu, fullblocker, tooltip } from "#shared/floating.util";
|
||||||
import { clamp, deepEquals } from "#shared/general.util";
|
import { clamp, deepEquals } from "#shared/general.util";
|
||||||
import markdown from "#shared/markdown.util";
|
import markdown from "#shared/markdown.util";
|
||||||
|
|
@ -1301,7 +1301,7 @@ export class CharacterSheet
|
||||||
useRequestFetch()(`/api/character/${id}`).then(character => {
|
useRequestFetch()(`/api/character/${id}`).then(character => {
|
||||||
if(character)
|
if(character)
|
||||||
{
|
{
|
||||||
this.character = new CharacterCompiler(character);
|
this.character = new CharacterCompiler(reactive(character));
|
||||||
|
|
||||||
if(character.campaign)
|
if(character.campaign)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue