| 668 | } |
| 669 | |
| 670 | func (args *params) fill(gq *dql.GraphQuery) error { |
| 671 | if v, ok := gq.Args["offset"]; ok { |
| 672 | offset, err := strconv.ParseInt(v, 0, 32) |
| 673 | if err != nil { |
| 674 | return err |
| 675 | } |
| 676 | args.Offset = int(offset) |
| 677 | } |
| 678 | if v, ok := gq.Args["after"]; ok { |
| 679 | after, err := strconv.ParseUint(v, 0, 64) |
| 680 | if err != nil { |
| 681 | return err |
| 682 | } |
| 683 | args.AfterUID = after |
| 684 | } |
| 685 | |
| 686 | if args.Alias == "shortest" { |
| 687 | if v, ok := gq.Args["depth"]; ok { |
| 688 | depth, err := strconv.ParseUint(v, 0, 64) |
| 689 | if err != nil { |
| 690 | return err |
| 691 | } |
| 692 | args.ExploreDepth = &depth |
| 693 | } |
| 694 | |
| 695 | if v, ok := gq.Args["numpaths"]; ok { |
| 696 | numPaths, err := strconv.ParseUint(v, 0, 64) |
| 697 | if err != nil { |
| 698 | return err |
| 699 | } |
| 700 | if numPaths > math.MaxInt { |
| 701 | return errors.Errorf("numpaths value %d exceeds maximum allowed value %d", |
| 702 | numPaths, math.MaxInt) |
| 703 | } |
| 704 | args.NumPaths = int(numPaths) |
| 705 | } |
| 706 | |
| 707 | if v, ok := gq.Args["maxweight"]; ok { |
| 708 | maxWeight, err := strconv.ParseFloat(v, 64) |
| 709 | if err != nil { |
| 710 | return err |
| 711 | } |
| 712 | args.MaxWeight = maxWeight |
| 713 | } else if !ok { |
| 714 | args.MaxWeight = math.MaxFloat64 |
| 715 | } |
| 716 | |
| 717 | if v, ok := gq.Args["minweight"]; ok { |
| 718 | minWeight, err := strconv.ParseFloat(v, 64) |
| 719 | if err != nil { |
| 720 | return err |
| 721 | } |
| 722 | args.MinWeight = minWeight |
| 723 | } else if !ok { |
| 724 | args.MinWeight = -math.MaxFloat64 |
| 725 | } |
| 726 | |
| 727 | if v, ok := gq.Args["maxfrontiersize"]; ok { |