Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion ai/project_tracker.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ This document tracks the remaining tasks and their status for the Aevatar Framew

| Feature | Status | Description | Unit Tests | Regression Tests | Integration Tests | Documentation | Dev Machine |
|---------|--------|-------------|------------|------------------|-------------------|---------------|------------|
| PermissionEventBase | ✅ Completed | Implement PermissionEventBase class inheriting from EventBase with UserContext for permission management events | ✓ | ✗ | ✗ | ✓ | c6:c4:e5:e8:c6:4c |
| ExceptionCatchAndPublish | 🚧 In Progress | Implement mechanism to catch GAgent EventHandler exceptions and publish them to Orleans Stream | ✗ | ✗ | ✗ | ✗ | 62:84:7a:e8:0f:65 |
| Kafka Stream optimization | Not Started | Optimize Kafka streams for better performance and lower resource usage | ✗ | ✗ | ✗ | ✗ | |
| End to end gagent streaming | Not Started | Implement complete end-to-end streaming for gagent | ✗ | ✗ | ✗ | ✗ | |
Expand Down Expand Up @@ -92,7 +93,7 @@ This document tracks the remaining tasks and their status for the Aevatar Framew
- *To be determined*

## Completed Tasks
- *None recorded yet*
- **PermissionEventBase** (2024-01-XX): Implemented abstract base class for permission-related events with UserContext propagation. Includes comprehensive documentation and follows Orleans serialization patterns.

## Notes
- Update this tracker regularly as tasks progress
Expand Down
14 changes: 14 additions & 0 deletions src/Aevatar.PermissionManagement/PermissionEventBase.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
using Aevatar.Core.Abstractions;

namespace Aevatar.PermissionManagement;

public interface IPermissionEvent
{
UserContext? UserContext { get; set; }
}

[GenerateSerializer]
public abstract class PermissionEventBase : EventBase, IPermissionEvent
{
[Id(0)] public UserContext? UserContext { get; set; } = new();
}
Loading