(ctx context.Context, dir model.Obj, args model.ListArgs)
| 132 | } |
| 133 | |
| 134 | func (d *Github) List(ctx context.Context, dir model.Obj, args model.ListArgs) ([]model.Obj, error) { |
| 135 | obj, err := d.get(dir.GetPath()) |
| 136 | if err != nil { |
| 137 | return nil, err |
| 138 | } |
| 139 | if obj.Entries == nil { |
| 140 | return nil, errs.NotFolder |
| 141 | } |
| 142 | if len(obj.Entries) >= 1000 { |
| 143 | tree, err := d.getTree(obj.Sha) |
| 144 | if err != nil { |
| 145 | return nil, err |
| 146 | } |
| 147 | if tree.Truncated { |
| 148 | return nil, fmt.Errorf("tree %s is truncated", dir.GetPath()) |
| 149 | } |
| 150 | ret := make([]model.Obj, 0, len(tree.Trees)) |
| 151 | for _, t := range tree.Trees { |
| 152 | if t.Path != ".gitkeep" { |
| 153 | ret = append(ret, t.toModelObj()) |
| 154 | } |
| 155 | } |
| 156 | return ret, nil |
| 157 | } else { |
| 158 | ret := make([]model.Obj, 0, len(obj.Entries)) |
| 159 | for _, entry := range obj.Entries { |
| 160 | if entry.Name != ".gitkeep" { |
| 161 | ret = append(ret, entry.toModelObj()) |
| 162 | } |
| 163 | } |
| 164 | return ret, nil |
| 165 | } |
| 166 | } |
| 167 | |
| 168 | func (d *Github) Link(ctx context.Context, file model.Obj, args model.LinkArgs) (*model.Link, error) { |
| 169 | obj, err := d.get(file.GetPath()) |
nothing calls this directly
no test coverage detected