Skip to content

Done #201

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 15 commits into
base: master
Choose a base branch
from
Open

Done #201

wants to merge 15 commits into from

Conversation

AbdulRahimOM
Copy link

✅ Validation & Enforcement
• Proper validation of contract syntax, structure, and include-exclude relationships
• Region validation in input data
• Pre-processing contracts based on parent permissions (ignoring entries outside the parent’s scope)
• Constructively applying contracts over existing permissions (if applicable)

✅ Performance & Concurrency Improvements
• Efficient storage & querying using a map-based approach
• Safe thread handling with judicious use of sync.RWMutex to prevent race conditions
• Rate limiting for controlled request handling

✅ Functionality Enhancements
• Fetch permissions in JSON/Text format
• Allow contract submission in text/plain format

✅ Testing & Reliability
• Comprehensive integration testing to ensure correctness

📝 Authored by: Abdul Rahim O M
📧 Contact: [email protected]
🎥 Walkthrough Video: YouTube Link
🔗 Postman API Collection: Postman API Link
📖 Postman Documentation: Postman API Documentation

* Done
* Summary in SUMMARY.md file
RW locks implemented on databank to ensure thread safety
* Get permissions of a distributor as text or in json format
* Validate contract by its structure 
* Fumigate contract based on parent’s existing  permissions
* Applying contract upon existing permissions
* Proper handling of locking and unlocking (read and write locks used judiciously )
* For ease of testing
* init functions removed, and direct call from main.go implemented instead
* Space tolerance
* Empty line tolerance
* Same region cannot be included and excluded at same time
* A region can be excluded only if its parent is included
* A region cannot be excluded while including its sub-regions
Effectively, no rate-limit now for testing to make the testing work proper
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant