diff --git a/app/app.go b/app/app.go index 5897709..a968f69 100644 --- a/app/app.go +++ b/app/app.go @@ -11,6 +11,7 @@ import ( "heruvym/service" "heruvym/tools" "net/http" + "time" "github.com/skeris/appInit" 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 - /*if options.LoggerDevMode { newBot, err = tb.NewBot(tb.Settings{ - Token: "5240336345:AAG6ZXm6IYqsIZn7SoJTltJWviOXhVa4D0c", + Token: "5851043588:AAGXhigZAaNV1--n-jfS8eBgM7iZ2IDm668", Verbose: false, ParseMode: tb.ModeHTML, Poller: &tb.LongPoller{ @@ -139,7 +139,6 @@ func New(ctx context.Context, opts interface{}, ver appInit.Version) (appInit.Co //logger.Emit(json.Token(err)) return nil, err } - }*/ 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( func(handler http.Handler) http.Handler { 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-Credentials", "true") - w.Header().Set("Access-Control-Allow-Headers", "content-type") - w.Header().Set("Access-Control-Expose-Headers", "*") + // 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-Headers", "content-type") + // w.Header().Set("Access-Control-Expose-Headers", "*") if r.Method == http.MethodOptions { return } diff --git a/middleware/http_middleware.go b/middleware/http_middleware.go index aa51b21..6d5219d 100644 --- a/middleware/http_middleware.go +++ b/middleware/http_middleware.go @@ -116,6 +116,7 @@ func (mw *Middleware) MiddlewareJwt(next http.Handler) http.Handler { next.ServeHTTP(w, r.WithContext(ctx)) return } + if len(r.Header[jwt_adapter.DefaultHeaderKey]) <= 0 { if len(r.Header[sessionKey]) <= 0 { if sessCookie, err := r.Cookie(sessionKey); err != nil { @@ -125,6 +126,8 @@ func (mw *Middleware) MiddlewareJwt(next http.Handler) http.Handler { Name: sessionKey, Value: id, Expires: time.Now().Add(time.Hour * 24 * 30), + SameSite: http.SameSiteNoneMode, + Secure: true, }) } else { adapter = &jwt_adapter.JwtAdapter{Id: sessCookie.Value} diff --git a/service/service.go b/service/service.go index 6a9e4fa..9ab1e4b 100644 --- a/service/service.go +++ b/service/service.go @@ -138,6 +138,13 @@ func (h *Heruvym) CreateTicket(w http.ResponseWriter, r *http.Request) { http.Error(w, "CannotCreateMessage", http.StatusInternalServerError) return } + if h.notifier != nil { + if _, err := h.notifier.Send(tb.ChatID(-1001802261459), + fmt.Sprintf( + "Поступило новое сообщение")); err != nil { + fmt.Println("CAN NOT NOTIFY", err) + } + } } else { ticketID = tickets[0].ID } @@ -276,6 +283,7 @@ func (h *Heruvym) PutMessage( request ReqPutMessage, ) (interface{}, int) { sess := jwt_adapter.Get(ctx) + fmt.Println("PUTMES", sess) request.Files = []string{} @@ -288,15 +296,18 @@ func (h *Heruvym) PutMessage( []string{}, ) if err != nil { + fmt.Println("PUTMES1", err) return errors.New("can not put message"), http.StatusInternalServerError } go func() { - if sess.Id != "" { + /*if sess.Id != "" { additional, err := h.dal.GetAdditionalData(context.TODO(), sess.Id) fmt.Println("CAN NOT NOTIFY", err) 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), fmt.Sprintf("Поступило новое сообщение от пользователя %d с почтой %s", additional.Uid, additional.Email)); err != nil { @@ -304,13 +315,17 @@ func (h *Heruvym) PutMessage( } return } - } + }*/ 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( - "Поступило новое сообщение от незарегистриованного пользователя")); err != nil { + "Поступило новое сообщение")); err != nil { 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") } - 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 //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 { fmt.Println("1", err) output <- errors.New("cannot read messages " + err.Error()) - } + }*/ if err := h.dal.WatchMessages(ctx, ticketID, func(message model.Message) error {