Merge branch 'dev' into 'main'
Update service/service.go, dal/mongo/dal.go See merge request external/heruvym!31
This commit is contained in:
commit
c2f45d12d8
@ -416,14 +416,14 @@ func (d *DAL) YieldTickets(ctx context.Context, limit int64) ([]model.Ticket, in
|
|||||||
return result, col, nil
|
return result, col, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (d *DAL) YieldUserTickets(ctx context.Context, userID string, limit int64) ([]model.Ticket, int64, error) {
|
func (d *DAL) YieldUserTickets(ctx context.Context, userID string, limit, offset int64) ([]model.Ticket, int64, error) {
|
||||||
query := bson.M{
|
query := bson.M{
|
||||||
"UserID": userID,
|
"UserID": userID,
|
||||||
}
|
}
|
||||||
|
|
||||||
sort := bson.D{{"State", -1}, {"UpdatedAt", 1}}
|
sort := bson.D{{"State", -1}, {"UpdatedAt", 1}}
|
||||||
|
|
||||||
cursor, err := d.colTck.Find(ctx, query, options.Find().SetSort(sort).SetLimit(limit))
|
cursor, err := d.colTck.Find(ctx, query, options.Find().SetSort(sort).SetLimit(limit).SetSkip(offset))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, 0, err
|
return nil, 0, err
|
||||||
}
|
}
|
||||||
|
@ -225,7 +225,7 @@ func (h *Heruvym) userTickets(ctx context.Context, userID string, output chan in
|
|||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
|
|
||||||
data, count, err := h.dal.YieldUserTickets(ctx, userID, 20)
|
data, count, err := h.dal.YieldUserTickets(ctx, userID, 20, 0)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
output <- errors.New("cannot get tickets:" + err.Error())
|
output <- errors.New("cannot get tickets:" + err.Error())
|
||||||
@ -497,6 +497,10 @@ type GetTicketsResp struct {
|
|||||||
func (h *Heruvym) GetTickets(
|
func (h *Heruvym) GetTickets(
|
||||||
ctx context.Context,
|
ctx context.Context,
|
||||||
request GetTicketsReq) (GetTicketsResp, int) {
|
request GetTicketsReq) (GetTicketsResp, int) {
|
||||||
|
|
||||||
|
role := jwt_adapter.GetRole(ctx)
|
||||||
|
|
||||||
|
if role == "admin" {
|
||||||
result, count, err := h.dal.GetTicketPage(ctx,
|
result, count, err := h.dal.GetTicketPage(ctx,
|
||||||
request.Status,
|
request.Status,
|
||||||
request.Search,
|
request.Search,
|
||||||
@ -511,6 +515,20 @@ func (h *Heruvym) GetTickets(
|
|||||||
Data: *result,
|
Data: *result,
|
||||||
Count: count,
|
Count: count,
|
||||||
}, http.StatusOK
|
}, http.StatusOK
|
||||||
|
} else {
|
||||||
|
|
||||||
|
sess := jwt_adapter.Get(ctx)
|
||||||
|
|
||||||
|
data, count, err := h.dal.YieldUserTickets(ctx, sess.Id, request.Amount, request.Page*request.Amount)
|
||||||
|
if err != nil {
|
||||||
|
return GetTicketsResp{}, http.StatusNoContent
|
||||||
|
}
|
||||||
|
|
||||||
|
return GetTicketsResp{
|
||||||
|
Data: *result,
|
||||||
|
Count: count,
|
||||||
|
}, http.StatusOK
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
type GetMessagesReq struct {
|
type GetMessagesReq struct {
|
||||||
|
Loading…
Reference in New Issue
Block a user