Some fast ui tweaks -- show the sidebar flush against the edges of the view, with cropped segments of the gifs filling the rows. Looks nicer than having things scaled down to different aspect ratios.
Adds a dummy implementation of the new UserServiceProtocol, which just returns a user jbrjake (id: 1), creating it if it doesn't already exist.
Moves the functions to fetch an Item by contentID to the ResourceLoader. Still not happy with this...I think I need to move all the pure entity fetching/adding functions to one place (maybe in the same file defining the entities), make it a standalone service, and use resourcestorer/loader/tagger/user as wrappers that have app logic.
Adds an implementation of the tagger protocol. The addUserItemTag method is probably the most important thing in there.
Oops, forgot to set the timestamp for the useritemtags.
Oops, had User.userID as a string instead of a number like in the model.
Relocates a bunch of basic core data fetches and inserts to a single service class.
How did I leave this method not returning a User?
Revises a lot of the service protocols. Note that the storeAsItem() method in Filer still needs work, right now it always returns nil.
Oops, copypasta.
Gets Items funneled back from Filer to the caller through a completion.
Responds to Xcode6 beta4 Swift changes.
When there are both URLs and tags in the omnibar, download the URLs if necessary, and associate the tags with the URLs' items.
Fixes the addTag() method so it doesn't add multiple user item tags with the same tag name for the same item and the same user.
Fixes an object relation issue -- one item has many user item tags while one user item tag has only one item.
Oops, the user insert was trying to insert an item :(
Fixes an issue with the file getter potentially returning before the return value was filled, because of an asynchronous closure.
Adds a service call to get tag name strings for an item, uses it to build a value transformer to return them tag name strings from an item, and uses it to filter a binding of the tag NSTokenfield under the image to the selected tag in the view model array controller. So now you see the tags for an item listed under it.
Center-aligns the tags field contents.
Implements itemsForTag, which involved:
* adding a new method to the entity service to fetch all entities for a predicate
* a caller that does so for useritemtags that have a given tag name and user name
* and collecting the items from those useritemtags.