fixing imports to restore build
All relevant model interfaces now come from @gadget/api
This commit is contained in:
parent
cc6d3b901a
commit
6ee25642b8
@ -4,7 +4,7 @@
|
||||
|
||||
import { Socket } from "socket.io";
|
||||
import { SocketSession, SocketSessionType } from "./socket-session";
|
||||
import { IUser } from "@/models/user";
|
||||
import { IUser } from "@gadget/api";
|
||||
|
||||
export class CodeSession extends SocketSession {
|
||||
protected type: SocketSessionType = SocketSessionType.Code;
|
||||
|
||||
@ -29,7 +29,7 @@ export interface CsrfTokenOptions {
|
||||
|
||||
import { ApiClientStatus } from "../models/api-client.js";
|
||||
import { CsrfToken, ICsrfToken } from "../models/csrf-token.js";
|
||||
import { IUser } from "../models/user.js";
|
||||
import { IUser } from "@gadget/api";
|
||||
|
||||
import { DtpComponent } from "./component.js";
|
||||
import { DtpPaginationParameters } from "./pagination-parameters.js";
|
||||
@ -98,7 +98,7 @@ export abstract class DtpController implements DtpComponent {
|
||||
}
|
||||
|
||||
const apiClientIdObj = Types.ObjectId.createFromHexString(
|
||||
apiClientId as string
|
||||
apiClientId as string,
|
||||
);
|
||||
const apiClient = await ApiClientService.getById(apiClientIdObj);
|
||||
if (!apiClient) {
|
||||
@ -155,10 +155,12 @@ export abstract class DtpController implements DtpComponent {
|
||||
return async (
|
||||
req: Request,
|
||||
res: Response,
|
||||
next: NextFunction
|
||||
next: NextFunction,
|
||||
): Promise<void> => {
|
||||
if (!req.user) {
|
||||
res.status(403).json({ success: false, message: "Authentication required" });
|
||||
res
|
||||
.status(403)
|
||||
.json({ success: false, message: "Authentication required" });
|
||||
return;
|
||||
}
|
||||
next();
|
||||
@ -169,11 +171,13 @@ export abstract class DtpController implements DtpComponent {
|
||||
return async (
|
||||
req: Request,
|
||||
res: Response,
|
||||
next: NextFunction
|
||||
next: NextFunction,
|
||||
): Promise<void> => {
|
||||
const user: IUser | null | undefined = req.user;
|
||||
if (!user || !user.flags.isAdmin) {
|
||||
res.status(403).json({ success: false, message: "Admin access required" });
|
||||
res
|
||||
.status(403)
|
||||
.json({ success: false, message: "Admin access required" });
|
||||
return;
|
||||
}
|
||||
next();
|
||||
@ -193,7 +197,7 @@ export abstract class DtpController implements DtpComponent {
|
||||
"failed to receive a default export class from child controller",
|
||||
{
|
||||
script: pathObj.name,
|
||||
}
|
||||
},
|
||||
);
|
||||
throw new Error("Child controller failed to provide a default export");
|
||||
}
|
||||
@ -228,7 +232,7 @@ export abstract class DtpController implements DtpComponent {
|
||||
req: Request,
|
||||
maxPerPage: number,
|
||||
pageParamName: string = "p",
|
||||
cppParamName: string = "cpp"
|
||||
cppParamName: string = "cpp",
|
||||
): DtpPaginationParameters {
|
||||
const pageParam: string = req.query[pageParamName]
|
||||
? (req.query[pageParamName] as string)
|
||||
@ -255,7 +259,7 @@ export abstract class DtpController implements DtpComponent {
|
||||
seconds: number,
|
||||
limit: number,
|
||||
message: string,
|
||||
keyGenerator?: (req: Request, res: Response) => string
|
||||
keyGenerator?: (req: Request, res: Response) => string,
|
||||
): RequestHandler {
|
||||
return rateLimit({
|
||||
windowMs: seconds * 1000,
|
||||
@ -287,7 +291,7 @@ export abstract class DtpController implements DtpComponent {
|
||||
{
|
||||
dest: path.join(env.https.uploadPath, slug),
|
||||
},
|
||||
options || {}
|
||||
options || {},
|
||||
);
|
||||
|
||||
return multer(options);
|
||||
@ -302,7 +306,7 @@ export abstract class DtpController implements DtpComponent {
|
||||
*/
|
||||
async createCsrfToken(
|
||||
req: Request,
|
||||
options: CsrfTokenOptions
|
||||
options: CsrfTokenOptions,
|
||||
): Promise<ICsrfToken> {
|
||||
const NOW = new Date();
|
||||
|
||||
@ -310,7 +314,7 @@ export abstract class DtpController implements DtpComponent {
|
||||
{
|
||||
expiresMinutes: 30,
|
||||
},
|
||||
options
|
||||
options,
|
||||
);
|
||||
|
||||
if (options.expiresMinutes > 120) {
|
||||
|
||||
@ -2,10 +2,9 @@
|
||||
// Copyright (C) 2026 Robert Colbert <rob.colbert@openplatform.us>
|
||||
// All Rights Reserved
|
||||
|
||||
import { IDroneRegistration } from "@/models/drone-registration";
|
||||
import { IUser, IDroneRegistration } from "@gadget/api";
|
||||
import { SocketSession, SocketSessionType } from "./socket-session";
|
||||
import { Socket } from "socket.io";
|
||||
import { IUser } from "@/models/user";
|
||||
|
||||
export class DroneSession extends SocketSession {
|
||||
protected type: SocketSessionType = SocketSessionType.Drone;
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
// All Rights Reserved
|
||||
|
||||
import { Socket } from "socket.io";
|
||||
import { IUser } from "@/models/user";
|
||||
import { IUser } from "@gadget/api";
|
||||
import { DtpLog } from "./log";
|
||||
|
||||
export enum SocketSessionType {
|
||||
|
||||
@ -14,7 +14,7 @@ import EmailVerification, {
|
||||
EmailVerificationStatus,
|
||||
IEmailVerification,
|
||||
} from "../models/email-verification.js";
|
||||
import { IUser } from "../models/user.js";
|
||||
import { IUser } from "@gadget/api";
|
||||
|
||||
import UserService from "./user.js";
|
||||
import { DtpService } from "../lib/service.js";
|
||||
@ -140,7 +140,7 @@ The ${env.site.name} Team
|
||||
|
||||
if (verification.status !== EmailVerificationStatus.Pending) {
|
||||
const error = new Error(
|
||||
`Verification code is not pending (status: ${verification.status})`
|
||||
`Verification code is not pending (status: ${verification.status})`,
|
||||
);
|
||||
error.statusCode = 400;
|
||||
throw error;
|
||||
@ -161,7 +161,7 @@ The ${env.site.name} Team
|
||||
{
|
||||
status: EmailVerificationStatus.Verified,
|
||||
},
|
||||
{ new: true, populate: this.populateEmailVerification, lean: true }
|
||||
{ new: true, populate: this.populateEmailVerification, lean: true },
|
||||
);
|
||||
if (!newVerification) {
|
||||
const error = new Error("Failed to update verification status");
|
||||
|
||||
@ -2,14 +2,13 @@
|
||||
// Copyright (C) 2026 Robert Colbert <rob.colbert@openplatform.us>
|
||||
// All Rights Reserved
|
||||
|
||||
import DroneRegistration, {
|
||||
DroneStatus,
|
||||
IDroneRegistration,
|
||||
} from "@/models/drone-registration.js";
|
||||
import { DtpService } from "../lib/service.js";
|
||||
import { IUser } from "@/models/user.js";
|
||||
import { PopulateOptions, Types } from "mongoose";
|
||||
|
||||
import { IUser, DroneStatus, IDroneRegistration } from "@gadget/api";
|
||||
import DroneRegistration from "@/models/drone-registration.js";
|
||||
|
||||
import { DtpService } from "../lib/service.js";
|
||||
|
||||
export interface IDroneDefinition {
|
||||
hostname: string;
|
||||
}
|
||||
|
||||
@ -11,7 +11,7 @@ import jwt from "jsonwebtoken";
|
||||
import dayjs from "dayjs";
|
||||
import geoip from "geoip-lite";
|
||||
|
||||
import { IUser } from "../models/user.js";
|
||||
import { IUser } from "@gadget/api";
|
||||
import { IWebToken, WebToken } from "../models/web-token.js";
|
||||
import { WebVisit } from "../models/web-visit.js";
|
||||
|
||||
|
||||
@ -8,13 +8,14 @@ import { MongooseBaseQueryOptions, Types } from "mongoose";
|
||||
import { v4 as uuidv4 } from "uuid";
|
||||
import { filterText } from "dtp-cleantext";
|
||||
|
||||
import User, { IUser } from "../models/user.ts";
|
||||
import User from "../models/user.ts";
|
||||
import { IUser } from "@gadget/api";
|
||||
|
||||
import ContactService from "./contact.ts";
|
||||
import CryptoService from "./crypto.ts";
|
||||
|
||||
import { DtpPaginationParameters } from "../lib/pagination-parameters.ts";
|
||||
|
||||
import { DtpService } from "../lib/service.js";
|
||||
import { DtpPaginationParameters } from "../lib/pagination-parameters.ts";
|
||||
|
||||
export interface IUserUpdate {
|
||||
email: string;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user