{"action":"created","issue":{"url":"https://api.github.com/repos/guardian/membership-attribute-service/issues/49","labels_url":"https://api.github.com/repos/guardian/membership-attribute-service/issues/49/labels{/name}","comments_url":"https://api.github.com/repos/guardian/membership-attribute-service/issues/49/comments","events_url":"https://api.github.com/repos/guardian/membership-attribute-service/issues/49/events","html_url":"https://github.com/guardian/membership-attribute-service/pull/49","id":116134826,"number":49,"title":"Add content access details to `/user-attributes/me/membership`","user":{"login":"rtyley","id":52038,"avatar_url":"https://avatars.githubusercontent.com/u/52038?v=3","gravatar_id":"","url":"https://api.github.com/users/rtyley","html_url":"https://github.com/rtyley","followers_url":"https://api.github.com/users/rtyley/followers","following_url":"https://api.github.com/users/rtyley/following{/other_user}","gists_url":"https://api.github.com/users/rtyley/gists{/gist_id}","starred_url":"https://api.github.com/users/rtyley/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rtyley/subscriptions","organizations_url":"https://api.github.com/users/rtyley/orgs","repos_url":"https://api.github.com/users/rtyley/repos","events_url":"https://api.github.com/users/rtyley/events{/privacy}","received_events_url":"https://api.github.com/users/rtyley/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-11-10T15:52:33Z","updated_at":"2015-11-11T10:17:29Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/guardian/membership-attribute-service/pulls/49","html_url":"https://github.com/guardian/membership-attribute-service/pull/49","diff_url":"https://github.com/guardian/membership-attribute-service/pull/49.diff","patch_url":"https://github.com/guardian/membership-attribute-service/pull/49.patch"},"body":"With `contentAccess` added, https://members-data-api.theguardian.com/user-attributes/me/membership will look like this:\r\n\r\n```\r\n {\r\n   \"tier\": \"patron\",\r\n   \"membershipNumber\": \"abc\",\r\n   \"userId\": \"123\",\r\n   \"contentAccess\":{\"member\":true,\"paidMember\":true}\r\n }\r\n```\r\n\r\nThis data is going under `/membership` rather than `/features` because it directly discloses that the user is a paying customer, which we're going to consider a piece of personal information.\r\n\r\nNote also that we're going to want Staff to be able to see 'paid' member content, even though they don't pay.\r\n\r\nhttps://trello.com/c/KhTyeT4p/193-restricted-content-change-user-me-endpoint-to-member-data-api\r\n\r\ncc @ostapneko "},"comment":{"url":"https://api.github.com/repos/guardian/membership-attribute-service/issues/comments/155724860","html_url":"https://github.com/guardian/membership-attribute-service/pull/49#issuecomment-155724860","issue_url":"https://api.github.com/repos/guardian/membership-attribute-service/issues/49","id":155724860,"user":{"login":"rtyley","id":52038,"avatar_url":"https://avatars.githubusercontent.com/u/52038?v=3","gravatar_id":"","url":"https://api.github.com/users/rtyley","html_url":"https://github.com/rtyley","followers_url":"https://api.github.com/users/rtyley/followers","following_url":"https://api.github.com/users/rtyley/following{/other_user}","gists_url":"https://api.github.com/users/rtyley/gists{/gist_id}","starred_url":"https://api.github.com/users/rtyley/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rtyley/subscriptions","organizations_url":"https://api.github.com/users/rtyley/orgs","repos_url":"https://api.github.com/users/rtyley/repos","events_url":"https://api.github.com/users/rtyley/events{/privacy}","received_events_url":"https://api.github.com/users/rtyley/received_events","type":"User","site_admin":false},"created_at":"2015-11-11T10:17:29Z","updated_at":"2015-11-11T10:17:29Z","body":"> Is it worth reconciling https://github.com/guardian/membership-attribute-service/blob/master/membership-attribute-service/app/models/Features.scala#L16\r\n> \r\n> with this, and use contentAccess there to make the logic consistent?\r\n\r\nDo you mean the user-whitelisting done at https://github.com/guardian/membership-attribute-service/blob/e2f6718d/membership-attribute-service/app/models/Features.scala#L19 ? I don't think the content access stuff needs the whitelisting- we can just apply it to everyone.\r\n\r\nThere doesn't seem to be much else in Features.scala that relates to contentAccess, especially because we don't want to include contentaccess in there because it gives away whether or not the user is a paying user?"}}