Add agenda service and submit api

Signed-off-by: Asai Neko <sugar@sne.moe>
This commit is contained in:
2026-02-06 18:32:46 +08:00
parent b2f216f1bd
commit c9e987e2ba
30 changed files with 1228 additions and 365 deletions

View File

@@ -22,6 +22,93 @@
"host": "localhost:8000",
"basePath": "/app/api/v1",
"paths": {
"/agenda/submit": {
"post": {
"security": [
{
"ApiKeyAuth": []
}
],
"description": "Creates a new agenda item for a specific attendance record.",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Agenda"
],
"summary": "Submit Agenda",
"parameters": [
{
"description": "Agenda Submission Data",
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/service_agenda.SubmitData"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"$ref": "#/definitions/utils.RespStatus"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/service_agenda.SubmitResponse"
}
}
}
]
}
},
"400": {
"description": "Invalid Input",
"schema": {
"allOf": [
{
"$ref": "#/definitions/utils.RespStatus"
},
{
"type": "object",
"properties": {
"data": {
"type": "object"
}
}
}
]
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"allOf": [
{
"$ref": "#/definitions/utils.RespStatus"
},
{
"type": "object",
"properties": {
"data": {
"type": "object"
}
}
}
]
}
}
}
}
},
"/auth/exchange": {
"post": {
"description": "Exchanges client credentials and user session for a specific redirect authorization code.",
@@ -44,13 +131,6 @@
"schema": {
"$ref": "#/definitions/service_auth.ExchangeData"
}
},
{
"type": "string",
"description": "latest",
"name": "X-Api-Version",
"in": "header",
"required": true
}
],
"responses": {
@@ -151,13 +231,6 @@
"schema": {
"$ref": "#/definitions/service_auth.MagicData"
}
},
{
"type": "string",
"description": "latest",
"name": "X-Api-Version",
"in": "header",
"required": true
}
],
"responses": {
@@ -365,13 +438,6 @@
"schema": {
"$ref": "#/definitions/service_auth.RefreshData"
}
},
{
"type": "string",
"description": "latest",
"name": "X-Api-Version",
"in": "header",
"required": true
}
],
"responses": {
@@ -472,13 +538,6 @@
"schema": {
"$ref": "#/definitions/service_auth.TokenData"
}
},
{
"type": "string",
"description": "latest",
"name": "X-Api-Version",
"in": "header",
"required": true
}
],
"responses": {
@@ -579,13 +638,6 @@
"name": "event_id",
"in": "query",
"required": true
},
{
"type": "string",
"description": "latest",
"name": "X-Api-Version",
"in": "header",
"required": true
}
],
"responses": {
@@ -699,6 +751,13 @@
"name": "X-Api-Version",
"in": "header",
"required": true
},
{
"type": "string",
"description": "Bearer token",
"name": "Authorization",
"in": "header",
"required": true
}
],
"responses": {
@@ -881,6 +940,20 @@
],
"summary": "Submit Check-in Code",
"parameters": [
{
"type": "string",
"description": "latest",
"name": "X-Api-Version",
"in": "header",
"required": true
},
{
"type": "string",
"description": "Bearer token",
"name": "Authorization",
"in": "header",
"required": true
},
{
"description": "Checkin Code Data",
"name": "payload",
@@ -956,13 +1029,6 @@
"name": "event_id",
"in": "query",
"required": true
},
{
"type": "string",
"description": "latest",
"name": "X-Api-Version",
"in": "header",
"required": true
}
],
"responses": {
@@ -1086,13 +1152,6 @@
"schema": {
"$ref": "#/definitions/service_event.EventJoinData"
}
},
{
"type": "string",
"description": "latest",
"name": "X-Api-Version",
"in": "header",
"required": true
}
],
"responses": {
@@ -1189,6 +1248,117 @@
}
}
},
"/event/joined": {
"get": {
"security": [
{
"ApiKeyAuth": []
}
],
"description": "Fetches a list of events where the authenticated user is a participant. Supports pagination.",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Event"
],
"summary": "Get Joined Events",
"parameters": [
{
"type": "integer",
"description": "Maximum number of events to return (default 20)",
"name": "limit",
"in": "query"
},
{
"type": "integer",
"description": "Number of events to skip",
"name": "offset",
"in": "query"
}
],
"responses": {
"200": {
"description": "Successful retrieval of joined events",
"schema": {
"allOf": [
{
"$ref": "#/definitions/utils.RespStatus"
},
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/definitions/data.EventIndexDoc"
}
}
}
}
]
}
},
"400": {
"description": "Invalid Input",
"schema": {
"allOf": [
{
"$ref": "#/definitions/utils.RespStatus"
},
{
"type": "object",
"properties": {
"data": {
"type": "object"
}
}
}
]
}
},
"401": {
"description": "Unauthorized",
"schema": {
"allOf": [
{
"$ref": "#/definitions/utils.RespStatus"
},
{
"type": "object",
"properties": {
"data": {
"type": "object"
}
}
}
]
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"allOf": [
{
"$ref": "#/definitions/utils.RespStatus"
},
{
"type": "object",
"properties": {
"data": {
"type": "object"
}
}
}
]
}
}
}
}
},
"/event/list": {
"get": {
"security": [
@@ -1219,13 +1389,6 @@
"description": "Number of events to skip",
"name": "offset",
"in": "query"
},
{
"type": "string",
"description": "latest",
"name": "X-Api-Version",
"in": "header",
"required": true
}
],
"responses": {
@@ -1334,13 +1497,6 @@
"schema": {
"$ref": "#/definitions/service_kyc.KycQueryData"
}
},
{
"type": "string",
"description": "latest",
"name": "X-Api-Version",
"in": "header",
"required": true
}
],
"responses": {
@@ -1446,13 +1602,6 @@
"schema": {
"$ref": "#/definitions/service_kyc.KycSessionData"
}
},
{
"type": "string",
"description": "latest",
"name": "X-Api-Version",
"in": "header",
"required": true
}
],
"responses": {
@@ -1549,15 +1698,6 @@
"User"
],
"summary": "Get My User Information",
"parameters": [
{
"type": "string",
"description": "latest",
"name": "X-Api-Version",
"in": "header",
"required": true
}
],
"responses": {
"200": {
"description": "Successful profile retrieval",
@@ -1659,13 +1799,6 @@
"name": "user_id",
"in": "path",
"required": true
},
{
"type": "string",
"description": "latest",
"name": "X-Api-Version",
"in": "header",
"required": true
}
],
"responses": {
@@ -1793,13 +1926,6 @@
"name": "offset",
"in": "query",
"required": true
},
{
"type": "string",
"description": "latest",
"name": "X-Api-Version",
"in": "header",
"required": true
}
],
"responses": {
@@ -1908,13 +2034,6 @@
"schema": {
"$ref": "#/definitions/service_user.UserInfoData"
}
},
{
"type": "string",
"description": "latest",
"name": "X-Api-Version",
"in": "header",
"required": true
}
],
"responses": {
@@ -2059,6 +2178,28 @@
}
}
},
"service_agenda.SubmitData": {
"type": "object",
"properties": {
"description": {
"type": "string"
},
"event_id": {
"type": "string"
},
"name": {
"type": "string"
}
}
},
"service_agenda.SubmitResponse": {
"type": "object",
"properties": {
"agenda_id": {
"type": "string"
}
}
},
"service_auth.ExchangeData": {
"type": "object",
"properties": {