Added files API, fixed file.List returning all files if both author and public is unset

This commit is contained in:
2018-06-13 21:11:52 +02:00
parent 90a3597602
commit a4fea77047
3 changed files with 57 additions and 8 deletions
+34
View File
@@ -26,6 +26,40 @@ func (r *QueryResolver) File(ctx context.Context, args *FileArgs) (*FileResolver
return &FileResolver{F: file}, nil
}
// FilesArgs is an arg
type FilesArgs struct {
IncludePublic *bool
MimeTypes *[]string
}
// Files implements the file query
func (r *QueryResolver) Files(ctx context.Context, args *FilesArgs) ([]*FileResolver, error) {
user := session.FromContext(ctx).User()
author := ""
if user != nil {
author = user.ID
}
public := args.IncludePublic != nil && *args.IncludePublic == true
mimeTypes := []string(nil)
if args.MimeTypes != nil {
mimeTypes = *args.MimeTypes
}
files, err := file.List(author, public, mimeTypes)
if err != nil {
return nil, err
}
resolvers := make([]*FileResolver, len(files))
for i := range files {
resolvers[i] = &FileResolver{F: files[i]}
}
return resolvers, nil
}
// FileEditInput is an input for the editFile mutation
type FileEditInput struct {
ID string