Add system-query

This commit is contained in:
2023-09-06 13:45:25 +01:00
parent 4df6c19248
commit a0f1031b85
18 changed files with 792 additions and 12 deletions

View File

@ -1,4 +1,5 @@
import { ReqFilter } from "./nostr";
import {expand_filter} from "@snort/system-query";
export interface FlatReqFilter {
keys: number;
@ -20,7 +21,7 @@ export interface FlatReqFilter {
* Expand a filter into its most fine grained form
*/
export function expandFilter(f: ReqFilter): Array<FlatReqFilter> {
const ret: Array<FlatReqFilter> = [];
/*const ret: Array<FlatReqFilter> = [];
const src = Object.entries(f);
const keys = src.filter(([, v]) => Array.isArray(v)).map(a => a[0]);
const props = src.filter(([, v]) => !Array.isArray(v));
@ -46,5 +47,8 @@ export function expandFilter(f: ReqFilter): Array<FlatReqFilter> {
...Object.fromEntries(props),
});
return ret;
return ret;*/
const ret = expand_filter(f);
return ret as Array<FlatReqFilter>;
}

View File

@ -105,7 +105,7 @@ export function flatMerge(all: Array<FlatReqFilter>): Array<ReqFilter> {
function mergeFiltersInSet(filters: Array<FlatReqFilter>) {
return filters.reduce((acc, a) => {
Object.entries(a).forEach(([k, v]) => {
if (k === "keys") return;
if (k === "keys" || v === undefined) return;
if (DiscriminatorKeys.includes(k)) {
acc[k] = v;
} else {

View File

@ -1,8 +1,9 @@
import { flatFilterEq } from "./utils";
import { FlatReqFilter } from "./request-expander";
import { diff_filters } from "@snort/system-query";
export function diffFilters(prev: Array<FlatReqFilter>, next: Array<FlatReqFilter>, calcRemoved?: boolean) {
const added = [];
/*const added = [];
const removed = [];
for (const n of next) {
@ -28,5 +29,12 @@ export function diffFilters(prev: Array<FlatReqFilter>, next: Array<FlatReqFilte
added: changed ? added : [],
removed: changed ? removed : [],
changed,
};
}
};*/
const added = diff_filters(prev, next);
return {
changed: added.length > 0,
added: (added as Array<FlatReqFilter>),
removed: []
}
}