e9eb9b4172
Enforce geofenced location evidence for passport challenges and extend admin alerting so mobile devices can review, dismiss, and act on real org and security events.
114 lines
2.6 KiB
TypeScript
114 lines
2.6 KiB
TypeScript
import * as plugins from '../plugins.js';
|
|
import * as data from '../data/index.js';
|
|
import type { IPassportDeviceSignedRequest } from './passport.js';
|
|
|
|
export interface IReq_ListPassportAlerts
|
|
extends plugins.typedRequestInterfaces.implementsTR<
|
|
plugins.typedRequestInterfaces.ITypedRequest,
|
|
IReq_ListPassportAlerts
|
|
> {
|
|
method: 'listPassportAlerts';
|
|
request: IPassportDeviceSignedRequest & {
|
|
includeDismissed?: boolean;
|
|
};
|
|
response: {
|
|
alerts: data.IAlert[];
|
|
};
|
|
}
|
|
|
|
export interface IReq_GetPassportAlertByHint
|
|
extends plugins.typedRequestInterfaces.implementsTR<
|
|
plugins.typedRequestInterfaces.ITypedRequest,
|
|
IReq_GetPassportAlertByHint
|
|
> {
|
|
method: 'getPassportAlertByHint';
|
|
request: IPassportDeviceSignedRequest & {
|
|
hintId: string;
|
|
};
|
|
response: {
|
|
alert?: data.IAlert;
|
|
};
|
|
}
|
|
|
|
export interface IReq_MarkPassportAlertSeen
|
|
extends plugins.typedRequestInterfaces.implementsTR<
|
|
plugins.typedRequestInterfaces.ITypedRequest,
|
|
IReq_MarkPassportAlertSeen
|
|
> {
|
|
method: 'markPassportAlertSeen';
|
|
request: IPassportDeviceSignedRequest & {
|
|
hintId: string;
|
|
};
|
|
response: {
|
|
success: boolean;
|
|
};
|
|
}
|
|
|
|
export interface IReq_DismissPassportAlert
|
|
extends plugins.typedRequestInterfaces.implementsTR<
|
|
plugins.typedRequestInterfaces.ITypedRequest,
|
|
IReq_DismissPassportAlert
|
|
> {
|
|
method: 'dismissPassportAlert';
|
|
request: IPassportDeviceSignedRequest & {
|
|
hintId: string;
|
|
};
|
|
response: {
|
|
success: boolean;
|
|
};
|
|
}
|
|
|
|
export interface IReq_UpsertAlertRule
|
|
extends plugins.typedRequestInterfaces.implementsTR<
|
|
plugins.typedRequestInterfaces.ITypedRequest,
|
|
IReq_UpsertAlertRule
|
|
> {
|
|
method: 'upsertAlertRule';
|
|
request: {
|
|
jwt: string;
|
|
ruleId?: string;
|
|
scope: data.TAlertRuleScope;
|
|
organizationId?: string;
|
|
eventType: string;
|
|
minimumSeverity: data.TAlertSeverity;
|
|
recipientMode: data.TAlertRuleRecipientMode;
|
|
recipientUserIds?: string[];
|
|
push: boolean;
|
|
enabled: boolean;
|
|
};
|
|
response: {
|
|
rule: data.IAlertRule;
|
|
};
|
|
}
|
|
|
|
export interface IReq_GetAlertRules
|
|
extends plugins.typedRequestInterfaces.implementsTR<
|
|
plugins.typedRequestInterfaces.ITypedRequest,
|
|
IReq_GetAlertRules
|
|
> {
|
|
method: 'getAlertRules';
|
|
request: {
|
|
jwt: string;
|
|
scope?: data.TAlertRuleScope;
|
|
organizationId?: string;
|
|
};
|
|
response: {
|
|
rules: data.IAlertRule[];
|
|
};
|
|
}
|
|
|
|
export interface IReq_DeleteAlertRule
|
|
extends plugins.typedRequestInterfaces.implementsTR<
|
|
plugins.typedRequestInterfaces.ITypedRequest,
|
|
IReq_DeleteAlertRule
|
|
> {
|
|
method: 'deleteAlertRule';
|
|
request: {
|
|
jwt: string;
|
|
ruleId: string;
|
|
};
|
|
response: {
|
|
success: boolean;
|
|
};
|
|
}
|