swagger: "2.0" info: {} basePath: /api paths: /add-favorites: post: tags: - Favorite API operationId: ApiController.AddFavorites /add-node: post: tags: - Node API operationId: ApiController.AddNode /add-node-browse-record: post: tags: - Node API operationId: ApiController.AddNodeBrowseCount /add-node-moderators: post: tags: - Node API operationId: ApiController.AddNodeModerators /add-plane: post: tags: - Plane API operationId: ApiController.AddPlane /add-reply: post: tags: - Reply API operationId: ApiController.AddReply /add-sensitive: get: tags: - Seneistive API operationId: ApiController.AddSensitive /add-thanks: post: tags: - Balance API operationId: ApiController.AddThanks /add-topic: post: tags: - Topic API description: add one topic operationId: ApiController.AddTopic parameters: - in: body name: form description: topic info required: true schema: $ref: '#/definitions/controllers.NewTopicForm' responses: "200": description: The Response object schema: $ref: '#/definitions/controllers.Response' /add-topic-browse-record: post: tags: - Topic API description: add topic browse count operationId: ApiController.AddTopicBrowseCount parameters: - in: query name: id description: topicId required: true type: string responses: "200": description: The Response object schema: $ref: '#/definitions/controller.Response' /add-topic-hit-count: post: tags: - Topic API description: add topic hit count,together with node operationId: ApiController.AddTopicHitCount parameters: - in: query name: id description: topic id required: true type: string responses: "200": description: The Response object schema: $ref: '#/definitions/controller.Response' /add-translator: post: tags: - Translator API operationId: ApiController.AddTranslator /cancel-top-topic: post: tags: - Topic API description: cancels top topic according to the topType in the url. operationId: ApiController.CancelTopTopic parameters: - in: query name: id description: id required: true type: string responses: "200": description: The Response object schema: $ref: '#/definitions/controllers.Response' /del-sensitive: get: tags: - Seneistive API operationId: ApiController.DelSensitive /del-translator: post: tags: - Translator API operationId: ApiController.DelTranslator /delete-favorites: post: tags: - Favorite API operationId: ApiController.DeleteFavorites /delete-node: post: tags: - Node API operationId: ApiController.DeleteNode /delete-node-moderators: post: tags: - Node API operationId: ApiController.DeleteNodeModerators /delete-notifications: get: tags: - Notification API operationId: ApiController.DeleteNotification /delete-plane: post: tags: - Plane API operationId: ApiController.DeletePlane /delete-reply: post: tags: - Reply API operationId: ApiController.DeleteReply /delete-tab: post: tags: - Tab API operationId: ApiController.DeleteTab /delete-topic: post: tags: - Topic API description: delete a topic by id operationId: ApiController.DeleteTopic parameters: - in: query name: id description: topic id required: true type: string responses: "200": description: '{bool} bool Delete success or failure' /edit-content: post: tags: - Topic API description: edit content operationId: ApiController.EditContent parameters: - in: query name: editType description: edit Type required: true type: string responses: "200": description: The Response object schema: $ref: '#/definitions/controllers.Response' /get-account: get: tags: - Account API description: Get current account operationId: ApiController.GetAccount responses: "200": description: The Response object schema: $ref: '#/definitions/controllers.api_controller.Response' /get-account-favorite-num: get: tags: - Favorite API operationId: ApiController.GetAccountFavoriteNum /get-all-created-topics: get: tags: - Topic API description: get all created topics operationId: ApiController.GetAllCreatedTopics parameters: - in: query name: id description: author id required: true type: string - in: query name: tab description: tab required: true type: string - in: query name: limit description: mumber of topics required: true type: string - in: query name: page description: page offset required: true type: string responses: "200": description: The Response object schema: type: array items: $ref: '#/definitions/object.Topic' /get-all-tabs: get: tags: - Tab API operationId: ApiController.GetAllTabs /get-checkin-bonus: get: tags: - Balance API operationId: ApiController.GetCheckinBonus /get-checkin-bonus-status: get: tags: - Balance API operationId: ApiController.GetCheckinBonusStatus /get-community-health: get: tags: - Info API operationId: ApiController.GetCommunityHealth /get-consumption-record: get: tags: - Balance API operationId: ApiController.GetConsumptionRecord /get-created-topics-num: get: tags: - Topic API description: get created topics count operationId: ApiController.GetCreatedTopicsNum parameters: - in: query name: id description: member id required: true type: string responses: "200": description: '{int} int topics count' /get-favorites: get: tags: - Favorite API operationId: ApiController.GetFavorites /get-favorites-status: get: tags: - Favorite API operationId: ApiController.GetFavoritesStatus /get-forum-version: get: tags: - Info API operationId: ApiController.GetForumVersion /get-front-conf-by-field: get: tags: - FrontConf API description: Get front confs by field operationId: ApiController.GetFrontConfsByField responses: "200": description: The Response object schema: type: array items: $ref: '#/definitions/object.FrontConf' /get-front-confs: get: tags: - FrontConf API description: Get all front confs operationId: ApiController.GetFrontConfs responses: "200": description: The Response object schema: type: array items: $ref: '#/definitions/array' /get-hot-node: get: tags: - Node API operationId: ApiController.GetHotNod /get-hot-topic: get: tags: - Topic API description: get sorted topics operationId: ApiController.GetSortedTopics parameters: - in: query name: lps description: 'sort: last reply count' required: true type: string - in: query name: hs description: 'sort: hot' required: true type: string - in: query name: fcs description: 'sort: favorite count' required: true type: string - in: query name: cts description: 'sort: created time' required: true type: string - in: query name: page description: offset required: true type: string - in: query name: limit description: limit size required: true type: string responses: "200": description: The Response object schema: $ref: '#/definitions/controller.Response' /get-latest-node: get: tags: - Node API operationId: ApiController.GetLatestNode /get-latest-replies: get: tags: - Reply API operationId: ApiController.GetLatestReplies /get-member: get: tags: - Member API description: get member by id operationId: ApiController.GetMember parameters: - in: query name: id description: id required: true type: string responses: "200": description: The Response object schema: $ref: '#/definitions/auth.User' /get-member-editor-type: get: tags: - Member API description: member editortype operationId: ApiController.GetMemberEditorType responses: "200": description: The Response object schema: $ref: '#/definitions/controllers.Response' /get-member-language: get: tags: - Member API description: MemberLanguage operationId: ApiController.GetMemberLanguage responses: "200": description: The Response object schema: $ref: '#/definitions/controllers.Response' /get-member-replies-num: get: tags: - Reply API description: GetRepliesNum gets member's all replies num. operationId: ApiController.GetMemberRepliesNum /get-node: get: tags: - Node API operationId: ApiController.GetNode /get-node-info: get: tags: - Node API operationId: ApiController.GetNodeInfo /get-node-relation: get: tags: - Node API operationId: ApiController.GetNodeRelation /get-nodes: get: tags: - Node API operationId: ApiController.GetNodes /get-nodes-admin: get: tags: - Node API operationId: ApiController.GetNodesAdmin /get-nodes-num: get: tags: - Node API operationId: ApiController.GetNodesNum /get-notifications: get: tags: - Notification API operationId: ApiController.GetNotifications /get-online-num: get: tags: - Info API operationId: ApiController.GetOnlineNum /get-plane: get: tags: - Plane API operationId: ApiController.GetPlane /get-plane-list: get: tags: - Plane API operationId: ApiController.GetPlaneLis /get-planes-admin: get: tags: - Plane API operationId: ApiController.GetPlaneAdmin /get-ranking-rich: get: tags: - Member API description: RankingRich operationId: ApiController.GetRankingRich responses: "200": description: The Response object schema: type: array items: $ref: '#/definitions/auth.User' /get-replies: get: tags: - Reply API operationId: ApiController.GetReplies /get-replies-of-topic: get: tags: - Reply API operationId: ApiController.GetAllRepliesOfTopic /get-reply: get: tags: - Reply API operationId: ApiController.GetReply /get-reply-with-details: get: tags: - Reply API operationId: ApiController.GetReplyWithDetails /get-sensitive: get: tags: - Seneistive API operationId: ApiController.GetSensitive /get-tab-with-nodes: get: tags: - Tab API operationId: ApiController.GetTabWithNodes /get-tabs: get: tags: - Tab API operationId: ApiController.GetTabs /get-tabs-admin: get: tags: - Tab API operationId: ApiController.AddTab /get-topic: get: tags: - Topic API description: get one topic by id operationId: ApiController.GetTopic parameters: - in: query name: id description: id required: true type: string responses: "200": description: The Response object schema: $ref: '#/definitions/object.TopicWithAvatar' /get-topic-admin: get: tags: - Topic API description: get topic for admin by id operationId: ApiController.GetTopicAdmin parameters: - in: query name: id description: id required: true type: string responses: "200": description: The Response object schema: $ref: '#/definitions/object.AdminTopicInfo' /get-topic-by-urlpath-and-title: get: tags: - Topic API operationId: ApiController.GetTopicByUrlPathAndTitle /get-topics: get: tags: - Topic API description: get current topics operationId: ApiController.GetTopics parameters: - in: query name: limit description: topics size required: true type: string - in: query name: page description: offset required: true type: string responses: "200": description: The Response object schema: type: array items: $ref: '#/definitions/object.TopicWithAvatar' /get-topics-admin: get: tags: - Topic API description: get topics for admin operationId: ApiController.GetTopicsAdmin parameters: - in: query name: limit description: topics size required: true type: string - in: query name: page description: offset required: true type: string - in: query name: un description: username(author) required: true type: string - in: query name: ti description: 'search: title' required: true type: string - in: query name: cn description: 'search: content' required: true type: string - in: query name: sdt description: 'sort: show deleted topics' required: true type: string - in: query name: cs description: 'sort: created time' required: true type: string - in: query name: lrs description: 'sort: last reply time' required: true type: string - in: query name: us description: 'sort: username' required: true type: string - in: query name: rcs description: 'sort: reply count' required: true type: string - in: query name: hs description: 'sort: hot' required: true type: string - in: query name: fcs description: 'sort: favorite count' required: true type: string responses: "200": description: The Response object schema: $ref: '#/definitions/controllers.Response' /get-topics-by-node: get: tags: - Topic API description: get topics by node operationId: ApiController.GetTopicsByNode parameters: - in: query name: node-id description: node id required: true type: string - in: query name: limit description: number of topics required: true type: string - in: query name: page description: page offset required: true type: string responses: "200": description: The Response object schema: type: array items: $ref: '#/definitions/object.NodeTopic' /get-topics-by-tab: get: tags: - Topic API description: get topics by tab operationId: ApiController.GetTopicsByTab parameters: - in: query name: tab-id description: tab id required: true type: string - in: query name: limit description: number of topics required: true type: string - in: query name: page description: page offset required: true type: string responses: "200": description: The Response object schema: type: array items: $ref: '#/definitions/object.TopicWithAvatar' /get-topics-by-tag: get: tags: - Topic API description: get topics by tag operationId: ApiController.GetTopicsByTag parameters: - in: query name: tag-id description: tag id required: true type: string - in: query name: limit description: number of topics required: true type: string - in: query name: page description: page offset required: true type: string responses: "200": description: The Response object schema: type: array items: $ref: '#/definitions/object.NodeTopic' /get-topics-num: get: tags: - Topic API description: get the total number of topics operationId: ApiController.GetTopicsNum responses: "200": description: '{int} int The topic nums' /get-translator: get: tags: - Translator API operationId: ApiController.GetTranslator /get-unread-notification-num: post: tags: - Notification API operationId: ApiController.GetUnreadNotificationNum /node-navigation: get: tags: - Info API operationId: ApiController.GetNodeNavigation /read-poster: get: tags: - Poster API description: get poster by id operationId: ApiController.ReadPoster parameters: - in: query name: id description: id required: true type: string responses: "200": description: The Response object schema: $ref: '#/definitions/object.Poster' /search: get: tags: - Search API operationId: ApiController.Search /signin: post: tags: - Account API description: sign in as a member operationId: ApiController.Signin parameters: - in: QueryString name: code description: The code to sign in required: true type: string - in: QueryString name: state description: The state required: true type: string responses: "200": description: The Response object schema: $ref: '#/definitions/controllers.api_controller.Response' /signout: post: tags: - Account API description: sign out the current member operationId: ApiController.Signout responses: "200": description: The Response object schema: $ref: '#/definitions/controllers.api_controller.Response' /top-topic: post: tags: - Topic API description: tops topic according to the topType in the url. operationId: ApiController.TopTopic parameters: - in: query name: id description: id required: true type: string responses: "200": description: The Response object schema: $ref: '#/definitions/controllers.Response' /translate-topic: get: tags: - Topic API operationId: ApiController.TranslateTopic /update-expired-data: post: tags: - Hot API operationId: ApiController.ChangeExpiredDataStatus /update-front-conf: post: tags: - FrontConf API operationId: ApiController.UpdateFrontConf /update-hot-info: post: tags: - Hot API operationId: ApiController.UpdateHotInfo /update-member-editor-type: post: tags: - Member API operationId: ApiController.UpdateMemberEditorType /update-member-language: post: tags: - Member API operationId: ApiController.UpdateMemberLanguage /update-node: post: tags: - Node API operationId: ApiController.UpdateNode /update-plane: post: tags: - Plane API operationId: ApiController.UpdatePlane /update-poster: post: tags: - Poster API description: update poster message operationId: ApiController.UpdatePoster responses: "200": description: The Response object schema: $ref: '#/definitions/controllers.Response' /update-read-status: post: tags: - Notification API operationId: ApiController.UpdateReadStatus /update-reply: post: tags: - Reply API operationId: ApiController.UpdateReply /update-tab: post: tags: - Tab API operationId: ApiController.UpdateTab /update-to-default-conf: post: tags: - FrontConf API operationId: ApiController.UpdateFrontConfToDefault /update-topic-node: post: tags: - Topic API description: update the topic node operationId: ApiController.UpdateTopicNode parameters: - in: body name: updateTopicNode description: topic node info required: true schema: $ref: '#/definitions/controllers.updateTopicNode' responses: "200": description: The Response object schema: $ref: '#/definitions/controllers.Response' /update-translator: post: tags: - Translator API operationId: ApiController.UpdateTranslator /upload-avatar: post: tags: - File API operationId: ApiController.UploadAvatar /upload-file: post: tags: - File API operationId: ApiController.UploadFile /upload-moderator: post: tags: - File API operationId: ApiController.ModeratorUpload /upload-topic-pic: post: tags: - Topic API description: upload topic picture operationId: ApiController.UploadTopicPic parameters: - in: formData name: pic description: the picture base64 code required: true type: string responses: "200": description: The Response object schema: $ref: '#/definitions/_controllers.Response' /visible-translator: get: tags: - Translator API operationId: ApiController.VisibleTranslator definitions: _controllers.Response: title: Response type: object 87715.0xc0004fa000.false: title: "false" type: object 87749.0xc0004fa030.false: title: "false" type: object array: title: array type: object auth.User: title: User type: object controller.Response: title: Response type: object controllers.NewTopicForm: title: NewTopicForm type: object properties: body: type: string editorType: type: string nodeId: type: string tags: type: array items: type: string title: type: string controllers.Response: title: Response type: object properties: data: $ref: '#/definitions/87715.0xc0004fa000.false' data2: $ref: '#/definitions/87749.0xc0004fa030.false' msg: type: string status: type: string controllers.api_controller.Response: title: Response type: object properties: data: $ref: '#/definitions/87715.0xc0004fa000.false' data2: $ref: '#/definitions/87749.0xc0004fa030.false' msg: type: string status: type: string controllers.updateTopicNode: title: updateTopicNode type: object properties: id: type: integer format: int64 nodeId: type: string nodeName: type: string object.AdminTopicInfo: title: AdminTopicInfo type: object properties: author: type: string content: type: string createdTime: type: string deleted: type: boolean downCount: type: integer format: int64 editorType: type: string favoriteCount: type: integer format: int64 hitCount: type: integer format: int64 homePageTopTime: type: string hot: type: integer format: int64 id: type: integer format: int64 ip: type: string isHidden: type: boolean lastReplyTime: type: string lastReplyUser: type: string nodeId: type: string nodeName: type: string nodeTopTime: type: string replyCount: type: integer format: int64 state: type: string tabId: type: string tabTopTime: type: string tags: type: array items: type: string title: type: string upCount: type: integer format: int64 urlPath: type: string object.FrontConf: title: FrontConf type: object properties: Field: type: string Id: type: string Value: type: string object.NodeTopic: title: NodeTopic type: object properties: author: type: string avatar: type: string content: type: string contentLength: type: integer format: int64 createdTime: type: string downCount: type: integer format: int64 editable: type: boolean editorType: type: string favoriteCount: type: integer format: int64 hitCount: type: integer format: int64 homePageTopTime: type: string hot: type: integer format: int64 id: type: integer format: int64 ip: type: string isHidden: type: boolean lastReplyTime: type: string lastReplyUser: type: string nodeId: type: string nodeModerator: type: boolean nodeName: type: string nodeTopTime: type: string replyCount: type: integer format: int64 state: type: string tabId: type: string tabTopTime: type: string tags: type: array items: type: string thanksStatus: type: boolean title: type: string upCount: type: integer format: int64 urlPath: type: string object.Poster: title: Poster type: object properties: advertiser: type: string id: type: string link: type: string picture_link: type: string state: type: string object.Topic: title: Topic type: object properties: author: type: string content: type: string createdTime: type: string downCount: type: integer format: int64 editorType: type: string favoriteCount: type: integer format: int64 hitCount: type: integer format: int64 homePageTopTime: type: string hot: type: integer format: int64 id: type: integer format: int64 ip: type: string isHidden: type: boolean lastReplyTime: type: string lastReplyUser: type: string nodeId: type: string nodeName: type: string nodeTopTime: type: string replyCount: type: integer format: int64 state: type: string tabId: type: string tabTopTime: type: string tags: type: array items: type: string title: type: string upCount: type: integer format: int64 urlPath: type: string object.TopicWithAvatar: title: TopicWithAvatar type: object properties: author: type: string avatar: type: string content: type: string createdTime: type: string downCount: type: integer format: int64 editable: type: boolean editorType: type: string favoriteCount: type: integer format: int64 hitCount: type: integer format: int64 homePageTopTime: type: string hot: type: integer format: int64 id: type: integer format: int64 ip: type: string isHidden: type: boolean lastReplyTime: type: string lastReplyUser: type: string nodeId: type: string nodeModerator: type: boolean nodeName: type: string nodeTopTime: type: string replyCount: type: integer format: int64 state: type: string tabId: type: string tabTopTime: type: string tags: type: array items: type: string thanksStatus: type: boolean title: type: string upCount: type: integer format: int64 urlPath: type: string