I've solved this issue by adding prefixes to images. there are two kinds of prefixes.
If an image uploader is given an objective id through the form value 'oid' this will be the uploaded images prefix. This can be easily queried and then presented to the user.
If no prefix is given--such as with viewing /image on its own-- then the prefix is set to 'global'. This can also be queried for any images that are not tied to an objective.
Bugs Created.
Images uploaded before this should be deleted. They will still serve as their url is still valid, but there is no way to access them in the viewer anymore.
Currently images are added to the root bucket of cloudstore.
If possible, sub-bucket functionality should be added in such that images can be retrieved via the objective they were added in or a 'global' scope.
There are two ways of doing this that I can immediately see:
storage.NewAdminClient()
to create a bucket of objective id.