mirror of
https://gitlab.com/MrFry/mrfrys-node-server
synced 2025-04-01 20:24:18 +02:00
added nearly complete p2p implementation
This commit is contained in:
parent
11dacdae64
commit
5c22f575dd
25 changed files with 14320 additions and 12563 deletions
|
@ -19,15 +19,15 @@
|
|||
------------------------------------------------------------------------- */
|
||||
|
||||
import express from 'express'
|
||||
import { SearchResultQuestion } from '../utils/classes'
|
||||
import type { Database } from 'better-sqlite3'
|
||||
import type { Socket as SocketIoSocket } from 'socket.io'
|
||||
import http from 'http'
|
||||
import https from 'https'
|
||||
import { SearchResultQuestion } from '../utils/qdbUtils'
|
||||
|
||||
export interface QuestionData {
|
||||
type: string
|
||||
date?: Date | number
|
||||
date?: number
|
||||
images?: Array<string>
|
||||
hashedImages?: Array<string>
|
||||
possibleAnswers?: Array<{
|
||||
|
@ -36,6 +36,7 @@ export interface QuestionData {
|
|||
selectedByUser?: boolean
|
||||
}>
|
||||
base64?: string[]
|
||||
source?: string
|
||||
}
|
||||
|
||||
export interface Question {
|
||||
|
@ -59,7 +60,7 @@ export interface DataFile {
|
|||
locked?: Boolean
|
||||
overwrites?: Array<{
|
||||
subjName: string
|
||||
overwriteFromDate: number
|
||||
overwriteBeforeDate: number
|
||||
}>
|
||||
shouldSearch:
|
||||
| string
|
||||
|
@ -87,16 +88,16 @@ export interface QuestionDb extends DataFile {
|
|||
export interface User {
|
||||
id: number
|
||||
pw: string
|
||||
created: Date
|
||||
}
|
||||
|
||||
export interface User {
|
||||
id: number
|
||||
pw: string
|
||||
pwRequestCount: number
|
||||
avaiblePWRequests: number
|
||||
oldCID?: number
|
||||
notes?: string
|
||||
loginCount: number
|
||||
avaiblePWRequests: number
|
||||
pwRequestCount: number
|
||||
createdBy: number
|
||||
created: number
|
||||
lastLogin: number
|
||||
lastAccess: number
|
||||
sourceHost?: number
|
||||
}
|
||||
|
||||
export interface Request<T = any> extends express.Request {
|
||||
|
@ -111,13 +112,21 @@ export interface Request<T = any> extends express.Request {
|
|||
query: { [key: string]: string }
|
||||
}
|
||||
|
||||
export interface ModuleSpecificData {
|
||||
// TODO: rename to something more meaningfull
|
||||
questionDbs: QuestionDb[]
|
||||
setQuestionDbs: (newVal: QuestionDb[]) => void
|
||||
getQuestionDbs: () => QuestionDb[]
|
||||
dbsFile: string
|
||||
}
|
||||
|
||||
export interface SubmoduleData {
|
||||
app: express.Application
|
||||
url: string
|
||||
publicdirs: Array<string>
|
||||
userDB?: Database
|
||||
nextdir?: string
|
||||
moduleSpecificData?: any
|
||||
moduleSpecificData: ModuleSpecificData
|
||||
httpServer: http.Server
|
||||
httpsServer: https.Server
|
||||
}
|
||||
|
@ -159,3 +168,11 @@ export interface ModuleType {
|
|||
export interface Socket extends SocketIoSocket {
|
||||
user: User
|
||||
}
|
||||
|
||||
export interface PeerInfo {
|
||||
name: string
|
||||
host: string
|
||||
port: number
|
||||
publicKey: string
|
||||
lastSync?: Date
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue