-
GroupsSource extends PrivateS3Source
withconstructor(groupName)
so thatsetSource("groups", req => req.params.groupName)
works.Make it use a single bucket,
nextstrain-groups
, which stores objects under${groupName}/
prefixes. -
Add additional authz method to
Source
classes for write (create/update/delete), something likemodifiableBy(user?)
.Or rename
visibleTo(user?)
and generalize to something likesource.authz("read" | "write" | "manage", user)
?Or maybe
readableBy(user?)
,writableBy(user?)
,manageableBy(user?)
? -
For even public sources,
urlFor(type, method?)
andurl(method?)
need to produce signed URLs (or throw an error) for modifying methods (non-GET/HEAD).