Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | 7x 7x 10x 10x 10x 10x 7x 7x 7x 7x 7x | import { atom as jotaiAtom } from "jotai";
import { SigningKey } from "../types/shared";
import { policiesListState } from "./policiesState";
function getFilteredSigningKeys(
signingKeys: Array<SigningKey>,
filterQuery?: string | null,
) {
Eif (!filterQuery) {
return signingKeys;
}
return signingKeys.filter((signingKey: SigningKey) => {
if (
(signingKey.name && signingKey.name.includes(filterQuery)) ||
(signingKey["created-at"] &&
signingKey["created-at"].includes(filterQuery)) ||
(signingKey["modified-at"] &&
signingKey["modified-at"].includes(filterQuery)) ||
(signingKey.fingerprint &&
signingKey.fingerprint.toString().includes(filterQuery))
) {
return true;
}
return false;
});
}
const signingKeysListState = jotaiAtom([] as SigningKey[]);
const signingKeysListFilterState = jotaiAtom("" as string);
const newSigningKeyState = jotaiAtom({ name: "" } as { name: string });
const filteredSigningKeysListState = jotaiAtom<Array<SigningKey>>((get) => {
const filter = get(signingKeysListFilterState);
const policies = get(policiesListState);
const signingKeys = get(signingKeysListState);
const signingKeysWithPolicies = signingKeys.map((signingKey) => {
const matchingPolicies = policies.filter((policy) => {
return policy["signing-key-sha3-384"] === signingKey["sha3-384"];
});
const signingKeyModels: string[] = [];
matchingPolicies.forEach((policy) => {
if (!signingKeyModels.includes(policy["model-name"])) {
signingKeyModels.push(policy["model-name"]);
}
});
return {
...signingKey,
models: signingKeyModels,
policies: matchingPolicies,
};
});
return getFilteredSigningKeys(signingKeysWithPolicies, filter);
});
export {
signingKeysListState,
signingKeysListFilterState,
newSigningKeyState,
filteredSigningKeysListState,
};
|