|
1 | | -# Planned Features (Not Yet Implemented) |
| 1 | +# API Reference |
2 | 2 |
|
3 | | -⚠️ **This documentation describes planned features that are not yet implemented in the current version.** |
| 3 | +Complete API documentation for Fire Shield RBAC. |
4 | 4 |
|
5 | | -The APIs documented here represent future enhancements and improvements that are on the roadmap for Fire Shield RBAC. These features may be implemented in future versions. |
| 5 | +## Overview |
6 | 6 |
|
7 | | -## Current Status |
| 7 | +This folder contains comprehensive API documentation for all Fire Shield packages and features: |
8 | 8 |
|
9 | | -- **Version**: 2.2.2 |
10 | | -- **Status**: These features are **planned but not implemented** |
11 | | -- **Implementation**: Not available in current codebase |
| 9 | +- [`core.md`](./core.md) - Core RBAC class and all methods |
| 10 | +- [`rbac-aggregator.md`](./rbac-aggregator.md) - Multi-instance RBAC management |
| 11 | +- [`types.md`](./types.md) - TypeScript interfaces and types |
12 | 12 |
|
13 | | -## Planned APIs |
| 13 | +## Current Version |
14 | 14 |
|
15 | | -This folder contains documentation for features that are planned for future releases: |
| 15 | +**Version**: 3.0.0 |
16 | 16 |
|
17 | | -- Advanced RBACBuilder fluent API |
18 | | -- Utility functions (matchPermission, parsePermission, RBACError) |
19 | | -- Type guards and utility types |
20 | | -- Advanced audit logger examples |
21 | | -- Enhanced builder methods |
| 17 | +All features documented here are **fully implemented** and available in the current release. |
22 | 18 |
|
23 | | -## Real Documentation |
| 19 | +## Documentation Structure |
24 | 20 |
|
25 | | -For current implemented features, see: |
26 | | -- [`packages/core/docs/`](../packages/core/docs/) - Technical documentation |
27 | | -- [`packages/core/examples/`](../packages/core/examples/) - Working examples |
| 21 | +### Core API |
| 22 | + |
| 23 | +The [Core API](./core.md) documentation covers: |
| 24 | + |
| 25 | +- **RBAC Class** - Main class for managing roles, permissions, and access control |
| 26 | +- **Static Methods** - `fromJSONConfig()`, `validateConfig()` |
| 27 | +- **Instance Methods** - Role management, permission checking, user operations |
| 28 | +- **Deny Permissions** - Explicit permission denial for users |
| 29 | +- **Cache Management** - Permission caching with TTL and size limits |
| 30 | +- **Lazy Role Evaluation** - On-demand role loading |
| 31 | +- **Memory Optimization** - String interning and memory reduction |
| 32 | +- **Audit Logging** - Buffered and custom audit loggers |
| 33 | +- **RBAC Builder** - Fluent API for building RBAC configurations |
| 34 | +- **Utilities** - `matchPermission()`, `parsePermission()`, error handling |
| 35 | +- **Performance** - Best practices and optimization strategies |
| 36 | + |
| 37 | +### RBAC Aggregator |
| 38 | + |
| 39 | +The [RBAC Aggregator](./rbac-aggregator.md) documentation covers: |
| 40 | + |
| 41 | +- **Multi-Domain Management** - Handle multiple RBAC instances |
| 42 | +- **Lazy Loading** - Create instances only when needed |
| 43 | +- **Unified API** - Single interface for permission checks across domains |
| 44 | +- **Caching** - Optional instance caching |
| 45 | +- **Domain-Specific Operations** - Check permissions in specific domains |
| 46 | + |
| 47 | +### Types |
| 48 | + |
| 49 | +The [Types](./types.md) documentation covers: |
| 50 | + |
| 51 | +- **User Types** - `RBACUser`, `RBACContext`, `RBACUserContext` |
| 52 | +- **Permission Types** - `Permission`, `PermissionSchema`, `PermissionConfig` |
| 53 | +- **Role Types** - `Role`, `RoleConfig`, `RoleHierarchy` |
| 54 | +- **Config Types** - `PresetConfig`, `RBACConfig`, `RBACOptions` |
| 55 | +- **Audit Types** - `AuditEvent`, `AuditLogger`, `AuditEventContext` |
| 56 | +- **Plugin Types** - `RBACPlugin`, `PluginContext`, `PluginEvent` |
| 57 | + |
| 58 | +## Related Documentation |
| 59 | + |
| 60 | +- [Getting Started](../guide/getting-started.md) - Setup and basic usage |
| 61 | +- [Permissions Guide](../guide/permissions.md) - Permission system details |
| 62 | +- [Deny Permissions Guide](../guide/deny-permissions.md) - Explicit permission denial |
| 63 | +- [Audit Logging Guide](../guide/audit-logging.md) - Audit system usage |
| 64 | +- [Plugin System Guide](../guide/plugins.md) - Extending RBAC with plugins |
| 65 | +- [Migration Guide (v2 to v3)](../guide/migration-v3.md) - Upgrading from v2.x |
| 66 | + |
| 67 | +## Examples |
| 68 | + |
| 69 | +Working code examples are available in: |
| 70 | +- [`packages/core/examples/`](../../packages/core/examples/) - Core package examples |
| 71 | + |
| 72 | +## Version History |
| 73 | + |
| 74 | +### v3.0.0 (Current) |
| 75 | +- **Added**: Plugin system for extensibility |
| 76 | +- **Removed**: `RBAC.fromFile()` and `RBAC.fromFileSync()` (use `fromJSONConfig()` instead) |
| 77 | +- **Enhanced**: Platform independence (removed fs module dependency) |
| 78 | +- **Improved**: Performance optimizations and memory management |
| 79 | + |
| 80 | +### v2.x |
| 81 | +- Introduced permission caching, lazy roles, memory optimization |
| 82 | +- Added deny permissions feature |
| 83 | +- Enhanced audit logging capabilities |
28 | 84 |
|
29 | 85 | --- |
30 | 86 |
|
31 | | -*This file was added to clarify that the APIs documented in this folder are aspirational and not yet implemented.* |
| 87 | +**Need Help?** |
| 88 | +- [Getting Started](../guide/getting-started.md) |
| 89 | +- [GitHub Issues](https://github.com/khapu2906/fire-shield/issues) |
| 90 | +- [GitHub Discussions](https://github.com/khapu2906/fire-shield/discussions) |
0 commit comments