diff --git a/api/controllers/admin/auth/login.py b/api/controllers/admin/auth/login.py index c44ec1d7ba..54b7a52568 100644 --- a/api/controllers/admin/auth/login.py +++ b/api/controllers/admin/auth/login.py @@ -17,7 +17,7 @@ class SendVerificationCodeApi(Resource): """Send verification code to admin's phone number. --- tags: - - admin/auth + - admin/api/auth summary: Send Verification Code description: Sends a verification code to the provided admin phone number for authentication parameters: @@ -75,7 +75,7 @@ class LoginApi(Resource): """Admin login with phone number and verification code. --- tags: - - admin/auth + - admin/api/auth summary: Admin Login description: Authenticates an admin using phone number and verification code parameters: @@ -172,7 +172,7 @@ class LogoutApi(Resource): """Admin logout. --- tags: - - admin/auth + - admin/api/auth summary: Admin Logout description: Logs out the authenticated admin and invalidates the JWT token security: @@ -204,7 +204,7 @@ class RefreshTokenApi(Resource): """Refresh authentication token. --- tags: - - admin/auth + - admin/api/auth summary: Refresh Token description: Refreshes an access token using a valid refresh token security: diff --git a/api/controllers/admin/settings/settings.py b/api/controllers/admin/settings/settings.py index 0a76d724d4..c4dc1fb095 100644 --- a/api/controllers/admin/settings/settings.py +++ b/api/controllers/admin/settings/settings.py @@ -1,14 +1,14 @@ +from controllers.admin import api from flask import Blueprint -from flask_restful import Api, Resource # type: ignore +from flask_restful import Api, Resource # type: ignore -from controllers.admin import api class WatermarkSettings(Resource): def get(self): """Get watermark settings. --- tags: - - admin/settings + - admin/api/settings summary: Get watermark settings description: Get current watermark settings for the system security: @@ -31,7 +31,7 @@ class WatermarkSettings(Resource): """Update watermark settings. --- tags: - - admin/settings + - admin/api/settings summary: Update watermark settings description: Update system watermark settings security: @@ -62,12 +62,13 @@ class WatermarkSettings(Resource): """ pass + class SystemInfo(Resource): def get(self): """Get system information. --- tags: - - admin/settings + - admin/api/settings summary: Get system information description: Get system version, manual link and other system information security: @@ -101,12 +102,13 @@ class SystemInfo(Resource): """ pass + class OperationLogs(Resource): def get(self): """Get operation logs. --- tags: - - admin/settings + - admin/api/settings summary: Get operation logs description: Get system operation logs with filters security: @@ -178,6 +180,7 @@ class OperationLogs(Resource): """ pass + api.add_resource(WatermarkSettings, '/settings/watermark') api.add_resource(SystemInfo, '/settings/info') api.add_resource(OperationLogs, '/settings/logs') diff --git a/api/controllers/admin/stats/stats.py b/api/controllers/admin/stats/stats.py index b17d4d66e4..d268b3a957 100644 --- a/api/controllers/admin/stats/stats.py +++ b/api/controllers/admin/stats/stats.py @@ -1,14 +1,14 @@ +from controllers.admin import api from flask import Blueprint -from flask_restful import Api, Resource # type: ignore +from flask_restful import Api, Resource # type: ignore -from controllers.admin import api class RiskStats(Resource): def get(self): """Get risk level statistics. --- tags: - - admin/stats + - admin/api/stats summary: Get risk level user counts description: Get counts of users at different risk levels and their changes security: @@ -21,7 +21,7 @@ class RiskStats(Resource): required: true description: Start date of the statistics period (YYYY-MM-DD) - name: end_date - in: query + in: query type: string format: date required: true @@ -42,19 +42,20 @@ class RiskStats(Resource): type: integer description: Change in high risk users compared to yesterday from_last_week: - type: integer + type: integer description: Change in high risk users compared to last week 400: description: Invalid date parameters """ pass + class UserStats(Resource): def get(self): """Get daily user statistics. --- tags: - - admin/stats + - admin/api/stats summary: Get daily active and new user counts description: Get statistics of daily active users and new users security: @@ -68,7 +69,7 @@ class UserStats(Resource): description: Start date of the statistics period (YYYY-MM-DD) - name: end_date in: query - type: string + type: string format: date required: true description: End date of the statistics period (YYYY-MM-DD) @@ -97,12 +98,13 @@ class UserStats(Resource): """ pass + class ConversationStats(Resource): def get(self): """Get daily conversation statistics. --- tags: - - admin/stats + - admin/api/stats summary: Get daily conversation counts and averages description: Get statistics of daily total conversations and average conversations per user security: @@ -117,7 +119,7 @@ class ConversationStats(Resource): - name: end_date in: query type: string - format: date + format: date required: true description: End date of the statistics period (YYYY-MM-DD) responses: @@ -146,6 +148,7 @@ class ConversationStats(Resource): """ pass + api.add_resource(RiskStats, '/stats/risk') -api.add_resource(UserStats, '/stats/user') -api.add_resource(ConversationStats, '/stats/conversation') \ No newline at end of file +api.add_resource(UserStats, '/stats/user') +api.add_resource(ConversationStats, '/stats/conversation') diff --git a/api/controllers/admin/students/conversation.py b/api/controllers/admin/students/conversation.py index 7299dd08c2..28f3468205 100644 --- a/api/controllers/admin/students/conversation.py +++ b/api/controllers/admin/students/conversation.py @@ -22,7 +22,7 @@ class StudentConversation(Resource): """Get student's conversation history. --- tags: - - admin/students + - admin/api/students summary: Get student conversation history description: Get complete conversation history for a specific student security: diff --git a/api/controllers/admin/students/message.py b/api/controllers/admin/students/message.py index 9034c10606..7e5be63042 100644 --- a/api/controllers/admin/students/message.py +++ b/api/controllers/admin/students/message.py @@ -77,7 +77,7 @@ class MessageListApi(Resource): """Get messages list. --- tags: - - admin/students + - admin/api/students summary: List messages description: Get a paginated list of messages for a conversation security: diff --git a/api/controllers/admin/students/students.py b/api/controllers/admin/students/students.py index 0ef0c96830..8f93190baa 100644 --- a/api/controllers/admin/students/students.py +++ b/api/controllers/admin/students/students.py @@ -14,7 +14,7 @@ class StudentList(Resource): """Get all end_user list related with the app_model with filters with pagination. --- tags: - - admin/students + - admin/api/students summary: Get filtered student list description: Get list of students with various filter options security: @@ -142,7 +142,7 @@ class StudentAnalysis(Resource): """Get AI analysis and intervention suggestions. --- tags: - - admin/students + - admin/api/students summary: Get AI analysis for student description: Get AI generated analysis, summary and intervention suggestions based on conversation history security: @@ -185,7 +185,7 @@ class StudentStatus(Resource): """Update student follow-up status. --- tags: - - admin/students + - admin/api/students summary: Update student status description: Update the follow-up status of a student security: @@ -238,7 +238,7 @@ class StudentStatus(Resource): """Get student follow-up status history. --- tags: - - admin/students + - admin/api/students summary: Get status history description: Get the history of status changes for a student security: @@ -286,7 +286,7 @@ class StudentNote(Resource): """Update student follow-up note. --- tags: - - admin/students + - admin/api/students summary: Update student note description: Update the follow-up note for a student (max 1000 characters) security: @@ -335,7 +335,7 @@ class StudentNote(Resource): """Get student follow-up note history. --- tags: - - admin/students + - admin/api/students summary: Get note history description: Get the history of note changes for a student security: diff --git a/docker/nginx/conf.d/default.conf.template b/docker/nginx/conf.d/default.conf.template index d59bf36f85..631333fc72 100644 --- a/docker/nginx/conf.d/default.conf.template +++ b/docker/nginx/conf.d/default.conf.template @@ -24,7 +24,7 @@ server { include proxy.conf; } - location /admin { + location /admin/api { proxy_pass http://api:5001; include proxy.conf; } @@ -39,6 +39,11 @@ server { include proxy.conf; } + location /admin { + proxy_pass http://host.docker.internal:3000; + include proxy.conf; + } + location / { proxy_pass http://web:3000; include proxy.conf;