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
|
||||
}
|
||||
|
||||
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{
|
||||
"UserID": userID,
|
||||
}
|
||||
|
||||
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 {
|
||||
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 {
|
||||
output <- errors.New("cannot get tickets:" + err.Error())
|
||||
@ -497,20 +497,38 @@ type GetTicketsResp struct {
|
||||
func (h *Heruvym) GetTickets(
|
||||
ctx context.Context,
|
||||
request GetTicketsReq) (GetTicketsResp, int) {
|
||||
result, count, err := h.dal.GetTicketPage(ctx,
|
||||
request.Status,
|
||||
request.Search,
|
||||
request.Amount,
|
||||
request.Page,
|
||||
)
|
||||
if err != nil {
|
||||
return GetTicketsResp{}, http.StatusNoContent
|
||||
}
|
||||
|
||||
role := jwt_adapter.GetRole(ctx)
|
||||
|
||||
return GetTicketsResp{
|
||||
Data: *result,
|
||||
Count: count,
|
||||
}, http.StatusOK
|
||||
if role == "admin" {
|
||||
result, count, err := h.dal.GetTicketPage(ctx,
|
||||
request.Status,
|
||||
request.Search,
|
||||
request.Amount,
|
||||
request.Page,
|
||||
)
|
||||
if err != nil {
|
||||
return GetTicketsResp{}, http.StatusNoContent
|
||||
}
|
||||
|
||||
return GetTicketsResp{
|
||||
Data: *result,
|
||||
Count: count,
|
||||
}, 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 {
|
||||
|
Loading…
Reference in New Issue
Block a user