Design and implement a Simple document Service where users can create documents and read the same.
A document has a name and associated string content <name{string}, content{string}>
All documents are private when created.
Owners of documents can grant access to other users
Grants can be made at global level as well. For example, if access is granted globally, then every user should have access to that document.
Username will be just a string. Every action like create/read/edit must be made on behalf of a user
Have different tiers. Hot tier should be served from memory. Cold tier should be served from the disk. Owner can specify which tier