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