{"version":3,"file":"index.mjs","sources":["../../../@hive/static-auth/dist/index.mjs"],"sourcesContent":["import { Auth } from \"@hive/sdk/auth\";\nimport { ExpiredCredentialsError, InvalidCredentialsError, MissingCredentialsError } from \"@hive/sdk/errors\";\n\n//#region src/index.ts\n/**\n* `Auth` implementation that validates access against a static set of tokens.\n*/\nvar StaticAuth = class extends Auth {\n\t/**\n\t* Set of tokens that are considered valid.\n\t*/\n\ttokens;\n\t/**\n\t* Create a new `StaticAuth` instance.\n\t*/\n\tconstructor(tokens) {\n\t\tsuper();\n\t\tthis.tokens = new Map();\n\t\tfor (const token of tokens) if (typeof token === \"string\") this.tokens.set(token, {\n\t\t\tid: crypto.randomUUID(),\n\t\t\tname: crypto.randomUUID(),\n\t\t\tscope: null,\n\t\t\ttoken,\n\t\t\texpiresAt: null,\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: null,\n\t\t\tdeletedAt: null\n\t\t});\n\t\telse this.tokens.set(token.token, {\n\t\t\tid: crypto.randomUUID(),\n\t\t\tname: token.name,\n\t\t\tscope: token.scope?.key ?? null,\n\t\t\ttoken: token.token,\n\t\t\texpiresAt: token.expiresAt ?? null,\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: null,\n\t\t\tdeletedAt: null\n\t\t});\n\t}\n\tlist = async () => {\n\t\treturn Array.from(this.tokens.values()).map((credential) => ({\n\t\t\t...credential,\n\t\t\ttoken: \"*\".repeat(32)\n\t\t}));\n\t};\n\tcreate = async (_opts) => {\n\t\tthrow new Error(\"Not implemented.\");\n\t};\n\tupdate = async (_id, _opts) => {\n\t\tthrow new Error(\"Not implemented.\");\n\t};\n\tdelete = async (_id) => {\n\t\tthrow new Error(\"Not implemented.\");\n\t};\n\tisValid = async (token) => {\n\t\tif (!token) throw new MissingCredentialsError();\n\t\tconst credential = this.tokens.get(token);\n\t\tif (!credential) throw new InvalidCredentialsError();\n\t\tif (credential.expiresAt && credential.expiresAt < new Date()) throw new ExpiredCredentialsError();\n\t\treturn {\n\t\t\t...credential,\n\t\t\ttoken: \"*\".repeat(32)\n\t\t};\n\t};\n\thasAccess = async (token, resource) => {\n\t\tif (!token) throw new MissingCredentialsError();\n\t\tconst credential = this.tokens.get(token);\n\t\tif (!credential) throw new InvalidCredentialsError();\n\t\tif (credential.expiresAt && credential.expiresAt < new Date()) throw new ExpiredCredentialsError();\n\t\tif (resource === void 0) return {\n\t\t\t...credential,\n\t\t\ttoken: \"*\".repeat(32)\n\t\t};\n\t\tif (!credential.scope) return {\n\t\t\t...credential,\n\t\t\ttoken: \"*\".repeat(32)\n\t\t};\n\t\tif (resource === null) throw new InvalidCredentialsError();\n\t\tif (!resource.key.startsWith(credential.scope)) throw new InvalidCredentialsError();\n\t\treturn {\n\t\t\t...credential,\n\t\t\ttoken: \"*\".repeat(32)\n\t\t};\n\t};\n};\n\n//#endregion\nexport { StaticAuth };"],"names":[],"mappings":"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"}