mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-10-27 22:12:15 +08:00
update
This commit is contained in:
parent
611a35857a
commit
33aa3354be
362
cmd/openim-api/docs/docs.go
Normal file
362
cmd/openim-api/docs/docs.go
Normal file
@ -0,0 +1,362 @@
|
||||
// Package docs Code generated by swaggo/swag. DO NOT EDIT
|
||||
package docs
|
||||
|
||||
import "github.com/swaggo/swag"
|
||||
|
||||
const docTemplate = `{
|
||||
"schemes": {{ marshal .Schemes }},
|
||||
"swagger": "2.0",
|
||||
"info": {
|
||||
"description": "{{escape .Description}}",
|
||||
"title": "{{.Title}}",
|
||||
"contact": {},
|
||||
"license": {
|
||||
"name": "Apache 2.0",
|
||||
"url": "http://www.apache.org/licenses/LICENSE-2.0.html"
|
||||
},
|
||||
"version": "{{.Version}}"
|
||||
},
|
||||
"host": "{{.Host}}",
|
||||
"basePath": "{{.BasePath}}",
|
||||
"paths": {
|
||||
"/auth/user_token": {
|
||||
"post": {
|
||||
"description": "Get the user token",
|
||||
"consumes": [
|
||||
"application/json"
|
||||
],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"tags": [
|
||||
"Authentication"
|
||||
],
|
||||
"summary": "User login",
|
||||
"operationId": "UserToken",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "string",
|
||||
"description": "OperationId",
|
||||
"name": "OperationId",
|
||||
"in": "header",
|
||||
"required": true
|
||||
},
|
||||
{
|
||||
"description": "Secret is the Openim key. For details, see the server Config.yaml Secret field \u003cbr\u003e Platform is the platform ID",
|
||||
"name": "req",
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"$ref": "#/definitions/auth.UserTokenReq"
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"0": {
|
||||
"description": "",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/auth.UserTokenResp"
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "Errcode is 400, which is generally a parameter input error.",
|
||||
"schema": {}
|
||||
},
|
||||
"500": {
|
||||
"description": "ERRCODE is 500 generally an internal error of the server",
|
||||
"schema": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/user/get_users_info": {
|
||||
"post": {
|
||||
"security": [
|
||||
{
|
||||
"ApiKeyAuth": []
|
||||
}
|
||||
],
|
||||
"description": "Obtain user information in batches according to the user list",
|
||||
"consumes": [
|
||||
"application/json"
|
||||
],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"tags": [
|
||||
"User"
|
||||
],
|
||||
"summary": "Get user information",
|
||||
"operationId": "GetUsersInfo",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "string",
|
||||
"description": "Operation Id",
|
||||
"name": "OperationId",
|
||||
"in": "header",
|
||||
"required": true
|
||||
},
|
||||
{
|
||||
"description": "Request",
|
||||
"name": "req",
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"$ref": "#/definitions/user.GetDesignateUsersReq"
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/user.GetDesignateUsersResp"
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "errcode is 400 一Input errors in the parameter, token is not brought up",
|
||||
"schema": {}
|
||||
},
|
||||
"500": {
|
||||
"description": "Errcode is 500 一For the internal error of the server",
|
||||
"schema": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/user/update_user_info": {
|
||||
"post": {
|
||||
"security": [
|
||||
{
|
||||
"ApiKeyAuth": []
|
||||
}
|
||||
],
|
||||
"description": "Modify user information Userid Faceurl, etc.",
|
||||
"consumes": [
|
||||
"application/json"
|
||||
],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"tags": [
|
||||
"User"
|
||||
],
|
||||
"summary": "Modify user information",
|
||||
"operationId": "UpdateUserInfo",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "string",
|
||||
"description": "Operation Id",
|
||||
"name": "OperationId",
|
||||
"in": "header",
|
||||
"required": true
|
||||
},
|
||||
{
|
||||
"description": "Request",
|
||||
"name": "req",
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"$ref": "#/definitions/user.UpdateUserInfoReq"
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/user.UpdateUserInfoResp"
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "Errcode is 400, which is generally a parameter input error.",
|
||||
"schema": {}
|
||||
},
|
||||
"500": {
|
||||
"description": "ERRCODE is 500 generally an internal error of the server",
|
||||
"schema": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/user/user_register": {
|
||||
"post": {
|
||||
"description": "User registration",
|
||||
"consumes": [
|
||||
"application/json"
|
||||
],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"tags": [
|
||||
"User"
|
||||
],
|
||||
"summary": "User registration",
|
||||
"operationId": "UserRegister",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "string",
|
||||
"description": "Operation Id",
|
||||
"name": "OperationId",
|
||||
"in": "header",
|
||||
"required": true
|
||||
},
|
||||
{
|
||||
"description": "Secret is the Openim key. For details, see the server Config.yaml Secret field.",
|
||||
"name": "UserInfo",
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"$ref": "#/definitions/user.UserRegisterReq"
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/user.UserRegisterResp"
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "Errcode is 400, which is generally a parameter input error.",
|
||||
"schema": {}
|
||||
},
|
||||
"500": {
|
||||
"description": "ERRCODE is 500 generally an internal error of the server",
|
||||
"schema": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"definitions": {
|
||||
"auth.UserTokenReq": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"platformID": {
|
||||
"type": "integer"
|
||||
},
|
||||
"secret": {
|
||||
"type": "string"
|
||||
},
|
||||
"userID": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"auth.UserTokenResp": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"expireTimeSeconds": {
|
||||
"type": "integer"
|
||||
},
|
||||
"token": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"sdkws.UserInfo": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"appMangerLevel": {
|
||||
"type": "integer"
|
||||
},
|
||||
"createTime": {
|
||||
"type": "integer"
|
||||
},
|
||||
"ex": {
|
||||
"type": "string"
|
||||
},
|
||||
"faceURL": {
|
||||
"type": "string"
|
||||
},
|
||||
"globalRecvMsgOpt": {
|
||||
"type": "integer"
|
||||
},
|
||||
"nickname": {
|
||||
"type": "string"
|
||||
},
|
||||
"userID": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"user.GetDesignateUsersReq": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"userIDs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"user.GetDesignateUsersResp": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"usersInfo": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/sdkws.UserInfo"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"user.UpdateUserInfoReq": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"userInfo": {
|
||||
"$ref": "#/definitions/sdkws.UserInfo"
|
||||
}
|
||||
}
|
||||
},
|
||||
"user.UpdateUserInfoResp": {
|
||||
"type": "object"
|
||||
},
|
||||
"user.UserRegisterReq": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"secret": {
|
||||
"type": "string"
|
||||
},
|
||||
"users": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/sdkws.UserInfo"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"user.UserRegisterResp": {
|
||||
"type": "object"
|
||||
}
|
||||
},
|
||||
"securityDefinitions": {
|
||||
"ApiKeyAuth": {
|
||||
"description": "Description for what is this security definition being used",
|
||||
"type": "apiKey",
|
||||
"name": "token",
|
||||
"in": "header"
|
||||
}
|
||||
}
|
||||
}`
|
||||
|
||||
// SwaggerInfo holds exported Swagger Info so clients can modify it
|
||||
var SwaggerInfo = &swag.Spec{
|
||||
Version: "1.0",
|
||||
Host: "localhost:10002",
|
||||
BasePath: "/",
|
||||
Schemes: []string{"http", "https"},
|
||||
Title: "open-IM-Server API",
|
||||
Description: "Open-IM-Server API server document, all requests in the document have an OperationId field for link tracking",
|
||||
InfoInstanceName: "swagger",
|
||||
SwaggerTemplate: docTemplate,
|
||||
LeftDelim: "{{",
|
||||
RightDelim: "}}",
|
||||
}
|
||||
|
||||
func init() {
|
||||
swag.Register(SwaggerInfo.InstanceName(), SwaggerInfo)
|
||||
}
|
||||
342
cmd/openim-api/docs/swagger.json
Normal file
342
cmd/openim-api/docs/swagger.json
Normal file
@ -0,0 +1,342 @@
|
||||
{
|
||||
"schemes": [
|
||||
"http",
|
||||
"https"
|
||||
],
|
||||
"swagger": "2.0",
|
||||
"info": {
|
||||
"description": "Open-IM-Server API server document, all requests in the document have an OperationId field for link tracking",
|
||||
"title": "open-IM-Server API",
|
||||
"contact": {},
|
||||
"license": {
|
||||
"name": "Apache 2.0",
|
||||
"url": "http://www.apache.org/licenses/LICENSE-2.0.html"
|
||||
},
|
||||
"version": "1.0"
|
||||
},
|
||||
"host": "localhost:10002",
|
||||
"basePath": "/",
|
||||
"paths": {
|
||||
"/auth/user_token": {
|
||||
"post": {
|
||||
"description": "Get the user token",
|
||||
"consumes": [
|
||||
"application/json"
|
||||
],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"tags": [
|
||||
"Authentication"
|
||||
],
|
||||
"summary": "User login",
|
||||
"operationId": "UserToken",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "string",
|
||||
"description": "OperationId",
|
||||
"name": "OperationId",
|
||||
"in": "header",
|
||||
"required": true
|
||||
},
|
||||
{
|
||||
"description": "Secret is the Openim key. For details, see the server Config.yaml Secret field \u003cbr\u003e Platform is the platform ID",
|
||||
"name": "req",
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"$ref": "#/definitions/auth.UserTokenReq"
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"0": {
|
||||
"description": "",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/auth.UserTokenResp"
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "Errcode is 400, which is generally a parameter input error.",
|
||||
"schema": {}
|
||||
},
|
||||
"500": {
|
||||
"description": "ERRCODE is 500 generally an internal error of the server",
|
||||
"schema": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/user/get_users_info": {
|
||||
"post": {
|
||||
"security": [
|
||||
{
|
||||
"ApiKeyAuth": []
|
||||
}
|
||||
],
|
||||
"description": "Obtain user information in batches according to the user list",
|
||||
"consumes": [
|
||||
"application/json"
|
||||
],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"tags": [
|
||||
"User"
|
||||
],
|
||||
"summary": "Get user information",
|
||||
"operationId": "GetUsersInfo",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "string",
|
||||
"description": "Operation Id",
|
||||
"name": "OperationId",
|
||||
"in": "header",
|
||||
"required": true
|
||||
},
|
||||
{
|
||||
"description": "Request",
|
||||
"name": "req",
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"$ref": "#/definitions/user.GetDesignateUsersReq"
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/user.GetDesignateUsersResp"
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "errcode is 400 一Input errors in the parameter, token is not brought up",
|
||||
"schema": {}
|
||||
},
|
||||
"500": {
|
||||
"description": "Errcode is 500 一For the internal error of the server",
|
||||
"schema": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/user/update_user_info": {
|
||||
"post": {
|
||||
"security": [
|
||||
{
|
||||
"ApiKeyAuth": []
|
||||
}
|
||||
],
|
||||
"description": "Modify user information Userid Faceurl, etc.",
|
||||
"consumes": [
|
||||
"application/json"
|
||||
],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"tags": [
|
||||
"User"
|
||||
],
|
||||
"summary": "Modify user information",
|
||||
"operationId": "UpdateUserInfo",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "string",
|
||||
"description": "Operation Id",
|
||||
"name": "OperationId",
|
||||
"in": "header",
|
||||
"required": true
|
||||
},
|
||||
{
|
||||
"description": "Request",
|
||||
"name": "req",
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"$ref": "#/definitions/user.UpdateUserInfoReq"
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/user.UpdateUserInfoResp"
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "Errcode is 400, which is generally a parameter input error.",
|
||||
"schema": {}
|
||||
},
|
||||
"500": {
|
||||
"description": "ERRCODE is 500 generally an internal error of the server",
|
||||
"schema": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/user/user_register": {
|
||||
"post": {
|
||||
"description": "User registration",
|
||||
"consumes": [
|
||||
"application/json"
|
||||
],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"tags": [
|
||||
"User"
|
||||
],
|
||||
"summary": "User registration",
|
||||
"operationId": "UserRegister",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "string",
|
||||
"description": "Operation Id",
|
||||
"name": "OperationId",
|
||||
"in": "header",
|
||||
"required": true
|
||||
},
|
||||
{
|
||||
"description": "Secret is the Openim key. For details, see the server Config.yaml Secret field.",
|
||||
"name": "UserInfo",
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"$ref": "#/definitions/user.UserRegisterReq"
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/user.UserRegisterResp"
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "Errcode is 400, which is generally a parameter input error.",
|
||||
"schema": {}
|
||||
},
|
||||
"500": {
|
||||
"description": "ERRCODE is 500 generally an internal error of the server",
|
||||
"schema": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"definitions": {
|
||||
"auth.UserTokenReq": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"platformID": {
|
||||
"type": "integer"
|
||||
},
|
||||
"secret": {
|
||||
"type": "string"
|
||||
},
|
||||
"userID": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"auth.UserTokenResp": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"expireTimeSeconds": {
|
||||
"type": "integer"
|
||||
},
|
||||
"token": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"sdkws.UserInfo": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"appMangerLevel": {
|
||||
"type": "integer"
|
||||
},
|
||||
"createTime": {
|
||||
"type": "integer"
|
||||
},
|
||||
"ex": {
|
||||
"type": "string"
|
||||
},
|
||||
"faceURL": {
|
||||
"type": "string"
|
||||
},
|
||||
"globalRecvMsgOpt": {
|
||||
"type": "integer"
|
||||
},
|
||||
"nickname": {
|
||||
"type": "string"
|
||||
},
|
||||
"userID": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"user.GetDesignateUsersReq": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"userIDs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"user.GetDesignateUsersResp": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"usersInfo": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/sdkws.UserInfo"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"user.UpdateUserInfoReq": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"userInfo": {
|
||||
"$ref": "#/definitions/sdkws.UserInfo"
|
||||
}
|
||||
}
|
||||
},
|
||||
"user.UpdateUserInfoResp": {
|
||||
"type": "object"
|
||||
},
|
||||
"user.UserRegisterReq": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"secret": {
|
||||
"type": "string"
|
||||
},
|
||||
"users": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/sdkws.UserInfo"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"user.UserRegisterResp": {
|
||||
"type": "object"
|
||||
}
|
||||
},
|
||||
"securityDefinitions": {
|
||||
"ApiKeyAuth": {
|
||||
"description": "Description for what is this security definition being used",
|
||||
"type": "apiKey",
|
||||
"name": "token",
|
||||
"in": "header"
|
||||
}
|
||||
}
|
||||
}
|
||||
231
cmd/openim-api/docs/swagger.yaml
Normal file
231
cmd/openim-api/docs/swagger.yaml
Normal file
@ -0,0 +1,231 @@
|
||||
basePath: /
|
||||
definitions:
|
||||
auth.UserTokenReq:
|
||||
properties:
|
||||
platformID:
|
||||
type: integer
|
||||
secret:
|
||||
type: string
|
||||
userID:
|
||||
type: string
|
||||
type: object
|
||||
auth.UserTokenResp:
|
||||
properties:
|
||||
expireTimeSeconds:
|
||||
type: integer
|
||||
token:
|
||||
type: string
|
||||
type: object
|
||||
sdkws.UserInfo:
|
||||
properties:
|
||||
appMangerLevel:
|
||||
type: integer
|
||||
createTime:
|
||||
type: integer
|
||||
ex:
|
||||
type: string
|
||||
faceURL:
|
||||
type: string
|
||||
globalRecvMsgOpt:
|
||||
type: integer
|
||||
nickname:
|
||||
type: string
|
||||
userID:
|
||||
type: string
|
||||
type: object
|
||||
user.GetDesignateUsersReq:
|
||||
properties:
|
||||
userIDs:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
type: object
|
||||
user.GetDesignateUsersResp:
|
||||
properties:
|
||||
usersInfo:
|
||||
items:
|
||||
$ref: '#/definitions/sdkws.UserInfo'
|
||||
type: array
|
||||
type: object
|
||||
user.UpdateUserInfoReq:
|
||||
properties:
|
||||
userInfo:
|
||||
$ref: '#/definitions/sdkws.UserInfo'
|
||||
type: object
|
||||
user.UpdateUserInfoResp:
|
||||
type: object
|
||||
user.UserRegisterReq:
|
||||
properties:
|
||||
secret:
|
||||
type: string
|
||||
users:
|
||||
items:
|
||||
$ref: '#/definitions/sdkws.UserInfo'
|
||||
type: array
|
||||
type: object
|
||||
user.UserRegisterResp:
|
||||
type: object
|
||||
host: localhost:10002
|
||||
info:
|
||||
contact: {}
|
||||
description: Open-IM-Server API server document, all requests in the document have
|
||||
an OperationId field for link tracking
|
||||
license:
|
||||
name: Apache 2.0
|
||||
url: http://www.apache.org/licenses/LICENSE-2.0.html
|
||||
title: open-IM-Server API
|
||||
version: "1.0"
|
||||
paths:
|
||||
/auth/user_token:
|
||||
post:
|
||||
consumes:
|
||||
- application/json
|
||||
description: Get the user token
|
||||
operationId: UserToken
|
||||
parameters:
|
||||
- description: OperationId
|
||||
in: header
|
||||
name: OperationId
|
||||
required: true
|
||||
type: string
|
||||
- description: Secret is the Openim key. For details, see the server Config.yaml
|
||||
Secret field <br> Platform is the platform ID
|
||||
in: body
|
||||
name: req
|
||||
required: true
|
||||
schema:
|
||||
$ref: '#/definitions/auth.UserTokenReq'
|
||||
produces:
|
||||
- application/json
|
||||
responses:
|
||||
"0":
|
||||
description: ""
|
||||
schema:
|
||||
$ref: '#/definitions/auth.UserTokenResp'
|
||||
"400":
|
||||
description: Errcode is 400, which is generally a parameter input error.
|
||||
schema: {}
|
||||
"500":
|
||||
description: ERRCODE is 500 generally an internal error of the server
|
||||
schema: {}
|
||||
summary: User login
|
||||
tags:
|
||||
- Authentication
|
||||
/user/get_users_info:
|
||||
post:
|
||||
consumes:
|
||||
- application/json
|
||||
description: Obtain user information in batches according to the user list
|
||||
operationId: GetUsersInfo
|
||||
parameters:
|
||||
- description: Operation Id
|
||||
in: header
|
||||
name: OperationId
|
||||
required: true
|
||||
type: string
|
||||
- description: Request
|
||||
in: body
|
||||
name: req
|
||||
required: true
|
||||
schema:
|
||||
$ref: '#/definitions/user.GetDesignateUsersReq'
|
||||
produces:
|
||||
- application/json
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
schema:
|
||||
$ref: '#/definitions/user.GetDesignateUsersResp'
|
||||
"400":
|
||||
description: errcode is 400 一Input errors in the parameter, token is not
|
||||
brought up
|
||||
schema: {}
|
||||
"500":
|
||||
description: Errcode is 500 一For the internal error of the server
|
||||
schema: {}
|
||||
security:
|
||||
- ApiKeyAuth: []
|
||||
summary: Get user information
|
||||
tags:
|
||||
- User
|
||||
/user/update_user_info:
|
||||
post:
|
||||
consumes:
|
||||
- application/json
|
||||
description: Modify user information Userid Faceurl, etc.
|
||||
operationId: UpdateUserInfo
|
||||
parameters:
|
||||
- description: Operation Id
|
||||
in: header
|
||||
name: OperationId
|
||||
required: true
|
||||
type: string
|
||||
- description: Request
|
||||
in: body
|
||||
name: req
|
||||
required: true
|
||||
schema:
|
||||
$ref: '#/definitions/user.UpdateUserInfoReq'
|
||||
produces:
|
||||
- application/json
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
schema:
|
||||
$ref: '#/definitions/user.UpdateUserInfoResp'
|
||||
"400":
|
||||
description: Errcode is 400, which is generally a parameter input error.
|
||||
schema: {}
|
||||
"500":
|
||||
description: ERRCODE is 500 generally an internal error of the server
|
||||
schema: {}
|
||||
security:
|
||||
- ApiKeyAuth: []
|
||||
summary: Modify user information
|
||||
tags:
|
||||
- User
|
||||
/user/user_register:
|
||||
post:
|
||||
consumes:
|
||||
- application/json
|
||||
description: User registration
|
||||
operationId: UserRegister
|
||||
parameters:
|
||||
- description: Operation Id
|
||||
in: header
|
||||
name: OperationId
|
||||
required: true
|
||||
type: string
|
||||
- description: Secret is the Openim key. For details, see the server Config.yaml
|
||||
Secret field.
|
||||
in: body
|
||||
name: UserInfo
|
||||
required: true
|
||||
schema:
|
||||
$ref: '#/definitions/user.UserRegisterReq'
|
||||
produces:
|
||||
- application/json
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
schema:
|
||||
$ref: '#/definitions/user.UserRegisterResp'
|
||||
"400":
|
||||
description: Errcode is 400, which is generally a parameter input error.
|
||||
schema: {}
|
||||
"500":
|
||||
description: ERRCODE is 500 generally an internal error of the server
|
||||
schema: {}
|
||||
summary: User registration
|
||||
tags:
|
||||
- User
|
||||
schemes:
|
||||
- http
|
||||
- https
|
||||
securityDefinitions:
|
||||
ApiKeyAuth:
|
||||
description: Description for what is this security definition being used
|
||||
in: header
|
||||
name: token
|
||||
type: apiKey
|
||||
swagger: "2.0"
|
||||
@ -1,19 +1,40 @@
|
||||
// Copyright © 2023 OpenIM. All rights reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
// // Copyright © 2023 OpenIM. All rights reserved.
|
||||
// //
|
||||
// // Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// // you may not use this file except in compliance with the License.
|
||||
// // You may obtain a copy of the License at
|
||||
// //
|
||||
// // http://www.apache.org/licenses/LICENSE-2.0
|
||||
// //
|
||||
// // Unless required by applicable law or agreed to in writing, software
|
||||
// // distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// // See the License for the specific language governing permissions and
|
||||
// // limitations under the License.
|
||||
|
||||
package main
|
||||
|
||||
// import (
|
||||
// "net/http"
|
||||
|
||||
// "github.com/gin-gonic/gin"
|
||||
// )
|
||||
|
||||
// func main() {
|
||||
// r := gin.Default()
|
||||
// r.POST("/ping", func(c *gin.Context) {
|
||||
// var f interface{}
|
||||
// err2 := c.ShouldBindJSON(&f)
|
||||
// if err2 == nil {
|
||||
|
||||
// }
|
||||
// c.JSON(http.StatusOK, gin.H{
|
||||
// "message": "pong",
|
||||
// })
|
||||
// })
|
||||
// r.Run() // listen and serve on 0.0.0.0:8080 (for windows "localhost:8080")
|
||||
// }
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
@ -34,6 +55,8 @@ import (
|
||||
"github.com/openimsdk/open-im-server/v3/pkg/common/db/cache"
|
||||
)
|
||||
|
||||
//swag init --parseInternal --pd --dir cmd/openim-api,internal/api/ -g ../../internal/api/route.go --output cmd/openim-api/docs
|
||||
|
||||
func main() {
|
||||
apiCmd := cmd.NewApiCmd()
|
||||
apiCmd.AddPortFlag()
|
||||
|
||||
@ -28,7 +28,8 @@
|
||||
# Zookeeper password
|
||||
zookeeper:
|
||||
schema: openim
|
||||
address: [ 172.28.0.1:12181 ]
|
||||
# address: [ 172.28.0.1:12181 ]
|
||||
address: [ 127.0.0.1:12181 ]
|
||||
username: ''
|
||||
password: ''
|
||||
|
||||
@ -42,7 +43,8 @@ zookeeper:
|
||||
# Log level: 1=slient, 2=error, 3=warn, 4=info
|
||||
# Slow query threshold in milliseconds
|
||||
mysql:
|
||||
address: [ 172.28.0.1:13306 ]
|
||||
# address: [ 172.28.0.1:13306 ]
|
||||
address: [ 127.0.0.1:13306 ]
|
||||
username: root
|
||||
password: openIM123
|
||||
database: openIM_v3
|
||||
@ -72,7 +74,8 @@ mongo:
|
||||
#
|
||||
# Username is required only for Redis version 6.0+
|
||||
redis:
|
||||
address: [ 172.28.0.1:16379 ]
|
||||
# address: [ 172.28.0.1:16379 ]
|
||||
address: [ 127.0.0.1:16379 ]
|
||||
username: ''
|
||||
password: openIM123
|
||||
|
||||
@ -105,8 +108,10 @@ kafka:
|
||||
# IP address to register with zookeeper when starting RPC, the IP and corresponding rpcPort should be accessible by api/gateway
|
||||
# Default listen IP is 0.0.0.0
|
||||
rpc:
|
||||
registerIP: ''
|
||||
# registerIP: ''
|
||||
registerIP : 127.0.0.1
|
||||
listenIP: 0.0.0.0
|
||||
# listenIP: 127.0.0.1
|
||||
|
||||
###################### API configuration information ######################
|
||||
# API configuration
|
||||
|
||||
@ -12,31 +12,34 @@ networks:
|
||||
|
||||
services:
|
||||
mysql:
|
||||
image: mysql:5.7
|
||||
image: bitnami/mysql:latest
|
||||
ports:
|
||||
- "${MYSQL_PORT}:3306"
|
||||
- '${MYSQL_PORT}:3306'
|
||||
container_name: mysql
|
||||
volumes:
|
||||
- "${DATA_DIR}/components/mysql/data:/var/lib/mysql"
|
||||
- "/etc/localtime:/etc/localtime"
|
||||
- '${DATA_DIR}/components/mysql/data:/var/lib/mysql'
|
||||
- '/etc/localtime:/etc/localtime'
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: "${MYSQL_PASSWORD}"
|
||||
MYSQL_ROOT_PASSWORD: '${MYSQL_PASSWORD}'
|
||||
restart: always
|
||||
networks:
|
||||
server:
|
||||
ipv4_address: ${MYSQL_NETWORK_ADDRESS}
|
||||
|
||||
mongodb:
|
||||
image: mongo:6.0.2
|
||||
# image: arm64v8/mongo:7.0-rc-jammy
|
||||
# image: bitnami/mongodb:latest
|
||||
image: mongo:7.0-rc-jammy
|
||||
ports:
|
||||
- "${MONGO_PORT}:27017"
|
||||
- '${MONGO_PORT}:27017'
|
||||
container_name: mongo
|
||||
command: --wiredTigerCacheSizeGB 1 --auth
|
||||
volumes:
|
||||
- "${DATA_DIR}/components/mongodb/data/db:/data/db"
|
||||
- "${DATA_DIR}/components/mongodb/data/logs:/data/logs"
|
||||
- "${DATA_DIR}/components/mongodb/data/conf:/etc/mongo"
|
||||
- ./scripts/mongo-init.sh:/docker-entrypoint-initdb.d/mongo-init.sh:ro"
|
||||
- '${DATA_DIR}/components/mongodb/data/db:/data/db'
|
||||
- '${DATA_DIR}/components/mongodb/data/logs:/data/logs'
|
||||
- '${DATA_DIR}/components/mongodb/data/conf:/etc/mongo'
|
||||
- ./scripts/mongo-init.sh:/bitnami/scripts/mongo-init.sh:ro
|
||||
# - ./scripts/mongo-init.sh:/docker-entrypoint-initdb.d/mongo-init.sh:ro"
|
||||
environment:
|
||||
- TZ=Asia/Shanghai
|
||||
- wiredTigerCacheSizeGB=1
|
||||
@ -49,13 +52,14 @@ services:
|
||||
ipv4_address: ${MONGO_NETWORK_ADDRESS}
|
||||
|
||||
redis:
|
||||
image: redis:7.0.0
|
||||
image: bitnami/redis:latest
|
||||
user: root
|
||||
container_name: redis
|
||||
ports:
|
||||
- "${REDIS_PORT}:6379"
|
||||
- '${REDIS_PORT}:6379'
|
||||
volumes:
|
||||
- "${DATA_DIR}/components/redis/data:/data"
|
||||
- "${DATA_DIR}/components/redis/config/redis.conf:/usr/local/redis/config/redis.conf"
|
||||
- '${DATA_DIR}/components/redis/data:/data'
|
||||
- '${DATA_DIR}/components/redis/config/redis.conf:/usr/local/redis/config/redis.conf'
|
||||
environment:
|
||||
TZ: Asia/Shanghai
|
||||
restart: always
|
||||
@ -67,27 +71,29 @@ services:
|
||||
ipv4_address: ${REDIS_NETWORK_ADDRESS}
|
||||
|
||||
zookeeper:
|
||||
image: bitnami/zookeeper:3.8
|
||||
container_name: zookeeper
|
||||
ports:
|
||||
- "${ZOOKEEPER_PORT}:2181"
|
||||
volumes:
|
||||
- "/etc/localtime:/etc/localtime"
|
||||
environment:
|
||||
- ALLOW_ANONYMOUS_LOGIN=yes
|
||||
- TZ="Asia/Shanghai"
|
||||
restart: always
|
||||
networks:
|
||||
image: bitnami/zookeeper:3.8
|
||||
container_name: zookeeper
|
||||
ports:
|
||||
- '${ZOOKEEPER_PORT}:2181'
|
||||
volumes:
|
||||
- '/etc/localtime:/etc/localtime'
|
||||
environment:
|
||||
- ALLOW_ANONYMOUS_LOGIN=yes
|
||||
- TZ="Asia/Shanghai"
|
||||
restart: always
|
||||
networks:
|
||||
server:
|
||||
ipv4_address: ${ZOOKEEPER_NETWORK_ADDRESS}
|
||||
|
||||
kafka:
|
||||
image: 'bitnami/kafka:3.5.1'
|
||||
# image: 'bitnami/kafka:3.5.1'
|
||||
image: 'bitnami/kafka:latest'
|
||||
container_name: kafka
|
||||
user: root
|
||||
# user: nfsnobody
|
||||
restart: always
|
||||
ports:
|
||||
- "${KAFKA_PORT}:9094"
|
||||
- '${KAFKA_PORT}:9094'
|
||||
volumes:
|
||||
- ./scripts/create_topic.sh:/opt/bitnami/kafka/create_topic.sh
|
||||
- ${DATA_DIR}/components/kafka:/bitnami/kafka
|
||||
@ -96,52 +102,52 @@ services:
|
||||
/opt/bitnami/scripts/kafka/run.sh & sleep 5; /opt/bitnami/kafka/create_topic.sh; wait
|
||||
"
|
||||
environment:
|
||||
- TZ=Asia/Shanghai
|
||||
- KAFKA_CFG_NODE_ID=0
|
||||
- KAFKA_CFG_PROCESS_ROLES=controller,broker
|
||||
- KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=0@<your_host>:9093
|
||||
- KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093,EXTERNAL://:9094
|
||||
- KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://kafka:9092,EXTERNAL://${DOCKER_BRIDGE_GATEWAY}:${KAFKA_PORT}
|
||||
- KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,EXTERNAL:PLAINTEXT,PLAINTEXT:PLAINTEXT
|
||||
- KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
|
||||
- TZ=Asia/Shanghai
|
||||
- KAFKA_CFG_NODE_ID=0
|
||||
- KAFKA_CFG_PROCESS_ROLES=controller,broker
|
||||
- KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=0@<your_host>:9093
|
||||
- KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093,EXTERNAL://:9094
|
||||
- KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://kafka:9092,EXTERNAL://${DOCKER_BRIDGE_GATEWAY}:${KAFKA_PORT}
|
||||
- KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,EXTERNAL:PLAINTEXT,PLAINTEXT:PLAINTEXT
|
||||
- KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
|
||||
networks:
|
||||
server:
|
||||
ipv4_address: ${KAFKA_NETWORK_ADDRESS}
|
||||
|
||||
minio:
|
||||
image: minio/minio
|
||||
user: root
|
||||
ports:
|
||||
- "${MINIO_PORT}:9000"
|
||||
- "9090:9090"
|
||||
- '${MINIO_PORT}:9000'
|
||||
- '9090:9090'
|
||||
container_name: minio
|
||||
volumes:
|
||||
- "${DATA_DIR}/components/mnt/data:/data"
|
||||
- "${DATA_DIR}/components/mnt/config:/root/.minio"
|
||||
- '${DATA_DIR}/components/mnt/data:/data'
|
||||
- '${DATA_DIR}/components/mnt/config:/root/.minio'
|
||||
environment:
|
||||
MINIO_ROOT_USER: "${MINIO_ACCESS_KEY}"
|
||||
MINIO_ROOT_PASSWORD: "${MINIO_SECRET_KEY}"
|
||||
MINIO_ROOT_USER: '${MINIO_ACCESS_KEY}'
|
||||
MINIO_ROOT_PASSWORD: '${MINIO_SECRET_KEY}'
|
||||
restart: always
|
||||
command: minio server /data --console-address ':9090'
|
||||
networks:
|
||||
server:
|
||||
ipv4_address: ${MINIO_NETWORK_ADDRESS}
|
||||
|
||||
openim-web:
|
||||
# image: ghcr.io/openimsdk/openim-web:latest
|
||||
# image: registry.cn-hangzhou.aliyuncs.com/openimsdk/openim-web:latest
|
||||
# image: openim/openim-web:latest
|
||||
image: ${IMAGE_REGISTRY}/openim-web:latest
|
||||
container_name: openim-web
|
||||
environment:
|
||||
- OPENIM_WEB_DIST_PATH=${OPENIM_WEB_DIST_PATH}
|
||||
- OPENIM_WEB_PORT=${OPENIM_WEB_PORT}
|
||||
restart: always
|
||||
ports:
|
||||
- "${OPENIM_WEB_PORT}:11001"
|
||||
networks:
|
||||
server:
|
||||
ipv4_address: ${OPENIM_WEB_NETWORK_ADDRESS}
|
||||
|
||||
# openim-web:
|
||||
# # image: ghcr.io/openimsdk/openim-web:latest
|
||||
# # image: registry.cn-hangzhou.aliyuncs.com/openimsdk/openim-web:latest
|
||||
# # image: openim/openim-web:latest
|
||||
# image: ${IMAGE_REGISTRY}/openim-web:latest
|
||||
# container_name: openim-web
|
||||
# environment:
|
||||
# - OPENIM_WEB_DIST_PATH=${OPENIM_WEB_DIST_PATH}
|
||||
# - OPENIM_WEB_PORT=${OPENIM_WEB_PORT}
|
||||
# restart: always
|
||||
# ports:
|
||||
# - "${OPENIM_WEB_PORT}:11001"
|
||||
# networks:
|
||||
# server:
|
||||
# ipv4_address: ${OPENIM_WEB_NETWORK_ADDRESS}
|
||||
# openim-server:
|
||||
# # image: ghcr.io/openimsdk/openim-server:main
|
||||
# # image: registry.cn-hangzhou.aliyuncs.com/openimsdk/openim-server:main
|
||||
|
||||
14
go.mod
14
go.mod
@ -54,6 +54,9 @@ require (
|
||||
cloud.google.com/go/iam v1.1.4 // indirect
|
||||
cloud.google.com/go/longrunning v0.5.3 // indirect
|
||||
cloud.google.com/go/storage v1.33.0 // indirect
|
||||
github.com/KyleBanks/depth v1.2.1 // indirect
|
||||
github.com/PuerkitoBio/purell v1.2.1 // indirect
|
||||
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 // indirect
|
||||
github.com/beorn7/perks v1.0.1 // indirect
|
||||
github.com/bytedance/sonic v1.10.2 // indirect
|
||||
github.com/cespare/xxhash/v2 v2.2.0 // indirect
|
||||
@ -68,6 +71,10 @@ require (
|
||||
github.com/eapache/queue v1.1.0 // indirect
|
||||
github.com/gabriel-vasile/mimetype v1.4.3 // indirect
|
||||
github.com/gin-contrib/sse v0.1.0 // indirect
|
||||
github.com/go-openapi/jsonpointer v0.20.0 // indirect
|
||||
github.com/go-openapi/jsonreference v0.20.2 // indirect
|
||||
github.com/go-openapi/spec v0.20.9 // indirect
|
||||
github.com/go-openapi/swag v0.22.4 // indirect
|
||||
github.com/go-playground/universal-translator v0.18.1 // indirect
|
||||
github.com/go-zookeeper/zk v1.0.3 // indirect
|
||||
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
|
||||
@ -87,11 +94,13 @@ require (
|
||||
github.com/jcmturner/rpc/v2 v2.0.3 // indirect
|
||||
github.com/jinzhu/inflection v1.0.0 // indirect
|
||||
github.com/jinzhu/now v1.1.5 // indirect
|
||||
github.com/josharian/intern v1.0.0 // indirect
|
||||
github.com/json-iterator/go v1.1.12 // indirect
|
||||
github.com/klauspost/compress v1.17.2 // indirect
|
||||
github.com/klauspost/cpuid/v2 v2.2.5 // indirect
|
||||
github.com/leodido/go-urn v1.2.4 // indirect
|
||||
github.com/lithammer/shortuuid v3.0.0+incompatible // indirect
|
||||
github.com/mailru/easyjson v0.7.7 // indirect
|
||||
github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 // indirect
|
||||
github.com/minio/md5-simd v1.1.2 // indirect
|
||||
github.com/minio/sha256-simd v1.0.1 // indirect
|
||||
@ -110,6 +119,7 @@ require (
|
||||
github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect
|
||||
github.com/rs/xid v1.5.0 // indirect
|
||||
github.com/spf13/pflag v1.0.5 // indirect
|
||||
github.com/swaggo/swag v1.16.2 // indirect
|
||||
github.com/twitchyliquid64/golang-asm v0.15.1 // indirect
|
||||
github.com/xdg-go/pbkdf2 v1.0.0 // indirect
|
||||
github.com/xdg-go/scram v1.1.2 // indirect
|
||||
@ -124,11 +134,13 @@ require (
|
||||
golang.org/x/sys v0.13.0 // indirect
|
||||
golang.org/x/text v0.13.0 // indirect
|
||||
golang.org/x/time v0.3.0 // indirect
|
||||
golang.org/x/tools v0.14.0 // indirect
|
||||
golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect
|
||||
google.golang.org/appengine v1.6.8 // indirect
|
||||
google.golang.org/genproto v0.0.0-20231016165738-49dd2c1f3d0b // indirect
|
||||
google.golang.org/genproto/googleapis/api v0.0.0-20231016165738-49dd2c1f3d0b // indirect
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20231016165738-49dd2c1f3d0b // indirect
|
||||
gopkg.in/yaml.v2 v2.4.0 // indirect
|
||||
)
|
||||
|
||||
require (
|
||||
@ -137,6 +149,8 @@ require (
|
||||
github.com/lestrrat-go/strftime v1.0.6 // indirect
|
||||
github.com/mattn/go-isatty v0.0.20 // indirect
|
||||
github.com/spf13/cobra v1.7.0
|
||||
github.com/swaggo/files v1.0.1
|
||||
github.com/swaggo/gin-swagger v1.6.0
|
||||
github.com/ugorji/go/codec v1.2.11 // indirect
|
||||
go.uber.org/zap v1.26.0 // indirect
|
||||
golang.org/x/crypto v0.14.0 // indirect
|
||||
|
||||
63
go.sum
63
go.sum
@ -18,10 +18,18 @@ firebase.google.com/go v3.13.0+incompatible/go.mod h1:xlah6XbEyW6tbfSklcfe5FHJIw
|
||||
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
||||
github.com/IBM/sarama v1.41.3 h1:MWBEJ12vHC8coMjdEXFq/6ftO6DUZnQlFYcxtOJFa7c=
|
||||
github.com/IBM/sarama v1.41.3/go.mod h1:Xxho9HkHd4K/MDUo/T/sOqwtX/17D33++E9Wib6hUdQ=
|
||||
github.com/KyleBanks/depth v1.2.1 h1:5h8fQADFrWtarTdtDudMmGsC7GPbOAu6RVB3ffsVFHc=
|
||||
github.com/KyleBanks/depth v1.2.1/go.mod h1:jzSb9d0L43HxTQfT+oSA1EEp2q+ne2uh6XgeJcm8brE=
|
||||
github.com/OpenIMSDK/protocol v0.0.30 h1:MiHO6PyQMR9ojBHNnSFxCHLmsoE2xZqaiYj975JiZnM=
|
||||
github.com/OpenIMSDK/protocol v0.0.30/go.mod h1:F25dFrwrIx3lkNoiuf6FkCfxuwf8L4Z8UIsdTHP/r0Y=
|
||||
github.com/OpenIMSDK/tools v0.0.16 h1:te/GIq2imCMsrRPgU9OObYKbzZ3rT08Lih/o+3QFIz0=
|
||||
github.com/OpenIMSDK/tools v0.0.16/go.mod h1:eg+q4A34Qmu73xkY0mt37FHGMCMfC6CtmOnm0kFEGFI=
|
||||
github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI=
|
||||
github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
|
||||
github.com/PuerkitoBio/purell v1.2.1 h1:QsZ4TjvwiMpat6gBCBxEQI0rcS9ehtkKtSpiUnd9N28=
|
||||
github.com/PuerkitoBio/purell v1.2.1/go.mod h1:ZwHcC/82TOaovDi//J/804umJFFmbOHPngi8iYYv/Eo=
|
||||
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M=
|
||||
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
|
||||
github.com/QcloudApi/qcloud_sign_golang v0.0.0-20141224014652-e4130a326409/go.mod h1:1pk82RBxDY/JZnPQrtqHlUFfCctgdorsd9M06fMynOM=
|
||||
github.com/aliyun/aliyun-oss-go-sdk v2.2.9+incompatible h1:Sg/2xHwDrioHpxTN6WMiwbXTpUEinBpHsN7mG21Rc2k=
|
||||
github.com/aliyun/aliyun-oss-go-sdk v2.2.9+incompatible/go.mod h1:T/Aws4fEfogEE9v+HPhhw+CntffsBHJ8nXQCwKr0/g8=
|
||||
@ -52,6 +60,7 @@ github.com/clbanning/mxj v1.8.4/go.mod h1:BVjHeAH+rl9rs6f+QIpeRl0tfu10SXn1pUSa5P
|
||||
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
|
||||
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
|
||||
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
|
||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
@ -82,6 +91,27 @@ github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE
|
||||
github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI=
|
||||
github.com/gin-gonic/gin v1.9.1 h1:4idEAncQnU5cB7BeOkPtxjfCSye0AAm1R0RVIqJ+Jmg=
|
||||
github.com/gin-gonic/gin v1.9.1/go.mod h1:hPrL7YrpYKXt5YId3A/Tnip5kqbEAP+KLuI3SUcPTeU=
|
||||
github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg=
|
||||
github.com/go-openapi/jsonpointer v0.19.5 h1:gZr+CIYByUqjcgeLXnQu2gHYQC9o73G2XUeOFYEICuY=
|
||||
github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg=
|
||||
github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs=
|
||||
github.com/go-openapi/jsonpointer v0.20.0 h1:ESKJdU9ASRfaPNOPRx12IUyA1vn3R9GiE3KYD14BXdQ=
|
||||
github.com/go-openapi/jsonpointer v0.20.0/go.mod h1:6PGzBjjIIumbLYysB73Klnms1mwnU4G3YHOECG3CedA=
|
||||
github.com/go-openapi/jsonreference v0.19.6 h1:UBIxjkht+AWIgYzCDSv2GN+E/togfwXUJFRTWhl2Jjs=
|
||||
github.com/go-openapi/jsonreference v0.19.6/go.mod h1:diGHMEHg2IqXZGKxqyvWdfWU/aim5Dprw5bqpKkTvns=
|
||||
github.com/go-openapi/jsonreference v0.20.0/go.mod h1:Ag74Ico3lPc+zR+qjn4XBUmXymS4zJbYVCZmcgkasdo=
|
||||
github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE=
|
||||
github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k=
|
||||
github.com/go-openapi/spec v0.20.4 h1:O8hJrt0UMnhHcluhIdUgCLRWyM2x7QkBXRvOs7m+O1M=
|
||||
github.com/go-openapi/spec v0.20.4/go.mod h1:faYFR1CvsJZ0mNsmsphTMSoRrNV3TEDoAM7FOEWeq8I=
|
||||
github.com/go-openapi/spec v0.20.9 h1:xnlYNQAwKd2VQRRfwTEI0DcK+2cbuvI/0c7jx3gA8/8=
|
||||
github.com/go-openapi/spec v0.20.9/go.mod h1:2OpW+JddWPrpXSCIX8eOx7lZ5iyuWj3RYR6VaaBKcWA=
|
||||
github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
|
||||
github.com/go-openapi/swag v0.19.15 h1:D2NRCBzS9/pEY3gP9Nl8aDqGUcPFrwG2p+CNFrLyrCM=
|
||||
github.com/go-openapi/swag v0.19.15/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ=
|
||||
github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14=
|
||||
github.com/go-openapi/swag v0.22.4 h1:QLMzNJnMGPRNDCbySlcj1x01tzU8/9LTTL9hZZZogBU=
|
||||
github.com/go-openapi/swag v0.22.4/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14=
|
||||
github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s=
|
||||
github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA=
|
||||
github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY=
|
||||
@ -187,6 +217,8 @@ github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkr
|
||||
github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ=
|
||||
github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8=
|
||||
github.com/jonboulle/clockwork v0.4.0 h1:p4Cf1aMWXnXAUh8lVfewRBx1zaTSYKrKMF2g3ST4RZ4=
|
||||
github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY=
|
||||
github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y=
|
||||
github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
|
||||
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
|
||||
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
|
||||
@ -199,8 +231,13 @@ github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa02
|
||||
github.com/klauspost/cpuid/v2 v2.2.5 h1:0E5MSMDEoAulmXNFquVs//DdoomxaoTY1kUhbc/qbZg=
|
||||
github.com/klauspost/cpuid/v2 v2.2.5/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws=
|
||||
github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M=
|
||||
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
|
||||
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
|
||||
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
|
||||
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
||||
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
||||
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
|
||||
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
|
||||
github.com/leodido/go-urn v1.2.4 h1:XlAE/cm/ms7TE/VMVoduSpNBoyc2dOxHs5MZSwAN63Q=
|
||||
github.com/leodido/go-urn v1.2.4/go.mod h1:7ZrI8mTSeBSHl/UaRyKQW1qZeMgak41ANeCNaVckg+4=
|
||||
github.com/lestrrat-go/envload v0.0.0-20180220234015-a3eb8ddeffcc h1:RKf14vYWi2ttpEmkA4aQ3j4u9dStX2t4M8UM6qqNsG8=
|
||||
@ -211,6 +248,12 @@ github.com/lestrrat-go/strftime v1.0.6 h1:CFGsDEt1pOpFNU+TJB0nhz9jl+K0hZSLE205Ah
|
||||
github.com/lestrrat-go/strftime v1.0.6/go.mod h1:f7jQKgV5nnJpYgdEasS+/y7EsTb8ykN2z68n3TtcTaw=
|
||||
github.com/lithammer/shortuuid v3.0.0+incompatible h1:NcD0xWW/MZYXEHa6ITy6kaXN5nwm/V115vj2YXfhS0w=
|
||||
github.com/lithammer/shortuuid v3.0.0+incompatible/go.mod h1:FR74pbAuElzOUuenUHTK2Tciko1/vKuIKS9dSkDrA4w=
|
||||
github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
|
||||
github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
|
||||
github.com/mailru/easyjson v0.7.6 h1:8yTIVnZgCoiM1TgqoeTl+LfU5Jg6/xL3QhGQnimLYnA=
|
||||
github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
|
||||
github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0=
|
||||
github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
|
||||
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
|
||||
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
|
||||
github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 h1:jWpvCLoY8Z/e3VKvlsiIGKtc+UG6U5vzxaoagmhXfyg=
|
||||
@ -237,6 +280,7 @@ github.com/mozillazg/go-httpheader v0.4.0 h1:aBn6aRXtFzyDLZ4VIRLsZbbJloagQfMnCiY
|
||||
github.com/mozillazg/go-httpheader v0.4.0/go.mod h1:PuT8h0pw6efvp8ZeUec1Rs7dwjK08bt6gKSReGMqtdA=
|
||||
github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646 h1:zYyBkD/k9seD2A7fsi6Oo2LfFZAehjjQMERAvZLEDnQ=
|
||||
github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646/go.mod h1:jpp1/29i3P1S/RLdc7JQKbRpFeM1dOBd8T9ki5s+AY8=
|
||||
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
|
||||
github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A=
|
||||
github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE=
|
||||
github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU=
|
||||
@ -290,6 +334,7 @@ github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpE
|
||||
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
|
||||
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
|
||||
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
|
||||
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
|
||||
@ -297,6 +342,14 @@ github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o
|
||||
github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
|
||||
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
|
||||
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
|
||||
github.com/swaggo/files v1.0.1 h1:J1bVJ4XHZNq0I46UU90611i9/YzdrF7x92oX1ig5IdE=
|
||||
github.com/swaggo/files v1.0.1/go.mod h1:0qXmMNH6sXNf+73t65aKeB+ApmgxdnkQzVTAj2uaMUg=
|
||||
github.com/swaggo/gin-swagger v1.6.0 h1:y8sxvQ3E20/RCyrXeFfg60r6H0Z+SwpTjMYsMm+zy8M=
|
||||
github.com/swaggo/gin-swagger v1.6.0/go.mod h1:BG00cCEy294xtVpyIAHG6+e2Qzj/xKlRdOqDkvq0uzo=
|
||||
github.com/swaggo/swag v1.8.12 h1:pctzkNPu0AlQP2royqX3apjKCQonAnf7KGoxeO4y64w=
|
||||
github.com/swaggo/swag v1.8.12/go.mod h1:lNfm6Gg+oAq3zRJQNEMBE66LIJKM44mxFqhEEgy2its=
|
||||
github.com/swaggo/swag v1.16.2 h1:28Pp+8DkQoV+HLzLx8RGJZXNGKbFqnuvSbAAtoxiY04=
|
||||
github.com/swaggo/swag v1.16.2/go.mod h1:6YzXnDcpr0767iOejs318CwYkCQqyGer6BizOg03f+E=
|
||||
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.563/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
|
||||
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/kms v1.0.563/go.mod h1:uom4Nvi9W+Qkom0exYiJ9VWJjXwyxtPYTkKkaLMlfE0=
|
||||
github.com/tencentyun/cos-go-sdk-v5 v0.7.45 h1:5/ZGOv846tP6+2X7w//8QjLgH2KcUK+HciFbfjWquFU=
|
||||
@ -360,6 +413,7 @@ golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/
|
||||
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
|
||||
golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
|
||||
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
|
||||
golang.org/x/net v0.0.0-20210421230115-4e50805a0758/go.mod h1:72T/g9IO56b78aLF+1Kcs5dz7/ng1VjMUvfKvpfy+jM=
|
||||
golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk=
|
||||
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
|
||||
@ -390,6 +444,7 @@ golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7w
|
||||
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210420072515-93ed5bcd2bfe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
@ -423,6 +478,10 @@ golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roY
|
||||
golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
|
||||
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
|
||||
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
|
||||
golang.org/x/tools v0.7.0 h1:W4OVu8VVOaIO0yzWMNdepAulS7YfoS3Zabrm8DOXXU4=
|
||||
golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s=
|
||||
golang.org/x/tools v0.14.0 h1:jvNa2pY0M4r62jkRQ6RwEZZyPcymeL9XZMLBbV7U2nc=
|
||||
golang.org/x/tools v0.14.0/go.mod h1:uYBEerGOWcJyEORxN+Ek8+TT266gXkNlHdJBwexUsBg=
|
||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
@ -465,7 +524,10 @@ google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQ
|
||||
google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8=
|
||||
google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
|
||||
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
|
||||
gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
|
||||
gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA=
|
||||
gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
|
||||
@ -477,6 +539,7 @@ gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
|
||||
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
|
||||
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
||||
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
gorm.io/driver/mysql v1.5.2 h1:QC2HRskSE75wBuOxe0+iCkyJZ+RqpudsQtqkp+IMuXs=
|
||||
|
||||
@ -17,7 +17,7 @@ package api
|
||||
import (
|
||||
"github.com/gin-gonic/gin"
|
||||
|
||||
"github.com/OpenIMSDK/protocol/auth"
|
||||
auth "github.com/OpenIMSDK/protocol/auth"
|
||||
"github.com/OpenIMSDK/tools/a2r"
|
||||
|
||||
"github.com/openimsdk/open-im-server/v3/pkg/rpcclient"
|
||||
@ -29,6 +29,18 @@ func NewAuthApi(client rpcclient.Auth) AuthApi {
|
||||
return AuthApi(client)
|
||||
}
|
||||
|
||||
// @Summary User login
|
||||
// @Description Get the user token
|
||||
// @Tags Authentication
|
||||
// @ID UserToken
|
||||
// @Accept json
|
||||
// @Param OperationId header string true "OperationId"
|
||||
// @Param req body auth.UserTokenReq true "Secret is the Openim key. For details, see the server Config.yaml Secret field <br> Platform is the platform ID"
|
||||
// @Produce json
|
||||
// @Success 0 {object} auth.UserTokenResp
|
||||
// @Failure 500 {object} error "ERRCODE is 500 generally an internal error of the server"
|
||||
// @Failure 400 {object} error "Errcode is 400, which is generally a parameter input error."
|
||||
// @Router /auth/user_token [post]
|
||||
func (o *AuthApi) UserToken(c *gin.Context) {
|
||||
a2r.Call(auth.AuthClient.UserToken, o.Client, c)
|
||||
}
|
||||
|
||||
@ -41,8 +41,39 @@ import (
|
||||
"github.com/openimsdk/open-im-server/v3/pkg/common/config"
|
||||
"github.com/openimsdk/open-im-server/v3/pkg/common/prome"
|
||||
"github.com/openimsdk/open-im-server/v3/pkg/rpcclient"
|
||||
|
||||
_ "github.com/openimsdk/open-im-server/v3/cmd/openim-api/docs"
|
||||
|
||||
swaggerFiles "github.com/swaggo/files"
|
||||
ginSwagger "github.com/swaggo/gin-swagger"
|
||||
)
|
||||
|
||||
//swag init --parseInternal --dir ../../internal/api/
|
||||
//swag init --parseInternal --dir cmd/openim-api,internal/api/ -g ../../internal/api/route.go
|
||||
//swag init --parseInternal --pd --dir cmd/openim-api,internal/api/ -g ../../internal/api/route.go --output cmd/openim-api/docs
|
||||
|
||||
// @title open-IM-Server API
|
||||
// @version 1.0
|
||||
// @description Open-IM-Server API server document, all requests in the document have an OperationId field for link tracking
|
||||
|
||||
// @license.name Apache 2.0
|
||||
// @license.url http://www.apache.org/licenses/LICENSE-2.0.html
|
||||
|
||||
// @host localhost:10002
|
||||
// @BasePath /
|
||||
|
||||
// @schemes http https
|
||||
|
||||
// @securityDefinitions.apikey ApiKeyAuth
|
||||
// @in header
|
||||
// @name token
|
||||
// @description Description for what is this security definition being used
|
||||
|
||||
//// @securityDefinitions.basic OperationId
|
||||
//// @in header
|
||||
//// @name OperationId
|
||||
//// @description OperationId for link tracking
|
||||
|
||||
func NewGinRouter(discov discoveryregistry.SvcDiscoveryRegistry, rdb redis.UniversalClient) *gin.Engine {
|
||||
discov.AddOption(mw.GrpcClient(), grpc.WithTransportCredentials(insecure.NewCredentials())) // 默认RPC中间件
|
||||
gin.SetMode(gin.ReleaseMode)
|
||||
@ -52,6 +83,8 @@ func NewGinRouter(discov discoveryregistry.SvcDiscoveryRegistry, rdb redis.Unive
|
||||
}
|
||||
log.ZInfo(context.Background(), "load config", "config", config.Config)
|
||||
r.Use(gin.Recovery(), mw.CorsHandler(), mw.GinParseOperationID())
|
||||
|
||||
r.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
|
||||
// init rpc client here
|
||||
userRpc := rpcclient.NewUser(discov)
|
||||
groupRpc := rpcclient.NewGroup(discov)
|
||||
|
||||
@ -19,7 +19,7 @@ import (
|
||||
|
||||
"github.com/OpenIMSDK/protocol/constant"
|
||||
"github.com/OpenIMSDK/protocol/msggateway"
|
||||
"github.com/OpenIMSDK/protocol/user"
|
||||
user "github.com/OpenIMSDK/protocol/user"
|
||||
"github.com/OpenIMSDK/tools/a2r"
|
||||
"github.com/OpenIMSDK/tools/apiresp"
|
||||
"github.com/OpenIMSDK/tools/errs"
|
||||
@ -35,10 +35,36 @@ func NewUserApi(client rpcclient.User) UserApi {
|
||||
return UserApi(client)
|
||||
}
|
||||
|
||||
// UserRegisterReq
|
||||
// @Summary User registration
|
||||
// @Description User registration
|
||||
// @Tags User
|
||||
// @ID UserRegister
|
||||
// @Accept json
|
||||
// @Param OperationId header string true "Operation Id"
|
||||
// @Param UserInfo body user.UserRegisterReq true "Secret is the Openim key. For details, see the server Config.yaml Secret field."
|
||||
// @Produce json
|
||||
// @Success 200 {object} user.UserRegisterResp
|
||||
// @Failure 500 {object} error "ERRCODE is 500 generally an internal error of the server"
|
||||
// @Failure 400 {object} error "Errcode is 400, which is generally a parameter input error.""
|
||||
// @Router /user/user_register [post]
|
||||
func (u *UserApi) UserRegister(c *gin.Context) {
|
||||
a2r.Call(user.UserClient.UserRegister, u.Client, c)
|
||||
}
|
||||
|
||||
// @Summary Modify user information
|
||||
// @Description Modify user information Userid Faceurl, etc.
|
||||
// @Tags User
|
||||
// @ID UpdateUserInfo
|
||||
// @Accept json
|
||||
// @Param OperationId header string true "Operation Id"
|
||||
// @Param req body user.UpdateUserInfoReq true "Request"
|
||||
// @Produce json
|
||||
// @Success 200 {object} user.UpdateUserInfoResp
|
||||
// @Failure 500 {object} error "ERRCODE is 500 generally an internal error of the server"
|
||||
// @Failure 400 {object} error "Errcode is 400, which is generally a parameter input error."
|
||||
// @Security ApiKeyAuth
|
||||
// @Router /user/update_user_info [post]
|
||||
func (u *UserApi) UpdateUserInfo(c *gin.Context) {
|
||||
a2r.Call(user.UserClient.UpdateUserInfo, u.Client, c)
|
||||
}
|
||||
@ -47,6 +73,21 @@ func (u *UserApi) SetGlobalRecvMessageOpt(c *gin.Context) {
|
||||
a2r.Call(user.UserClient.SetGlobalRecvMessageOpt, u.Client, c)
|
||||
}
|
||||
|
||||
//// @Success 0 {object} user.GetDesignateUsersResp{usersInfo=[]sdkws.UserInfo}
|
||||
|
||||
// @Summary Get user information
|
||||
// @Description Obtain user information in batches according to the user list
|
||||
// @Tags User
|
||||
// @ID GetUsersInfo
|
||||
// @Accept json
|
||||
// @Param OperationId header string true "Operation Id"
|
||||
// @Param req body user.GetDesignateUsersReq true "Request"
|
||||
// @Produce json
|
||||
// @Success 200 {object} user.GetDesignateUsersResp
|
||||
// @Failure 500 {object} error "Errcode is 500 一For the internal error of the server"
|
||||
// @Failure 400 {object} error "errcode is 400 一Input errors in the parameter, token is not brought up"
|
||||
// @Security ApiKeyAuth
|
||||
// @Router /user/get_users_info [post]
|
||||
func (u *UserApi) GetUsersPublicInfo(c *gin.Context) {
|
||||
a2r.Call(user.UserClient.GetDesignateUsers, u.Client, c)
|
||||
}
|
||||
|
||||
@ -52,7 +52,8 @@ func WithLogName(logName string) func(*CmdOpts) {
|
||||
func NewRootCmd(name string, opts ...func(*CmdOpts)) (rootCmd *RootCmd) {
|
||||
rootCmd = &RootCmd{Name: name}
|
||||
c := cobra.Command{
|
||||
Use: "start openIM application",
|
||||
// Use: "start openIM ${{name}}",
|
||||
Use: fmt.Sprintf("start openIM %s", name),
|
||||
Short: fmt.Sprintf(`Start %s `, name),
|
||||
Long: fmt.Sprintf(`Start %s `, name),
|
||||
PersistentPreRunE: func(cmd *cobra.Command, args []string) error {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user