(args *ListFileParameters, token *PageToken, query []*ent.FileQuery)
| 474 | } |
| 475 | |
| 476 | func getFileCursorQuery(args *ListFileParameters, token *PageToken, query []*ent.FileQuery) []*ent.FileQuery { |
| 477 | o := &sql.OrderTermOptions{} |
| 478 | getOrderTerm(args.Order)(o) |
| 479 | |
| 480 | predicates, ok := fileCursorQuery[args.OrderBy] |
| 481 | if !ok { |
| 482 | predicates = fileCursorQuery[file.FieldID] |
| 483 | } |
| 484 | |
| 485 | // If all folder is already listed in previous page, only query for files. |
| 486 | if token != nil && token.StartWithFile && !args.MixedType { |
| 487 | query = query[1:2] |
| 488 | } |
| 489 | |
| 490 | // Mixing folders and files with one query |
| 491 | if args.MixedType { |
| 492 | query = query[2:] |
| 493 | } else if args.FolderOnly { |
| 494 | query = query[0:1] |
| 495 | } |
| 496 | |
| 497 | if token != nil { |
| 498 | query[0].Where(predicates[o.Desc](token)) |
| 499 | } |
| 500 | return query |
| 501 | } |
| 502 | |
| 503 | // getFileNextPageToken returns the next page token for the given last file. |
| 504 | func getFileNextPageToken(hasher hashid.Encoder, last *ent.File, args *ListFileParameters, nextStartWithFile bool) (string, error) { |
no test coverage detected