mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-06 19:28:16 +00:00
Run linter
This commit is contained in:
@@ -1,20 +1,19 @@
|
|||||||
import { Request, Response } from "express";
|
import { Request, Response } from "express";
|
||||||
import { PipelineStage, Types } from "mongoose";
|
import { PipelineStage, Types } from "mongoose";
|
||||||
import { Secret, Membership, User, ServiceTokenData } from "../../../models";
|
import { Membership, Secret, ServiceTokenData, User } from "../../../models";
|
||||||
import {
|
import {
|
||||||
|
ActorType,
|
||||||
|
AuditLog,
|
||||||
FolderVersion,
|
FolderVersion,
|
||||||
IPType,
|
IPType,
|
||||||
ISecretVersion,
|
ISecretVersion,
|
||||||
Log,
|
Log,
|
||||||
SecretSnapshot,
|
SecretSnapshot,
|
||||||
SecretVersion,
|
SecretVersion,
|
||||||
|
ServiceActor,
|
||||||
TFolderRootVersionSchema,
|
TFolderRootVersionSchema,
|
||||||
TrustedIP,
|
TrustedIP,
|
||||||
AuditLog,
|
UserActor
|
||||||
Actor,
|
|
||||||
ActorType,
|
|
||||||
UserActor,
|
|
||||||
ServiceActor
|
|
||||||
} from "../../models";
|
} from "../../models";
|
||||||
import { EESecretService } from "../../services";
|
import { EESecretService } from "../../services";
|
||||||
import { getLatestSecretVersionIds } from "../../helpers/secretVersion";
|
import { getLatestSecretVersionIds } from "../../helpers/secretVersion";
|
||||||
@@ -599,7 +598,7 @@ export const getWorkspaceLogs = async (req: Request, res: Response) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return trusted ips for workspace with id [workspaceId]
|
* Return audit logs for workspace with id [workspaceId]
|
||||||
* @param req
|
* @param req
|
||||||
* @param res
|
* @param res
|
||||||
*/
|
*/
|
||||||
@@ -608,6 +607,8 @@ export const getWorkspaceAuditLogs = async (req: Request, res: Response) => {
|
|||||||
const eventType = req.query.eventType;
|
const eventType = req.query.eventType;
|
||||||
const userAgentType = req.query.userAgentType;
|
const userAgentType = req.query.userAgentType;
|
||||||
const actor = req.query.actor as string | undefined;
|
const actor = req.query.actor as string | undefined;
|
||||||
|
const offset: number = parseInt(req.query.offset as string);
|
||||||
|
const limit: number = parseInt(req.query.limit as string);
|
||||||
|
|
||||||
const auditLogs = await AuditLog.find({
|
const auditLogs = await AuditLog.find({
|
||||||
workspace: new Types.ObjectId(workspaceId),
|
workspace: new Types.ObjectId(workspaceId),
|
||||||
@@ -626,7 +627,9 @@ export const getWorkspaceAuditLogs = async (req: Request, res: Response) => {
|
|||||||
})
|
})
|
||||||
} : {})
|
} : {})
|
||||||
})
|
})
|
||||||
.sort({ createdAt: -1 });
|
.sort({ createdAt: -1 })
|
||||||
|
.skip(offset)
|
||||||
|
.limit(limit);
|
||||||
|
|
||||||
return res.status(200).send({
|
return res.status(200).send({
|
||||||
auditLogs
|
auditLogs
|
||||||
@@ -634,7 +637,7 @@ export const getWorkspaceAuditLogs = async (req: Request, res: Response) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return trusted ips for workspace with id [workspaceId]
|
* Return audit log actor filter options for workspace with id [workspaceId]
|
||||||
* @param req
|
* @param req
|
||||||
* @param res
|
* @param res
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import {
|
|||||||
import { body, param, query } from "express-validator";
|
import { body, param, query } from "express-validator";
|
||||||
import { organizationsController } from "../../controllers/v1";
|
import { organizationsController } from "../../controllers/v1";
|
||||||
import {
|
import {
|
||||||
ACCEPTED, ADMIN, MEMBER, OWNER, AuthMode
|
ACCEPTED, ADMIN, AuthMode, MEMBER, OWNER
|
||||||
} from "../../../variables";
|
} from "../../../variables";
|
||||||
|
|
||||||
router.get(
|
router.get(
|
||||||
|
|||||||
@@ -9,10 +9,10 @@ import { body, param, query } from "express-validator";
|
|||||||
import { secretController } from "../../controllers/v1";
|
import { secretController } from "../../controllers/v1";
|
||||||
import {
|
import {
|
||||||
ADMIN,
|
ADMIN,
|
||||||
|
AuthMode,
|
||||||
MEMBER,
|
MEMBER,
|
||||||
PERMISSION_READ_SECRETS,
|
PERMISSION_READ_SECRETS,
|
||||||
PERMISSION_WRITE_SECRETS,
|
PERMISSION_WRITE_SECRETS
|
||||||
AuthMode
|
|
||||||
} from "../../../variables";
|
} from "../../../variables";
|
||||||
|
|
||||||
router.get(
|
router.get(
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import {
|
|||||||
validateRequest,
|
validateRequest,
|
||||||
} from "../../../middleware";
|
} from "../../../middleware";
|
||||||
import { param } from "express-validator";
|
import { param } from "express-validator";
|
||||||
import { ADMIN, MEMBER, AuthMode } from "../../../variables";
|
import { ADMIN, AuthMode, MEMBER } from "../../../variables";
|
||||||
import { secretSnapshotController } from "../../controllers/v1";
|
import { secretSnapshotController } from "../../controllers/v1";
|
||||||
|
|
||||||
router.get(
|
router.get(
|
||||||
|
|||||||
@@ -15,8 +15,8 @@ import { authLimiter } from "../../../helpers/rateLimiter";
|
|||||||
import {
|
import {
|
||||||
ACCEPTED,
|
ACCEPTED,
|
||||||
ADMIN,
|
ADMIN,
|
||||||
OWNER,
|
AuthMode,
|
||||||
AuthMode
|
OWNER
|
||||||
} from "../../../variables";
|
} from "../../../variables";
|
||||||
|
|
||||||
router.get(
|
router.get(
|
||||||
|
|||||||
@@ -8,8 +8,8 @@ import {
|
|||||||
import { body, param, query } from "express-validator";
|
import { body, param, query } from "express-validator";
|
||||||
import {
|
import {
|
||||||
ADMIN,
|
ADMIN,
|
||||||
MEMBER,
|
AuthMode,
|
||||||
AuthMode
|
MEMBER
|
||||||
} from "../../../variables";
|
} from "../../../variables";
|
||||||
import { workspaceController } from "../../controllers/v1";
|
import { workspaceController } from "../../controllers/v1";
|
||||||
import { EventType, UserAgentType } from "../../models";
|
import { EventType, UserAgentType } from "../../models";
|
||||||
@@ -97,6 +97,8 @@ router.get(
|
|||||||
query("eventType").isString().isIn(Object.values(EventType)).optional({ nullable: true }),
|
query("eventType").isString().isIn(Object.values(EventType)).optional({ nullable: true }),
|
||||||
query("userAgentType").isString().isIn(Object.values(UserAgentType)).optional({ nullable: true }),
|
query("userAgentType").isString().isIn(Object.values(UserAgentType)).optional({ nullable: true }),
|
||||||
query("actor").isString().optional({ nullable: true }),
|
query("actor").isString().optional({ nullable: true }),
|
||||||
|
query("offset").isString().default("0"),
|
||||||
|
query("limit").isString().default("20"),
|
||||||
validateRequest,
|
validateRequest,
|
||||||
workspaceController.getWorkspaceAuditLogs
|
workspaceController.getWorkspaceAuditLogs
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -11,8 +11,8 @@ interface EventScope {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type ValidEventScope =
|
type ValidEventScope =
|
||||||
| Required<Pick<EventScope, 'workspaceId'>>
|
| Required<Pick<EventScope, "workspaceId">>
|
||||||
| Required<Pick<EventScope, 'organizationId'>>
|
| Required<Pick<EventScope, "organizationId">>
|
||||||
| Required<EventScope>
|
| Required<EventScope>
|
||||||
|
|
||||||
export default class EEAuditLogService {
|
export default class EEAuditLogService {
|
||||||
|
|||||||
@@ -28,8 +28,8 @@ import {
|
|||||||
AuthMode
|
AuthMode
|
||||||
} from "../variables";
|
} from "../variables";
|
||||||
import {
|
import {
|
||||||
UserAuthData,
|
ServiceTokenAuthData,
|
||||||
ServiceTokenAuthData
|
UserAuthData
|
||||||
} from "../interfaces/middleware";
|
} from "../interfaces/middleware";
|
||||||
|
|
||||||
import { ActorType } from "../ee/models";
|
import { ActorType } from "../ee/models";
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ import {
|
|||||||
SecretBlindIndexData,
|
SecretBlindIndexData,
|
||||||
ServiceTokenData,
|
ServiceTokenData,
|
||||||
} from "../models";
|
} from "../models";
|
||||||
import { SecretVersion, EventType } from "../ee/models";
|
import { EventType, SecretVersion } from "../ee/models";
|
||||||
import {
|
import {
|
||||||
BadRequestError,
|
BadRequestError,
|
||||||
InternalServerError,
|
InternalServerError,
|
||||||
@@ -40,7 +40,7 @@ import {
|
|||||||
} from "../utils/crypto";
|
} from "../utils/crypto";
|
||||||
import { TelemetryService } from "../services";
|
import { TelemetryService } from "../services";
|
||||||
import { client, getEncryptionKey, getRootEncryptionKey } from "../config";
|
import { client, getEncryptionKey, getRootEncryptionKey } from "../config";
|
||||||
import { EELogService, EESecretService, EEAuditLogService } from "../ee/services";
|
import { EEAuditLogService, EELogService, EESecretService } from "../ee/services";
|
||||||
import { getAuthDataPayloadIdObj, getAuthDataPayloadUserObj } from "../utils/auth";
|
import { getAuthDataPayloadIdObj, getAuthDataPayloadUserObj } from "../utils/auth";
|
||||||
import { getFolderByPath, getFolderIdFromServiceToken } from "../services/FolderService";
|
import { getFolderByPath, getFolderIdFromServiceToken } from "../services/FolderService";
|
||||||
import picomatch from "picomatch";
|
import picomatch from "picomatch";
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ import {
|
|||||||
IUser,
|
IUser,
|
||||||
} from "../../models";
|
} from "../../models";
|
||||||
import {
|
import {
|
||||||
UserActor,
|
|
||||||
ServiceActor,
|
ServiceActor,
|
||||||
|
UserActor,
|
||||||
UserAgentType
|
UserAgentType
|
||||||
} from "../../ee/models";
|
} from "../../ee/models";
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import {
|
|||||||
validateRequest,
|
validateRequest,
|
||||||
} from "../../middleware";
|
} from "../../middleware";
|
||||||
import { botController } from "../../controllers/v1";
|
import { botController } from "../../controllers/v1";
|
||||||
import { ADMIN, MEMBER, AuthMode } from "../../variables";
|
import { ADMIN, AuthMode, MEMBER } from "../../variables";
|
||||||
|
|
||||||
router.get(
|
router.get(
|
||||||
"/:workspaceId",
|
"/:workspaceId",
|
||||||
|
|||||||
@@ -8,8 +8,8 @@ import {
|
|||||||
} from "../../middleware";
|
} from "../../middleware";
|
||||||
import {
|
import {
|
||||||
ADMIN,
|
ADMIN,
|
||||||
MEMBER,
|
AuthMode,
|
||||||
AuthMode
|
MEMBER
|
||||||
} from "../../variables";
|
} from "../../variables";
|
||||||
import { body, param } from "express-validator";
|
import { body, param } from "express-validator";
|
||||||
import { integrationController } from "../../controllers/v1";
|
import { integrationController } from "../../controllers/v1";
|
||||||
|
|||||||
@@ -9,8 +9,8 @@ import {
|
|||||||
} from "../../middleware";
|
} from "../../middleware";
|
||||||
import {
|
import {
|
||||||
ADMIN,
|
ADMIN,
|
||||||
MEMBER,
|
AuthMode,
|
||||||
AuthMode
|
MEMBER
|
||||||
} from "../../variables";
|
} from "../../variables";
|
||||||
import { integrationAuthController } from "../../controllers/v1";
|
import { integrationAuthController } from "../../controllers/v1";
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import {
|
|||||||
validateRequest,
|
validateRequest,
|
||||||
} from "../../middleware";
|
} from "../../middleware";
|
||||||
import { body, param } from "express-validator";
|
import { body, param } from "express-validator";
|
||||||
import { ADMIN, MEMBER, AuthMode } from "../../variables";
|
import { ADMIN, AuthMode, MEMBER } from "../../variables";
|
||||||
import { keyController } from "../../controllers/v1";
|
import { keyController } from "../../controllers/v1";
|
||||||
|
|
||||||
router.post(
|
router.post(
|
||||||
|
|||||||
@@ -9,9 +9,9 @@ import {
|
|||||||
import {
|
import {
|
||||||
ACCEPTED,
|
ACCEPTED,
|
||||||
ADMIN,
|
ADMIN,
|
||||||
|
AuthMode,
|
||||||
MEMBER,
|
MEMBER,
|
||||||
OWNER,
|
OWNER
|
||||||
AuthMode
|
|
||||||
} from "../../variables";
|
} from "../../variables";
|
||||||
import { organizationController } from "../../controllers/v1";
|
import { organizationController } from "../../controllers/v1";
|
||||||
|
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ import { body, param, query } from "express-validator";
|
|||||||
import { secretController } from "../../controllers/v1";
|
import { secretController } from "../../controllers/v1";
|
||||||
import {
|
import {
|
||||||
ADMIN,
|
ADMIN,
|
||||||
MEMBER,
|
AuthMode,
|
||||||
AuthMode
|
MEMBER
|
||||||
} from "../../variables";
|
} from "../../variables";
|
||||||
|
|
||||||
// note to devs: these endpoints will be deprecated in favor of v2
|
// note to devs: these endpoints will be deprecated in favor of v2
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ const router = express.Router();
|
|||||||
import { body, param, query } from "express-validator";
|
import { body, param, query } from "express-validator";
|
||||||
import { secretImportController } from "../../controllers/v1";
|
import { secretImportController } from "../../controllers/v1";
|
||||||
import { requireAuth, requireWorkspaceAuth, validateRequest } from "../../middleware";
|
import { requireAuth, requireWorkspaceAuth, validateRequest } from "../../middleware";
|
||||||
import { ADMIN, MEMBER, AuthMode } from "../../variables";
|
import { ADMIN, AuthMode, MEMBER } from "../../variables";
|
||||||
|
|
||||||
router.post(
|
router.post(
|
||||||
"/",
|
"/",
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import {
|
|||||||
getFolders,
|
getFolders,
|
||||||
updateFolderById,
|
updateFolderById,
|
||||||
} from "../../controllers/v1/secretsFolderController";
|
} from "../../controllers/v1/secretsFolderController";
|
||||||
import { ADMIN, MEMBER, AuthMode } from "../../variables";
|
import { ADMIN, AuthMode, MEMBER } from "../../variables";
|
||||||
|
|
||||||
router.post(
|
router.post(
|
||||||
"/",
|
"/",
|
||||||
|
|||||||
@@ -9,8 +9,8 @@ import {
|
|||||||
import { body } from "express-validator";
|
import { body } from "express-validator";
|
||||||
import {
|
import {
|
||||||
ADMIN,
|
ADMIN,
|
||||||
MEMBER,
|
AuthMode,
|
||||||
AuthMode
|
MEMBER
|
||||||
} from "../../variables";
|
} from "../../variables";
|
||||||
import { serviceTokenController } from "../../controllers/v1";
|
import { serviceTokenController } from "../../controllers/v1";
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import express from "express";
|
|||||||
const router = express.Router();
|
const router = express.Router();
|
||||||
import { requireAuth, requireWorkspaceAuth, validateRequest } from "../../middleware";
|
import { requireAuth, requireWorkspaceAuth, validateRequest } from "../../middleware";
|
||||||
import { body, param, query } from "express-validator";
|
import { body, param, query } from "express-validator";
|
||||||
import { ADMIN, MEMBER, AuthMode } from "../../variables";
|
import { ADMIN, AuthMode, MEMBER } from "../../variables";
|
||||||
import { webhookController } from "../../controllers/v1";
|
import { webhookController } from "../../controllers/v1";
|
||||||
|
|
||||||
router.post(
|
router.post(
|
||||||
|
|||||||
@@ -8,8 +8,8 @@ import {
|
|||||||
} from "../../middleware";
|
} from "../../middleware";
|
||||||
import {
|
import {
|
||||||
ADMIN,
|
ADMIN,
|
||||||
MEMBER,
|
AuthMode,
|
||||||
AuthMode
|
MEMBER
|
||||||
} from "../../variables";
|
} from "../../variables";
|
||||||
import { membershipController, workspaceController } from "../../controllers/v1";
|
import { membershipController, workspaceController } from "../../controllers/v1";
|
||||||
|
|
||||||
|
|||||||
@@ -9,8 +9,8 @@ import {
|
|||||||
} from "../../middleware";
|
} from "../../middleware";
|
||||||
import {
|
import {
|
||||||
ADMIN,
|
ADMIN,
|
||||||
MEMBER,
|
AuthMode,
|
||||||
AuthMode
|
MEMBER
|
||||||
} from "../../variables";
|
} from "../../variables";
|
||||||
|
|
||||||
router.post(
|
router.post(
|
||||||
|
|||||||
@@ -10,9 +10,9 @@ import { body, param } from "express-validator";
|
|||||||
import {
|
import {
|
||||||
ACCEPTED,
|
ACCEPTED,
|
||||||
ADMIN,
|
ADMIN,
|
||||||
|
AuthMode,
|
||||||
MEMBER,
|
MEMBER,
|
||||||
OWNER,
|
OWNER
|
||||||
AuthMode
|
|
||||||
} from "../../variables";
|
} from "../../variables";
|
||||||
import { organizationsController } from "../../controllers/v2";
|
import { organizationsController } from "../../controllers/v2";
|
||||||
|
|
||||||
|
|||||||
@@ -8,8 +8,8 @@ import {
|
|||||||
import { body, param, query } from "express-validator";
|
import { body, param, query } from "express-validator";
|
||||||
import {
|
import {
|
||||||
ADMIN,
|
ADMIN,
|
||||||
MEMBER,
|
|
||||||
AuthMode,
|
AuthMode,
|
||||||
|
MEMBER,
|
||||||
PERMISSION_READ_SECRETS,
|
PERMISSION_READ_SECRETS,
|
||||||
PERMISSION_WRITE_SECRETS,
|
PERMISSION_WRITE_SECRETS,
|
||||||
} from "../../variables";
|
} from "../../variables";
|
||||||
|
|||||||
@@ -12,8 +12,8 @@ import { body, query } from "express-validator";
|
|||||||
import { secretsController } from "../../controllers/v2";
|
import { secretsController } from "../../controllers/v2";
|
||||||
import {
|
import {
|
||||||
ADMIN,
|
ADMIN,
|
||||||
MEMBER,
|
|
||||||
AuthMode,
|
AuthMode,
|
||||||
|
MEMBER,
|
||||||
PERMISSION_READ_SECRETS,
|
PERMISSION_READ_SECRETS,
|
||||||
PERMISSION_WRITE_SECRETS,
|
PERMISSION_WRITE_SECRETS,
|
||||||
SECRET_PERSONAL,
|
SECRET_PERSONAL,
|
||||||
|
|||||||
@@ -9,8 +9,8 @@ import {
|
|||||||
import { body, param } from "express-validator";
|
import { body, param } from "express-validator";
|
||||||
import {
|
import {
|
||||||
ADMIN,
|
ADMIN,
|
||||||
MEMBER,
|
|
||||||
AuthMode,
|
AuthMode,
|
||||||
|
MEMBER,
|
||||||
PERMISSION_WRITE_SECRETS
|
PERMISSION_WRITE_SECRETS
|
||||||
} from "../../variables";
|
} from "../../variables";
|
||||||
import { serviceTokenDataController } from "../../controllers/v2";
|
import { serviceTokenDataController } from "../../controllers/v2";
|
||||||
|
|||||||
@@ -9,8 +9,8 @@ import {
|
|||||||
} from "../../middleware";
|
} from "../../middleware";
|
||||||
import {
|
import {
|
||||||
ADMIN,
|
ADMIN,
|
||||||
MEMBER,
|
AuthMode,
|
||||||
AuthMode
|
MEMBER
|
||||||
} from "../../variables";
|
} from "../../variables";
|
||||||
|
|
||||||
router.get(
|
router.get(
|
||||||
|
|||||||
@@ -9,8 +9,8 @@ import {
|
|||||||
} from "../../middleware";
|
} from "../../middleware";
|
||||||
import {
|
import {
|
||||||
ADMIN,
|
ADMIN,
|
||||||
MEMBER,
|
AuthMode,
|
||||||
AuthMode
|
MEMBER
|
||||||
} from "../../variables";
|
} from "../../variables";
|
||||||
import { workspaceController } from "../../controllers/v2";
|
import { workspaceController } from "../../controllers/v2";
|
||||||
|
|
||||||
|
|||||||
@@ -1,23 +1,16 @@
|
|||||||
import { Types } from "mongoose";
|
import { Types } from "mongoose";
|
||||||
import {
|
import {
|
||||||
IServiceAccount,
|
|
||||||
IServiceTokenData,
|
IServiceTokenData,
|
||||||
IUser,
|
IUser,
|
||||||
Membership,
|
Membership,
|
||||||
ServiceAccount,
|
|
||||||
ServiceTokenData,
|
|
||||||
User,
|
|
||||||
} from "../models";
|
} from "../models";
|
||||||
import { validateServiceAccountClientForWorkspace } from "./serviceAccount";
|
|
||||||
import { validateUserClientForWorkspace } from "./user";
|
import { validateUserClientForWorkspace } from "./user";
|
||||||
import { validateServiceTokenDataClientForWorkspace } from "./serviceTokenData";
|
import { validateServiceTokenDataClientForWorkspace } from "./serviceTokenData";
|
||||||
import {
|
import {
|
||||||
MembershipNotFoundError,
|
MembershipNotFoundError,
|
||||||
UnauthorizedRequestError,
|
|
||||||
} from "../utils/errors";
|
} from "../utils/errors";
|
||||||
import { AuthData } from "../interfaces/middleware";
|
import { AuthData } from "../interfaces/middleware";
|
||||||
import { ActorType } from "../ee/models";
|
import { ActorType } from "../ee/models";
|
||||||
import { auth } from "../routes/v1";
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Validate authenticated clients for membership with id [membershipId] based
|
* Validate authenticated clients for membership with id [membershipId] based
|
||||||
|
|||||||
@@ -36,9 +36,10 @@ export const validateClientForOrganization = async ({
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let membershipOrg;
|
||||||
switch (authData.actor.type) {
|
switch (authData.actor.type) {
|
||||||
case ActorType.USER:
|
case ActorType.USER:
|
||||||
const membershipOrg = await validateUserClientForOrganization({
|
membershipOrg = await validateUserClientForOrganization({
|
||||||
user: authData.authPayload as IUser,
|
user: authData.authPayload as IUser,
|
||||||
organization,
|
organization,
|
||||||
acceptedRoles,
|
acceptedRoles,
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import { Types } from "mongoose";
|
import { Types } from "mongoose";
|
||||||
import {
|
import {
|
||||||
ISecret,
|
ISecret,
|
||||||
Secret,
|
|
||||||
IUser,
|
|
||||||
IServiceTokenData,
|
IServiceTokenData,
|
||||||
|
IUser,
|
||||||
|
Secret,
|
||||||
} from "../models";
|
} from "../models";
|
||||||
import { validateUserClientForSecret, validateUserClientForSecrets } from "./user";
|
import { validateUserClientForSecret, validateUserClientForSecrets } from "./user";
|
||||||
import { validateServiceTokenDataClientForSecrets, validateServiceTokenDataClientForWorkspace } from "./serviceTokenData";
|
import { validateServiceTokenDataClientForSecrets, validateServiceTokenDataClientForWorkspace } from "./serviceTokenData";
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import net from "net";
|
import net from "net";
|
||||||
import { Types } from "mongoose";
|
import { Types } from "mongoose";
|
||||||
import {
|
import {
|
||||||
SecretBlindIndexData,
|
IServiceTokenData,
|
||||||
IServiceTokenData,
|
|
||||||
IUser,
|
IUser,
|
||||||
|
SecretBlindIndexData,
|
||||||
Workspace,
|
Workspace,
|
||||||
} from "../models";
|
} from "../models";
|
||||||
import {
|
import {
|
||||||
@@ -78,9 +78,10 @@ export const validateClientForWorkspace = async ({
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let membership;
|
||||||
switch (authData.actor.type) {
|
switch (authData.actor.type) {
|
||||||
case ActorType.USER:
|
case ActorType.USER:
|
||||||
const membership = await validateUserClientForWorkspace({
|
membership = await validateUserClientForWorkspace({
|
||||||
user: authData.authPayload as IUser,
|
user: authData.authPayload as IUser,
|
||||||
workspaceId,
|
workspaceId,
|
||||||
environment,
|
environment,
|
||||||
|
|||||||
@@ -1,10 +1,11 @@
|
|||||||
import { useQuery } from "@tanstack/react-query";
|
import { useQuery } from "@tanstack/react-query";
|
||||||
|
|
||||||
import { apiRequest } from "@app/config/request";
|
import { apiRequest } from "@app/config/request";
|
||||||
import {
|
|
||||||
AuditLog,
|
|
||||||
Actor
|
|
||||||
} from "./types";
|
|
||||||
import { EventType, UserAgentType } from "./enums";
|
import { EventType, UserAgentType } from "./enums";
|
||||||
|
import {
|
||||||
|
Actor,
|
||||||
|
AuditLog} from "./types";
|
||||||
|
|
||||||
export const workspaceKeys = {
|
export const workspaceKeys = {
|
||||||
getAuditLogs: (workspaceId: string, filters: {
|
getAuditLogs: (workspaceId: string, filters: {
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
export * from "./auditLogs";
|
||||||
export * from "./auth";
|
export * from "./auth";
|
||||||
export * from "./bots";
|
export * from "./bots";
|
||||||
export * from "./incidentContacts";
|
export * from "./incidentContacts";
|
||||||
@@ -15,7 +16,6 @@ export * from "./ssoConfig";
|
|||||||
export * from "./subscriptions";
|
export * from "./subscriptions";
|
||||||
export * from "./tags";
|
export * from "./tags";
|
||||||
export * from "./trustedIps";
|
export * from "./trustedIps";
|
||||||
export * from "./auditLogs";
|
|
||||||
export * from "./users";
|
export * from "./users";
|
||||||
export * from "./webhooks";
|
export * from "./webhooks";
|
||||||
export * from "./workspace";
|
export * from "./workspace";
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import {
|
|||||||
Select,
|
Select,
|
||||||
SelectItem
|
SelectItem
|
||||||
} from "@app/components/v2";
|
} from "@app/components/v2";
|
||||||
|
|
||||||
import {
|
import {
|
||||||
useGetIntegrationAuthApps,
|
useGetIntegrationAuthApps,
|
||||||
useGetIntegrationAuthById
|
useGetIntegrationAuthById
|
||||||
|
|||||||
@@ -1,18 +1,20 @@
|
|||||||
import { Control, Controller, UseFormReset } from "react-hook-form";
|
import { Control, Controller, UseFormReset } from "react-hook-form";
|
||||||
import {
|
|
||||||
FormControl,
|
|
||||||
Select,
|
|
||||||
SelectItem,
|
|
||||||
Button
|
|
||||||
} from "@app/components/v2";
|
|
||||||
import { eventToNameMap, userAgentTTypeoNameMap } from "~/hooks/api/auditLogs/constants";
|
|
||||||
import { useWorkspace } from "@app/context";
|
|
||||||
import { useGetAuditLogActorFilterOpts } from "@app/hooks/api";
|
|
||||||
import { Actor } from "~/hooks/api/auditLogs/types";
|
|
||||||
import { ActorType } from "~/hooks/api/auditLogs/enums";
|
|
||||||
import { faFilterCircleXmark } from "@fortawesome/free-solid-svg-icons";
|
import { faFilterCircleXmark } from "@fortawesome/free-solid-svg-icons";
|
||||||
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
||||||
import { AuditLogFilterFormData } from "./LogsSection";
|
|
||||||
|
import {
|
||||||
|
Button,
|
||||||
|
FormControl,
|
||||||
|
Select,
|
||||||
|
SelectItem} from "@app/components/v2";
|
||||||
|
import { useWorkspace } from "@app/context";
|
||||||
|
import { useGetAuditLogActorFilterOpts } from "@app/hooks/api";
|
||||||
|
|
||||||
|
import { eventToNameMap, userAgentTTypeoNameMap } from "~/hooks/api/auditLogs/constants";
|
||||||
|
import { ActorType } from "~/hooks/api/auditLogs/enums";
|
||||||
|
import { Actor } from "~/hooks/api/auditLogs/types";
|
||||||
|
|
||||||
|
import { AuditLogFilterFormData } from "./types";
|
||||||
|
|
||||||
const eventTypes = Object.entries(eventToNameMap).map(([value, label]) => ({ label, value }));
|
const eventTypes = Object.entries(eventToNameMap).map(([value, label]) => ({ label, value }));
|
||||||
const userAgentTypes = Object.entries(userAgentTTypeoNameMap).map(([value, label]) => ({ label, value }));
|
const userAgentTypes = Object.entries(userAgentTTypeoNameMap).map(([value, label]) => ({ label, value }));
|
||||||
@@ -43,7 +45,14 @@ export const LogsFilter = ({
|
|||||||
{actor.metadata.name}
|
{actor.metadata.name}
|
||||||
</SelectItem>
|
</SelectItem>
|
||||||
);
|
);
|
||||||
|
default:
|
||||||
|
return (
|
||||||
|
<SelectItem value="actor-none" key="actor-none">
|
||||||
|
N/A
|
||||||
|
</SelectItem>
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|||||||
@@ -1,19 +1,11 @@
|
|||||||
import { useForm } from "react-hook-form";
|
import { useForm } from "react-hook-form";
|
||||||
import { LogsFilter } from "./LogsFilter";
|
|
||||||
import { LogsTable } from "./LogsTable";
|
|
||||||
import { yupResolver } from "@hookform/resolvers/yup";
|
import { yupResolver } from "@hookform/resolvers/yup";
|
||||||
import * as yup from "yup";
|
|
||||||
import { EventType, UserAgentType } from "~/hooks/api/auditLogs/enums";
|
import { EventType, UserAgentType } from "~/hooks/api/auditLogs/enums";
|
||||||
|
|
||||||
const schema = yup.object({
|
import { LogsFilter } from "./LogsFilter";
|
||||||
eventType: yup.string()
|
import { LogsTable } from "./LogsTable";
|
||||||
.oneOf(Object.values(EventType), 'Invalid event type'),
|
import { AuditLogFilterFormData,auditLogFilterFormSchema } from "./types";
|
||||||
actor: yup.string(),
|
|
||||||
userAgentType: yup.string()
|
|
||||||
.oneOf(Object.values(UserAgentType), 'Invalid user agent type'),
|
|
||||||
}).required();
|
|
||||||
|
|
||||||
export type AuditLogFilterFormData = yup.InferType<typeof schema>;
|
|
||||||
|
|
||||||
export const LogsSection = () => {
|
export const LogsSection = () => {
|
||||||
const {
|
const {
|
||||||
@@ -21,7 +13,7 @@ export const LogsSection = () => {
|
|||||||
reset,
|
reset,
|
||||||
watch,
|
watch,
|
||||||
} = useForm<AuditLogFilterFormData>({
|
} = useForm<AuditLogFilterFormData>({
|
||||||
resolver: yupResolver(schema)
|
resolver: yupResolver(auditLogFilterFormSchema)
|
||||||
});
|
});
|
||||||
|
|
||||||
const eventType = watch("eventType") as EventType | undefined;
|
const eventType = watch("eventType") as EventType | undefined;
|
||||||
@@ -46,4 +38,4 @@ export const LogsSection = () => {
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
import { faFile } from "@fortawesome/free-solid-svg-icons";
|
import { faFile } from "@fortawesome/free-solid-svg-icons";
|
||||||
|
|
||||||
import {
|
import {
|
||||||
EmptyState,
|
EmptyState,
|
||||||
Table,
|
Table,
|
||||||
@@ -12,9 +13,11 @@ import {
|
|||||||
} from "@app/components/v2";
|
} from "@app/components/v2";
|
||||||
import { useWorkspace } from "@app/context";
|
import { useWorkspace } from "@app/context";
|
||||||
import { useGetAuditLogs } from "@app/hooks/api";
|
import { useGetAuditLogs } from "@app/hooks/api";
|
||||||
import { LogsTableRow } from "./LogsTableRow";
|
|
||||||
import { EventType, UserAgentType } from "~/hooks/api/auditLogs/enums";
|
import { EventType, UserAgentType } from "~/hooks/api/auditLogs/enums";
|
||||||
|
|
||||||
|
import { LogsTableRow } from "./LogsTableRow";
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
eventType: EventType | undefined;
|
eventType: EventType | undefined;
|
||||||
userAgentType: UserAgentType | undefined;
|
userAgentType: UserAgentType | undefined;
|
||||||
|
|||||||
@@ -1,11 +1,12 @@
|
|||||||
import { AuditLog, Actor, Event } from "~/hooks/api/auditLogs/types";
|
|
||||||
import { ActorType, EventType } from "~/hooks/api/auditLogs/enums";
|
|
||||||
import { eventToNameMap, userAgentTTypeoNameMap } from "~/hooks/api/auditLogs/constants";
|
|
||||||
import {
|
import {
|
||||||
Td,
|
Td,
|
||||||
Tr
|
Tr
|
||||||
} from "@app/components/v2";
|
} from "@app/components/v2";
|
||||||
|
|
||||||
|
import { eventToNameMap, userAgentTTypeoNameMap } from "~/hooks/api/auditLogs/constants";
|
||||||
|
import { ActorType, EventType } from "~/hooks/api/auditLogs/enums";
|
||||||
|
import { Actor, AuditLog, Event } from "~/hooks/api/auditLogs/types";
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
auditLog: AuditLog
|
auditLog: AuditLog
|
||||||
}
|
}
|
||||||
@@ -29,6 +30,10 @@ export const LogsTableRow = ({
|
|||||||
<p>Service token</p>
|
<p>Service token</p>
|
||||||
</Td>
|
</Td>
|
||||||
);
|
);
|
||||||
|
default:
|
||||||
|
return (
|
||||||
|
<Td />
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -84,16 +89,16 @@ export const LogsTableRow = ({
|
|||||||
const formatDate = (dateToFormat: string) => {
|
const formatDate = (dateToFormat: string) => {
|
||||||
const date = new Date(dateToFormat);
|
const date = new Date(dateToFormat);
|
||||||
const year = date.getFullYear();
|
const year = date.getFullYear();
|
||||||
const month = String(date.getMonth() + 1).padStart(2, '0');
|
const month = String(date.getMonth() + 1).padStart(2, "0");
|
||||||
const day = String(date.getDate()).padStart(2, '0');
|
const day = String(date.getDate()).padStart(2, "0");
|
||||||
|
|
||||||
let hours = date.getHours();
|
let hours = date.getHours();
|
||||||
const minutes = String(date.getMinutes()).padStart(2, '0');
|
const minutes = String(date.getMinutes()).padStart(2, "0");
|
||||||
|
|
||||||
// convert from 24h to 12h format
|
// convert from 24h to 12h format
|
||||||
const period = hours >= 12 ? 'PM' : 'AM';
|
const period = hours >= 12 ? "PM" : "AM";
|
||||||
hours = hours % 12;
|
hours %= 12;
|
||||||
hours = hours ? hours : 12; // the hour '0' should be '12'
|
hours = hours || 12; // the hour '0' should be '12'
|
||||||
|
|
||||||
const formattedDate = `${day}-${month}-${year} at ${hours}:${minutes} ${period}`;
|
const formattedDate = `${day}-${month}-${year} at ${hours}:${minutes} ${period}`;
|
||||||
return formattedDate;
|
return formattedDate;
|
||||||
|
|||||||
@@ -0,0 +1,13 @@
|
|||||||
|
import * as yup from "yup";
|
||||||
|
|
||||||
|
import { EventType, UserAgentType } from "~/hooks/api/auditLogs/enums";
|
||||||
|
|
||||||
|
export const auditLogFilterFormSchema = yup.object({
|
||||||
|
eventType: yup.string()
|
||||||
|
.oneOf(Object.values(EventType), "Invalid event type"),
|
||||||
|
actor: yup.string(),
|
||||||
|
userAgentType: yup.string()
|
||||||
|
.oneOf(Object.values(UserAgentType), "Invalid user agent type"),
|
||||||
|
}).required();
|
||||||
|
|
||||||
|
export type AuditLogFilterFormData = yup.InferType<typeof auditLogFilterFormSchema>;
|
||||||
Reference in New Issue
Block a user