Compare commits

..

2 Commits

Author SHA1 Message Date
Moon Man f205c0db0b rm article func aliases 2024-01-01 08:25:27 -05:00
Moon Man 55d9edb7e7 rm user function aliases 2024-01-01 08:23:05 -05:00
8 changed files with 24 additions and 24 deletions

View File

@ -1,11 +1,11 @@
import { readFileSync } from "node:fs";
import markdownit from "markdown-it";
import { Article, buildCanonicalUrl, getById as getArticleById } from "./article.js";
import { Article, buildCanonicalUrl, getArticleById } from "./article.js";
import { User, getByActor } from "./user.js";
import { fillRoute, reverseRoute } from "./router.js";
import { streamToString, hashDigest } from "./util.js";
import { signedFetch, SignedInit, getActor } from "./net.js";
import { getById as getUserById, keyIdFromNickname } from "./user.js";
import { getUserById, keyIdFromNickname } from "./user.js";
import parser from "activitypub-http-signatures";
import type { Request, Response } from "express";
import { addFollower } from "./follower.js";

View File

@ -17,28 +17,28 @@ export const zArticle = z.object({
export type Article = z.infer<typeof zArticle>;
export const getBySlug = async (slug: string): Promise<Article | null> => {
export const getArticleBySlug = async (slug: string): Promise<Article | null> => {
return db<Article>("articles")
.where("slug", slug)
.first()
.then((rec) => !!rec ? fixDates<Article>(rec) : null)
};
export const getById = async (articleId: number): Promise<Article | null> => {
export const getArticleById = async (articleId: number): Promise<Article | null> => {
return db<Article>("articles")
.where("id", articleId)
.first()
.then((rec) => !!rec ? fixDates<Article>(rec) : null)
};
export const getByUserId = async (userId: number): Promise<Article[]> =>
export const getArticlesByUserId = async (userId: number): Promise<Article[]> =>
db<Article>("articles")
.where("users_id", userId)
.orderBy("created_at", "desc")
.then((articles) => articles.map((a) => fixDates<Article>(a)))
;
export const insert = async (userId: number, slug: string, title: string): Promise<Article> => {
export const insertArticle = async (userId: number, slug: string, title: string): Promise<Article> => {
const data: Record<string, any> = {
users_id: userId,
slug,
@ -56,7 +56,7 @@ export const insert = async (userId: number, slug: string, title: string): Promi
} as Article))
};
export const getAll = async (count: number, lastId = Number.MAX_SAFE_INTEGER) =>
export const getAllArticles = async (count: number, lastId = Number.MAX_SAFE_INTEGER) =>
db<Article>("articles")
.where("id", "<", lastId)
.orderBy("created_at", "desc")

View File

@ -1,8 +1,8 @@
import fs from "node:fs";
import markdownit from 'markdown-it'
import { slugRegex } from "./article.js";
import { newUser, get as getUserByNickname, getFollowerInboxes, keyIdFromNickname } from "./user.js";
import { insert as insertArticle } from "./article.js";
import { newUser, getUserByNickname, getFollowerInboxes, keyIdFromNickname } from "./user.js";
import { insertArticle } from "./article.js";
import { add as addToOutbox } from "./outbox.js";
import { createArticleActivity, sendAll } from "./activity.js";
import { fillRoute } from "./router.js";

View File

@ -2,7 +2,7 @@ import { TYPE } from "./activity.js";
import { CollectionEntry, orderedCollection } from "./collection.js";
import db from "./db.js";
import { fillRoute } from "./router.js";
import { get as getUserByNickname } from "./user.js";
import { getUserByNickname } from "./user.js";
import { Request, Response } from "express";
export interface Follower {

View File

@ -1,9 +1,9 @@
import express, { Request } from "express";
import bodyParser from "body-parser";
import { toCollection as getOutbox } from "./outbox.js";
import { getById as getUserById, getNickname, get as getUserByNickname, getId as getUserId, User } from "./user.js";
import { getUserById, getUserNicknameById, getUserByNickname, User } from "./user.js";
import { Routes } from "./router.js";
import { getBySlug as getArticleBySlug, getById, getByUserId, getAll as getAllArticles } from "./article.js";
import { getArticleBySlug, getArticleById, getArticlesByUserId, getAllArticles } from "./article.js";
import { userToPerson, TYPE as ACTIVITYPUB_TYPE, handleInboxPost, createArticleObject, CONTEXT, createArticleActivity } from "./activity.js";
import { handleFollowerGet } from "./follower.js";
import { handleWebfingerGet } from "./net.js";
@ -48,7 +48,7 @@ app.post(Routes.inbox, handleInboxPost);
app.get(Routes.followers, handleFollowerGet);
app.get(Routes.object, async (req, res) => {
const article = await getById(parseInt(req.params.id));
const article = await getArticleById(parseInt(req.params.id));
if (article) {
console.log("Request headers for object route:", req.headers);
@ -58,7 +58,7 @@ app.get(Routes.object, async (req, res) => {
"application/ld+json",
"json"
])) {
const nickname = await getNickname(article.users_id) as string;
const nickname = await getUserNicknameById(article.users_id) as string;
const obj = createArticleObject(article, nickname);
obj["@context"] = CONTEXT;
@ -91,7 +91,7 @@ app.get(Routes.activity, async (req, res) => {
res.status(501).end();
}
else {
const article = await getById(id);
const article = await getArticleById(id);
if (article) {
console.log("Request headers for activity route:", req.headers);
@ -164,7 +164,7 @@ app.get(Routes.actor, async (req, res) => {
}
else if (req.accepts("html")) {
console.log(`returning actor: ${nickname} as html`);
const posts = (await getByUserId(actor.id)).map((a) => `<li><a href="/${a.slug}.html">${escapeHtml(a.title)}</a></li>`).join("");
const posts = (await getArticlesByUserId(actor.id)).map((a) => `<li><a href="/${a.slug}.html">${escapeHtml(a.title)}</a></li>`).join("");
const body = `<!DOCTYPE html>
<html>

View File

@ -6,7 +6,7 @@ import { actorSchema } from "./activitypub_types.js";
import type { Actor } from "./activitypub_types.js";
import type { Request, Response } from "express";
import { fillRoute } from "./router.js";
import { get as getUserByNickname } from "./user.js";
import { getUserByNickname } from "./user.js";
export const flattenHeaders = (headers: Record<string, string>) =>
Object.entries(headers).map(([key, value]) => `${key}: ${value}`);

View File

@ -1,8 +1,8 @@
import db from "./db.js";
import { z } from "zod";
import { get as getUserByNickname } from "./user.js";
import { getUserByNickname } from "./user.js";
import { fillRoute } from "./router.js";
import { getByUserId as getArticlesByUserId, getById as getArticleById, Article } from "./article.js";
import { getArticleById, Article } from "./article.js";
import { createArticleActivity, deleteArticleActivity } from "./activity.js";
import { orderedCollection } from "./collection.js";

View File

@ -27,13 +27,13 @@ export const zUser = z.object({
export type User = z.infer<typeof zUser>;
export const get = async (nickname: string) =>
export const getUserByNickname = async (nickname: string) =>
db<User>("users")
.where("nickname", nickname)
.first()
;
export const getById = async (id: number) =>
export const getUserById = async (id: number) =>
db<User>("users")
.where("id", id)
.first()
@ -45,12 +45,12 @@ export const getByActor = async (actor: string) => {
const matchArray = actor.match(EXTRACT_NICKNAME);
if (matchArray) {
const nickname = matchArray[1];
return get(nickname);
return getUserByNickname(nickname);
}
else return null;
};
export const getNickname = async (userId: number): Promise<string | null> =>
export const getUserNicknameById = async (userId: number): Promise<string | null> =>
db("users")
.select("nickname")
.where("id", userId)
@ -58,7 +58,7 @@ export const getNickname = async (userId: number): Promise<string | null> =>
.then((rec) => !!rec ? rec.nickname : null)
;
export const getId = async (nickname: string): Promise<number | null> =>
export const getUserIdByNickname = async (nickname: string): Promise<number | null> =>
db("users")
.select("id")
.where("nickname", nickname)