@@ -2,57 +2,61 @@ import type { ContextTimed } from '@matrixai/contexts';
22import type { DB } from '@matrixai/db' ;
33import type { JSONValue } from '@matrixai/rpc' ;
44import type Sigchain from '../../../sigchain/Sigchain' ;
5- import type {
6- AgentRPCRequestParams ,
7- AgentRPCResponseResult ,
8- ClaimIdMessage ,
9- AgentClaimMessage ,
10- AuditIdMessage ,
11- AgentAuditMessage ,
5+ import type
6+ {
7+ AgentRPCRequestParams ,
8+ AgentRPCResponseResult ,
9+ AuditIdMessage ,
10+ AgentAuditMessage ,
1211} from '../types' ;
1312import { ServerHandler } from '@matrixai/rpc' ;
14- import * as claimsUtils from '../../../claims/utils' ;
1513import type Audit from '../../../audit/Audit' ;
16- import { AuditEventId } from '@/ids' ;
14+ import { AuditEventId , AuditEventIdEncoded } from '@/ids' ;
1715
1816/**
19- * Gets the sigchain claims of a node
17+ * Gets audit events from a node
2018 */
21- class NodesClaimsGet extends ServerHandler <
22- {
23- sigchain : Sigchain ;
24- db : DB ;
25- seek ?: AuditEventId | number ;
26- seekTo ?: AuditEventId | number ;
27- limit ?: number ;
28- } ,
29- AgentRPCRequestParams < AuditIdMessage > ,
30- AgentRPCResponseResult < AgentAuditMessage >
31- > {
32- public handle = async function * (
33- _input : AuditIdMessage ,
34- _cancel : ( reason ?: any ) => void ,
35- _meta : Record < string , JSONValue > | undefined ,
36- ctx : ContextTimed ,
37- ) : AsyncGenerator < AgentRPCResponseResult < AgentAuditMessage > > {
38- const { audit, db } : { audit : Audit ; db : DB } = this . container ;
39- yield * db . withTransactionG ( async function * ( tran ) : AsyncGenerator <
40- AgentRPCResponseResult < AgentClaimMessage >
41- > {
42- for await ( const [ claimId , signedClaim ] of audit . getAuditEvents (
43- { order : 'asc' } ,
44- tran ,
45- ) ) {
46- ctx . signal . throwIfAborted ( ) ;
47- const encodedClaim = claimsUtils . generateSignedClaim ( signedClaim ) ;
48- const response : AgentClaimMessage = {
49- claimIdEncoded : claimsUtils . encodeClaimId ( claimId ) ,
50- signedTokenEncoded : encodedClaim ,
51- } ;
52- yield response ;
53- }
54- } ) ;
55- } ;
19+ class NodesAuditEventsGet extends ServerHandler <
20+ {
21+ sigchain : Sigchain ;
22+ db : DB ;
23+ } ,
24+ AgentRPCRequestParams < AuditIdMessage > ,
25+ AgentRPCResponseResult < AgentAuditMessage >
26+ >
27+ {
28+ public handle = async function * (
29+ input : AgentRPCRequestParams < AuditIdMessage > ,
30+ _cancel : ( reason ?: any ) => void ,
31+ _meta : Record < string , JSONValue > | undefined ,
32+ ctx : ContextTimed
33+ ) : AsyncGenerator < AgentRPCResponseResult < AgentAuditMessage > >
34+ {
35+ const { seek, seekEnd, limit } = input ;
36+ const { audit, db } : { audit : Audit ; db : DB } = this . container ;
37+
38+ yield * db . withTransactionG ( async function * ( tran ) : AsyncGenerator < AgentRPCResponseResult < AgentAuditMessage > >
39+ {
40+
41+ for await (
42+ const auditEvent of audit . getAuditEvents (
43+ [ ] ,
44+ {
45+ seek,
46+ seekEnd,
47+ limit
48+ } ,
49+ tran )
50+ )
51+ {
52+ ctx . signal . throwIfAborted ( ) ;
53+ yield {
54+ auditIdEncoded : auditEvent . id . toString ( ) as AuditEventIdEncoded ,
55+ } ;
56+ }
57+
58+ } ) ;
59+ } ;
5660}
5761
58- export default NodesClaimsGet ;
62+ export default NodesAuditEventsGet ;
0 commit comments