{"action":"created","issue":{"url":"https://api.github.com/repos/mediapublic/mediapublic/issues/8","labels_url":"https://api.github.com/repos/mediapublic/mediapublic/issues/8/labels{/name}","comments_url":"https://api.github.com/repos/mediapublic/mediapublic/issues/8/comments","events_url":"https://api.github.com/repos/mediapublic/mediapublic/issues/8/events","html_url":"https://github.com/mediapublic/mediapublic/issues/8","id":94621828,"number":8,"title":"User Authorization Levels","user":{"login":"thequbit","id":772612,"avatar_url":"https://avatars.githubusercontent.com/u/772612?v=3","gravatar_id":"","url":"https://api.github.com/users/thequbit","html_url":"https://github.com/thequbit","followers_url":"https://api.github.com/users/thequbit/followers","following_url":"https://api.github.com/users/thequbit/following{/other_user}","gists_url":"https://api.github.com/users/thequbit/gists{/gist_id}","starred_url":"https://api.github.com/users/thequbit/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thequbit/subscriptions","organizations_url":"https://api.github.com/users/thequbit/orgs","repos_url":"https://api.github.com/users/thequbit/repos","events_url":"https://api.github.com/users/thequbit/events{/privacy}","received_events_url":"https://api.github.com/users/thequbit/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/mediapublic/mediapublic/labels/question","name":"question","color":"cc317c"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2015-07-13T02:15:39Z","updated_at":"2015-11-18T19:34:24Z","closed_at":"2015-11-18T19:34:24Z","body":"*Note: this is the contents of a number of comments from another repo.  User's names have been place above the comments to keep a history of what was said.*\r\n\r\n----------\r\n**@thequbit**\r\n\r\nSo I like to define these up-front so we don't get into a long drawn out conversation of who can do what on the site.  I think there should be four authentication levels, and all end-points need to fit one level.\r\n\r\n    VIEWER\r\n    STANDARD_USER\r\n    ELEVATED_USER\r\n    ADMINISTRATOR\r\n\r\n**VIEWER**\r\nThis is someone who goes to the site and has not logged in.\r\n\r\n**STANDARD_USER**\r\nThis is someone who has created a login.  They should be able to:\r\n- Change their user profile stuff ( display name, location, etc. )\r\n- Label audio to a category\r\n- Post comments to /organizations /learn and /recordings sections\r\n- Integrate with Midas for posting responses to help requests.\r\n\r\n**ELEVATED_USER**\r\nThis is someone who works at an organization.  They should be able to:\r\n- Do everything that a STANDARD_USER can do\r\n- Edit their organizations \"landing page\"\r\n- Add people and recordings to their organization\r\n- Post to Midas for help\r\n- Post to /learn\r\n- Post to /blog??? ( we can talk about this ... i picture \"invited blogger from xyz station\" kind of thing)\r\n\r\n**ADMINISTRATOR**\r\nThis is the highest authorized user.  They should be able to:\r\n- Do everything that an ELEVATED_USER can do\r\n- POST/PUT/DELETE anything and everything on the site\r\n- Create new users of any auth level.\r\n\r\nDoes that make sense?  Have I forgotten anything and/or simplified it too much?  I think we can fit most things into this model ...\r\n\r\n----------\r\n**@melodykramer**\r\n\r\nYes, and I agree that we should only have certain users posting to the blog. This seems like a good demarcation. \r\n\r\n----------\r\n**@Gabelsman**\r\n\r\nLGTM"},"comment":{"url":"https://api.github.com/repos/mediapublic/mediapublic/issues/comments/157834928","html_url":"https://github.com/mediapublic/mediapublic/issues/8#issuecomment-157834928","issue_url":"https://api.github.com/repos/mediapublic/mediapublic/issues/8","id":157834928,"user":{"login":"GabeIsman","id":697801,"avatar_url":"https://avatars.githubusercontent.com/u/697801?v=3","gravatar_id":"","url":"https://api.github.com/users/GabeIsman","html_url":"https://github.com/GabeIsman","followers_url":"https://api.github.com/users/GabeIsman/followers","following_url":"https://api.github.com/users/GabeIsman/following{/other_user}","gists_url":"https://api.github.com/users/GabeIsman/gists{/gist_id}","starred_url":"https://api.github.com/users/GabeIsman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GabeIsman/subscriptions","organizations_url":"https://api.github.com/users/GabeIsman/orgs","repos_url":"https://api.github.com/users/GabeIsman/repos","events_url":"https://api.github.com/users/GabeIsman/events{/privacy}","received_events_url":"https://api.github.com/users/GabeIsman/received_events","type":"User","site_admin":false},"created_at":"2015-11-18T19:34:24Z","updated_at":"2015-11-18T19:34:24Z","body":"Pyramid ACLs have been implemented by @ryansb."}}