Files
openapi-go-answer/README.md
2023-09-26 16:20:01 +08:00

41 KiB

Go API client for answer_sdk

No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)

Overview

This API client was generated by the OpenAPI Generator project. By using the OpenAPI-spec from a remote server, you can easily generate an API client.

  • API version: 1.0.0
  • Package version: 1.0.0
  • Build package: org.openapitools.codegen.languages.GoClientCodegen

Installation

Install the following dependencies:

go get github.com/stretchr/testify/assert
go get golang.org/x/net/context

Put the package under your project folder and add the following in import:

import answer_sdk "git.ncc.cx/package/openapi-go-answer"

To use a proxy, set the environment variable HTTP_PROXY:

os.Setenv("HTTP_PROXY", "http://proxy_name:proxy_port")

Configuration of Server URL

Default configuration comes with Servers field that contains server objects as defined in the OpenAPI specification.

Select Server Configuration

For using other server than the one defined on index 0 set context value sw.ContextServerIndex of type int.

ctx := context.WithValue(context.Background(), answer_sdk.ContextServerIndex, 1)

Templated Server URL

Templated server URL is formatted using default variables from configuration or from context value sw.ContextServerVariables of type map[string]string.

ctx := context.WithValue(context.Background(), answer_sdk.ContextServerVariables, map[string]string{
	"basePath": "v2",
})

Note, enum values are always validated and all unused variables are silently ignored.

URLs Configuration per Operation

Each operation can use different server URL defined using OperationServers map in the Configuration. An operation is uniquely identified by "{classname}Service.{nickname}" string. Similar rules for overriding default operation server index and variables applies by using sw.ContextOperationServerIndices and sw.ContextOperationServerVariables context maps.

ctx := context.WithValue(context.Background(), answer_sdk.ContextOperationServerIndices, map[string]int{
	"{classname}Service.{nickname}": 2,
})
ctx = context.WithValue(context.Background(), answer_sdk.ContextOperationServerVariables, map[string]map[string]string{
	"{classname}Service.{nickname}": {
		"port": "8443",
	},
})

Documentation for API Endpoints

All URIs are relative to http://localhost

