Initial public release

This commit is contained in:
thakares committed 2026-06-11 20:19:03 +05:30
commit c1107147b4
92 files changed
+10562

No files matched your search

+14
View File
@@ -0,0 +1,14 @@
use crate::db::Db;
use crate::models::ApiKey;
use crate::error::AppError;
pub fn create_api_key(
db: &Db,
user_id: &str,
name: &str,
key_hash: &str,
) -> Result<ApiKey, AppError> {
let conn = db.admin.lock().unwrap();
let key = crate::db::admin::create_api_key(&conn, user_id, name, key_hash)?;
Ok(key)
}
+25
View File
@@ -0,0 +1,25 @@
use crate::db::Db;
use crate::models::AuditLog;
use crate::error::AppError;
pub fn log_action(
db: &Db,
username: &str,
action: &str,
object_type: Option<&str>,
object_id: Option<&str>,
ip_address: Option<&str>,
user_agent: Option<&str>,
) -> Result<AuditLog, AppError> {
let conn = db.admin.lock().unwrap();
let log = crate::db::admin::write_audit_log(
&conn,
username,
action,
object_type,
object_id,
ip_address,
user_agent,
)?;
Ok(log)
}
+22
View File
@@ -0,0 +1,22 @@
use crate::db::Db;
use crate::models::LandingPage;
use crate::error::AppError;
pub fn create_landing_page(
db: &Db,
code: &str,
slug: &str,
title: &str,
html_content: &str,
state: &str,
) -> Result<LandingPage, AppError> {
let conn = db.content.lock().unwrap();
let page = crate::db::content::create_landing_page(&conn, code, slug, title, html_content, state)?;
Ok(page)
}
pub fn get_landing_page_by_code(db: &Db, code: &str) -> Result<Option<LandingPage>, AppError> {
let conn = db.content.lock().unwrap();
let page = crate::db::content::get_landing_page_by_code(&conn, code)?;
Ok(page)
}
+4
View File
@@ -0,0 +1,4 @@
pub mod shortener;
pub mod landing_pages;
pub mod api_keys;
pub mod audit;
+22
View File
@@ -0,0 +1,22 @@
use crate::db::Db;
use crate::models::Url;
use crate::error::AppError;
pub fn create_url(
db: &Db,
code: &str,
destination: &str,
title: Option<&str>,
description: Option<&str>,
tags: &[String],
) -> Result<Url, AppError> {
let conn = db.content.lock().unwrap();
let url = crate::db::content::create_url(&conn, code, destination, title, description, tags)?;
Ok(url)
}
pub fn get_url_by_code(db: &Db, code: &str) -> Result<Option<Url>, AppError> {
let conn = db.content.lock().unwrap();
let url = crate::db::content::get_url_by_code(&conn, code)?;
Ok(url)
}