| { | |
| "name": "StudySession", | |
| "type": "object", | |
| "properties": { | |
| "user_email": { | |
| "type": "string", | |
| "description": "Email of the student" | |
| }, | |
| "problem_id": { | |
| "type": "string", | |
| "description": "ID of the problem attempted" | |
| }, | |
| "completed": { | |
| "type": "boolean", | |
| "default": false, | |
| "description": "Whether the problem was successfully solved" | |
| }, | |
| "time_spent": { | |
| "type": "number", | |
| "description": "Time spent on problem in minutes" | |
| }, | |
| "hints_used": { | |
| "type": "number", | |
| "default": 0, | |
| "description": "Number of hints the student used" | |
| }, | |
| "score": { | |
| "type": "number", | |
| "minimum": 0, | |
| "maximum": 100, | |
| "description": "Score achieved on the problem" | |
| }, | |
| "session_date": { | |
| "type": "string", | |
| "format": "date", | |
| "description": "Date of the study session" | |
| } | |
| }, | |
| "required": [ | |
| "user_email", | |
| "problem_id" | |
| ], | |
| "rls": { | |
| "read": { | |
| "$or": [ | |
| { | |
| "user_email": "{{user.email}}" | |
| }, | |
| { | |
| "user_condition": { | |
| "role": "admin" | |
| } | |
| } | |
| ] | |
| }, | |
| "write": { | |
| "$or": [ | |
| { | |
| "user_email": "{{user.email}}" | |
| }, | |
| { | |
| "user_condition": { | |
| "role": "admin" | |
| } | |
| } | |
| ] | |
| } | |
| } | |
| } |