From 48e64c4426dfc5eb3e3eb5e261d970c2837d809c Mon Sep 17 00:00:00 2001 From: Michael Wolfendale <4563722+wolfendale@users.noreply.github.com> Date: Thu, 23 May 2024 18:59:55 +0100 Subject: [PATCH] chore: organized import ordering --- .eslintrc.json | 5 +- src/database.ts | 50 +++++++++---------- src/middleware/checkBan.ts | 6 +-- src/middleware/consoleAuth.ts | 6 +-- src/middleware/detectVersion.ts | 4 +- src/middleware/discovery.ts | 4 +- src/middleware/staticFiles.ts | 4 +- src/middleware/webAuth.ts | 4 +- src/models/communities.ts | 2 +- src/models/content.ts | 2 +- src/models/conversation.ts | 2 +- src/models/endpoint.ts | 2 +- src/models/notifications.ts | 2 +- src/models/post.ts | 2 +- src/models/report.ts | 2 +- src/models/settings.ts | 2 +- src/redisCache.ts | 3 +- src/server.ts | 12 ++--- src/services/juxt-web/routes/admin/admin.ts | 16 +++--- .../juxt-web/routes/console/communities.ts | 18 +++---- src/services/juxt-web/routes/console/feed.ts | 8 +-- .../juxt-web/routes/console/messages.ts | 14 +++--- .../juxt-web/routes/console/notifications.ts | 7 +-- src/services/juxt-web/routes/console/posts.ts | 18 +++---- src/services/juxt-web/routes/console/show.ts | 4 +- .../juxt-web/routes/console/topics.ts | 8 +-- .../juxt-web/routes/console/userpage.ts | 18 +++---- src/services/juxt-web/routes/console/web.ts | 2 +- src/services/juxt-web/routes/web/login.ts | 7 +-- src/services/juxt-web/routes/web/pwa.ts | 3 +- src/services/juxt-web/routes/web/robots.ts | 2 +- src/types/common/express-session.d.ts | 2 +- src/types/common/express.d.ts | 6 +-- src/types/common/user.ts | 2 +- src/types/mongoose-fuzzy-search-next.d.ts | 2 +- src/types/mongoose/communities.ts | 2 +- src/types/mongoose/content.ts | 2 +- src/types/mongoose/conversation.ts | 2 +- src/types/mongoose/endpoint.ts | 2 +- src/types/mongoose/notifications.ts | 2 +- src/types/mongoose/post.ts | 2 +- src/types/mongoose/report.ts | 2 +- src/types/mongoose/settings.ts | 2 +- src/util.ts | 32 ++++++------ 44 files changed, 152 insertions(+), 147 deletions(-) diff --git a/.eslintrc.json b/.eslintrc.json index 4d2ac91..4c8979e 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -54,12 +54,13 @@ }, "overrides": [ { - "files": ["**/*.ts"], + "files": ["**/*.ts", "**/*.d.ts"], "rules": { "@typescript-eslint/no-empty-interface": "warn", "@typescript-eslint/no-inferrable-types": "off", "@typescript-eslint/typedef": "error", - "@typescript-eslint/explicit-function-return-type": "error" + "@typescript-eslint/explicit-function-return-type": "error", + "@typescript-eslint/consistent-type-imports": ["error", { "prefer": "type-imports" }] } }, { diff --git a/src/database.ts b/src/database.ts index 11320b2..1a0a75f 100644 --- a/src/database.ts +++ b/src/database.ts @@ -1,36 +1,36 @@ -import { set, connect as _connect, connection as _connection, Connection } from 'mongoose'; +import mongoose from 'mongoose'; import { FuzzySearch } from 'mongoose-fuzzy-search-next'; +import { info } from '@/logger'; +import { COMMUNITY } from '@/models/communities'; +import { CONTENT } from '@/models/content'; +import { CONVERSATION } from '@/models/conversation'; +import { ENDPOINT } from '@/models/endpoint'; +import { NOTIFICATION } from '@/models/notifications'; +import { POST } from '@/models/post'; +import { SETTINGS } from '@/models/settings'; +import { REPORT } from '@/models/report'; +import type { HydratedCommunityDocument, ICommunity } from '@/types/mongoose/communities'; +import type { HydratedPostDocument, IPost } from '@/types/mongoose/post'; +import type { HydratedEndpointDocument } from '@/types/mongoose/endpoint'; +import type { HydratedSettingsDocument } from '@/types/mongoose/settings'; +import type { HydratedContentDocument, IContent } from '@/types/mongoose/content'; +import type { HydratedConversationDocument } from '@/types/mongoose/conversation'; +import type { HydratedNotificationDocument } from '@/types/mongoose/notifications'; +import type { HydratedReportDocument } from '@/types/mongoose/report'; import { mongoose as mongooseConfig } from '../config.json'; -import { COMMUNITY } from './models/communities'; -import { CONTENT } from './models/content'; -import { CONVERSATION } from './models/conversation'; -import { ENDPOINT } from './models/endpoint'; -import { NOTIFICATION } from './models/notifications'; -import { POST } from './models/post'; -import { SETTINGS } from './models/settings'; -import { REPORT } from './models/report'; const { uri, database, options } = mongooseConfig; -import { info } from './logger'; -import { HydratedCommunityDocument, ICommunity } from './types/mongoose/communities'; -import { HydratedPostDocument, IPost } from './types/mongoose/post'; -import { HydratedEndpointDocument } from './types/mongoose/endpoint'; -import { HydratedSettingsDocument } from './types/mongoose/settings'; -import { HydratedContentDocument, IContent } from './types/mongoose/content'; -import { HydratedConversationDocument } from './types/mongoose/conversation'; -import { HydratedNotificationDocument } from './types/mongoose/notifications'; -import { HydratedReportDocument } from './types/mongoose/report'; - -let connection: Connection; -set('strictQuery', true); + +let connection: mongoose.Connection; +mongoose.set('strictQuery', true); export async function connect(): Promise { - await _connect(`${uri}/${database}`, options); - connection = _connection; - connection.on('connected', function (this: Connection) { + await mongoose.connect(`${uri}/${database}`, options); + connection = mongoose.connection; + connection.on('connected', function (this: mongoose.Connection) { info(`MongoDB connected ${this.name}`); }); - // Should this use the logger? + // ? Should this use the logger? connection.on('error', console.error.bind(console, 'connection error:')); connection.on('close', () => { connection.removeAllListeners(); diff --git a/src/middleware/checkBan.ts b/src/middleware/checkBan.ts index 29ab97c..e051f44 100644 --- a/src/middleware/checkBan.ts +++ b/src/middleware/checkBan.ts @@ -1,7 +1,7 @@ -import config from '../../config.json'; import moment from 'moment/moment'; -import db from '../database'; -import { Request, Response, NextFunction } from 'express'; +import db from '@/database'; +import type { Request, Response, NextFunction } from 'express'; +import config from '../../config.json'; export async function checkBan(request: Request, response: Response, next: NextFunction): Promise { if (!request.user && !request.guest_access && request.path !== '/login') { diff --git a/src/middleware/consoleAuth.ts b/src/middleware/consoleAuth.ts index d368846..b180400 100644 --- a/src/middleware/consoleAuth.ts +++ b/src/middleware/consoleAuth.ts @@ -1,7 +1,7 @@ -import { User } from '@/types/common/user'; +import util from '@/util'; +import type { User } from '@/types/common/user'; +import type { Request, Response, NextFunction } from 'express'; import config from '../../config.json'; -import util from '../util'; -import { Request, Response, NextFunction } from 'express'; export async function auth(request: Request, response: Response, next: NextFunction): Promise { diff --git a/src/middleware/detectVersion.ts b/src/middleware/detectVersion.ts index 23dffc7..2bc713b 100644 --- a/src/middleware/detectVersion.ts +++ b/src/middleware/detectVersion.ts @@ -1,5 +1,5 @@ -import util from '../util'; -import { Request, Response, NextFunction } from 'express'; +import util from '@/util'; +import type { Request, Response, NextFunction } from 'express'; export async function detectVersion(request: Request, response: Response, next: NextFunction): Promise { request.timerDate = Date.now(); diff --git a/src/middleware/discovery.ts b/src/middleware/discovery.ts index 06b75d1..6928b3f 100644 --- a/src/middleware/discovery.ts +++ b/src/middleware/discovery.ts @@ -1,6 +1,6 @@ +import db from '@/database'; +import type { Request, Response, NextFunction } from 'express'; import config from '../../config.json'; -import db from '../database'; -import { Request, Response, NextFunction } from 'express'; export async function checkDiscovery(request: Request, response: Response, next: NextFunction): Promise { const discovery = await db.getEndPoint(config.server_environment); diff --git a/src/middleware/staticFiles.ts b/src/middleware/staticFiles.ts index 33c1999..6fdae12 100644 --- a/src/middleware/staticFiles.ts +++ b/src/middleware/staticFiles.ts @@ -1,5 +1,5 @@ -import util from '../util'; -import { Request, Response, NextFunction } from 'express'; +import util from '@/util'; +import type { Request, Response, NextFunction } from 'express'; export async function staticFiles(request: Request, response: Response, next: NextFunction): Promise { // Web files diff --git a/src/middleware/webAuth.ts b/src/middleware/webAuth.ts index a6a7409..e67bca7 100644 --- a/src/middleware/webAuth.ts +++ b/src/middleware/webAuth.ts @@ -1,5 +1,5 @@ -import util from '../util'; -import { Request, Response, NextFunction } from 'express'; +import util from '@/util'; +import type { Request, Response, NextFunction } from 'express'; export async function webAuth(request: Request, response: Response, next: NextFunction): Promise { // Get pid and fetch user data diff --git a/src/models/communities.ts b/src/models/communities.ts index 5041fb8..dffcb99 100644 --- a/src/models/communities.ts +++ b/src/models/communities.ts @@ -1,5 +1,5 @@ -import { CommunityModel, HydratedCommunityDocument, ICommunity, ICommunityMethods, IPermissions, PermissionsModel } from '@/types/mongoose/communities'; import { Schema, model } from 'mongoose'; +import type { CommunityModel, HydratedCommunityDocument, ICommunity, ICommunityMethods, IPermissions, PermissionsModel } from '@/types/mongoose/communities'; export const PermissionsSchema = new Schema({ open: { diff --git a/src/models/content.ts b/src/models/content.ts index a37619b..1216de1 100644 --- a/src/models/content.ts +++ b/src/models/content.ts @@ -1,5 +1,5 @@ -import { ContentModel, HydratedContentDocument, IContent, IContentMethods } from '@/types/mongoose/content'; import { Schema, model } from 'mongoose'; +import type { ContentModel, HydratedContentDocument, IContent, IContentMethods } from '@/types/mongoose/content'; export const ContentSchema = new Schema({ pid: Number, diff --git a/src/models/conversation.ts b/src/models/conversation.ts index 4c29db0..625167d 100644 --- a/src/models/conversation.ts +++ b/src/models/conversation.ts @@ -1,6 +1,6 @@ -import { ConversationModel, HydratedConversationDocument, IConversation, IConversationMethods, IUser, UserModel } from '@/types/mongoose/conversation'; import { Schema, model } from 'mongoose'; import { Snowflake } from 'node-snowflake'; +import type { ConversationModel, HydratedConversationDocument, IConversation, IConversationMethods, IUser, UserModel } from '@/types/mongoose/conversation'; const user = new Schema({ pid: Number, diff --git a/src/models/endpoint.ts b/src/models/endpoint.ts index 8989c77..fae5280 100644 --- a/src/models/endpoint.ts +++ b/src/models/endpoint.ts @@ -1,5 +1,5 @@ -import { EndpointModel, IEndpoint } from '@/types/mongoose/endpoint'; import { Schema, model } from 'mongoose'; +import type { EndpointModel, IEndpoint } from '@/types/mongoose/endpoint'; export const endpointSchema = new Schema({ status: Number, diff --git a/src/models/notifications.ts b/src/models/notifications.ts index 779b151..fca7091 100644 --- a/src/models/notifications.ts +++ b/src/models/notifications.ts @@ -1,5 +1,5 @@ -import { HydratedNotificationDocument, INotification, INotificationMethods, NotificationModel } from '@/types/mongoose/notifications'; import { Schema, model } from 'mongoose'; +import type { HydratedNotificationDocument, INotification, INotificationMethods, NotificationModel } from '@/types/mongoose/notifications'; export const NotificationSchema = new Schema({ pid: String, diff --git a/src/models/post.ts b/src/models/post.ts index 817fa3e..59446dd 100644 --- a/src/models/post.ts +++ b/src/models/post.ts @@ -1,5 +1,5 @@ -import { HydratedPostDocument, IPost, IPostMethods, PostModel } from '@/types/mongoose/post'; import { Schema, model } from 'mongoose'; +import type { HydratedPostDocument, IPost, IPostMethods, PostModel } from '@/types/mongoose/post'; export const PostSchema = new Schema({ id: String, diff --git a/src/models/report.ts b/src/models/report.ts index 4f7eece..b57924a 100644 --- a/src/models/report.ts +++ b/src/models/report.ts @@ -1,5 +1,5 @@ -import { HydratedReportDocument, IReport, IReportMethods, ReportModel } from '@/types/mongoose/report'; import { Schema, model } from 'mongoose'; +import type { HydratedReportDocument, IReport, IReportMethods, ReportModel } from '@/types/mongoose/report'; export const ReportSchema = new Schema({ pid: Number, diff --git a/src/models/settings.ts b/src/models/settings.ts index 445d740..3f283ea 100644 --- a/src/models/settings.ts +++ b/src/models/settings.ts @@ -1,5 +1,5 @@ -import { HydratedSettingsDocument, ISettings, ISettingsMethods, SettingsModel } from '@/types/mongoose/settings'; import { Schema, model } from 'mongoose'; +import type { HydratedSettingsDocument, ISettings, ISettingsMethods, SettingsModel } from '@/types/mongoose/settings'; export const SettingsSchema = new Schema({ pid: Number, diff --git a/src/redisCache.ts b/src/redisCache.ts index 6edf245..79a9b84 100644 --- a/src/redisCache.ts +++ b/src/redisCache.ts @@ -1,6 +1,7 @@ import redis from 'redis'; -import logger from './logger'; +import logger from '@/logger'; import config from '../config.json'; + const { host, port } = config.redis; export const redisClient = redis.createClient({ socket: { host, port } }); diff --git a/src/server.ts b/src/server.ts index 689eaf4..9c77eca 100644 --- a/src/server.ts +++ b/src/server.ts @@ -1,15 +1,15 @@ -process.title = 'Pretendo - Juxt-Web'; - import express from 'express'; import morgan from 'morgan'; import cookieParser from 'cookie-parser'; import session from 'express-session'; import { default as RedisStore } from 'connect-redis'; -import database from './database'; -import logger from './logger'; -import { redisClient } from './redisCache'; +import logger from '@/logger'; +import database from '@/database'; +import { redisClient } from '@/redisCache'; +import juxt_web from '@/services/juxt-web'; import config from '../config.json'; -import juxt_web from './services/juxt-web'; + +process.title = 'Pretendo - Juxt-Web'; const { http: { port } } = config; const app = express(); diff --git a/src/services/juxt-web/routes/admin/admin.ts b/src/services/juxt-web/routes/admin/admin.ts index 41ce8ca..a3a4fb9 100644 --- a/src/services/juxt-web/routes/admin/admin.ts +++ b/src/services/juxt-web/routes/admin/admin.ts @@ -1,11 +1,11 @@ -import express from 'express'; -import database from '../../../../database'; -import { POST } from '../../../../models/post'; -import { SETTINGS } from '../../../../models/settings'; -import util from '../../../../util'; import moment from 'moment'; +import express from 'express'; +import database from '@/database'; +import { POST } from '@/models/post'; +import { SETTINGS } from '@/models/settings'; +import util from '@/util'; +import type { HydratedPostDocument } from '@/types/mongoose/post'; import config from '../../../../../config.json'; -import { HydratedPostDocument } from '@/types/mongoose/post'; const router = express.Router(); @@ -15,7 +15,7 @@ router.get('/posts', async function (req, res): Promise { } const reports = await database.getAllOpenReports(); - const communityMap = await util.getCommunityHash(); + const communityMap = util.getCommunityHash(); const userContent = await database.getUserContent(req.pid); const userMap = util.getUserHash(); const postIDs = reports.map(obj => obj.post_id); @@ -60,7 +60,7 @@ router.get('/accounts', async function (req, res) { const limit = 20; const users = search ? await database.getUserSettingsFuzzySearch(search, limit, page * limit) : await database.getUsersContent(limit, page * limit); - const userMap = await util.getUserHash(); + const userMap = util.getUserHash(); res.render(req.directory + '/users.ejs', { lang: req.lang, diff --git a/src/services/juxt-web/routes/console/communities.ts b/src/services/juxt-web/routes/console/communities.ts index 1daf516..10a06b3 100644 --- a/src/services/juxt-web/routes/console/communities.ts +++ b/src/services/juxt-web/routes/console/communities.ts @@ -1,14 +1,14 @@ import express from 'express'; -import database from '../../../../database'; -import util from '../../../../util'; -import config from '../../../../../config.json'; import multer from 'multer'; import moment from 'moment'; -import { POST } from '../../../../models/post'; -import { COMMUNITY } from '../../../../models/communities'; -import redis from '../../../../redisCache'; -import { HydratedCommunityDocument, ICommunity } from '@/types/mongoose/communities'; -import { HydratedPostDocument } from '@/types/mongoose/post'; +import database from '@/database'; +import util from '@/util'; +import { POST } from '@/models/post'; +import { COMMUNITY } from '@/models/communities'; +import redis from '@/redisCache'; +import type { HydratedCommunityDocument, ICommunity } from '@/types/mongoose/communities'; +import type { HydratedPostDocument } from '@/types/mongoose/post'; +import config from '../../../../../config.json'; const upload = multer({dest: 'uploads/'}); const router = express.Router(); @@ -120,7 +120,7 @@ router.get('/:communityID/:type', async function (req, res) { if (!community.permissions) { community.permissions = { - open: false, + open: (community as any).open, minimum_new_post_access_level: 0, minimum_new_comment_access_level: 0, minimum_new_community_access_level: 0 diff --git a/src/services/juxt-web/routes/console/feed.ts b/src/services/juxt-web/routes/console/feed.ts index 7d4c19b..7244795 100644 --- a/src/services/juxt-web/routes/console/feed.ts +++ b/src/services/juxt-web/routes/console/feed.ts @@ -1,9 +1,9 @@ import express from 'express'; -import database from '../../../../database'; -import util from '../../../../util'; -import config from '../../../../../config.json'; import moment from 'moment'; -import { HydratedPostDocument } from '@/types/mongoose/post'; +import database from '@/database'; +import util from '@/util'; +import type { HydratedPostDocument } from '@/types/mongoose/post'; +import config from '../../../../../config.json'; const router = express.Router(); diff --git a/src/services/juxt-web/routes/console/messages.ts b/src/services/juxt-web/routes/console/messages.ts index 6f95d75..eaf22fc 100644 --- a/src/services/juxt-web/routes/console/messages.ts +++ b/src/services/juxt-web/routes/console/messages.ts @@ -1,13 +1,13 @@ +import crypto from 'crypto'; import express from 'express'; -import database from '../../../../database'; -import util from '../../../../util'; -import config from '../../../../../config.json'; -import { POST } from '../../../../models/post'; import moment from 'moment'; -import { CONVERSATION } from '../../../../models/conversation'; -import crypto from 'crypto'; -import { IPost } from '@/types/mongoose/post'; import { Snowflake as snowflake } from 'node-snowflake'; +import database from '@/database'; +import util from '@/util'; +import { POST } from '@/models/post'; +import { CONVERSATION } from '@/models/conversation'; +import type { IPost } from '@/types/mongoose/post'; +import config from '../../../../../config.json'; const router = express.Router(); diff --git a/src/services/juxt-web/routes/console/notifications.ts b/src/services/juxt-web/routes/console/notifications.ts index 0e56560..69facf6 100644 --- a/src/services/juxt-web/routes/console/notifications.ts +++ b/src/services/juxt-web/routes/console/notifications.ts @@ -1,8 +1,9 @@ import express from 'express'; -import database from '../../../../database'; -import config from '../../../../../config.json'; -import util from '../../../../util'; import moment from 'moment'; +import database from '@/database'; +import util from '@/util'; +import config from '../../../../../config.json'; + const router = express.Router(); router.get('/my_news', async function (req, res) { diff --git a/src/services/juxt-web/routes/console/posts.ts b/src/services/juxt-web/routes/console/posts.ts index fa4b63c..1d9c6b2 100644 --- a/src/services/juxt-web/routes/console/posts.ts +++ b/src/services/juxt-web/routes/console/posts.ts @@ -1,16 +1,16 @@ +import crypto from 'crypto'; import express from 'express'; -import database from '../../../../database'; -import util from '../../../../util'; -import config from '../../../../../config.json'; -import { POST } from '../../../../models/post'; import multer from 'multer'; import moment from 'moment'; import rateLimit from 'express-rate-limit'; -import { REPORT } from '../../../../models/report'; -import crypto from 'crypto'; -import redis from '../../../../redisCache'; -import { Request, Response } from 'express'; -import { IPost } from '@/types/mongoose/post'; +import database from '../../../../database'; +import util from '@/util'; +import redis from '@/redisCache'; +import { POST } from '@/models/post'; +import { REPORT } from '@/models/report'; +import type { Request, Response } from 'express'; +import type { IPost } from '@/types/mongoose/post'; +import config from '../../../../../config.json'; const upload = multer({dest: 'uploads/'}); const router = express.Router(); diff --git a/src/services/juxt-web/routes/console/show.ts b/src/services/juxt-web/routes/console/show.ts index 7e4a34c..0d870c5 100644 --- a/src/services/juxt-web/routes/console/show.ts +++ b/src/services/juxt-web/routes/console/show.ts @@ -1,6 +1,6 @@ import express from 'express'; -import database from '../../../../database'; -import util from '../../../../util'; +import database from '@/database'; +import util from '@/util'; import config from '../../../../../config.json'; const router = express.Router(); diff --git a/src/services/juxt-web/routes/console/topics.ts b/src/services/juxt-web/routes/console/topics.ts index 746c791..cf55674 100644 --- a/src/services/juxt-web/routes/console/topics.ts +++ b/src/services/juxt-web/routes/console/topics.ts @@ -1,9 +1,9 @@ import express from 'express'; -import database from '../../../../database'; -import util from '../../../../util'; -import config from '../../../../../config.json'; import moment from 'moment'; -import { POST } from '../../../../models/post'; +import database from '@/database'; +import util from '@/util'; +import { POST } from '@/models/post'; +import config from '../../../../../config.json'; const router = express.Router(); diff --git a/src/services/juxt-web/routes/console/userpage.ts b/src/services/juxt-web/routes/console/userpage.ts index 6dc5482..d935cfe 100644 --- a/src/services/juxt-web/routes/console/userpage.ts +++ b/src/services/juxt-web/routes/console/userpage.ts @@ -1,15 +1,15 @@ import express from 'express'; -import database from '../../../../database'; -import util from '../../../../util'; -import config from '../../../../../config.json'; import multer from 'multer'; import moment from 'moment'; -import { POST } from '../../../../models/post'; -import { SETTINGS } from '../../../../models/settings'; -import redis from '../../../../redisCache'; -import { Request, Response } from 'express'; -import { IPost } from '@/types/mongoose/post'; -import { HydratedSettingsDocument } from '@/types/mongoose/settings'; +import database from '@/database'; +import util from '@/util'; +import redis from '@/redisCache'; +import { POST } from '@/models/post'; +import { SETTINGS } from '@/models/settings'; +import type { Request, Response } from 'express'; +import type { IPost } from '@/types/mongoose/post'; +import type { HydratedSettingsDocument } from '@/types/mongoose/settings'; +import config from '../../../../../config.json'; const upload = multer({ dest: 'uploads/' }); const router = express.Router(); diff --git a/src/services/juxt-web/routes/console/web.ts b/src/services/juxt-web/routes/console/web.ts index 2b01066..4fbd0b1 100644 --- a/src/services/juxt-web/routes/console/web.ts +++ b/src/services/juxt-web/routes/console/web.ts @@ -1,5 +1,5 @@ -import express from 'express'; import path from 'path'; +import express from 'express'; const router = express.Router(); diff --git a/src/services/juxt-web/routes/web/login.ts b/src/services/juxt-web/routes/web/login.ts index b8e8673..4c77486 100644 --- a/src/services/juxt-web/routes/web/login.ts +++ b/src/services/juxt-web/routes/web/login.ts @@ -1,9 +1,10 @@ import express from 'express'; -const router = express.Router(); -import database from '../../../../database'; -import util from '../../../../util'; +import database from '@/database'; +import util from '@/util'; import config from '../../../../../config.json'; +const router = express.Router(); + router.get('/', async function (req, res) { res.render(req.directory + '/login.ejs', {toast: null, cdnURL: config.CDN_domain,}); }); diff --git a/src/services/juxt-web/routes/web/pwa.ts b/src/services/juxt-web/routes/web/pwa.ts index 85ab8f8..455ad30 100644 --- a/src/services/juxt-web/routes/web/pwa.ts +++ b/src/services/juxt-web/routes/web/pwa.ts @@ -1,5 +1,6 @@ -import express from 'express'; import path from 'path'; +import express from 'express'; + const router = express.Router(); router.get('/icons/:filename', function (req, res) { diff --git a/src/services/juxt-web/routes/web/robots.ts b/src/services/juxt-web/routes/web/robots.ts index b8d48e9..dcb06b6 100644 --- a/src/services/juxt-web/routes/web/robots.ts +++ b/src/services/juxt-web/routes/web/robots.ts @@ -1,5 +1,5 @@ -import express from 'express'; import path from 'path'; +import express from 'express'; const router = express.Router(); diff --git a/src/types/common/express-session.d.ts b/src/types/common/express-session.d.ts index dc0019c..db52b37 100644 --- a/src/types/common/express-session.d.ts +++ b/src/types/common/express-session.d.ts @@ -1,4 +1,4 @@ -import { User } from './user'; +import type { User } from './user'; declare module 'express-session' { diff --git a/src/types/common/express.d.ts b/src/types/common/express.d.ts index d18db33..e84333a 100644 --- a/src/types/common/express.d.ts +++ b/src/types/common/express.d.ts @@ -1,6 +1,6 @@ -import translations from '../../translations'; -import { ParamPack } from './param-pack'; -import { User } from './user'; +import type translations from '../../translations'; +import type { ParamPack } from './param-pack'; +import type { User } from './user'; declare global { diff --git a/src/types/common/user.ts b/src/types/common/user.ts index 22dcf78..d81f890 100644 --- a/src/types/common/user.ts +++ b/src/types/common/user.ts @@ -1,4 +1,4 @@ -import { Mii } from '@pretendonetwork/grpc/api/mii'; +import type { Mii } from '@pretendonetwork/grpc/api/mii'; export interface User { deleted: boolean; diff --git a/src/types/mongoose-fuzzy-search-next.d.ts b/src/types/mongoose-fuzzy-search-next.d.ts index 0117183..6f80331 100644 --- a/src/types/mongoose-fuzzy-search-next.d.ts +++ b/src/types/mongoose-fuzzy-search-next.d.ts @@ -1,6 +1,6 @@ declare module 'mongoose-fuzzy-search-next' { - import { FilterQuery } from 'mongoose'; + import type { FilterQuery } from 'mongoose'; export function FuzzySearch(fields: string[], searchKey: string): FilterQuery } diff --git a/src/types/mongoose/communities.ts b/src/types/mongoose/communities.ts index d3b574a..14d5d4a 100644 --- a/src/types/mongoose/communities.ts +++ b/src/types/mongoose/communities.ts @@ -1,4 +1,4 @@ -import { Model, Types, HydratedDocument } from 'mongoose'; +import type { Model, Types, HydratedDocument } from 'mongoose'; export interface IPermissions { open: boolean, diff --git a/src/types/mongoose/content.ts b/src/types/mongoose/content.ts index ded153c..20fc6f0 100644 --- a/src/types/mongoose/content.ts +++ b/src/types/mongoose/content.ts @@ -1,4 +1,4 @@ -import { Model, Types, HydratedDocument } from 'mongoose'; +import type { Model, Types, HydratedDocument } from 'mongoose'; export interface IContent { pid: number; diff --git a/src/types/mongoose/conversation.ts b/src/types/mongoose/conversation.ts index e104c05..6468ee8 100644 --- a/src/types/mongoose/conversation.ts +++ b/src/types/mongoose/conversation.ts @@ -1,4 +1,4 @@ -import { Model, Types, HydratedDocument } from 'mongoose'; +import type { Model, Types, HydratedDocument } from 'mongoose'; export interface IUser { pid: number; diff --git a/src/types/mongoose/endpoint.ts b/src/types/mongoose/endpoint.ts index d4dc14e..d0eed64 100644 --- a/src/types/mongoose/endpoint.ts +++ b/src/types/mongoose/endpoint.ts @@ -1,4 +1,4 @@ -import { Model, HydratedDocument } from 'mongoose'; +import type { Model, HydratedDocument } from 'mongoose'; export interface IEndpoint { status: number; diff --git a/src/types/mongoose/notifications.ts b/src/types/mongoose/notifications.ts index ba24eb4..076e53f 100644 --- a/src/types/mongoose/notifications.ts +++ b/src/types/mongoose/notifications.ts @@ -1,4 +1,4 @@ -import { Model, Types, HydratedDocument } from 'mongoose'; +import type { Model, Types, HydratedDocument } from 'mongoose'; export interface IUser { user: string; diff --git a/src/types/mongoose/post.ts b/src/types/mongoose/post.ts index 2e9d5d5..e6d66c9 100644 --- a/src/types/mongoose/post.ts +++ b/src/types/mongoose/post.ts @@ -1,4 +1,4 @@ -import { Model, Types, HydratedDocument } from 'mongoose'; +import type { Model, Types, HydratedDocument } from 'mongoose'; export interface IPost { id: string; diff --git a/src/types/mongoose/report.ts b/src/types/mongoose/report.ts index 987d9c2..c0e9e58 100644 --- a/src/types/mongoose/report.ts +++ b/src/types/mongoose/report.ts @@ -1,4 +1,4 @@ -import { Model, HydratedDocument } from 'mongoose'; +import type { Model, HydratedDocument } from 'mongoose'; export interface IReport { pid: number; diff --git a/src/types/mongoose/settings.ts b/src/types/mongoose/settings.ts index d180f38..896f86a 100644 --- a/src/types/mongoose/settings.ts +++ b/src/types/mongoose/settings.ts @@ -1,4 +1,4 @@ -import { Model, HydratedDocument } from 'mongoose'; +import type { Model, HydratedDocument } from 'mongoose'; export interface ISettings { pid: number; diff --git a/src/util.ts b/src/util.ts index 890c991..36e3d0f 100644 --- a/src/util.ts +++ b/src/util.ts @@ -1,8 +1,3 @@ -import { AccountDefinition } from '@pretendonetwork/grpc/account/account_service'; -import { APIDefinition } from '@pretendonetwork/grpc/api/api_service'; -import { LoginResponse as ApiLoginResponse } from '@pretendonetwork/grpc/api/login_rpc'; -import { FriendRequest } from '@pretendonetwork/grpc/friends/friend_request'; -import { FriendsDefinition } from '@pretendonetwork/grpc/friends/friends_service'; import aws from 'aws-sdk'; import bmp from 'bmp-js'; import crc32 from 'crc/crc32'; @@ -13,18 +8,23 @@ import pako from 'pako'; import { PNG } from 'pngjs'; import sharp from 'sharp'; import TGA from 'tga'; +import { AccountDefinition } from '@pretendonetwork/grpc/account/account_service'; +import { APIDefinition } from '@pretendonetwork/grpc/api/api_service'; +import { FriendsDefinition } from '@pretendonetwork/grpc/friends/friends_service'; +import logger from '@/logger'; +import database from '@/database'; +import { COMMUNITY } from '@/models/communities'; +import { CONTENT } from '@/models/content'; +import { NOTIFICATION } from '@/models/notifications'; +import { SETTINGS } from '@/models/settings'; +import translations from '@/translations'; +import type { LoginResponse as ApiLoginResponse } from '@pretendonetwork/grpc/api/login_rpc'; +import type { FriendRequest } from '@pretendonetwork/grpc/friends/friend_request'; +import type { ParamPack } from '@/types/common/param-pack'; +import type { Token } from '@/types/common/token'; +import type { User } from '@/types/common/user'; +import type { INotification } from '@/types/mongoose/notifications'; import config from '../config.json'; -import database from './database'; -import logger from './logger'; -import { COMMUNITY } from './models/communities'; -import { CONTENT } from './models/content'; -import { NOTIFICATION } from './models/notifications'; -import { SETTINGS } from './models/settings'; -import translations from './translations'; -import { ParamPack } from './types/common/param-pack'; -import { Token } from './types/common/token'; -import { User } from './types/common/user'; -import { INotification } from './types/mongoose/notifications'; const communityMap = new HashMap(); const userMap = new HashMap();