Class Method HTTP request Description
ActivityAPI AnswerApiV1FollowPost Post /answer/api/v1/follow follow object or cancel follow operation
ActivityAPI AnswerApiV1FollowTagsPut Put /answer/api/v1/follow/tags update user follow tags
ActivityAPI AnswerApiV1PersonalVotePageGet Get /answer/api/v1/personal/vote/page get user personal votes
ActivityAPI AnswerApiV1VoteDownPost Post /answer/api/v1/vote/down vote down
ActivityAPI AnswerApiV1VoteUpPost Post /answer/api/v1/vote/up vote up
AdminAPI AnswerAdminApiAnswerPageGet Get /answer/admin/api/answer/page AdminAnswerPage admin answer page
AdminAPI AnswerAdminApiAnswerStatusPut Put /answer/admin/api/answer/status AdminSetAnswerStatus
AdminAPI AnswerAdminApiDashboardGet Get /answer/admin/api/dashboard DashboardInfo
AdminAPI AnswerAdminApiQuestionPageGet Get /answer/admin/api/question/page AdminQuestionPage admin question page
AdminAPI AnswerAdminApiQuestionStatusPut Put /answer/admin/api/question/status AdminSetQuestionStatus
AdminAPI AnswerAdminApiReportPut Put /answer/admin/api/report/ handle flag
AdminAPI AnswerAdminApiReportsPageGet Get /answer/admin/api/reports/page list report page
AdminAPI AnswerAdminApiRolesGet Get /answer/admin/api/roles get role list
AdminAPI AnswerAdminApiSettingPrivilegesGet Get /answer/admin/api/setting/privileges GetPrivilegesConfig get privileges config
AdminAPI AnswerAdminApiSettingPrivilegesPut Put /answer/admin/api/setting/privileges update privileges config
AdminAPI AnswerAdminApiSettingSmtpGet Get /answer/admin/api/setting/smtp GetSMTPConfig get smtp config
AdminAPI AnswerAdminApiSettingSmtpPut Put /answer/admin/api/setting/smtp update smtp config
AdminAPI AnswerAdminApiSiteinfoBrandingGet Get /answer/admin/api/siteinfo/branding get site interface
AdminAPI AnswerAdminApiSiteinfoBrandingPut Put /answer/admin/api/siteinfo/branding update site info branding
AdminAPI AnswerAdminApiSiteinfoCustomCssHtmlGet Get /answer/admin/api/siteinfo/custom-css-html get site info custom html css config
AdminAPI AnswerAdminApiSiteinfoCustomCssHtmlPut Put /answer/admin/api/siteinfo/custom-css-html update site custom css html config
AdminAPI AnswerAdminApiSiteinfoGeneralGet Get /answer/admin/api/siteinfo/general get site general information
AdminAPI AnswerAdminApiSiteinfoGeneralPut Put /answer/admin/api/siteinfo/general update site general information
AdminAPI AnswerAdminApiSiteinfoInterfaceGet Get /answer/admin/api/siteinfo/interface get site interface
AdminAPI AnswerAdminApiSiteinfoInterfacePut Put /answer/admin/api/siteinfo/interface update site info interface
AdminAPI AnswerAdminApiSiteinfoLegalGet Get /answer/admin/api/siteinfo/legal Set the legal information for the site
AdminAPI AnswerAdminApiSiteinfoLegalPut Put /answer/admin/api/siteinfo/legal update site legal info
AdminAPI AnswerAdminApiSiteinfoLoginGet Get /answer/admin/api/siteinfo/login get site info login config
AdminAPI AnswerAdminApiSiteinfoLoginPut Put /answer/admin/api/siteinfo/login update site login
AdminAPI AnswerAdminApiSiteinfoSeoGet Get /answer/admin/api/siteinfo/seo get site seo information
AdminAPI AnswerAdminApiSiteinfoSeoPut Put /answer/admin/api/siteinfo/seo update site seo information
AdminAPI AnswerAdminApiSiteinfoThemeGet Get /answer/admin/api/siteinfo/theme get site info theme config
AdminAPI AnswerAdminApiSiteinfoThemePut Put /answer/admin/api/siteinfo/theme update site custom css html config
AdminAPI AnswerAdminApiSiteinfoUsersGet Get /answer/admin/api/siteinfo/users get site user config
AdminAPI AnswerAdminApiSiteinfoUsersPut Put /answer/admin/api/siteinfo/users update site info config about users
AdminAPI AnswerAdminApiSiteinfoWriteGet Get /answer/admin/api/siteinfo/write get site interface
AdminAPI AnswerAdminApiSiteinfoWritePut Put /answer/admin/api/siteinfo/write update site write info
AdminAPI AnswerAdminApiThemeOptionsGet Get /answer/admin/api/theme/options Get theme options
AdminAPI AnswerAdminApiUserActivationGet Get /answer/admin/api/user/activation get user activation
AdminAPI AnswerAdminApiUserPasswordPut Put /answer/admin/api/user/password update user password
AdminAPI AnswerAdminApiUserPost Post /answer/admin/api/user add user
AdminAPI AnswerAdminApiUserRolePut Put /answer/admin/api/user/role update user role
AdminAPI AnswerAdminApiUserStatusPut Put /answer/admin/api/user/status update user
AdminAPI AnswerAdminApiUsersActivationPost Post /answer/admin/api/users/activation send user activation
AdminAPI AnswerAdminApiUsersPageGet Get /answer/admin/api/users/page get user page
AdminAPI AnswerAdminApiUsersPost Post /answer/admin/api/users add users
AdminPluginAPI AnswerAdminApiPluginConfigGet Get /answer/admin/api/plugin/config get plugin config
AdminPluginAPI AnswerAdminApiPluginConfigPut Put /answer/admin/api/plugin/config update plugin config
AdminPluginAPI AnswerAdminApiPluginStatusPut Put /answer/admin/api/plugin/status update plugin status
AdminPluginAPI AnswerAdminApiPluginsGet Get /answer/admin/api/plugins get plugin list
ApiAnswerAPI AnswerApiV1AnswerAcceptancePost Post /answer/api/v1/answer/acceptance Accepted
ApiAnswerAPI AnswerApiV1AnswerDelete Delete /answer/api/v1/answer delete answer
ApiAnswerAPI AnswerApiV1AnswerInfoGet Get /answer/api/v1/answer/info Get Answer
ApiAnswerAPI AnswerApiV1AnswerPageGet Get /answer/api/v1/answer/page AnswerList
ApiAnswerAPI AnswerApiV1AnswerPost Post /answer/api/v1/answer Insert Answer
ApiAnswerAPI AnswerApiV1AnswerPut Put /answer/api/v1/answer Update Answer
CollectionAPI AnswerApiV1CollectionSwitchPost Post /answer/api/v1/collection/switch add collection
CollectionAPI AnswerApiV1PersonalCollectionPageGet Get /answer/api/v1/personal/collection/page list personal collections
CommentAPI AnswerApiV1ActivityTimelineDetailGet Get /answer/api/v1/activity/timeline/detail get object timeline detail
CommentAPI AnswerApiV1ActivityTimelineGet Get /answer/api/v1/activity/timeline get object timeline
CommentAPI AnswerApiV1CommentDelete Delete /answer/api/v1/comment remove comment
CommentAPI AnswerApiV1CommentGet Get /answer/api/v1/comment get comment by id
CommentAPI AnswerApiV1CommentPageGet Get /answer/api/v1/comment/page get comment page
CommentAPI AnswerApiV1CommentPost Post /answer/api/v1/comment add comment
CommentAPI AnswerApiV1CommentPut Put /answer/api/v1/comment update comment
CommentAPI AnswerApiV1PersonalCommentPageGet Get /answer/api/v1/personal/comment/page user personal comment list
InstallationAPI InstallationBaseInfoPost Post /installation/base-info init base info
InstallationAPI InstallationConfigFileCheckPost Post /installation/config-file/check check config file if exist when installation
InstallationAPI InstallationDbCheckPost Post /installation/db/check check database if exist when installation
InstallationAPI InstallationInitPost Post /installation/init init environment
InstallationAPI RootGet Get / if config file not exist try to redirect to install page
LangAPI AnswerAdminApiLanguageOptionsGet Get /answer/admin/api/language/options Get language options
LangAPI AnswerApiV1LanguageConfigGet Get /answer/api/v1/language/config get language config mapping
LangAPI AnswerApiV1LanguageOptionsGet Get /answer/api/v1/language/options Get language options
LangAPI InstallationLanguageOptionsGet Get /installation/language/options get installation language options
NotificationAPI AnswerApiV1NotificationPageGet Get /answer/api/v1/notification/page get notification list
NotificationAPI AnswerApiV1NotificationReadStateAllPut Put /answer/api/v1/notification/read/state/all ClearUnRead
NotificationAPI AnswerApiV1NotificationReadStatePut Put /answer/api/v1/notification/read/state ClearUnRead
NotificationAPI AnswerApiV1NotificationStatusGet Get /answer/api/v1/notification/status GetRedDot
NotificationAPI AnswerApiV1NotificationStatusPut Put /answer/api/v1/notification/status DelRedDot
PermissionAPI AnswerApiV1PermissionGet Get /answer/api/v1/permission check user permission
PersonalAPI AnswerApiV1PersonalAnswerPageGet Get /answer/api/v1/personal/answer/page list personal answers
PersonalAPI PersonalQuestionPageGet Get /personal/question/page list personal questions
PluginConnectorAPI AnswerApiV1ConnectorBindingEmailPost Post /answer/api/v1/connector/binding/email external login binding user send email
PluginConnectorAPI AnswerApiV1ConnectorInfoGet Get /answer/api/v1/connector/info get all enabled connectors
PluginConnectorAPI AnswerApiV1ConnectorUserInfoGet Get /answer/api/v1/connector/user/info get all connectors info about user
PluginConnectorAPI AnswerApiV1ConnectorUserUnbindingDelete Delete /answer/api/v1/connector/user/unbinding unbind external user login
QuestionAPI AnswerApiV1PersonalQaTopGet Get /answer/api/v1/personal/qa/top UserTop
QuestionAPI AnswerApiV1QuestionAnswerPost Post /answer/api/v1/question/answer add question and answer
QuestionAPI AnswerApiV1QuestionDelete Delete /answer/api/v1/question delete question
QuestionAPI AnswerApiV1QuestionInfoGet Get /answer/api/v1/question/info get question details
QuestionAPI AnswerApiV1QuestionInviteGet Get /answer/api/v1/question/invite get question invite user info
QuestionAPI AnswerApiV1QuestionInvitePut Put /answer/api/v1/question/invite update question invite user
QuestionAPI AnswerApiV1QuestionOperationPut Put /answer/api/v1/question/operation Operation question
QuestionAPI AnswerApiV1QuestionPageGet Get /answer/api/v1/question/page get questions by page
QuestionAPI AnswerApiV1QuestionPost Post /answer/api/v1/question add question
QuestionAPI AnswerApiV1QuestionPut Put /answer/api/v1/question update question
QuestionAPI AnswerApiV1QuestionReopenPut Put /answer/api/v1/question/reopen reopen question
QuestionAPI AnswerApiV1QuestionSimilarGet Get /answer/api/v1/question/similar fuzzy query similar questions based on title
QuestionAPI AnswerApiV1QuestionSimilarTagGet Get /answer/api/v1/question/similar/tag Search Similar Question
QuestionAPI AnswerApiV1QuestionStatusPut Put /answer/api/v1/question/status Close question
RankAPI AnswerApiV1PersonalRankPageGet Get /answer/api/v1/personal/rank/page user personal rank list
ReasonAPI AnswerAdminApiReasonsGet Get /answer/admin/api/reasons get reasons by object type and action
ReasonAPI AnswerApiV1ReasonsGet Get /answer/api/v1/reasons get reasons by object type and action
ReportAPI AnswerApiV1ReportPost Post /answer/api/v1/report add report
RevisionAPI AnswerApiV1RevisionsAuditPut Put /answer/api/v1/revisions/audit revision audit
RevisionAPI AnswerApiV1RevisionsEditCheckGet Get /answer/api/v1/revisions/edit/check check can update revision
RevisionAPI AnswerApiV1RevisionsGet Get /answer/api/v1/revisions get revision list
RevisionAPI AnswerApiV1RevisionsUnreviewedGet Get /answer/api/v1/revisions/unreviewed get unreviewed revision list
SearchAPI AnswerApiV1SearchDescGet Get /answer/api/v1/search/desc get search description
SearchAPI AnswerApiV1SearchGet Get /answer/api/v1/search search object
SiteAPI AnswerApiV1SiteinfoGet Get /answer/api/v1/siteinfo get site info
SiteAPI AnswerApiV1SiteinfoLegalGet Get /answer/api/v1/siteinfo/legal get site legal info
SiteAPI CustomCssGet Get /custom.css get site robots information
SiteAPI RobotsTxtGet Get /robots.txt get site robots information
TagAPI AnswerApiV1QuestionTagsGet Get /answer/api/v1/question/tags get tag list
TagAPI AnswerApiV1TagDelete Delete /answer/api/v1/tag delete tag
TagAPI AnswerApiV1TagGet Get /answer/api/v1/tag get tag one
TagAPI AnswerApiV1TagPost Post /answer/api/v1/tag add tag
TagAPI AnswerApiV1TagPut Put /answer/api/v1/tag update tag
TagAPI AnswerApiV1TagSynonymPut Put /answer/api/v1/tag/synonym update tag
TagAPI AnswerApiV1TagSynonymsGet Get /answer/api/v1/tag/synonyms get tag synonyms
TagAPI AnswerApiV1TagsFollowingGet Get /answer/api/v1/tags/following get following tag list
TagAPI AnswerApiV1TagsGet Get /answer/api/v1/tags get tags list
TagAPI AnswerApiV1TagsPageGet Get /answer/api/v1/tags/page get tag page
UploadAPI AnswerApiV1FilePost Post /answer/api/v1/file upload file
UploadAPI AnswerApiV1PostRenderPost Post /answer/api/v1/post/render render post content
UserAPI AnswerApiV1PersonalUserInfoGet Get /answer/api/v1/personal/user/info GetOtherUserInfoByUsername
UserAPI AnswerApiV1UserActionRecordGet Get /answer/api/v1/user/action/record ActionRecord
UserAPI AnswerApiV1UserEmailChangeCodePost Post /answer/api/v1/user/email/change/code send email to the user email then change their email
UserAPI AnswerApiV1UserEmailPut Put /answer/api/v1/user/email user change email verification
UserAPI AnswerApiV1UserEmailVerificationPost Post /answer/api/v1/user/email/verification UserVerifyEmail
UserAPI AnswerApiV1UserEmailVerificationSendPost Post /answer/api/v1/user/email/verification/send UserVerifyEmailSend
UserAPI AnswerApiV1UserInfoGet Get /answer/api/v1/user/info GetUserInfoByUserID
UserAPI AnswerApiV1UserInfoPut Put /answer/api/v1/user/info UserUpdateInfo update user info
UserAPI AnswerApiV1UserInfoSearchGet Get /answer/api/v1/user/info/search SearchUserListByName
UserAPI AnswerApiV1UserInterfacePut Put /answer/api/v1/user/interface UserUpdateInterface update user interface config
UserAPI AnswerApiV1UserLoginEmailPost Post /answer/api/v1/user/login/email UserEmailLogin
UserAPI AnswerApiV1UserLogoutGet Get /answer/api/v1/user/logout user logout
UserAPI AnswerApiV1UserNotificationConfigPost Post /answer/api/v1/user/notification/config get user's notification config
UserAPI AnswerApiV1UserNotificationConfigPut Put /answer/api/v1/user/notification/config update user's notification config
UserAPI AnswerApiV1UserNotificationUnsubscribePut Put /answer/api/v1/user/notification/unsubscribe unsubscribe notification
UserAPI AnswerApiV1UserPasswordPut Put /answer/api/v1/user/password UserModifyPassWord
UserAPI AnswerApiV1UserPasswordReplacementPost Post /answer/api/v1/user/password/replacement UseRePassWord
UserAPI AnswerApiV1UserPasswordResetPost Post /answer/api/v1/user/password/reset RetrievePassWord
UserAPI AnswerApiV1UserRankingGet Get /answer/api/v1/user/ranking get user ranking
UserAPI AnswerApiV1UserRegisterCaptchaGet Get /answer/api/v1/user/register/captcha UserRegisterCaptcha
UserAPI AnswerApiV1UserRegisterEmailPost Post /answer/api/v1/user/register/email UserRegisterByEmail

Documentation For Models

Documentation For Authorization

Authentication schemes defined for the API:

ApiKeyAuth

  • Type: API key
  • API key parameter name: Authorization
  • Location: HTTP header

Note, each API key must be added to a map of map[string]APIKey where the key is: Authorization and passed in as the auth context for each request.

Example

auth := context.WithValue(
		context.Background(),
		sw.ContextAPIKeys,
		map[string]sw.APIKey{
			"Authorization": {Key: "API_KEY_STRING"},
		},
	)
r, err := client.Service.Operation(auth, args)

Documentation for Utility Methods

Due to the fact that model structure members are all pointers, this package contains a number of utility functions to easily obtain pointers to values of basic types. Each of these functions takes a value of the given basic type and returns a pointer to it:

  • PtrBool
  • PtrInt
  • PtrInt32
  • PtrInt64
  • PtrFloat
  • PtrFloat32
  • PtrFloat64
  • PtrString
  • PtrTime

Author