Files
nCovTrack-Backend/docs/swagger.yaml
fallen-angle 9e3638885d finish
2022-05-16 19:55:59 +08:00

1485 lines
34 KiB
YAML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
definitions:
models.AreaInfo:
properties:
children:
items:
$ref: '#/definitions/models.AreaInfo'
type: array
name:
type: string
parent:
type: string
today:
$ref: '#/definitions/models.AreaToday'
total:
$ref: '#/definitions/models.AreaTotal'
type: object
models.AreaToday:
properties:
confirm:
type: integer
isUpdate:
type: boolean
type: object
models.AreaTotal:
properties:
confirm:
type: integer
dead:
type: integer
heal:
type: integer
nowConfirm:
type: integer
provinceLocalConfirm:
type: integer
showHeal:
type: boolean
showRate:
type: boolean
wzz:
type: integer
type: object
models.BackArticle:
properties:
content:
description: 文章内容(如有需要可迁移至对象存储)
type: string
cover:
description: 文章封面
type: string
createTime:
description: 文章新建时间
type: string
createUser:
description: 文章创建者id
type: integer
id:
description: 文章id
type: integer
isDelete:
description: 删除标志
type: integer
isPublish:
description: '发布状态(0:未发布, 1: 发布)'
type: integer
modifyTime:
description: 文章最后更新时间
type: string
modifyUser:
description: 文章最后更新者id
type: integer
resume:
description: 文章简述
type: string
tags:
description: 文章Tag
type: string
title:
description: 文章标题
type: string
type: object
models.BackLocation:
properties:
address:
description: 地点的精确地址
type: string
createTime:
description: 创建时间
type: string
createUser:
description: 创建者
type: integer
id:
description: ID
type: integer
isDelete:
description: 删除标志
type: integer
modifyTime:
description: 修改时间
type: string
modifyUser:
description: 修改者
type: integer
name:
description: 地点名
type: string
principalName:
description: 负责人姓名
type: string
principalPhone:
description: 负责人电话
type: string
region:
description: 地点所在地区
type: string
type: object
models.BackNotification:
properties:
content:
type: string
kind:
type: string
time:
type: string
type: object
models.BackObservation:
properties:
address:
description: 受观察者所在具体地点
type: string
age:
description: 年龄
type: integer
contactPerson:
description: 接触者id
type: integer
createTime:
description: 创建时间
type: string
createUser:
description: 创建者
type: integer
healthChangeTime:
description: 患者健康状况转化时间
type: string
healthSituation:
description: 被观察者的疫情状况0- 其他1-患者2-密接3-次密接
type: integer
id:
description: ID
type: integer
identification:
description: 身份证号
type: string
isDelete:
description: 删除标志
type: integer
measureSituation:
description: 受观察者被采取措施状况 0-未采取措施1-解除风险2-正在治疗3-集中隔离4-居家隔离
type: integer
modifyTime:
description: 修改时间
type: string
modifyUser:
description: 修改者
type: integer
name:
description: 姓名
type: string
phone:
description: 手机号码
type: string
region:
description: 受观察者所在区域
type: string
sex:
description: 性别
type: integer
trajectory:
description: 行程轨迹
type: string
type: object
models.BackPcr:
properties:
createTime:
description: 创建时间
type: string
createUser:
description: 创建者
type: integer
detectResult:
description: 核酸检测结果0-未检测1-阴性2-阳性
type: integer
detectTime:
description: 核酸检测时间
type: string
id:
description: ID
type: integer
isDelete:
description: 删除标志
type: integer
modifyTime:
description: 修改时间
type: string
modifyUser:
description: 修改者
type: integer
observation:
description: 观察对象ID
type: integer
type: object
models.BackUser:
properties:
approver:
description: 注册审核人ID
type: integer
aptitude:
description: 用户资质证明(图片URL)
type: string
createTime:
description: 用户注册时间
type: string
email:
description: 用户邮箱
type: string
id:
description: 用户ID
type: integer
isDelete:
description: 删除标志
type: integer
modifyTime:
type: string
password:
description: 用户密码
type: string
phone:
description: 用户手机号码
type: string
region:
description: 用户所属地域
type: string
role:
description: 用户角色
type: integer
username:
description: 用户真实姓名
type: string
type: object
models.ChinaAdd:
properties:
confirm:
type: integer
dead:
type: integer
heal:
type: integer
importedCase:
type: integer
localConfirm:
type: integer
localConfirmH5:
type: integer
noInfect:
type: integer
noInfectH5:
type: integer
nowConfirm:
type: integer
nowSevere:
type: integer
suspect:
type: integer
type: object
models.ChinaData:
properties:
chinaAdd:
$ref: '#/definitions/models.ChinaAdd'
chinaTotal:
$ref: '#/definitions/models.ChinaTotal'
type: object
models.ChinaDay:
properties:
confirm:
type: integer
date:
type: string
dead:
type: integer
deadRate:
type: string
heal:
type: integer
healRate:
type: string
importedCase:
type: integer
local_acc_confirm:
type: integer
localConfirm:
type: integer
localConfirmH5:
type: integer
noInfect:
type: integer
noInfectH5:
type: integer
nowConfirm:
type: integer
nowSevere:
type: integer
suspect:
type: integer
"y":
type: string
type: object
models.ChinaDayAdd:
properties:
confirm:
type: integer
date:
type: string
dead:
type: integer
deadRate:
type: string
heal:
type: integer
healRate:
type: string
importedCase:
type: integer
infect:
type: integer
localConfirmadd:
type: integer
localinfectionadd:
type: integer
suspect:
type: integer
"y":
type: string
type: object
models.ChinaTotal:
properties:
confirm:
type: integer
dead:
type: integer
heal:
type: integer
importedCase:
type: integer
local_acc_confirm:
type: integer
localConfirm:
type: integer
localConfirmH5:
type: integer
noInfect:
type: integer
noInfectH5:
type: integer
nowConfirm:
type: integer
nowSevere:
type: integer
showLocalConfirm:
type: integer
showlocalinfeciton:
type: integer
suspect:
type: integer
type: object
models.ChinaTrend:
properties:
ChinaDayList:
items:
$ref: '#/definitions/models.ChinaDay'
type: array
chinaDayAddList:
items:
$ref: '#/definitions/models.ChinaDayAdd'
type: array
type: object
models.ListArticle:
properties:
cover:
type: string
createTime:
type: string
id:
type: integer
modifyTime:
type: string
resume:
type: string
tags:
type: string
title:
type: string
username:
type: string
type: object
models.ListObservation:
properties:
address:
description: 受观察者所在具体地点
type: string
age:
description: 年龄
type: integer
contactPerson:
description: 接触者id
type: integer
createTime:
description: 创建时间
type: string
createUser:
description: 创建者
type: integer
healthChangeTime:
description: 患者健康状况转化时间
type: string
healthSituation:
description: 被观察者的疫情状况0- 其他1-患者2-密接3-次密接
type: integer
id:
type: integer
identification:
description: 身份证号
type: string
measureSituation:
description: 受观察者被采取措施状况 0-未采取措施1-解除风险2-正在治疗3-集中隔离4-居家隔离
type: integer
modifyTime:
description: 修改时间
type: string
modifyUser:
description: 修改者
type: integer
name:
description: 姓名
type: string
pcrResult:
description: 核酸结果0-未检测1-阴性2-阳性
type: integer
pcrTime:
description: 核酸时间
type: string
phone:
description: 手机号码
type: string
record:
description: 状态转换内容
type: string
recordTime:
description: 状态转换时间
type: string
region:
description: 受观察者所在区域
type: string
sex:
description: 性别
type: integer
trajectory:
description: 行程轨迹
type: string
type: object
models.TreeObservation:
properties:
address:
description: 受观察者所在具体地点
type: string
age:
description: 年龄
type: integer
children:
description: 子结点
items:
$ref: '#/definitions/models.TreeObservation'
type: array
contactPerson:
description: 接触者id
type: integer
createTime:
description: 创建时间
type: string
createUser:
description: 创建者
type: integer
healthChangeTime:
description: 患者健康状况转化时间
type: string
healthSituation:
description: 被观察者的疫情状况0- 其他1-患者2-密接3-次密接
type: integer
id:
type: integer
identification:
description: 身份证号
type: string
measureSituation:
description: 受观察者被采取措施状况 0-未采取措施1-解除风险2-正在治疗3-集中隔离4-居家隔离
type: integer
modifyTime:
description: 修改时间
type: string
modifyUser:
description: 修改者
type: integer
name:
description: 姓名
type: string
phone:
description: 手机号码
type: string
region:
description: 受观察者所在区域
type: string
sex:
description: 性别
type: integer
trajectory:
description: 行程轨迹
type: string
type: object
models.UserApprove:
properties:
email:
type: string
pass:
type: boolean
type: object
models.UserChangePwd:
properties:
code:
type: string
email:
type: string
newPassword:
type: string
type: object
models.UserLogin:
properties:
account:
type: string
password:
type: string
type: object
models.UserRegister:
properties:
aptitude:
type: string
email:
type: string
password:
type: string
phone:
type: string
region:
type: string
role:
type: integer
username:
type: string
type: object
utils.GinResponse:
properties:
code:
type: integer
data: {}
msg: {}
type: object
info:
contact: {}
title: nCov Tracker
version: "1.0"
paths:
/article:
post:
consumes:
- application/json
parameters:
- description: article
in: body
name: Article
required: true
schema:
$ref: '#/definitions/models.BackArticle'
- description: token
in: header
name: Token
required: true
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/utils.GinResponse'
- properties:
data:
$ref: '#/definitions/models.BackArticle'
type: object
summary: save article
tags:
- Article
/article/{id}:
delete:
consumes:
- application/json
parameters:
- description: token
in: header
name: Token
required: true
type: string
- description: id
in: path
name: id
required: true
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/utils.GinResponse'
summary: delete an article
tags:
- Article
get:
consumes:
- application/json
description: Admin can get not published article
parameters:
- description: id
in: path
name: id
required: true
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/utils.GinResponse'
- properties:
data:
$ref: '#/definitions/models.BackArticle'
type: object
summary: get an articles
tags:
- Article
/article/{id}/publish:
post:
consumes:
- application/json
parameters:
- description: token
in: header
name: Token
required: true
type: string
- description: id
in: path
name: id
required: true
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/utils.GinResponse'
summary: publish an articles
tags:
- Article
/article/list:
get:
consumes:
- application/json
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/utils.GinResponse'
- properties:
data:
items:
$ref: '#/definitions/models.ListArticle'
type: array
type: object
summary: get all articles
tags:
- Article
/article/list/{published}:
get:
consumes:
- application/json
parameters:
- description: token
in: header
name: Token
type: string
- description: string enums
enum:
- published
- notpublished
in: path
name: published
required: true
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/utils.GinResponse'
- properties:
data:
items:
$ref: '#/definitions/models.BackArticle'
type: array
type: object
summary: get user's articles
tags:
- Article
/management/faker/{patientId}:
get:
parameters:
- description: Token
in: header
name: Token
required: true
type: string
- description: Patient Id
in: path
name: patientId
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/utils.GinResponse'
summary: pull contact from faker
tags:
- Management
/management/location/:
get:
parameters:
- description: 地点的精确地址
in: query
name: address
type: string
- description: 创建时间
in: query
name: createTime
type: string
- description: 创建者
in: query
name: createUser
type: integer
- description: ID
in: query
name: id
type: integer
- description: 删除标志
in: query
name: isDelete
type: integer
- description: 修改时间
in: query
name: modifyTime
type: string
- description: 修改者
in: query
name: modifyUser
type: integer
- description: 地点名
in: query
name: name
type: string
- description: 负责人姓名
in: query
name: principalName
type: string
- description: 负责人电话
in: query
name: principalPhone
type: string
- description: 地点所在地区
in: query
name: region
type: string
- description: token
in: header
name: Token
required: true
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/utils.GinResponse'
- properties:
data:
$ref: '#/definitions/models.BackLocation'
type: object
summary: list locations
tags:
- Management
post:
consumes:
- application/json
parameters:
- description: location
in: body
name: Location
required: true
schema:
$ref: '#/definitions/models.BackLocation'
- description: token
in: header
name: Token
required: true
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/utils.GinResponse'
summary: insert location
tags:
- Management
/management/location/{id}:
delete:
parameters:
- description: token
in: header
name: Token
required: true
type: string
- description: Id
in: path
name: Id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/utils.GinResponse'
summary: delete location
tags:
- Management
/management/observation/:
get:
parameters:
- description: token
in: header
name: Token
required: true
type: string
- description: 受观察者所在具体地点
in: query
name: address
type: string
- description: 年龄
in: query
name: age
type: integer
- description: 接触者id
in: query
name: contactPerson
type: integer
- description: 创建时间
in: query
name: createTime
type: string
- description: 创建者
in: query
name: createUser
type: integer
- description: 患者健康状况转化时间
in: query
name: healthChangeTime
type: string
- description: 被观察者的疫情状况0- 其他1-患者2-密接3-次密接
in: query
name: healthSituation
type: integer
- description: ID
in: query
name: id
type: integer
- description: 身份证号
in: query
name: identification
type: string
- description: 删除标志
in: query
name: isDelete
type: integer
- description: 受观察者被采取措施状况 0-未采取措施1-解除风险2-正在治疗3-集中隔离4-居家隔离
in: query
name: measureSituation
type: integer
- description: 修改时间
in: query
name: modifyTime
type: string
- description: 修改者
in: query
name: modifyUser
type: integer
- description: 姓名
in: query
name: name
type: string
- description: 手机号码
in: query
name: phone
type: string
- description: 受观察者所在区域
in: query
name: region
type: string
- description: 性别
in: query
name: sex
type: integer
- description: 行程轨迹
in: query
name: trajectory
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/utils.GinResponse'
- properties:
data:
items:
$ref: '#/definitions/models.ListObservation'
type: array
type: object
summary: list observations by query
tags:
- Management
post:
consumes:
- application/json
parameters:
- description: observation
in: body
name: Observation
required: true
schema:
$ref: '#/definitions/models.BackObservation'
- description: token
in: header
name: Token
required: true
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/utils.GinResponse'
summary: insert observation
tags:
- Management
put:
consumes:
- application/json
parameters:
- description: observation
in: body
name: Observation
required: true
schema:
$ref: '#/definitions/models.BackObservation'
- description: token
in: header
name: Token
required: true
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/utils.GinResponse'
summary: update observation
tags:
- Management
/management/observation/{id}:
get:
parameters:
- description: token
in: header
name: token
required: true
type: string
- description: id
in: path
name: id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/utils.GinResponse'
- properties:
data:
$ref: '#/definitions/models.BackObservation'
type: object
summary: get observation's info
tags:
- Management
/management/observation/tree/{id}/{direction}:
get:
parameters:
- description: token
in: header
name: Token
required: true
type: string
- description: id
in: path
name: id
required: true
type: integer
- description: direction
enum:
- up
- down
- all
in: path
name: direction
required: true
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/utils.GinResponse'
- properties:
data:
$ref: '#/definitions/models.TreeObservation'
type: object
summary: get transform chain by user
tags:
- Management
/management/pcr/:
post:
parameters:
- description: Pcr
in: body
name: Pcr
required: true
schema:
$ref: '#/definitions/models.BackPcr'
- description: token
in: header
name: Token
required: true
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/utils.GinResponse'
summary: insert pcr record
tags:
- Management
/notify/{index}:
delete:
parameters:
- description: token
in: header
name: Token
required: true
type: string
- description: index
in: path
name: index
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/utils.GinResponse'
summary: delete the notify by index, if -1 delete all
tags:
- Notification
/notify/{start}/{end}:
get:
parameters:
- description: token
in: header
name: Token
required: true
type: string
- description: start
in: path
name: start
required: true
type: integer
- description: end
in: path
name: end
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/utils.GinResponse'
- properties:
data:
items:
$ref: '#/definitions/models.BackNotification'
type: array
type: object
summary: list the notification in the range
tags:
- Notification
/notify/count/:
get:
parameters:
- description: token
in: header
name: Token
required: true
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/utils.GinResponse'
summary: count the notification
tags:
- Notification
/statistics/china:
get:
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/utils.GinResponse'
- properties:
data:
$ref: '#/definitions/models.ChinaData'
type: object
summary: china data
tags:
- Statistics
/statistics/china/trend:
get:
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/utils.GinResponse'
- properties:
data:
$ref: '#/definitions/models.ChinaTrend'
type: object
summary: china trend
tags:
- Statistics
/statistics/city/{sort}:
get:
parameters:
- description: data sorted by
enum:
- today
- total
- now
- default
in: path
name: sort
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/utils.GinResponse'
- properties:
data:
items:
$ref: '#/definitions/models.AreaInfo'
type: array
type: object
summary: city statistics
tags:
- Statistics
/statistics/country:
get:
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/utils.GinResponse'
- properties:
data:
items:
$ref: '#/definitions/models.AreaInfo'
type: array
type: object
summary: country statistics
tags:
- Statistics
/statistics/country/child:
get:
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/utils.GinResponse'
- properties:
data:
items:
$ref: '#/definitions/models.AreaInfo'
type: array
type: object
summary: country statistics
tags:
- Statistics
/statistics/province/{sort}:
get:
parameters:
- description: data sorted by
enum:
- today
- total
- now
- default
in: path
name: sort
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/utils.GinResponse'
- properties:
data:
items:
$ref: '#/definitions/models.AreaInfo'
type: array
type: object
summary: province statistics
tags:
- Statistics
/user/approve:
post:
consumes:
- application/json
parameters:
- description: token
in: header
name: Token
required: true
type: string
- description: json
in: body
name: json
required: true
schema:
$ref: '#/definitions/models.UserApprove'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/utils.GinResponse'
summary: admin approve account, user can use account after approved
tags:
- User
/user/chpwd:
post:
consumes:
- application/json
parameters:
- description: json
in: body
name: json
required: true
schema:
$ref: '#/definitions/models.UserChangePwd'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/utils.GinResponse'
summary: change user's password
tags:
- User
/user/code/{email}:
get:
parameters:
- description: email
in: path
name: email
required: true
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/utils.GinResponse'
summary: send verify code
tags:
- User
/user/code/{email}/{code}:
get:
parameters:
- description: email
in: path
name: email
required: true
type: string
- description: code
in: path
name: code
required: true
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/utils.GinResponse'
summary: send verify code
tags:
- User
/user/login:
post:
consumes:
- application/json
parameters:
- description: json
in: body
name: json
required: true
schema:
$ref: '#/definitions/models.UserLogin'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/utils.GinResponse'
summary: user login
tags:
- User
/user/register:
post:
consumes:
- application/json
parameters:
- description: json
in: body
name: json
required: true
schema:
$ref: '#/definitions/models.UserRegister'
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/utils.GinResponse'
- properties:
data:
$ref: '#/definitions/models.BackUser'
type: object
summary: user register account
tags:
- User
/user/registers/{approved}:
get:
parameters:
- description: token
in: header
name: Token
required: true
type: string
- description: string enums
enum:
- approved
- notapproved
in: path
name: approved
required: true
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/utils.GinResponse'
summary: list register infos, which is to be approved
tags:
- User
swagger: "2.0"