fix: partially rewrite readme for api
This commit is contained in:
parent
c95f163889
commit
fd0a38f5d4
78
README.md
78
README.md
@ -3,22 +3,27 @@
|
||||
/create - метод для создания тикета.
|
||||
пример запроса
|
||||
|
||||
POST https://staging.blacbroc.com/support/create
|
||||
POST http://localhost:8000/support/create
|
||||
|
||||
Тело запроса
|
||||
```
|
||||
{"Title":"test ticket title","Message":"test ticket message"}
|
||||
{
|
||||
"Title":"test ticket title",
|
||||
"Message":"test ticket message"
|
||||
}
|
||||
```
|
||||
|
||||
тело ответа
|
||||
```
|
||||
{"Ticket":"c2fekjcobibtq7akknog"}
|
||||
````
|
||||
|
||||
{
|
||||
"Ticket":"c2fekjcobibtq7akknog"
|
||||
}
|
||||
```
|
||||
|
||||
/subscribe - sse метод для подписывания на изменения по всех тикетах доступных пользователю.
|
||||
|
||||
пример запроса
|
||||
https://staging.blacbrok.com/support/subscribe?Authorization=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJJRCI6ImMxdmNrZWtvYmlicmFmYWU2bjYwIiwiU2Vzc2lvbiI6ImMxdmNrZWtvYmlicmFmYWU2bjZnIiwiVXNlciI6ImMxdXAxY2tvYmliaXVpNDVxNGYwIiwiVGFyaWZmIjowLCJDcmVhdGVkIjoxNjE4OTIyMDQyMDQ3LCJMYXN0U2VlbiI6MTYxODkyMjA5OTg5MH0.INLy790JP-o6DDZcXfSEXUDg7lE1_83Ns2vDJVrUFuQ
|
||||
http://localhost:8000/support/subscribe?Authorization=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJJRCI6ImMxdmNrZWtvYmlicmFmYWU2bjYwIiwiU2Vzc2lvbiI6ImMxdmNrZWtvYmlicmFmYWU2bjZnIiwiVXNlciI6ImMxdXAxY2tvYmliaXVpNDVxNGYwIiwiVGFyaWZmIjowLCJDcmVhdGVkIjoxNjE4OTIyMDQyMDQ3LCJMYXN0U2VlbiI6MTYxODkyMjA5OTg5MH0.INLy790JP-o6DDZcXfSEXUDg7lE1_83Ns2vDJVrUFuQ
|
||||
|
||||
тело ответа
|
||||
```
|
||||
@ -48,7 +53,7 @@ Ticket: {
|
||||
/ticket - sse метод для подписки на сообщения из одного тикета.
|
||||
|
||||
пример запроса
|
||||
https://staging.blacbrok.com/support/ticket?ticket=c2fekjcobibtq7akknog&Authorization=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJJRCI6ImMxdmNrZWtvYmlicmFmYWU2bjYwIiwiU2Vzc2lvbiI6ImMxdmNrZWtvYmlicmFmYWU2bjZnIiwiVXNlciI6ImMxdXAxY2tvYmliaXVpNDVxNGYwIiwiVGFyaWZmIjowLCJDcmVhdGVkIjoxNjE4OTIyMDQyMDQ3LCJMYXN0U2VlbiI6MTYxODkyMjA5OTg5MH0.INLy790JP-o6DDZcXfSEXUDg7lE1_83Ns2vDJVrUFuQ
|
||||
http://localhost:8000/support/ticket?ticket=c2fekjcobibtq7akknog&Authorization=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJJRCI6ImMxdmNrZWtvYmlicmFmYWU2bjYwIiwiU2Vzc2lvbiI6ImMxdmNrZWtvYmlicmFmYWU2bjZnIiwiVXNlciI6ImMxdXAxY2tvYmliaXVpNDVxNGYwIiwiVGFyaWZmIjowLCJDcmVhdGVkIjoxNjE4OTIyMDQyMDQ3LCJMYXN0U2VlbiI6MTYxODkyMjA5OTg5MH0.INLy790JP-o6DDZcXfSEXUDg7lE1_83Ns2vDJVrUFuQ
|
||||
|
||||
тело ответа
|
||||
```
|
||||
@ -66,11 +71,16 @@ https://staging.blacbrok.com/support/ticket?ticket=c2fekjcobibtq7akknog&Authoriz
|
||||
/send - метод для отправки сообщения в тикета
|
||||
|
||||
пример запроса
|
||||
POST https://staging.blacbroc.com/support/send
|
||||
POST http://localhost:8000/support/send
|
||||
|
||||
Тело запроса
|
||||
```
|
||||
{"message":"test ticket message","TicketID":"c2fekjcobibtq7akknog", "lang":"ru","files": ["idoffile"]}
|
||||
{
|
||||
"message":"test ticket message",
|
||||
"TicketID":"c2fekjcobibtq7akknog",
|
||||
"lang":"ru",
|
||||
"files": ["idoffile"]
|
||||
}
|
||||
```
|
||||
Ответ null
|
||||
|
||||
@ -78,11 +88,16 @@ POST https://staging.blacbroc.com/support/send
|
||||
/getTickets - метод для получения тикетов с пагинацией
|
||||
|
||||
пример запроса
|
||||
POST https://staging.blacbroc.com/support/getTickets
|
||||
POST http://localhost:8000/support/getTickets
|
||||
|
||||
Тело запроса:
|
||||
```
|
||||
{"amt":10,"page":1,"srch":"test","status":"open"}
|
||||
{
|
||||
"amt":10,
|
||||
"page":1,
|
||||
"srch":"test",
|
||||
"status":"open"
|
||||
}
|
||||
```
|
||||
Ответ:
|
||||
``` [{
|
||||
@ -110,11 +125,16 @@ POST https://staging.blacbroc.com/support/getTickets
|
||||
/getMessages - метод для получения сообщений конкретного тикета с пагинацией
|
||||
|
||||
пример запроса
|
||||
POST https://staging.blacbroc.com/support/getMessages
|
||||
POST http://localhost:8000/support/getMessages
|
||||
|
||||
Тело запроса:
|
||||
```
|
||||
{"amt":10,"page":1,"srch":"test","ticket":"c2fekjcobibtq7akknog"}
|
||||
{
|
||||
"amt":10,
|
||||
"page":1,
|
||||
"srch":"test",
|
||||
"ticket":"c2fekjcobibtq7akknog"
|
||||
}
|
||||
|
||||
Ответ:
|
||||
[{
|
||||
@ -133,39 +153,51 @@ POST https://staging.blacbroc.com/support/getMessages
|
||||
/pick - подхватывание сотрудником диалога
|
||||
|
||||
пример запроса
|
||||
POST https://staging.blacbroc.com/support/pick
|
||||
POST http://localhost:8000/support/pick
|
||||
|
||||
Тело запроса:
|
||||
```
|
||||
{"ticket":"c2fekjcobibtq7akknog"}
|
||||
|
||||
```
|
||||
Ответ: null
|
||||
|
||||
/delegate - передача тикета другому сотруднику
|
||||
|
||||
пример запроса
|
||||
POST https://staging.blacbroc.com/support/delegate
|
||||
POST http://localhost:8000/support/delegate
|
||||
|
||||
Тело запроса:
|
||||
{"ticket":"c2fekjcobibtq7akknog","answerer":"c2fekjcobibtq7akknog"}
|
||||
|
||||
```
|
||||
{
|
||||
"ticket":"c2fekjcobibtq7akknog",
|
||||
"answerer":"c2fekjcobibtq7akknog"
|
||||
}
|
||||
```
|
||||
Ответ: null
|
||||
|
||||
/vote - метод для оценки полезности ответа
|
||||
|
||||
пример запроса
|
||||
POST https://staging.blacbroc.com/support/delegate
|
||||
POST http://localhost:8000/support/delegate
|
||||
|
||||
Тело запроса:
|
||||
{"ticket":"c2fekjcobibtq7akknog","rate":5}
|
||||
|
||||
```
|
||||
{
|
||||
"ticket":"c2fekjcobibtq7akknog",
|
||||
"rate":5
|
||||
}
|
||||
```
|
||||
Ответ: null
|
||||
|
||||
/close - метод для закрытия тикета
|
||||
|
||||
пример запроса
|
||||
POST https://staging.blacbroc.com/support/close
|
||||
POST http://localhost:8000/support/close
|
||||
|
||||
Тело запроса:
|
||||
{"ticket":"c2fekjcobibtq7akknog"}
|
||||
```
|
||||
{
|
||||
"ticket":"c2fekjcobibtq7akknog"
|
||||
}
|
||||
|
||||
Ответ: null
|
17
app/app.go
17
app/app.go
@ -10,11 +10,12 @@ import (
|
||||
"heruvym/router"
|
||||
"heruvym/service"
|
||||
"heruvym/tools"
|
||||
"heruvym/version"
|
||||
"net/http"
|
||||
"time"
|
||||
|
||||
rAL "bitbucket.org/skeris/profile/dal"
|
||||
"github.com/skeris/appInit"
|
||||
tb "gopkg.in/tucnak/telebot.v2"
|
||||
|
||||
"github.com/themakers/hlog"
|
||||
"go.uber.org/zap"
|
||||
@ -67,7 +68,7 @@ var zapOptions = []zap.Option{
|
||||
zap.AddStacktrace(zap.ErrorLevel),
|
||||
}
|
||||
|
||||
func New(ctx context.Context, opts interface{}) (appInit.CommonApp, error) {
|
||||
func New(ctx context.Context, opts interface{}, ver appInit.Version) (appInit.CommonApp, error) {
|
||||
|
||||
var (
|
||||
err error
|
||||
@ -93,9 +94,9 @@ func New(ctx context.Context, opts interface{}) (appInit.CommonApp, error) {
|
||||
}
|
||||
|
||||
zapLogger = zapLogger.With(
|
||||
zap.String("SvcCommit", version.Commit),
|
||||
zap.String("SvcVersion", version.Release),
|
||||
zap.String("SvcBuildTime", version.BuildTime),
|
||||
zap.String("SvcCommit", ver.Commit),
|
||||
zap.String("SvcVersion", ver.Release),
|
||||
zap.String("SvcBuildTime", ver.BuildTime),
|
||||
)
|
||||
fmt.Println("logger")
|
||||
logger := hlog.New(zapLogger)
|
||||
@ -132,7 +133,7 @@ func New(ctx context.Context, opts interface{}) (appInit.CommonApp, error) {
|
||||
return nil, err
|
||||
}
|
||||
fmt.Println("miniod")
|
||||
/*
|
||||
|
||||
newBot, err := tb.NewBot(tb.Settings{
|
||||
Token: "5240336345:AAG6ZXm6IYqsIZn7SoJTltJWviOXhVa4D0c",
|
||||
Verbose: false,
|
||||
@ -145,8 +146,8 @@ func New(ctx context.Context, opts interface{}) (appInit.CommonApp, error) {
|
||||
//logger.Emit(json.Token(err))
|
||||
return nil, err
|
||||
}
|
||||
*/
|
||||
heruvym := service.New(blobStore, database, connRoles, logger, nil)
|
||||
|
||||
heruvym := service.New(blobStore, database, connRoles, logger, newBot)
|
||||
|
||||
mux := router.NewRouter(map[string]http.HandlerFunc{
|
||||
"/support/create": heruvym.CreateTicket,
|
||||
|
27
compose.test.yml
Normal file
27
compose.test.yml
Normal file
@ -0,0 +1,27 @@
|
||||
services:
|
||||
test:
|
||||
build: ./test
|
||||
depends_on:
|
||||
- mongo
|
||||
- mongosetup
|
||||
- minio
|
||||
mongo:
|
||||
image: mongo:6
|
||||
hostname: mongo
|
||||
restart: always
|
||||
entrypoint: ["/usr/bin/mongod", "--logpath", "/dev/null","--bind_ip_all","--replSet","rs0"]
|
||||
mongosetup:
|
||||
image: mongo:6
|
||||
depends_on:
|
||||
- mongo
|
||||
restart: "no"
|
||||
logging:
|
||||
driver: "none"
|
||||
entrypoint: [ "bash", "-c", "sleep 2 && mongosh --host mongo:27017 --eval 'rs.initiate()'"]
|
||||
minio:
|
||||
image: minio/minio
|
||||
hostname: minio
|
||||
restart: always
|
||||
logging:
|
||||
driver: "none"
|
||||
command: server --address 0.0.0.0:9000 /data
|
@ -1,6 +1,6 @@
|
||||
services:
|
||||
test:
|
||||
build: ./test
|
||||
svc:
|
||||
build: .
|
||||
depends_on:
|
||||
- mongo
|
||||
- mongosetup
|
||||
|
@ -3,10 +3,11 @@ package minio
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"io"
|
||||
|
||||
"github.com/minio/minio-go/v7"
|
||||
"github.com/minio/minio-go/v7/pkg/credentials"
|
||||
"github.com/themakers/hlog"
|
||||
"io"
|
||||
)
|
||||
|
||||
type BlobStore struct {
|
||||
@ -51,7 +52,7 @@ func (bs *BlobStore) PutFile(
|
||||
filename string,
|
||||
reader io.Reader,
|
||||
size int64) error {
|
||||
info, err := bs.store.PutObject(ctx,bucket, filename, reader, size, minio.PutObjectOptions{
|
||||
info, err := bs.store.PutObject(ctx, bucket, filename, reader, size, minio.PutObjectOptions{
|
||||
//UserMetadata: nil,
|
||||
//UserTags: nil,
|
||||
//Progress: nil,
|
||||
|
Loading…
Reference in New Issue
Block a user