Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
commit
08e3cc9caa
13
app/app.go
13
app/app.go
@ -11,6 +11,7 @@ import (
|
|||||||
"heruvym/service"
|
"heruvym/service"
|
||||||
"heruvym/tools"
|
"heruvym/tools"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
"time"
|
||||||
|
|
||||||
"github.com/skeris/appInit"
|
"github.com/skeris/appInit"
|
||||||
tb "gopkg.in/tucnak/telebot.v2"
|
tb "gopkg.in/tucnak/telebot.v2"
|
||||||
@ -126,9 +127,8 @@ func New(ctx context.Context, opts interface{}, ver appInit.Version) (appInit.Co
|
|||||||
}
|
}
|
||||||
|
|
||||||
var newBot *tb.Bot
|
var newBot *tb.Bot
|
||||||
/*if options.LoggerDevMode {
|
|
||||||
newBot, err = tb.NewBot(tb.Settings{
|
newBot, err = tb.NewBot(tb.Settings{
|
||||||
Token: "5240336345:AAG6ZXm6IYqsIZn7SoJTltJWviOXhVa4D0c",
|
Token: "5851043588:AAGXhigZAaNV1--n-jfS8eBgM7iZ2IDm668",
|
||||||
Verbose: false,
|
Verbose: false,
|
||||||
ParseMode: tb.ModeHTML,
|
ParseMode: tb.ModeHTML,
|
||||||
Poller: &tb.LongPoller{
|
Poller: &tb.LongPoller{
|
||||||
@ -139,7 +139,6 @@ func New(ctx context.Context, opts interface{}, ver appInit.Version) (appInit.Co
|
|||||||
//logger.Emit(json.Token(err))
|
//logger.Emit(json.Token(err))
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
}*/
|
|
||||||
|
|
||||||
heruvym := service.New(blobStore, database, logger, newBot)
|
heruvym := service.New(blobStore, database, logger, newBot)
|
||||||
|
|
||||||
@ -168,10 +167,10 @@ func New(ctx context.Context, opts interface{}, ver appInit.Version) (appInit.Co
|
|||||||
mux.Use(
|
mux.Use(
|
||||||
func(handler http.Handler) http.Handler {
|
func(handler http.Handler) http.Handler {
|
||||||
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||||
w.Header().Set("Access-Control-Allow-Origin", r.Header["Origin"][0])
|
// w.Header().Set("Access-Control-Allow-Origin", r.Header["Origin"][0])
|
||||||
w.Header().Set("Access-Control-Allow-Credentials", "true")
|
// w.Header().Set("Access-Control-Allow-Credentials", "true")
|
||||||
w.Header().Set("Access-Control-Allow-Headers", "content-type")
|
// w.Header().Set("Access-Control-Allow-Headers", "content-type")
|
||||||
w.Header().Set("Access-Control-Expose-Headers", "*")
|
// w.Header().Set("Access-Control-Expose-Headers", "*")
|
||||||
if r.Method == http.MethodOptions {
|
if r.Method == http.MethodOptions {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -116,6 +116,7 @@ func (mw *Middleware) MiddlewareJwt(next http.Handler) http.Handler {
|
|||||||
next.ServeHTTP(w, r.WithContext(ctx))
|
next.ServeHTTP(w, r.WithContext(ctx))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(r.Header[jwt_adapter.DefaultHeaderKey]) <= 0 {
|
if len(r.Header[jwt_adapter.DefaultHeaderKey]) <= 0 {
|
||||||
if len(r.Header[sessionKey]) <= 0 {
|
if len(r.Header[sessionKey]) <= 0 {
|
||||||
if sessCookie, err := r.Cookie(sessionKey); err != nil {
|
if sessCookie, err := r.Cookie(sessionKey); err != nil {
|
||||||
@ -125,6 +126,8 @@ func (mw *Middleware) MiddlewareJwt(next http.Handler) http.Handler {
|
|||||||
Name: sessionKey,
|
Name: sessionKey,
|
||||||
Value: id,
|
Value: id,
|
||||||
Expires: time.Now().Add(time.Hour * 24 * 30),
|
Expires: time.Now().Add(time.Hour * 24 * 30),
|
||||||
|
SameSite: http.SameSiteNoneMode,
|
||||||
|
Secure: true,
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
adapter = &jwt_adapter.JwtAdapter{Id: sessCookie.Value}
|
adapter = &jwt_adapter.JwtAdapter{Id: sessCookie.Value}
|
||||||
|
@ -138,6 +138,13 @@ func (h *Heruvym) CreateTicket(w http.ResponseWriter, r *http.Request) {
|
|||||||
http.Error(w, "CannotCreateMessage", http.StatusInternalServerError)
|
http.Error(w, "CannotCreateMessage", http.StatusInternalServerError)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
if h.notifier != nil {
|
||||||
|
if _, err := h.notifier.Send(tb.ChatID(-1001802261459),
|
||||||
|
fmt.Sprintf(
|
||||||
|
"Поступило новое сообщение")); err != nil {
|
||||||
|
fmt.Println("CAN NOT NOTIFY", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
ticketID = tickets[0].ID
|
ticketID = tickets[0].ID
|
||||||
}
|
}
|
||||||
@ -276,6 +283,7 @@ func (h *Heruvym) PutMessage(
|
|||||||
request ReqPutMessage,
|
request ReqPutMessage,
|
||||||
) (interface{}, int) {
|
) (interface{}, int) {
|
||||||
sess := jwt_adapter.Get(ctx)
|
sess := jwt_adapter.Get(ctx)
|
||||||
|
fmt.Println("PUTMES", sess)
|
||||||
|
|
||||||
request.Files = []string{}
|
request.Files = []string{}
|
||||||
|
|
||||||
@ -288,15 +296,18 @@ func (h *Heruvym) PutMessage(
|
|||||||
[]string{},
|
[]string{},
|
||||||
)
|
)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
fmt.Println("PUTMES1", err)
|
||||||
return errors.New("can not put message"), http.StatusInternalServerError
|
return errors.New("can not put message"), http.StatusInternalServerError
|
||||||
}
|
}
|
||||||
|
|
||||||
go func() {
|
go func() {
|
||||||
if sess.Id != "" {
|
/*if sess.Id != "" {
|
||||||
additional, err := h.dal.GetAdditionalData(context.TODO(), sess.Id)
|
additional, err := h.dal.GetAdditionalData(context.TODO(), sess.Id)
|
||||||
fmt.Println("CAN NOT NOTIFY", err)
|
fmt.Println("CAN NOT NOTIFY", err)
|
||||||
|
|
||||||
if err == nil && h.notifier != nil {
|
if err == nil && h.notifier != nil {
|
||||||
|
additional, err := h.dal.GetAdditionalData(context.TODO(), sess.Id)
|
||||||
|
fmt.Println("CAN NOT NOTIFY", err)
|
||||||
if _, err := h.notifier.Send(tb.ChatID(-1001344671794),
|
if _, err := h.notifier.Send(tb.ChatID(-1001344671794),
|
||||||
fmt.Sprintf("Поступило новое сообщение от пользователя %d с почтой %s",
|
fmt.Sprintf("Поступило новое сообщение от пользователя %d с почтой %s",
|
||||||
additional.Uid, additional.Email)); err != nil {
|
additional.Uid, additional.Email)); err != nil {
|
||||||
@ -304,13 +315,17 @@ func (h *Heruvym) PutMessage(
|
|||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
if h.notifier != nil {
|
if h.notifier != nil {
|
||||||
if _, err := h.notifier.Send(tb.ChatID(-1001344671794),
|
role := jwt_adapter.GetRole(ctx)
|
||||||
|
|
||||||
|
if role != "admin" && role != "manager" {
|
||||||
|
if _, err := h.notifier.Send(tb.ChatID(-1001802261459),
|
||||||
fmt.Sprintf(
|
fmt.Sprintf(
|
||||||
"Поступило новое сообщение от незарегистриованного пользователя")); err != nil {
|
"Поступило новое сообщение")); err != nil {
|
||||||
fmt.Println("CAN NOT NOTIFY", err)
|
fmt.Println("CAN NOT NOTIFY", err)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
|
|
||||||
@ -442,7 +457,7 @@ func (h *Heruvym) Subscribe(ctx context.Context) chan interface{} {
|
|||||||
output <- errors.New("no tickets 4 user")
|
output <- errors.New("no tickets 4 user")
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := h.dal.YieldMessages(ctx, ticketID, func(message model.Message) error {
|
/*if err := h.dal.YieldMessages(ctx, ticketID, func(message model.Message) error {
|
||||||
output <- message
|
output <- message
|
||||||
|
|
||||||
//if err := h.dal.SetShown(ctx, message.ID, sess.User); err != nil {
|
//if err := h.dal.SetShown(ctx, message.ID, sess.User); err != nil {
|
||||||
@ -455,7 +470,7 @@ func (h *Heruvym) Subscribe(ctx context.Context) chan interface{} {
|
|||||||
}); err != nil {
|
}); err != nil {
|
||||||
fmt.Println("1", err)
|
fmt.Println("1", err)
|
||||||
output <- errors.New("cannot read messages " + err.Error())
|
output <- errors.New("cannot read messages " + err.Error())
|
||||||
}
|
}*/
|
||||||
|
|
||||||
if err := h.dal.WatchMessages(ctx, ticketID,
|
if err := h.dal.WatchMessages(ctx, ticketID,
|
||||||
func(message model.Message) error {
|
func(message model.Message) error {
|
||||||
|
Loading…
Reference in New Issue
Block a user