{"version":3,"file":"generate-token.mjs","names":["constants"],"sources":["../../../../src/services/auth/csrf/generate-token.ts"],"sourcesContent":["import crypto from \"node:crypto\";\nimport { setCookie } from \"hono/cookie\";\nimport constants from \"../../../constants/constants.js\";\nimport type { LucidHonoContext } from \"../../../types/hono.js\";\nimport { isRequestSecure } from \"../../../utils/helpers/index.js\";\nimport type { ServiceResponse } from \"../../../utils/services/types.js\";\n\nconst generateToken = async (c: LucidHonoContext): ServiceResponse<string> => {\n\tconst token = crypto.randomBytes(32).toString(\"hex\");\n\n\tsetCookie(c, constants.cookies.csrf, token, {\n\t\tmaxAge: constants.csrfExpiration,\n\t\thttpOnly: true,\n\t\tsecure: isRequestSecure(c),\n\t\tsameSite: \"strict\",\n\t\tpath: \"/\",\n\t});\n\n\treturn {\n\t\terror: undefined,\n\t\tdata: token,\n\t};\n};\n\nexport default generateToken;\n"],"mappings":"+KAOA,MAAM,EAAgB,KAAO,IAAiD,CAC7E,IAAM,EAAQ,EAAO,YAAY,EAAE,CAAC,CAAC,SAAS,KAAK,EAUnD,OARA,EAAU,EAAGA,EAAU,QAAQ,KAAM,EAAO,CAC3C,OAAQA,EAAU,eAClB,SAAU,GACV,OAAQ,EAAgB,CAAC,EACzB,SAAU,SACV,KAAM,GACP,CAAC,EAEM,CACN,MAAO,IAAA,GACP,KAAM,CACP,CACD"}