2.6 KiB
2.6 KiB
Database Documentation for Embedder
Embedder utilizes SQLite3 to manage its user system and store metadata for uploaded files.
Databases:
media.db
- Description: Manages the user system and image metadata.
session.db
- Description: Handles login session data to keep users logged in over time.
Tables:
Media Table
TypeScript Interface: MediaRow
- Description: Represents a row in the media table.
- Fields:
id
: Optional number or stringpath
: Stringexpire
: Date objectusername
: Optional string
SQL Structure
id
: INTEGERpath
: TEXTexpire
: INTEGERusername
: TEXT
User Table
TypeScript Interface: UserRow
- Description: Represents a row in the user table.
- Fields:
id
: Optional numberusername
: Stringhashed_password
: Anysalt
: Any
SQL Structure
id
: INTEGERusername
: TEXThashed_password
: BLOBexpire
: INTEGERsalt
: BLOB
Database Interactions (types/db.ts
)
createDatabase(version: number)
- Description: Initializes the database schema.
- Parameters:
version
: Number indicating the version of the database schema.
createUser(username: string, password: string)
- Description: Inserts a new user record into the user table.
- Parameters:
username
: String representing the user's name.password
: String representing the user's password.
insertToDB(filename: string, expireDate: Date, username: string)
- Description: Adds a new media record into the media table.
- Parameters:
filename
: String representing the filename of the uploaded media.expireDate
: Date object indicating when the media should expire.username
: String representing the user's name.
getPath(id: number | string)
- Description: Retrieves the path for a specific file using its ID.
- Parameters:
id
: Number or string representing the file's ID.
deleteId(database: string, id: number | string)
- Description: Removes a record from the database.
- Parameters:
database
: String representing the name of the database.id
: Number or string representing the ID of the record to be removed.
expire(database: string, column: string, expiration: number)
- Description: Sets an expiration date for a particular database row.
- Parameters:
database
: String representing the name of the database.column
: String representing the name of the column in which the date should be set.expiration
: Number representing the Unix timestamp when the record should expire.