add class progress and fix endpoints

This commit is contained in:
root
2026-03-12 17:27:49 -04:00
parent 0f39dbee62
commit 33be0c9a0d
40 changed files with 2086 additions and 438 deletions
+187 -25
View File
@@ -222,18 +222,69 @@
},
"message": {
"type": "string",
"example": "Login successful"
"example": "Authenticated."
},
"data": {
"type": "object",
"properties": {
"token": {
"type": "string",
"example": "eyJ0eXAiOiJKV1QiLCJh..."
"user": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"example": 2
},
"firstname": {
"type": "string",
"example": "makamak"
},
"lastname": {
"type": "string",
"example": "mkmkmkm"
},
"email": {
"type": "string",
"format": "email",
"example": "mkdfso2123@gmail.com"
},
"roles": {
"type": "array",
"items": {
"type": "string",
"example": "parent"
}
}
}
},
"expires_in": {
"type": "integer",
"example": 3600
"jwt": {
"type": "object",
"properties": {
"access_token": {
"type": "string",
"example": "eyJ0eXAiOiJKV1QiLCJh..."
},
"token_type": {
"type": "string",
"example": "bearer"
},
"expires_in": {
"type": "integer",
"example": 216000
}
}
},
"sanctum": {
"type": "object",
"properties": {
"access_token": {
"type": "string",
"example": "2|5NJcqQ8YixX8NIhvKZpGoW1x4BUzhEsshSiIbCFFce48f27f"
},
"token_type": {
"type": "string",
"example": "bearer"
}
}
}
}
}
@@ -241,7 +292,19 @@
},
"RegisterRequest": {
"type": "object",
"required": ["firstname", "lastname", "email", "password", "captcha_answer"],
"required": [
"firstname",
"lastname",
"gender",
"email",
"confirm_email",
"cellphone",
"city",
"state",
"zip",
"accept_school_policy",
"captcha"
],
"properties": {
"firstname": {
"type": "string",
@@ -251,22 +314,80 @@
"type": "string",
"example": "Khalil"
},
"gender": {
"type": "string",
"example": "Female"
},
"email": {
"type": "string",
"format": "email",
"example": "parent@example.com"
},
"password": {
"confirm_email": {
"type": "string",
"example": "Str0ngPass!"
"format": "email",
"example": "parent@example.com"
},
"phone": {
"cellphone": {
"type": "string",
"example": "1234567890"
"example": "203-555-1234"
},
"captcha_answer": {
"address_street": {
"type": "string",
"example": "42"
"example": "123 Main St"
},
"apt": {
"type": "string",
"example": "Apt 4B"
},
"city": {
"type": "string",
"example": "New Haven"
},
"state": {
"type": "string",
"example": "CT"
},
"zip": {
"type": "string",
"example": "06510"
},
"accept_school_policy": {
"type": "boolean",
"example": true
},
"captcha": {
"type": "string",
"example": "A1B2"
},
"is_parent": {
"type": "boolean",
"example": true
},
"no_second_parent_info": {
"type": "boolean",
"example": false
},
"second_firstname": {
"type": "string",
"example": "Omar"
},
"second_lastname": {
"type": "string",
"example": "Khalil"
},
"second_gender": {
"type": "string",
"example": "Male"
},
"second_email": {
"type": "string",
"format": "email",
"example": "second.parent@example.com"
},
"second_cellphone": {
"type": "string",
"example": "203-555-4567"
}
}
},
@@ -303,23 +424,37 @@
"RegisterResponse": {
"type": "object",
"properties": {
"status": {
"ok": {
"type": "boolean",
"example": true
},
"message": {
"type": "string",
"example": "User registered successfully"
},
"data": {
"registration": {
"type": "object",
"properties": {
"user": {
"$ref": "#/components/schemas/UserSummary"
"user_id": {
"type": "integer",
"example": 4321
},
"message": {
"email": {
"type": "string",
"example": "Registration successful. Please check your email for verification."
"format": "email",
"example": "parent@example.com"
},
"firstname": {
"type": "string",
"example": "Yara"
},
"lastname": {
"type": "string",
"example": "Khalil"
},
"role": {
"type": "string",
"example": "parent"
},
"activation_sent": {
"type": "boolean",
"example": true
}
}
}
@@ -1074,7 +1209,7 @@
}
],
"paths": {
"/api/v1/register": {
"/api/v1/auth/register": {
"post": {
"operationId": "register",
"tags": ["Auth"],
@@ -1473,6 +1608,16 @@
"type": "integer"
}
},
{
"name": "parent_ids[]",
"in": "query",
"schema": {
"type": "array",
"items": {
"type": "integer"
}
}
},
{
"name": "class_id",
"in": "query",
@@ -4624,6 +4769,23 @@
"schema": {
"type": "string"
}
},
{
"name": "parent_id",
"in": "query",
"schema": {
"type": "integer"
}
},
{
"name": "parent_ids[]",
"in": "query",
"schema": {
"type": "array",
"items": {
"type": "integer"
}
}
}
],
"responses": {