Skip to content

Commit

Permalink
Added WalletEvents
Browse files Browse the repository at this point in the history
  • Loading branch information
philpotisk committed Feb 26, 2025
1 parent 6a1951a commit f3ccbaa
Show file tree
Hide file tree
Showing 8 changed files with 117 additions and 33 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,14 @@ import kotlin.uuid.Uuid
@OptIn(ExperimentalUuidApi::class)
@Serializable
class DidEvent(
override val originator: String?,
override val target: String,
override val timestamp: Long,
override val status: EventStatus,
override val action: Action,
override val status: Status,
override val callId: String?,
override val error: String?,

val didEventType: DidEventType,
val didMethod: String,
override val callId: String? = null,
override val error: String? = null
) : Event(Uuid.random().toHexString(), EventType.DIDEvent)
) : Event()
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,23 @@ package id.walt.commons.events

import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
import kotlin.uuid.ExperimentalUuidApi
import kotlin.uuid.Uuid

@Serializable
sealed class Event(
@SerialName("_id") val id: String,
val eventType: EventType,
val userId: String? // authenticated user
sealed class Action(val type: String)
@Serializable
sealed class Status(val type: String)

@Serializable
abstract class Event @OptIn(ExperimentalUuidApi::class) constructor(
@SerialName("_id") val id: String = Uuid.random().toHexString(),
) {
abstract val originator: String? // user or system that initiated the event
abstract val target: String // organization.tenant
abstract val timestamp: Long
abstract val status: EventStatus
abstract val action: String // e.g. received/accepted/rejected
abstract val action: Action // e.g. received/accepted/rejected
abstract val status: Status // e.g. success/failure
abstract val callId: String? // http tracing ID
abstract val error: String?
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,17 @@ import kotlin.uuid.Uuid
@OptIn(ExperimentalUuidApi::class)
@Serializable
class IssuanceEvent(
override val originator: String?,
override val target: String,
override val timestamp: Long,
override val status: EventStatus,
override val action: Action,
override val status: Status,
override val callId: String?,
override val error: String?,

val sessionId: String,
val credentialConfigurationId: String,
val format: String?,
val proofType: ProofType? = null,
val holderId: String? = null,
override val callId: String? = null,
override val error: String? = null
) : Event(Uuid.random().toHexString(), EventType.IssuanceEvent)
) : Event()
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,14 @@ import kotlin.uuid.Uuid
@OptIn(ExperimentalUuidApi::class)
@Serializable
class KeyEvent(
override val originator: String?,
override val target: String,
override val timestamp: Long,
override val status: EventStatus,
override val action: Action,
override val status: Status,
override val callId: String?,
override val error: String?,

val keyEventType: KeyEventType,
val keyAlgorithm: String,
override val callId: String? = null,
override val error: String? = null
) : Event(Uuid.random().toHexString(), EventType.KeyEvent)
val keyAlgorithm: String
) : Event()
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,17 @@ import kotlin.uuid.Uuid
@OptIn(ExperimentalUuidApi::class)
@Serializable
class VerificationEvent(
override val originator: String?,
override val target: String,
override val timestamp: Long,
override val status: EventStatus,
override val action: Action,
override val status: Status,
override val callId: String?,
override val error: String?,

val sessionId: String,
val format: String,
val signatureAlgorithm: String,
val credentialType: String? = null,
val holderId: String? = null,
override val callId: String? = null,
override val error: String? = null
) : Event(Uuid.random().toHexString(), EventType.VerificationEvent)
) : Event()
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
package id.walt.commons.events.wallet

import id.walt.commons.events.*
import id.walt.commons.temp.UuidSerializer
import id.walt.oid4vc.data.ProofType
import kotlinx.serialization.Serializable
import kotlin.uuid.ExperimentalUuidApi
import kotlin.uuid.Uuid

@OptIn(ExperimentalUuidApi::class)
@Serializable
class CredentialEvent(
override val originator: String?,
override val target: String,
override val timestamp: Long,
override val action: Action,
override val status: Status,
override val callId: String?,
override val error: String?,

// custom event data
val tenant: String,
val account: String,
val credentialId: String,
val credentialStatus: String
) : Event() {

}
Original file line number Diff line number Diff line change
@@ -1,22 +1,30 @@
package id.walt.commons.events.wallet

import id.walt.commons.events.Event
import id.walt.commons.events.EventStatus
import id.walt.commons.events.EventType
import id.walt.commons.events.*
import id.walt.commons.temp.UuidSerializer
import id.walt.oid4vc.data.ProofType
import kotlinx.serialization.Serializable
import kotlin.uuid.ExperimentalUuidApi
import kotlin.uuid.Uuid

@OptIn(ExperimentalUuidApi::class)
@Serializable
class IssuanceEvent(
override val originator: String?,
override val target: String,
override val timestamp: Long,
override val status: EventStatus,
override val action: Action,
override val status: Status,
override val callId: String?,
override val error: String?,

// custom event data
val tenant: String,
val account: String,
val credentialOfferUrl: String,
val credentialConfigurationId: String,
val credentialId: String,
val issuerId: String,
val type: String,
override val action: String,
override val callId: String? = null,
override val error: String? = null
) : Event(Uuid.random().toHexString(), EventType.IssuanceEvent, null)
val type: String
) : Event() {

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package id.walt.commons.events.wallet

import id.walt.commons.events.*
import id.walt.commons.temp.UuidSerializer
import id.walt.oid4vc.data.ProofType
import kotlinx.serialization.Serializable
import kotlin.uuid.ExperimentalUuidApi
import kotlin.uuid.Uuid

@OptIn(ExperimentalUuidApi::class)
@Serializable
class PresentationEvent(
override val originator: String?,
override val target: String,
override val timestamp: Long,
override val action: Action,
override val status: Status,
override val callId: String?,
override val error: String?,

// custom event data
val tenant: String,
val account: String,
val presentationRequestUrl: String,
val credentialId: String,
val verifierId: String,
val type: String
) : Event() {

}

0 comments on commit f3ccbaa

Please sign in to comment.