Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
Danil Solovyov 2023-05-16 23:21:48 +05:00
commit 08e3cc9caa
3 changed files with 30 additions and 13 deletions

@ -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
}

@ -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}

@ -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,14 +315,18 @@ 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)
}
}
}
}()
if err := h.dal.UpdateTopMessage(ctx, request.TicketID, message); err != nil {
@ -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 {