feat(security): add security policy management and IP intelligence operations to the ops UI

This commit is contained in:
2026-04-26 19:51:08 +00:00
parent 1567606c49
commit e5c3578163
9 changed files with 991 additions and 62 deletions
+45
View File
@@ -3,6 +3,8 @@ import type * as authInterfaces from '../data/auth.js';
import type {
IIpIntelligenceRecord,
ISecurityBlockRule,
ISecurityCompiledPolicy,
ISecurityPolicyAuditEvent,
TSecurityBlockRuleMatchMode,
TSecurityBlockRuleType,
} from '../data/security-policy.js';
@@ -87,3 +89,46 @@ export interface IReq_ListIpIntelligence extends plugins.typedrequestInterfaces.
records: IIpIntelligenceRecord[];
};
}
export interface IReq_GetCompiledSecurityPolicy extends plugins.typedrequestInterfaces.implementsTR<
plugins.typedrequestInterfaces.ITypedRequest,
IReq_GetCompiledSecurityPolicy
> {
method: 'getCompiledSecurityPolicy';
request: {
identity: authInterfaces.IIdentity;
};
response: {
policy: ISecurityCompiledPolicy;
};
}
export interface IReq_ListSecurityPolicyAudit extends plugins.typedrequestInterfaces.implementsTR<
plugins.typedrequestInterfaces.ITypedRequest,
IReq_ListSecurityPolicyAudit
> {
method: 'listSecurityPolicyAudit';
request: {
identity: authInterfaces.IIdentity;
limit?: number;
};
response: {
events: ISecurityPolicyAuditEvent[];
};
}
export interface IReq_RefreshIpIntelligence extends plugins.typedrequestInterfaces.implementsTR<
plugins.typedrequestInterfaces.ITypedRequest,
IReq_RefreshIpIntelligence
> {
method: 'refreshIpIntelligence';
request: {
identity: authInterfaces.IIdentity;
ipAddress: string;
};
response: {
success: boolean;
record?: IIpIntelligenceRecord;
message?: string;
};
}