chore: lints

This commit is contained in:
2026-02-04 22:36:26 -08:00
parent 9caf74945a
commit 9f0132db34
46 changed files with 531 additions and 463 deletions
+1 -1
View File
@@ -15,6 +15,6 @@ describe('GET /', () => {
url: '/',
});
expect(response.json()).toEqual({ message: 'Hello API' });
expect(response.json()).toEqual({ version: expect.any(String) });
});
});
+4 -4
View File
@@ -13,8 +13,8 @@ export async function app(fastify: FastifyInstance, opts: AppOptions) {
// Log CSRF validation failures
if (error.code === 'FST_CSRF_INVALID_TOKEN' || error.code === 'FST_CSRF_MISSING_SECRET') {
await AuditService.log({
action: AuditAction.CSRF_VALIDATION_FAILED,
category: AuditCategory.SECURITY,
action: AuditAction.csrfValidationFailed,
category: AuditCategory.security,
details: `CSRF validation failed: ${error.message}, URL: ${request.url}`,
success: false,
}, request).catch(() => {
@@ -25,8 +25,8 @@ export async function app(fastify: FastifyInstance, opts: AppOptions) {
// Log unauthorized access attempts
if (error.statusCode === 401 || error.statusCode === 403) {
await AuditService.log({
action: AuditAction.UNAUTHORIZED_ACCESS,
category: AuditCategory.SECURITY,
action: AuditAction.unauthorizedAccess,
category: AuditCategory.security,
details: `Unauthorized access attempt: ${error.message}, URL: ${request.url}`,
success: false,
}, request).catch(() => {
+3 -1
View File
@@ -82,7 +82,9 @@ const authPlugin: FastifyPluginAsync = async (app) => {
try {
await request.jwtVerify();
} catch (err) {
throw app.httpErrors.unauthorized("Invalid token");
const error = new Error("Invalid token");
(error as any).statusCode = 401;
throw error;
}
});
};
+2 -2
View File
@@ -17,8 +17,8 @@ const rateLimitPlugin: FastifyPluginAsync = async (app) => {
errorResponseBuilder: (request) => {
// Log rate limit exceeded event
AuditService.log({
action: AuditAction.RATE_LIMIT_EXCEEDED,
category: AuditCategory.SECURITY,
action: AuditAction.rateLimitExceeded,
category: AuditCategory.security,
details: `Rate limit exceeded for URL: ${request.url}`,
success: false,
}, request).catch(() => {
+12 -12
View File
@@ -46,8 +46,8 @@ const artRoutes: FastifyPluginAsync = async (app) => {
async (request) => {
const art = await artService.createArt(request.body);
await AuditService.logFromRequest(request, {
action: AuditAction.ENTRY_CREATE,
category: AuditCategory.CONTENT,
action: AuditAction.entryCreate,
category: AuditCategory.content,
resourceType: "art",
resourceId: art.id,
details: `Created art: ${art.title}`,
@@ -74,8 +74,8 @@ const artRoutes: FastifyPluginAsync = async (app) => {
const art = await artService.updateArt(id, request.body);
if (art) {
await AuditService.logFromRequest(request, {
action: AuditAction.ENTRY_UPDATE,
category: AuditCategory.CONTENT,
action: AuditAction.entryUpdate,
category: AuditCategory.content,
resourceType: "art",
resourceId: id,
details: `Updated art: ${art.title}`,
@@ -98,8 +98,8 @@ const artRoutes: FastifyPluginAsync = async (app) => {
const { id } = request.params;
await artService.deleteArt(id);
await AuditService.logFromRequest(request, {
action: AuditAction.ENTRY_DELETE,
category: AuditCategory.CONTENT,
action: AuditAction.entryDelete,
category: AuditCategory.content,
resourceType: "art",
resourceId: id,
details: `Deleted art with ID: ${id}`,
@@ -133,8 +133,8 @@ const artRoutes: FastifyPluginAsync = async (app) => {
const userId = request.user.id;
const comment = await commentService.createCommentForArt(id, userId, request.body);
await AuditService.logFromRequest(request, {
action: AuditAction.COMMENT_CREATE,
category: AuditCategory.CONTENT,
action: AuditAction.commentCreate,
category: AuditCategory.content,
resourceType: "art",
resourceId: id,
details: `Added comment to art`,
@@ -169,8 +169,8 @@ const artRoutes: FastifyPluginAsync = async (app) => {
const comment = await commentService.updateComment(commentId, request.body.content);
await AuditService.logFromRequest(request, {
action: AuditAction.COMMENT_UPDATE,
category: AuditCategory.CONTENT,
action: AuditAction.commentUpdate,
category: AuditCategory.content,
resourceType: "art",
resourceId: id,
details: `Updated comment ${commentId} on art`,
@@ -205,8 +205,8 @@ const artRoutes: FastifyPluginAsync = async (app) => {
await commentService.deleteComment(commentId);
await AuditService.logFromRequest(request, {
action: AuditAction.COMMENT_DELETE,
category: isAdmin && verification.comment?.userId !== userId ? AuditCategory.ADMIN : AuditCategory.CONTENT,
action: AuditAction.commentDelete,
category: isAdmin && verification.comment?.userId !== userId ? AuditCategory.admin : AuditCategory.content,
resourceType: "art",
resourceId: id,
details: `Deleted comment ${commentId} from art`,
+6 -6
View File
@@ -85,8 +85,8 @@ const authRoutes: FastifyPluginAsync = async (app) => {
// Log successful login
await AuditService.log({
action: AuditAction.LOGIN,
category: AuditCategory.AUTH,
action: AuditAction.login,
category: AuditCategory.auth,
userId: user.id,
details: `User ${user.username} logged in via Discord`,
success: true,
@@ -114,8 +114,8 @@ const authRoutes: FastifyPluginAsync = async (app) => {
} catch (error) {
// Log failed login attempt
await AuditService.log({
action: AuditAction.LOGIN_FAILED,
category: AuditCategory.SECURITY,
action: AuditAction.loginFailed,
category: AuditCategory.security,
details: error instanceof Error ? error.message : String(error),
success: false,
}, request);
@@ -229,8 +229,8 @@ const authRoutes: FastifyPluginAsync = async (app) => {
const user = request.user as { id?: string; username?: string };
if (user?.id) {
await AuditService.log({
action: AuditAction.LOGOUT,
category: AuditCategory.AUTH,
action: AuditAction.logout,
category: AuditCategory.auth,
userId: user.id,
details: `User ${user.username ?? "unknown"} logged out`,
success: true,
+12 -12
View File
@@ -46,8 +46,8 @@ const booksRoutes: FastifyPluginAsync = async (app) => {
async (request) => {
const book = await bookService.createBook(request.body);
await AuditService.logFromRequest(request, {
action: AuditAction.ENTRY_CREATE,
category: AuditCategory.CONTENT,
action: AuditAction.entryCreate,
category: AuditCategory.content,
resourceType: "book",
resourceId: book.id,
details: `Created book: ${book.title}`,
@@ -74,8 +74,8 @@ const booksRoutes: FastifyPluginAsync = async (app) => {
const book = await bookService.updateBook(id, request.body);
if (book) {
await AuditService.logFromRequest(request, {
action: AuditAction.ENTRY_UPDATE,
category: AuditCategory.CONTENT,
action: AuditAction.entryUpdate,
category: AuditCategory.content,
resourceType: "book",
resourceId: id,
details: `Updated book: ${book.title}`,
@@ -98,8 +98,8 @@ const booksRoutes: FastifyPluginAsync = async (app) => {
const { id } = request.params;
await bookService.deleteBook(id);
await AuditService.logFromRequest(request, {
action: AuditAction.ENTRY_DELETE,
category: AuditCategory.CONTENT,
action: AuditAction.entryDelete,
category: AuditCategory.content,
resourceType: "book",
resourceId: id,
details: `Deleted book with ID: ${id}`,
@@ -133,8 +133,8 @@ const booksRoutes: FastifyPluginAsync = async (app) => {
const userId = request.user.id;
const comment = await commentService.createCommentForBook(id, userId, request.body);
await AuditService.logFromRequest(request, {
action: AuditAction.COMMENT_CREATE,
category: AuditCategory.CONTENT,
action: AuditAction.commentCreate,
category: AuditCategory.content,
resourceType: "book",
resourceId: id,
details: `Added comment to book`,
@@ -169,8 +169,8 @@ const booksRoutes: FastifyPluginAsync = async (app) => {
const comment = await commentService.updateComment(commentId, request.body.content);
await AuditService.logFromRequest(request, {
action: AuditAction.COMMENT_UPDATE,
category: AuditCategory.CONTENT,
action: AuditAction.commentUpdate,
category: AuditCategory.content,
resourceType: "book",
resourceId: id,
details: `Updated comment ${commentId} on book`,
@@ -205,8 +205,8 @@ const booksRoutes: FastifyPluginAsync = async (app) => {
await commentService.deleteComment(commentId);
await AuditService.logFromRequest(request, {
action: AuditAction.COMMENT_DELETE,
category: isAdmin && verification.comment?.userId !== userId ? AuditCategory.ADMIN : AuditCategory.CONTENT,
action: AuditAction.commentDelete,
category: isAdmin && verification.comment?.userId !== userId ? AuditCategory.admin : AuditCategory.content,
resourceType: "book",
resourceId: id,
details: `Deleted comment ${commentId} from book`,
+12 -12
View File
@@ -40,8 +40,8 @@ const gamesRoutes: FastifyPluginAsync = async (app) => {
async (request) => {
const game = await gameService.createGame(request.body);
await AuditService.logFromRequest(request, {
action: AuditAction.ENTRY_CREATE,
category: AuditCategory.CONTENT,
action: AuditAction.entryCreate,
category: AuditCategory.content,
resourceType: "game",
resourceId: game.id,
details: `Created game: ${game.title}`,
@@ -66,8 +66,8 @@ const gamesRoutes: FastifyPluginAsync = async (app) => {
const game = await gameService.updateGame(id, request.body);
if (game) {
await AuditService.logFromRequest(request, {
action: AuditAction.ENTRY_UPDATE,
category: AuditCategory.CONTENT,
action: AuditAction.entryUpdate,
category: AuditCategory.content,
resourceType: "game",
resourceId: id,
details: `Updated game: ${game.title}`,
@@ -88,8 +88,8 @@ const gamesRoutes: FastifyPluginAsync = async (app) => {
const { id } = request.params;
await gameService.deleteGame(id);
await AuditService.logFromRequest(request, {
action: AuditAction.ENTRY_DELETE,
category: AuditCategory.CONTENT,
action: AuditAction.entryDelete,
category: AuditCategory.content,
resourceType: "game",
resourceId: id,
details: `Deleted game with ID: ${id}`,
@@ -119,8 +119,8 @@ const gamesRoutes: FastifyPluginAsync = async (app) => {
const userId = request.user.id;
const comment = await commentService.createCommentForGame(id, userId, request.body);
await AuditService.logFromRequest(request, {
action: AuditAction.COMMENT_CREATE,
category: AuditCategory.CONTENT,
action: AuditAction.commentCreate,
category: AuditCategory.content,
resourceType: "game",
resourceId: id,
details: `Added comment to game`,
@@ -153,8 +153,8 @@ const gamesRoutes: FastifyPluginAsync = async (app) => {
const comment = await commentService.updateComment(commentId, request.body.content);
await AuditService.logFromRequest(request, {
action: AuditAction.COMMENT_UPDATE,
category: AuditCategory.CONTENT,
action: AuditAction.commentUpdate,
category: AuditCategory.content,
resourceType: "game",
resourceId: id,
details: `Updated comment ${commentId} on game`,
@@ -187,8 +187,8 @@ const gamesRoutes: FastifyPluginAsync = async (app) => {
await commentService.deleteComment(commentId);
await AuditService.logFromRequest(request, {
action: AuditAction.COMMENT_DELETE,
category: isAdmin && verification.comment?.userId !== userId ? AuditCategory.ADMIN : AuditCategory.CONTENT,
action: AuditAction.commentDelete,
category: isAdmin && verification.comment?.userId !== userId ? AuditCategory.admin : AuditCategory.content,
resourceType: "game",
resourceId: id,
details: `Deleted comment ${commentId} from game`,
+12 -12
View File
@@ -37,8 +37,8 @@ const mangaRoutes: FastifyPluginAsync = async (app) => {
async (request) => {
const manga = await mangaService.createManga(request.body);
await AuditService.logFromRequest(request, {
action: AuditAction.ENTRY_CREATE,
category: AuditCategory.CONTENT,
action: AuditAction.entryCreate,
category: AuditCategory.content,
resourceType: "manga",
resourceId: manga.id,
details: `Created manga: ${manga.title}`,
@@ -62,8 +62,8 @@ const mangaRoutes: FastifyPluginAsync = async (app) => {
const manga = await mangaService.updateManga(id, request.body);
if (manga) {
await AuditService.logFromRequest(request, {
action: AuditAction.ENTRY_UPDATE,
category: AuditCategory.CONTENT,
action: AuditAction.entryUpdate,
category: AuditCategory.content,
resourceType: "manga",
resourceId: id,
details: `Updated manga: ${manga.title}`,
@@ -83,8 +83,8 @@ const mangaRoutes: FastifyPluginAsync = async (app) => {
const { id } = request.params;
await mangaService.deleteManga(id);
await AuditService.logFromRequest(request, {
action: AuditAction.ENTRY_DELETE,
category: AuditCategory.CONTENT,
action: AuditAction.entryDelete,
category: AuditCategory.content,
resourceType: "manga",
resourceId: id,
details: `Deleted manga with ID: ${id}`,
@@ -112,8 +112,8 @@ const mangaRoutes: FastifyPluginAsync = async (app) => {
const userId = request.user.id;
const comment = await commentService.createCommentForManga(id, userId, request.body);
await AuditService.logFromRequest(request, {
action: AuditAction.COMMENT_CREATE,
category: AuditCategory.CONTENT,
action: AuditAction.commentCreate,
category: AuditCategory.content,
resourceType: "manga",
resourceId: id,
details: `Added comment to manga`,
@@ -145,8 +145,8 @@ const mangaRoutes: FastifyPluginAsync = async (app) => {
const comment = await commentService.updateComment(commentId, request.body.content);
await AuditService.logFromRequest(request, {
action: AuditAction.COMMENT_UPDATE,
category: AuditCategory.CONTENT,
action: AuditAction.commentUpdate,
category: AuditCategory.content,
resourceType: "manga",
resourceId: id,
details: `Updated comment ${commentId} on manga`,
@@ -178,8 +178,8 @@ const mangaRoutes: FastifyPluginAsync = async (app) => {
await commentService.deleteComment(commentId);
await AuditService.logFromRequest(request, {
action: AuditAction.COMMENT_DELETE,
category: isAdmin && verification.comment?.userId !== userId ? AuditCategory.ADMIN : AuditCategory.CONTENT,
action: AuditAction.commentDelete,
category: isAdmin && verification.comment?.userId !== userId ? AuditCategory.admin : AuditCategory.content,
resourceType: "manga",
resourceId: id,
details: `Deleted comment ${commentId} from manga`,
+12 -12
View File
@@ -46,8 +46,8 @@ const musicRoutes: FastifyPluginAsync = async (app) => {
async (request) => {
const music = await musicService.createMusic(request.body);
await AuditService.logFromRequest(request, {
action: AuditAction.ENTRY_CREATE,
category: AuditCategory.CONTENT,
action: AuditAction.entryCreate,
category: AuditCategory.content,
resourceType: "music",
resourceId: music.id,
details: `Created music: ${music.title}`,
@@ -74,8 +74,8 @@ const musicRoutes: FastifyPluginAsync = async (app) => {
const music = await musicService.updateMusic(id, request.body);
if (music) {
await AuditService.logFromRequest(request, {
action: AuditAction.ENTRY_UPDATE,
category: AuditCategory.CONTENT,
action: AuditAction.entryUpdate,
category: AuditCategory.content,
resourceType: "music",
resourceId: id,
details: `Updated music: ${music.title}`,
@@ -98,8 +98,8 @@ const musicRoutes: FastifyPluginAsync = async (app) => {
const { id } = request.params;
await musicService.deleteMusic(id);
await AuditService.logFromRequest(request, {
action: AuditAction.ENTRY_DELETE,
category: AuditCategory.CONTENT,
action: AuditAction.entryDelete,
category: AuditCategory.content,
resourceType: "music",
resourceId: id,
details: `Deleted music with ID: ${id}`,
@@ -133,8 +133,8 @@ const musicRoutes: FastifyPluginAsync = async (app) => {
const userId = request.user.id;
const comment = await commentService.createCommentForMusic(id, userId, request.body);
await AuditService.logFromRequest(request, {
action: AuditAction.COMMENT_CREATE,
category: AuditCategory.CONTENT,
action: AuditAction.commentCreate,
category: AuditCategory.content,
resourceType: "music",
resourceId: id,
details: `Added comment to music`,
@@ -169,8 +169,8 @@ const musicRoutes: FastifyPluginAsync = async (app) => {
const comment = await commentService.updateComment(commentId, request.body.content);
await AuditService.logFromRequest(request, {
action: AuditAction.COMMENT_UPDATE,
category: AuditCategory.CONTENT,
action: AuditAction.commentUpdate,
category: AuditCategory.content,
resourceType: "music",
resourceId: id,
details: `Updated comment ${commentId} on music`,
@@ -205,8 +205,8 @@ const musicRoutes: FastifyPluginAsync = async (app) => {
await commentService.deleteComment(commentId);
await AuditService.logFromRequest(request, {
action: AuditAction.COMMENT_DELETE,
category: isAdmin && verification.comment?.userId !== userId ? AuditCategory.ADMIN : AuditCategory.CONTENT,
action: AuditAction.commentDelete,
category: isAdmin && verification.comment?.userId !== userId ? AuditCategory.admin : AuditCategory.content,
resourceType: "music",
resourceId: id,
details: `Deleted comment ${commentId} from music`,
+12 -12
View File
@@ -37,8 +37,8 @@ const showsRoutes: FastifyPluginAsync = async (app) => {
async (request) => {
const show = await showService.createShow(request.body);
await AuditService.logFromRequest(request, {
action: AuditAction.ENTRY_CREATE,
category: AuditCategory.CONTENT,
action: AuditAction.entryCreate,
category: AuditCategory.content,
resourceType: "show",
resourceId: show.id,
details: `Created show: ${show.title}`,
@@ -62,8 +62,8 @@ const showsRoutes: FastifyPluginAsync = async (app) => {
const show = await showService.updateShow(id, request.body);
if (show) {
await AuditService.logFromRequest(request, {
action: AuditAction.ENTRY_UPDATE,
category: AuditCategory.CONTENT,
action: AuditAction.entryUpdate,
category: AuditCategory.content,
resourceType: "show",
resourceId: id,
details: `Updated show: ${show.title}`,
@@ -83,8 +83,8 @@ const showsRoutes: FastifyPluginAsync = async (app) => {
const { id } = request.params;
await showService.deleteShow(id);
await AuditService.logFromRequest(request, {
action: AuditAction.ENTRY_DELETE,
category: AuditCategory.CONTENT,
action: AuditAction.entryDelete,
category: AuditCategory.content,
resourceType: "show",
resourceId: id,
details: `Deleted show with ID: ${id}`,
@@ -112,8 +112,8 @@ const showsRoutes: FastifyPluginAsync = async (app) => {
const userId = request.user.id;
const comment = await commentService.createCommentForShow(id, userId, request.body);
await AuditService.logFromRequest(request, {
action: AuditAction.COMMENT_CREATE,
category: AuditCategory.CONTENT,
action: AuditAction.commentCreate,
category: AuditCategory.content,
resourceType: "show",
resourceId: id,
details: `Added comment to show`,
@@ -145,8 +145,8 @@ const showsRoutes: FastifyPluginAsync = async (app) => {
const comment = await commentService.updateComment(commentId, request.body.content);
await AuditService.logFromRequest(request, {
action: AuditAction.COMMENT_UPDATE,
category: AuditCategory.CONTENT,
action: AuditAction.commentUpdate,
category: AuditCategory.content,
resourceType: "show",
resourceId: id,
details: `Updated comment ${commentId} on show`,
@@ -178,8 +178,8 @@ const showsRoutes: FastifyPluginAsync = async (app) => {
await commentService.deleteComment(commentId);
await AuditService.logFromRequest(request, {
action: AuditAction.COMMENT_DELETE,
category: isAdmin && verification.comment?.userId !== userId ? AuditCategory.ADMIN : AuditCategory.CONTENT,
action: AuditAction.commentDelete,
category: isAdmin && verification.comment?.userId !== userId ? AuditCategory.admin : AuditCategory.content,
resourceType: "show",
resourceId: id,
details: `Deleted comment ${commentId} from show`,
+10 -10
View File
@@ -85,8 +85,8 @@ export default async function (app: FastifyInstance): Promise<void> {
);
await AuditService.logFromRequest(request, {
action: AuditAction.ENTRY_CREATE,
category: AuditCategory.CONTENT,
action: AuditAction.entryCreate,
category: AuditCategory.content,
resourceType: "Suggestion",
resourceId: suggestion.id,
details: `Created ${suggestion.entityType} suggestion: ${suggestion.title}`,
@@ -115,8 +115,8 @@ export default async function (app: FastifyInstance): Promise<void> {
const suggestion = await SuggestionService.acceptSuggestion(id);
await AuditService.logFromRequest(request, {
action: AuditAction.ENTRY_UPDATE,
category: AuditCategory.ADMIN,
action: AuditAction.entryUpdate,
category: AuditCategory.admin,
resourceType: "Suggestion",
resourceId: suggestion.id,
details: `Accepted ${suggestion.entityType} suggestion: ${suggestion.title}`,
@@ -146,8 +146,8 @@ export default async function (app: FastifyInstance): Promise<void> {
const suggestion = await SuggestionService.acceptSuggestionWithEdits(id, editedData);
await AuditService.logFromRequest(request, {
action: AuditAction.ENTRY_UPDATE,
category: AuditCategory.ADMIN,
action: AuditAction.entryUpdate,
category: AuditCategory.admin,
resourceType: "Suggestion",
resourceId: suggestion.id,
details: `Accepted ${suggestion.entityType} suggestion with edits: ${suggestion.title}`,
@@ -177,8 +177,8 @@ export default async function (app: FastifyInstance): Promise<void> {
const suggestion = await SuggestionService.declineSuggestion(id, reason);
await AuditService.logFromRequest(request, {
action: AuditAction.ENTRY_UPDATE,
category: AuditCategory.ADMIN,
action: AuditAction.entryUpdate,
category: AuditCategory.admin,
resourceType: "Suggestion",
resourceId: suggestion.id,
details: `Declined ${suggestion.entityType} suggestion: ${suggestion.title}${reason ? ` (Reason: ${reason})` : ""}`,
@@ -209,8 +209,8 @@ export default async function (app: FastifyInstance): Promise<void> {
const suggestion = await SuggestionService.deleteSuggestion(id, userId, isAdmin);
await AuditService.logFromRequest(request, {
action: AuditAction.ENTRY_DELETE,
category: isAdmin ? AuditCategory.ADMIN : AuditCategory.CONTENT,
action: AuditAction.entryDelete,
category: isAdmin ? AuditCategory.admin : AuditCategory.content,
resourceType: "Suggestion",
resourceId: suggestion.id,
details: `Deleted ${suggestion.entityType} suggestion: ${suggestion.title}`,
+4 -4
View File
@@ -54,8 +54,8 @@ const usersRoutes: FastifyPluginAsync = async (app) => {
}
await AuditService.logFromRequest(request, {
action: AuditAction.USER_BAN,
category: AuditCategory.ADMIN,
action: AuditAction.userBan,
category: AuditCategory.admin,
targetUserId: id,
details: `Banned user: ${user.username}`,
});
@@ -78,8 +78,8 @@ const usersRoutes: FastifyPluginAsync = async (app) => {
}
await AuditService.logFromRequest(request, {
action: AuditAction.USER_UNBAN,
category: AuditCategory.ADMIN,
action: AuditAction.userUnban,
category: AuditCategory.admin,
targetUserId: id,
details: `Unbanned user: ${user.username}`,
});
+1 -1
View File
@@ -36,7 +36,7 @@ export const AuditService = {
request: FastifyRequest,
data: Omit<AuditLogData, "userId">
) {
const userId = (request.user as { id?: string } | undefined)?.id;
const userId = ((request as any).user as { id?: string } | undefined)?.id;
return this.log(
{
+4 -4
View File
@@ -32,8 +32,8 @@ export class LikeService {
});
await AuditService.logFromRequest(req, {
action: AuditAction.UNLIKE,
category: AuditCategory.CONTENT,
action: AuditAction.unlike,
category: AuditCategory.content,
resourceType: entityType,
resourceId: entityId,
details: `Unliked ${entityType}`
@@ -52,8 +52,8 @@ export class LikeService {
});
await AuditService.logFromRequest(req, {
action: AuditAction.LIKE,
category: AuditCategory.CONTENT,
action: AuditAction.like,
category: AuditCategory.content,
resourceType: entityType,
resourceId: entityId,
details: `Liked ${entityType}`
+15
View File
@@ -0,0 +1,15 @@
/**
* @copyright NHCarrigan
* @license Naomi's Public License
* @author Naomi Carrigan
*/
// Set required environment variables for tests
process.env.JWT_SECRET = 'test-secret';
process.env.DISCORD_CLIENT_ID = 'test-client-id';
process.env.DISCORD_CLIENT_SECRET = 'test-client-secret';
process.env.DOMAIN = 'http://localhost:3000';
process.env.API_URL = 'http://localhost:3000/api';
process.env.DATABASE_URL = 'postgresql://test:test@localhost:5432/test';
process.env.BASE_URL = 'http://localhost:4200';
process.env.NODE_ENV = 'test';