{"record":{"id":"6017d4305c18735e","repo":"sickn33/agentic-awesome-skills","slug":"not-authorized","errorCode":null,"errorMessage":"Not authorized","messagePattern":"Not authorized","errorType":"exception","errorClass":"ForbiddenError","httpStatus":403,"severity":"error","filePath":"skills/graphql/SKILL.md","lineNumber":796,"sourceCode":"    name: (user) => user.name,\n\n    // Private fields - check access\n    email: (user, _, { currentUser }) => {\n      if (!currentUser) return null;\n      if (currentUser.id === user.id) return user.email;\n      if (currentUser.role === 'ADMIN') return user.email;\n      return null;\n    },\n\n    phoneNumber: (user, _, { currentUser }) => {\n      if (currentUser?.id !== user.id) return null;\n      return user.phoneNumber;\n    },\n\n    // Or throw instead of returning null\n    privateData: (user, _, { currentUser }) => {\n      if (currentUser?.id !== user.id) {\n        throw new ForbiddenError('Not authorized');\n      }\n      return user.privateData;\n    }\n  }\n};\n\n### Non-null field failure nullifies entire parent\n\nSeverity: MEDIUM\n\nSituation: You make fields non-null for convenience. A resolver throws or\nreturns null. The error propagates up, nullifying parent objects,\nuntil the whole query response is null or errors out.\n\nSymptoms:\n- Queries return null unexpectedly\n- One error affects unrelated fields\n- Partial data can't be returned","sourceCodeStart":778,"sourceCodeEnd":814,"githubUrl":"https://github.com/sickn33/agentic-awesome-skills/blob/58d857988fcfac6986206bca2b2fe223aa437e4b/skills/graphql/SKILL.md#L778-L814","documentation":"Error \"Not authorized\" thrown in sickn33/agentic-awesome-skills.","triggerScenarios":"Thrown at skills/graphql/SKILL.md:796 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"58d857988fcfac6986206bca2b2fe223aa437e4b","analyzedAt":"2026-08-26T11:55:59.350Z","schemaVersion":2},"datasetVersion":"2026-08-26T14:46:13.012Z"}