From 5e761d3cc31509be3076c28a0e84e13d68f7cd65 Mon Sep 17 00:00:00 2001 From: Adam Setch Date: Sun, 14 Apr 2024 09:32:37 -0400 Subject: [PATCH] apply biome fixes Signed-off-by: Adam Setch --- analyzer.js | 36 +- bin/cdxgen.js | 155 +- bin/evinse.js | 52 +- bin/repl.js | 118 +- bin/verify.js | 18 +- binary.js | 80 +- cbomutils.js | 12 +- ci/nydusd-config.fusedev.json | 49 +- contrib/bom-1.5.schema.json | 455 +- contrib/deno/main.ts | 2 +- contrib/flatpak/sources.json | 66 +- contrib/jsf-0.82.schema.json | 51 +- db.js | 34 +- display.js | 60 +- display.test.js | 4 +- docker.js | 181 +- docker.test.js | 60 +- envcontext.js | 30 +- envcontext.test.js | 2 +- evinser.js | 178 +- evinser.test.js | 48 +- index.js | 919 +- package.json | 7 +- piptree.js | 12 +- postgen.js | 4 +- postgen.test.js | 10 +- protobom.js | 8 +- protobom.test.js | 10 +- server.js | 32 +- test/data/bom-deps.json | 14 +- test/data/bom-gradle-deps.json | 6 +- test/data/bom-java.json | 26 +- test/data/bom-mavenplugins.json | 2 +- test/data/bom-maventree.json | 2 +- test/data/bower.json | 13 +- test/data/compile_commands.json | 1162 +- test/data/composer-2.json | 202 +- test/data/composer.json | 6 +- test/data/ddc-sbom.json | 14 +- test/data/df.json | 7974 +++++------ test/data/jt-sbom.json | 78 +- test/data/openapi/openapi-spec.json | 4541 ++++--- .../package-json/v2-workspace/package.json | 6 +- test/data/package-json/v2/package.json | 5 +- test/data/package-json/v3/package.json | 42 +- test/data/package-lock-v3.json | 4 +- test/data/package-lock2.json | 8 +- test/data/packages.lock.json | 182 +- test/data/packages2.lock.json | 672 +- test/data/packages3.lock.json | 222 +- test/data/privado.json | 11340 ++++++++-------- test/data/project.assets.json | 9 +- test/data/project.assets1.json | 14 +- test/data/swift-deps.json | 12 +- test/data/swift-deps1.json | 4 +- test/data/usages.json | 10322 +++++++------- test/data/vcpkg2.json | 4 +- test/data/vuln-spring-1.5.bom.json | 26 +- tsconfig.json | 26 +- types/analyzer.d.ts | 11 +- types/binary.d.ts | 20 +- types/cbomutils.d.ts | 2 +- types/db.d.ts | 34 +- types/display.d.ts | 2 +- types/docker.d.ts | 84 +- types/envcontext.d.ts | 80 +- types/evinser.d.ts | 4153 +++++- types/index.d.ts | 106 +- types/jest.config.d.ts | 4 +- types/piptree.d.ts | 8 +- types/postgen.d.ts | 2 +- types/protobom.d.ts | 8 +- types/server.d.ts | 2 +- types/utils.d.ts | 798 +- types/validator.d.ts | 2 +- utils.js | 1344 +- utils.test.js | 1372 +- validator.js | 36 +- 78 files changed, 24625 insertions(+), 23074 deletions(-) diff --git a/analyzer.js b/analyzer.js index 5f88a437a..d1e8b9337 100644 --- a/analyzer.js +++ b/analyzer.js @@ -1,8 +1,8 @@ -import { parse } from "@babel/parser"; -import traverse from "@babel/traverse"; -import process from "node:process"; import { lstatSync, readFileSync, readdirSync } from "node:fs"; import { basename, isAbsolute, join, relative, resolve } from "node:path"; +import process from "node:process"; +import { parse } from "@babel/parser"; +import traverse from "@babel/traverse"; const IGNORE_DIRS = process.env.ASTGEN_IGNORE_DIRS ? process.env.ASTGEN_IGNORE_DIRS.split(",") @@ -26,13 +26,13 @@ const IGNORE_DIRS = process.env.ASTGEN_IGNORE_DIRS "codemods", "flow-typed", "i18n", - "__tests__" + "__tests__", ]; const IGNORE_FILE_PATTERN = new RegExp( process.env.ASTGEN_IGNORE_FILE_PATTERN || "(conf|config|test|spec|mock|\\.d)\\.(js|ts|tsx)$", - "i" + "i", ); const getAllFiles = (deep, dir, extn, files, result, regex) => { @@ -70,7 +70,7 @@ const getAllFiles = (deep, dir, extn, files, result, regex) => { extn, readdirSync(file), result, - regex + regex, ); } catch (error) { continue; @@ -105,8 +105,8 @@ const babelParserOptions = { "numericSeparator", "dynamicImport", "jsx", - "typescript" - ] + "typescript", + ], }; /** @@ -119,7 +119,7 @@ const setFileRef = ( src, file, pathnode, - specifiers = [] + specifiers = [], ) => { const pathway = pathnode.value || pathnode.name; const sourceLoc = pathnode.loc?.start; @@ -144,7 +144,7 @@ const setFileRef = ( isExternal: true, fileName: fileRelativeLoc, lineNumber: sourceLoc && sourceLoc.line ? sourceLoc.line : undefined, - columnNumber: sourceLoc && sourceLoc.column ? sourceLoc.column : undefined + columnNumber: sourceLoc && sourceLoc.column ? sourceLoc.column : undefined, }; // replace relative imports with full path let moduleFullPath = pathway; @@ -194,21 +194,21 @@ const fileToParseableCode = (file) => { .replace(vueCommentRegex, (match) => match.replaceAll(/\S/g, " ")) .replace( vueCleaningRegex, - (match) => match.replaceAll(/\S/g, " ").substring(1) + ";" + (match) => match.replaceAll(/\S/g, " ").substring(1) + ";", ) .replace( vueBindRegex, (match, grA, grB, grC) => - grA.replaceAll(/\S/g, " ") + grB + grC.replaceAll(/\S/g, " ") + grA.replaceAll(/\S/g, " ") + grB + grC.replaceAll(/\S/g, " "), ) .replace( vuePropRegex, - (match, grA, grB) => " " + grA.replace(/[.:@]/g, " ") + grB + (match, grA, grB) => " " + grA.replace(/[.:@]/g, " ") + grB, ) .replace( vueTemplateRegex, (match, grA, grB, grC) => - grA + grB.replaceAll("{{", "{ ").replaceAll("}}", " }") + grC + grA + grB.replaceAll("{{", "{ ").replaceAll("}}", " }") + grC, ); } return code; @@ -229,7 +229,7 @@ const parseFileASTTree = (src, file, allImports, allExports) => { src, file, path.node.source, - path.node.specifiers + path.node.specifiers, ); } }, @@ -263,10 +263,10 @@ const parseFileASTTree = (src, file, allImports, allExports) => { src, file, path.node.source, - path.node.specifiers + path.node.specifiers, ); } - } + }, }); }; @@ -282,7 +282,7 @@ const getAllSrcJSAndTSFiles = (src, deep) => getAllFiles(deep, src, ".ts"), getAllFiles(deep, src, ".tsx"), getAllFiles(deep, src, ".vue"), - getAllFiles(deep, src, ".svelte") + getAllFiles(deep, src, ".svelte"), ]); /** diff --git a/bin/cdxgen.js b/bin/cdxgen.js index 105b63c08..97785f302 100755 --- a/bin/cdxgen.js +++ b/bin/cdxgen.js @@ -1,34 +1,34 @@ #!/usr/bin/env node -import { createBom, submitBom } from "../index.js"; -import { validateBom } from "../validator.js"; +import crypto from "node:crypto"; import fs from "node:fs"; import { tmpdir } from "node:os"; import { basename, dirname, join, resolve } from "node:path"; -import jws from "jws"; -import crypto from "node:crypto"; +import process from "node:process"; import { URL, fileURLToPath } from "node:url"; +import { findUpSync } from "find-up"; import globalAgent from "global-agent"; -import process from "node:process"; +import { load as _load } from "js-yaml"; +import jws from "jws"; import { printCallStack, printDependencyTree, printOccurrences, printReachables, printServices, - printTable + printTable, } from "../display.js"; -import { findUpSync } from "find-up"; -import { load as _load } from "js-yaml"; +import { createBom, submitBom } from "../index.js"; import { postProcess } from "../postgen.js"; import { ATOM_DB } from "../utils.js"; +import { validateBom } from "../validator.js"; // Support for config files const configPath = findUpSync([ ".cdxgenrc", ".cdxgen.json", ".cdxgen.yml", - ".cdxgen.yaml" + ".cdxgen.yaml", ]); let config = {}; if (configPath) { @@ -57,150 +57,151 @@ const args = yargs(hideBin(process.argv)) .option("output", { alias: "o", description: "Output file. Default bom.json", - default: "bom.json" + default: "bom.json", }) .option("evinse-output", { description: "Create bom with evidence as a separate file. Default bom.json", default: "bom.json", - hidden: true + hidden: true, }) .option("type", { alias: "t", - description: "Project type" + description: "Project type", }) .option("recurse", { alias: "r", type: "boolean", default: true, description: - "Recurse mode suitable for mono-repos. Defaults to true. Pass --no-recurse to disable." + "Recurse mode suitable for mono-repos. Defaults to true. Pass --no-recurse to disable.", }) .option("print", { alias: "p", type: "boolean", - description: "Print the SBOM as a table with tree." + description: "Print the SBOM as a table with tree.", }) .option("resolve-class", { alias: "c", type: "boolean", - description: "Resolve class names for packages. jars only for now." + description: "Resolve class names for packages. jars only for now.", }) .option("deep", { type: "boolean", description: - "Perform deep searches for components. Useful while scanning C/C++ apps, live OS and oci images." + "Perform deep searches for components. Useful while scanning C/C++ apps, live OS and oci images.", }) .option("server-url", { - description: "Dependency track url. Eg: https://deptrack.cyclonedx.io" + description: "Dependency track url. Eg: https://deptrack.cyclonedx.io", }) .option("api-key", { - description: "Dependency track api key" + description: "Dependency track api key", }) .option("project-group", { - description: "Dependency track project group" + description: "Dependency track project group", }) .option("project-name", { - description: "Dependency track project name. Default use the directory name" + description: + "Dependency track project name. Default use the directory name", }) .option("project-version", { description: "Dependency track project version", default: "", - type: "string" + type: "string", }) .option("project-id", { description: "Dependency track project id. Either provide the id or the project name and version together", - type: "string" + type: "string", }) .option("parent-project-id", { description: "Dependency track parent project id", - type: "string" + type: "string", }) .option("required-only", { type: "boolean", description: - "Include only the packages with required scope on the SBOM. Would set compositions.aggregate to incomplete unless --no-auto-compositions is passed." + "Include only the packages with required scope on the SBOM. Would set compositions.aggregate to incomplete unless --no-auto-compositions is passed.", }) .option("fail-on-error", { type: "boolean", - description: "Fail if any dependency extractor fails." + description: "Fail if any dependency extractor fails.", }) .option("no-babel", { type: "boolean", description: - "Do not use babel to perform usage analysis for JavaScript/TypeScript projects." + "Do not use babel to perform usage analysis for JavaScript/TypeScript projects.", }) .option("generate-key-and-sign", { type: "boolean", description: - "Generate an RSA public/private key pair and then sign the generated SBOM using JSON Web Signatures." + "Generate an RSA public/private key pair and then sign the generated SBOM using JSON Web Signatures.", }) .option("server", { type: "boolean", - description: "Run cdxgen as a server" + description: "Run cdxgen as a server", }) .option("server-host", { description: "Listen address", - default: "127.0.0.1" + default: "127.0.0.1", }) .option("server-port", { description: "Listen port", - default: "9090" + default: "9090", }) .option("install-deps", { type: "boolean", description: - "Install dependencies automatically for some projects. Defaults to true but disabled for containers and oci scans. Use --no-install-deps to disable this feature." + "Install dependencies automatically for some projects. Defaults to true but disabled for containers and oci scans. Use --no-install-deps to disable this feature.", }) .option("validate", { type: "boolean", default: true, description: - "Validate the generated SBOM using json schema. Defaults to true. Pass --no-validate to disable." + "Validate the generated SBOM using json schema. Defaults to true. Pass --no-validate to disable.", }) .option("evidence", { type: "boolean", default: false, - description: "Generate SBOM with evidence for supported languages." + description: "Generate SBOM with evidence for supported languages.", }) .option("deps-slices-file", { description: "Path for the parsedeps slice file created by atom.", default: "deps.slices.json", - hidden: true + hidden: true, }) .option("usages-slices-file", { description: "Path for the usages slices file created by atom.", default: "usages.slices.json", - hidden: true + hidden: true, }) .option("data-flow-slices-file", { description: "Path for the data-flow slices file created by atom.", default: "data-flow.slices.json", - hidden: true + hidden: true, }) .option("reachables-slices-file", { description: "Path for the reachables slices file created by atom.", default: "reachables.slices.json", - hidden: true + hidden: true, }) .option("spec-version", { description: "CycloneDX Specification version to use. Defaults to 1.5", default: 1.5, - type: "number" + type: "number", }) .option("filter", { description: - "Filter components containing this word in purl or component.properties.value. Multiple values allowed." + "Filter components containing this word in purl or component.properties.value. Multiple values allowed.", }) .option("only", { description: - "Include components only containing this word in purl. Useful to generate BOM with first party components alone. Multiple values allowed." + "Include components only containing this word in purl. Useful to generate BOM with first party components alone. Multiple values allowed.", }) .option("author", { description: "The person(s) who created the BOM. Set this value if you're intending the modify the BOM and claim authorship.", - default: "OWASP Foundation" + default: "OWASP Foundation", }) .option("profile", { description: "BOM profile to use for generation. Default generic.", @@ -211,37 +212,37 @@ const args = yargs(hideBin(process.argv)) "operational", "threat-modeling", "license-compliance", - "generic" - ] + "generic", + ], }) .option("lifecycle", { description: "Product lifecycle for the generated BOM.", hidden: true, - choices: ["pre-build", "build", "post-build"] + choices: ["pre-build", "build", "post-build"], }) .option("exclude", { - description: "Additional glob pattern(s) to ignore" + description: "Additional glob pattern(s) to ignore", }) .option("export-proto", { type: "boolean", default: false, description: "Serialize and export BOM as protobuf binary.", - hidden: true + hidden: true, }) .option("proto-bin-file", { description: "Path for the serialized protobuf binary.", default: "bom.cdx", - hidden: true + hidden: true, }) .option("include-formulation", { type: "boolean", default: false, - description: "Generate formulation section using git metadata." + description: "Generate formulation section using git metadata.", }) .option("include-crypto", { type: "boolean", default: false, - description: "Include crypto libraries found under formulation." + description: "Include crypto libraries found under formulation.", }) .completion("completion", "Generate bash/zsh completion") .array("filter") @@ -252,11 +253,11 @@ const args = yargs(hideBin(process.argv)) type: "boolean", default: true, description: - "Automatically set compositions when the BOM was filtered. Defaults to true" + "Automatically set compositions when the BOM was filtered. Defaults to true", }) .example([ ["$0 -t java .", "Generate a Java SBOM for the current directory"], - ["$0 --server", "Run cdxgen as a server"] + ["$0 --server", "Run cdxgen as a server"], ]) .epilogue("for documentation, visit https://cyclonedx.github.io/cdxgen") .config(config) @@ -269,7 +270,7 @@ const args = yargs(hideBin(process.argv)) if (args.version) { const packageJsonAsString = fs.readFileSync( join(dirName, "..", "package.json"), - "utf-8" + "utf-8", ); const packageJson = JSON.parse(packageJsonAsString); @@ -307,7 +308,7 @@ const options = Object.assign({}, args, { multiProject: args.recurse, noBabel: args.noBabel || args.babel === false, project: args.projectId, - deep: args.deep || args.evidence + deep: args.deep || args.evidence, }); if (process.argv[1].includes("cbom")) { @@ -369,11 +370,11 @@ const applyAdvancedOptions = (options) => { "apk", "aab", "go", - "golang" + "golang", ].includes(options.projectType) ) { console.log( - "PREVIEW: post-build lifecycle SBOM generation is supported only for android, dotnet, and go projects. Please specify the type using the -t argument." + "PREVIEW: post-build lifecycle SBOM generation is supported only for android, dotnet, and go projects. Please specify the type using the -t argument.", ); process.exit(1); } @@ -401,20 +402,20 @@ const checkPermissions = (filePath) => { if (!process.permission.has("fs.read", filePath)) { console.log( `FileSystemRead permission required. Please invoke with the argument --allow-fs-read="${resolve( - filePath - )}"` + filePath, + )}"`, ); return false; } if (!process.permission.has("fs.write", tmpdir())) { console.log( - `FileSystemWrite permission required. Please invoke with the argument --allow-fs-write="${tmpdir()}"` + `FileSystemWrite permission required. Please invoke with the argument --allow-fs-write="${tmpdir()}"`, ); return false; } if (!process.permission.has("child")) { console.log( - "ChildProcess permission is missing. This is required to spawn commands for some languages. Please invoke with the argument --allow-child-process" + "ChildProcess permission is missing. This is required to spawn commands for some languages. Please invoke with the argument --allow-child-process", ); } return true; @@ -463,7 +464,7 @@ const checkPermissions = (filePath) => { ["os", "docker", "universal"].includes(options.projectType) || process.env.CI ? null - : 2 + : 2, ); fs.writeFileSync(jsonFile, jsonPayload); } @@ -490,19 +491,19 @@ const checkPermissions = (filePath) => { modulusLength: 4096, publicKeyEncoding: { type: "spki", - format: "pem" + format: "pem", }, privateKeyEncoding: { type: "pkcs8", - format: "pem" - } + format: "pem", + }, }); fs.writeFileSync(publicKeyFile, publicKey); fs.writeFileSync(privateKeyFile, privateKey); console.log( "Created public/private key pairs for testing purposes", publicKeyFile, - privateKeyFile + privateKeyFile, ); privateKeyToUse = privateKey; jwkPublicKey = crypto @@ -511,7 +512,7 @@ const checkPermissions = (filePath) => { } else { privateKeyToUse = fs.readFileSync( process.env.SBOM_SIGN_PRIVATE_KEY, - "utf8" + "utf8", ); if ( process.env.SBOM_SIGN_PUBLIC_KEY && @@ -519,7 +520,7 @@ const checkPermissions = (filePath) => { ) { jwkPublicKey = crypto .createPublicKey( - fs.readFileSync(process.env.SBOM_SIGN_PUBLIC_KEY, "utf8") + fs.readFileSync(process.env.SBOM_SIGN_PUBLIC_KEY, "utf8"), ) .export({ format: "jwk" }); } @@ -532,11 +533,11 @@ const checkPermissions = (filePath) => { const compSignature = jws.sign({ header: { alg }, payload: comp, - privateKey: privateKeyToUse + privateKey: privateKeyToUse, }); const compSignatureBlock = { algorithm: alg, - value: compSignature + value: compSignature, }; if (jwkPublicKey) { compSignatureBlock.publicKey = jwkPublicKey; @@ -546,12 +547,12 @@ const checkPermissions = (filePath) => { const signature = jws.sign({ header: { alg }, payload: JSON.stringify(bomJsonUnsignedObj, null, 2), - privateKey: privateKeyToUse + privateKey: privateKeyToUse, }); if (signature) { const signatureBlock = { algorithm: alg, - value: signature + value: signature, }; if (jwkPublicKey) { signatureBlock.publicKey = jwkPublicKey; @@ -559,25 +560,25 @@ const checkPermissions = (filePath) => { bomJsonUnsignedObj.signature = signatureBlock; fs.writeFileSync( jsonFile, - JSON.stringify(bomJsonUnsignedObj, null, null) + JSON.stringify(bomJsonUnsignedObj, null, null), ); if (publicKeyFile) { // Verifying this signature const signatureVerification = jws.verify( signature, alg, - fs.readFileSync(publicKeyFile, "utf8") + fs.readFileSync(publicKeyFile, "utf8"), ); if (signatureVerification) { console.log( "SBOM signature is verifiable with the public key and the algorithm", publicKeyFile, - alg + alg, ); } else { console.log("SBOM signature verification was unsuccessful"); console.log( - "Check if the public key was exported in PEM format" + "Check if the public key was exported in PEM format", ); } } @@ -617,17 +618,17 @@ const checkPermissions = (filePath) => { dataFlowSlicesFile: options.dataFlowSlicesFile, reachablesSlicesFile: options.reachablesSlicesFile, includeCrypto: options.includeCrypto, - specVersion: options.specVersion + specVersion: options.specVersion, }; const dbObjMap = await evinserModule.prepareDB(evinseOptions); if (dbObjMap) { const sliceArtefacts = await evinserModule.analyzeProject( dbObjMap, - evinseOptions + evinseOptions, ); const evinseJson = evinserModule.createEvinseFile( sliceArtefacts, - evinseOptions + evinseOptions, ); bomNSData.bomJson = evinseJson; if (options.print && evinseJson) { diff --git a/bin/evinse.js b/bin/evinse.js index 126efe5e9..2e24ac323 100755 --- a/bin/evinse.js +++ b/bin/evinse.js @@ -1,28 +1,28 @@ #!/usr/bin/env node +import fs from "node:fs"; +import process from "node:process"; +import { findUpSync } from "find-up"; +import { load as _load } from "js-yaml"; // Evinse (Evinse Verification Is Nearly SBOM Evidence) import yargs from "yargs"; import { hideBin } from "yargs/helpers"; -import fs from "node:fs"; -import process from "node:process"; -import { analyzeProject, createEvinseFile, prepareDB } from "../evinser.js"; -import { validateBom } from "../validator.js"; import { printCallStack, printOccurrences, printReachables, - printServices + printServices, } from "../display.js"; +import { analyzeProject, createEvinseFile, prepareDB } from "../evinser.js"; import { ATOM_DB } from "../utils.js"; -import { findUpSync } from "find-up"; -import { load as _load } from "js-yaml"; +import { validateBom } from "../validator.js"; // Support for config files const configPath = findUpSync([ ".cdxgenrc", ".cdxgen.json", ".cdxgen.yml", - ".cdxgen.yaml" + ".cdxgen.yaml", ]); let config = {}; if (configPath) { @@ -42,12 +42,12 @@ const args = yargs(hideBin(process.argv)) .option("input", { alias: "i", description: "Input SBOM file. Default bom.json", - default: "bom.json" + default: "bom.json", }) .option("output", { alias: "o", description: "Output file. Default bom.evinse.json", - default: "bom.evinse.json" + default: "bom.evinse.json", }) .option("language", { alias: "l", @@ -64,72 +64,72 @@ const args = yargs(hideBin(process.argv)) "android", "c", "cpp", - "php" - ] + "php", + ], }) .option("db-path", { description: `Atom slices DB path. Default ${ATOM_DB}`, - default: process.env.ATOM_DB || ATOM_DB + default: process.env.ATOM_DB || ATOM_DB, }) .option("force", { description: "Force creation of the database", default: false, - type: "boolean" + type: "boolean", }) .option("skip-maven-collector", { description: "Skip collecting jars from maven and gradle caches. Can speedup re-runs if the data was cached previously.", default: false, - type: "boolean" + type: "boolean", }) .option("with-deep-jar-collector", { description: "Enable collection of all jars from maven cache directory. Useful to improve the recall for callstack evidence.", default: false, - type: "boolean" + type: "boolean", }) .option("annotate", { description: "Include contents of atom slices as annotations", default: false, - type: "boolean" + type: "boolean", }) .option("with-data-flow", { description: "Enable inter-procedural data-flow slicing.", default: false, - type: "boolean" + type: "boolean", }) .option("with-reachables", { description: "Enable auto-tagged reachable slicing. Requires SBOM generated with --deep mode.", default: false, - type: "boolean" + type: "boolean", }) .option("usages-slices-file", { description: "Use an existing usages slices file.", - default: "usages.slices.json" + default: "usages.slices.json", }) .option("data-flow-slices-file", { description: "Use an existing data-flow slices file.", - default: "data-flow.slices.json" + default: "data-flow.slices.json", }) .option("reachables-slices-file", { description: "Use an existing reachables slices file.", - default: "reachables.slices.json" + default: "reachables.slices.json", }) .option("print", { alias: "p", type: "boolean", - description: "Print the evidences as table" + description: "Print the evidences as table", }) .example([ [ "$0 -i bom.json -o bom.evinse.json -l java .", - "Generate a Java SBOM with evidence for the current directory" + "Generate a Java SBOM with evidence for the current directory", ], [ "$0 -i bom.json -o bom.evinse.json -l java --with-reachables .", - "Generate a Java SBOM with occurrence and reachable evidence for the current directory" - ] + "Generate a Java SBOM with occurrence and reachable evidence for the current directory", + ], ]) .completion("completion", "Generate bash/zsh completion") .epilogue("for documentation, visit https://cyclonedx.github.io/cdxgen") diff --git a/bin/repl.js b/bin/repl.js index 24d0e90d0..7e614ae31 100755 --- a/bin/repl.js +++ b/bin/repl.js @@ -1,22 +1,22 @@ #!/usr/bin/env node -import repl from "node:repl"; -import jsonata from "jsonata"; import fs from "node:fs"; -import { join } from "node:path"; import { homedir, tmpdir } from "node:os"; +import { join } from "node:path"; import process from "node:process"; +import repl from "node:repl"; +import jsonata from "jsonata"; -import { createBom } from "../index.js"; -import { validateBom } from "../validator.js"; import { printCallStack, printDependencyTree, printOSTable, printOccurrences, printServices, - printTable + printTable, } from "../display.js"; +import { createBom } from "../index.js"; +import { validateBom } from "../validator.js"; const options = { useColors: true, @@ -24,7 +24,7 @@ const options = { preview: true, prompt: "cdx ↝ ", ignoreUndefined: true, - useGlobal: true + useGlobal: true, }; // Use canonical terminal settings to support custom readlines @@ -63,9 +63,7 @@ export const importSbom = (sbomOrPath) => { sbom = JSON.parse(fs.readFileSync(sbomOrPath, "utf-8")); console.log(`✅ SBOM imported successfully from ${sbomOrPath}`); } catch (e) { - console.log( - `⚠ Unable to import the SBOM from ${sbomOrPath} due to ${e}` - ); + console.log(`⚠ Unable to import the SBOM from ${sbomOrPath} due to ${e}`); } } else { console.log(`⚠ ${sbomOrPath} is invalid.`); @@ -91,10 +89,10 @@ if (historyFile) { (err) => { if (err) { console.log( - "⚠ REPL history would not be persisted for this session. Set the environment variable CDXGEN_REPL_HISTORY to specify a custom history file" + "⚠ REPL history would not be persisted for this session. Set the environment variable CDXGEN_REPL_HISTORY to specify a custom history file", ); } - } + }, ); } cdxgenRepl.defineCommand("create", { @@ -106,7 +104,7 @@ cdxgenRepl.defineCommand("create", { const bomNSData = await createBom(sbomOrPath, { multiProject: true, installDeps: true, - output: bomFile + output: bomFile, }); if (bomNSData) { sbom = bomNSData.bomJson; @@ -116,7 +114,7 @@ cdxgenRepl.defineCommand("create", { console.log("BOM was not generated successfully"); } this.displayPrompt(); - } + }, }); cdxgenRepl.defineCommand("import", { help: "import an existing BOM", @@ -124,13 +122,13 @@ cdxgenRepl.defineCommand("import", { this.clearBufferedCommand(); importSbom(sbomOrPath); this.displayPrompt(); - } + }, }); cdxgenRepl.defineCommand("exit", { help: "exit", action() { this.close(); - } + }, }); cdxgenRepl.defineCommand("sbom", { help: "show the current sbom", @@ -139,11 +137,11 @@ cdxgenRepl.defineCommand("sbom", { console.log(sbom); } else { console.log( - "⚠ No BOM is loaded. Use .import command to import an existing BOM" + "⚠ No BOM is loaded. Use .import command to import an existing BOM", ); } this.displayPrompt(); - } + }, }); cdxgenRepl.defineCommand("search", { help: "search the current bom. performs case insensitive search on various attributes.", @@ -165,17 +163,15 @@ cdxgenRepl.defineCommand("search", { console.log(e); } } else { - console.log( - "⚠ Specify the search string. Eg: .search " - ); + console.log("⚠ Specify the search string. Eg: .search "); } } else { console.log( - "⚠ No BOM is loaded. Use .import command to import an existing BOM" + "⚠ No BOM is loaded. Use .import command to import an existing BOM", ); } this.displayPrompt(); - } + }, }); cdxgenRepl.defineCommand("sort", { help: "sort the current bom based on the attribute", @@ -205,11 +201,11 @@ cdxgenRepl.defineCommand("sort", { } } else { console.log( - "⚠ No BOM is loaded. Use .import command to import an existing BOM" + "⚠ No BOM is loaded. Use .import command to import an existing BOM", ); } this.displayPrompt(); - } + }, }); cdxgenRepl.defineCommand("query", { help: "query the current bom using jsonata expression", @@ -224,16 +220,16 @@ cdxgenRepl.defineCommand("query", { } } else { console.log( - "⚠ Specify the search specification in jsonata format. Eg: .query metadata.component" + "⚠ Specify the search specification in jsonata format. Eg: .query metadata.component", ); } } else { console.log( - "⚠ No BOM is loaded. Use .import command to import an existing BOM" + "⚠ No BOM is loaded. Use .import command to import an existing BOM", ); } this.displayPrompt(); - } + }, }); cdxgenRepl.defineCommand("print", { help: "print the current bom as a table", @@ -242,11 +238,11 @@ cdxgenRepl.defineCommand("print", { printTable(sbom); } else { console.log( - "⚠ No BOM is loaded. Use .import command to import an existing BOM" + "⚠ No BOM is loaded. Use .import command to import an existing BOM", ); } this.displayPrompt(); - } + }, }); cdxgenRepl.defineCommand("tree", { help: "display the dependency tree", @@ -255,11 +251,11 @@ cdxgenRepl.defineCommand("tree", { printDependencyTree(sbom); } else { console.log( - "⚠ No BOM is loaded. Use .import command to import an existing BOM" + "⚠ No BOM is loaded. Use .import command to import an existing BOM", ); } this.displayPrompt(); - } + }, }); cdxgenRepl.defineCommand("validate", { help: "validate the bom using jsonschema", @@ -271,11 +267,11 @@ cdxgenRepl.defineCommand("validate", { } } else { console.log( - "⚠ No BOM is loaded. Use .import command to import an existing BOM" + "⚠ No BOM is loaded. Use .import command to import an existing BOM", ); } this.displayPrompt(); - } + }, }); cdxgenRepl.defineCommand("save", { help: "save the bom to a new file", @@ -288,11 +284,11 @@ cdxgenRepl.defineCommand("save", { console.log(`BOM saved successfully to ${saveToFile}`); } else { console.log( - "⚠ No BOM is loaded. Use .import command to import an existing BOM" + "⚠ No BOM is loaded. Use .import command to import an existing BOM", ); } this.displayPrompt(); - } + }, }); cdxgenRepl.defineCommand("update", { help: "update the bom components based on the given query", @@ -316,11 +312,11 @@ cdxgenRepl.defineCommand("update", { console.log("BOM updated successfully."); } else { console.log( - "⚠ No BOM is loaded. Use .import command to import an existing BOM" + "⚠ No BOM is loaded. Use .import command to import an existing BOM", ); } this.displayPrompt(); - } + }, }); cdxgenRepl.defineCommand("occurrences", { help: "view components with evidence.occurrences", @@ -328,12 +324,12 @@ cdxgenRepl.defineCommand("occurrences", { if (sbom) { try { const expression = jsonata( - "components[$count(evidence.occurrences) > 0]" + "components[$count(evidence.occurrences) > 0]", ); let components = await expression.evaluate(sbom); if (!components) { console.log( - "No results found. Use evinse command to generate an BOM with evidence." + "No results found. Use evinse command to generate an BOM with evidence.", ); } else { if (!Array.isArray(components)) { @@ -346,27 +342,27 @@ cdxgenRepl.defineCommand("occurrences", { } } else { console.log( - "⚠ No BOM is loaded. Use .import command to import an evinse BOM" + "⚠ No BOM is loaded. Use .import command to import an evinse BOM", ); } this.displayPrompt(); - } + }, }); cdxgenRepl.defineCommand("discord", { help: "display the discord invite link for support", action() { console.log("Head to https://discord.gg/pF4BYWEJcS for support"); this.displayPrompt(); - } + }, }); cdxgenRepl.defineCommand("sponsor", { help: "display the sponsorship link to fund this project", action() { console.log( - "Hey, thanks a lot for considering! https://github.com/sponsors/prabhu" + "Hey, thanks a lot for considering! https://github.com/sponsors/prabhu", ); this.displayPrompt(); - } + }, }); cdxgenRepl.defineCommand("callstack", { help: "view components with evidence.callstack", @@ -374,12 +370,12 @@ cdxgenRepl.defineCommand("callstack", { if (sbom) { try { const expression = jsonata( - "components[$count(evidence.callstack.frames) > 0]" + "components[$count(evidence.callstack.frames) > 0]", ); let components = await expression.evaluate(sbom); if (!components) { console.log( - "callstack evidence was not found. Use evinse command to generate an SBOM with evidence." + "callstack evidence was not found. Use evinse command to generate an SBOM with evidence.", ); } else { if (!Array.isArray(components)) { @@ -392,11 +388,11 @@ cdxgenRepl.defineCommand("callstack", { } } else { console.log( - "⚠ No SBOM is loaded. Use .import command to import an evinse SBOM" + "⚠ No SBOM is loaded. Use .import command to import an evinse SBOM", ); } this.displayPrompt(); - } + }, }); cdxgenRepl.defineCommand("services", { help: "view services", @@ -407,7 +403,7 @@ cdxgenRepl.defineCommand("services", { let services = await expression.evaluate(sbom); if (!services) { console.log( - "No services found. Use evinse command to generate an SBOM with evidence." + "No services found. Use evinse command to generate an SBOM with evidence.", ); } else { if (!Array.isArray(services)) { @@ -420,11 +416,11 @@ cdxgenRepl.defineCommand("services", { } } else { console.log( - "⚠ No SBOM is loaded. Use .import command to import an evinse SBOM" + "⚠ No SBOM is loaded. Use .import command to import an evinse SBOM", ); } this.displayPrompt(); - } + }, }); cdxgenRepl.defineCommand("osinfocategories", { help: "view the category names for the OS info from the obom", @@ -432,12 +428,12 @@ cdxgenRepl.defineCommand("osinfocategories", { if (sbom) { try { const expression = jsonata( - '$distinct(components.properties[name="cdx:osquery:category"].value)' + '$distinct(components.properties[name="cdx:osquery:category"].value)', ); const catgories = await expression.evaluate(sbom); if (!catgories) { console.log( - "Unable to retrieve the os info categories. Only OBOMs generated by cdxgen are supported by this tool." + "Unable to retrieve the os info categories. Only OBOMs generated by cdxgen are supported by this tool.", ); } else { console.log(catgories.join("\n")); @@ -446,12 +442,10 @@ cdxgenRepl.defineCommand("osinfocategories", { console.log(e); } } else { - console.log( - "⚠ No OBOM is loaded. Use .import command to import an OBOM" - ); + console.log("⚠ No OBOM is loaded. Use .import command to import an OBOM"); } this.displayPrompt(); - } + }, }); // Let's dynamically define more commands from the queries @@ -522,7 +516,7 @@ cdxgenRepl.defineCommand("osinfocategories", { "wmi_cli_event_consumers", "wmi_cli_event_consumers_snapshot", "wmi_event_filters", - "wmi_filter_consumer_binding" + "wmi_filter_consumer_binding", ].forEach((c) => { cdxgenRepl.defineCommand(c, { help: `query the ${c} category from the OS info`, @@ -530,7 +524,7 @@ cdxgenRepl.defineCommand("osinfocategories", { if (sbom) { try { const expression = jsonata( - `components[properties[name="cdx:osquery:category" and value="${c}"]]` + `components[properties[name="cdx:osquery:category" and value="${c}"]]`, ); let components = await expression.evaluate(sbom); if (!components) { @@ -546,10 +540,10 @@ cdxgenRepl.defineCommand("osinfocategories", { } } else { console.log( - "⚠ No OBOM is loaded. Use .import command to import an OBOM" + "⚠ No OBOM is loaded. Use .import command to import an OBOM", ); } this.displayPrompt(); - } + }, }); }); diff --git a/bin/verify.js b/bin/verify.js index 52bf14666..155528530 100755 --- a/bin/verify.js +++ b/bin/verify.js @@ -1,12 +1,12 @@ #!/usr/bin/env node -import yargs from "yargs"; -import { hideBin } from "yargs/helpers"; import fs from "node:fs"; -import jws from "jws"; +import { dirname, join } from "node:path"; import process from "node:process"; import { URL, fileURLToPath } from "node:url"; -import { dirname, join } from "node:path"; +import jws from "jws"; +import yargs from "yargs"; +import { hideBin } from "yargs/helpers"; let url = import.meta.url; if (!url.startsWith("file://")) { @@ -18,11 +18,11 @@ const args = yargs(hideBin(process.argv)) .option("input", { alias: "i", default: "bom.json", - description: "Input json to validate. Default bom.json" + description: "Input json to validate. Default bom.json", }) .option("public-key", { default: "public.key", - description: "Public key in PEM format. Default public.key" + description: "Public key in PEM format. Default public.key", }) .completion("completion", "Generate bash/zsh completion") .epilogue("for documentation, visit https://cyclonedx.github.io/cdxgen") @@ -33,7 +33,7 @@ const args = yargs(hideBin(process.argv)) if (args.version) { const packageJsonAsString = fs.readFileSync( join(dirName, "..", "package.json"), - "utf-8" + "utf-8", ); const packageJson = JSON.parse(packageJsonAsString); @@ -50,7 +50,7 @@ for (const comp of bomJson.components) { const validationResult = jws.verify( compSignature, comp.signature.algorithm, - fs.readFileSync(args.publicKey, "utf8") + fs.readFileSync(args.publicKey, "utf8"), ); if (!validationResult) { console.log(`${comp["bom-ref"]} signature is invalid!`); @@ -71,7 +71,7 @@ if (!bomSignature) { const validationResult = jws.verify( bomSignature, bomJson.signature.algorithm, - fs.readFileSync(args.publicKey, "utf8") + fs.readFileSync(args.publicKey, "utf8"), ); if (validationResult) { console.log("Signature is valid!"); diff --git a/binary.js b/binary.js index 3d5680634..4bdb3fa89 100644 --- a/binary.js +++ b/binary.js @@ -1,23 +1,23 @@ -import { arch as _arch, platform as _platform, homedir, tmpdir } from "node:os"; -import process from "node:process"; import { Buffer } from "node:buffer"; +import { spawnSync } from "node:child_process"; import { existsSync, + lstatSync, mkdirSync, mkdtempSync, readFileSync, rmSync, - lstatSync } from "node:fs"; +import { arch as _arch, platform as _platform, homedir, tmpdir } from "node:os"; import { basename, dirname, join, resolve } from "node:path"; -import { spawnSync } from "node:child_process"; +import process from "node:process"; import { PackageURL } from "packageurl-js"; import { DEBUG_MODE, TIMEOUT_MS, - findLicenseId, adjustLicenseInformation, - isSpdxLicenseExpression + findLicenseId, + isSpdxLicenseExpression, } from "./utils.js"; import { URL, fileURLToPath } from "node:url"; @@ -84,8 +84,8 @@ if ( "node_modules", "@cyclonedx", "cdxgen-plugins-bin" + pluginsBinSuffix, - "plugins" - ) + "plugins", + ), ) && existsSync( join( @@ -94,8 +94,8 @@ if ( "@cyclonedx", "cdxgen-plugins-bin" + pluginsBinSuffix, "plugins", - "goversion" - ) + "goversion", + ), ) ) { CDXGEN_PLUGINS_DIR = join( @@ -103,7 +103,7 @@ if ( "node_modules", "@cyclonedx", "cdxgen-plugins-bin" + pluginsBinSuffix, - "plugins" + "plugins", ); } @@ -114,8 +114,8 @@ if (!CDXGEN_PLUGINS_DIR) { isWin ? "npm.cmd" : "npm", ["root", "--quiet", "-g"], { - encoding: "utf-8" - } + encoding: "utf-8", + }, ); if (result) { const stdout = result.stdout; @@ -129,7 +129,7 @@ if (!CDXGEN_PLUGINS_DIR) { globalNodePath, "@cyclonedx", "cdxgen-plugins-bin" + pluginsBinSuffix, - "plugins" + "plugins", ); if (existsSync(globalPlugins)) { CDXGEN_PLUGINS_DIR = globalPlugins; @@ -143,7 +143,7 @@ if (!CDXGEN_PLUGINS_DIR) { if (!CDXGEN_PLUGINS_DIR) { if (DEBUG_MODE) { console.warn( - "cdxgen plugins was not found. Please install with npm install -g @cyclonedx/cdxgen-plugins-bin" + "cdxgen plugins was not found. Please install with npm install -g @cyclonedx/cdxgen-plugins-bin", ); } CDXGEN_PLUGINS_DIR = ""; @@ -153,7 +153,7 @@ if (existsSync(join(CDXGEN_PLUGINS_DIR, "goversion"))) { GOVERSION_BIN = join( CDXGEN_PLUGINS_DIR, "goversion", - "goversion-" + platform + "-" + arch + extn + "goversion-" + platform + "-" + arch + extn, ); } let TRIVY_BIN = null; @@ -161,7 +161,7 @@ if (existsSync(join(CDXGEN_PLUGINS_DIR, "trivy"))) { TRIVY_BIN = join( CDXGEN_PLUGINS_DIR, "trivy", - "trivy-cdxgen-" + platform + "-" + arch + extn + "trivy-cdxgen-" + platform + "-" + arch + extn, ); } else if (process.env.TRIVY_CMD) { TRIVY_BIN = process.env.TRIVY_CMD; @@ -171,7 +171,7 @@ if (existsSync(join(CDXGEN_PLUGINS_DIR, "cargo-auditable"))) { CARGO_AUDITABLE_BIN = join( CDXGEN_PLUGINS_DIR, "cargo-auditable", - "cargo-auditable-cdxgen-" + platform + "-" + arch + extn + "cargo-auditable-cdxgen-" + platform + "-" + arch + extn, ); } else if (process.env.CARGO_AUDITABLE_CMD) { CARGO_AUDITABLE_BIN = process.env.CARGO_AUDITABLE_CMD; @@ -181,7 +181,7 @@ if (existsSync(join(CDXGEN_PLUGINS_DIR, "osquery"))) { OSQUERY_BIN = join( CDXGEN_PLUGINS_DIR, "osquery", - "osqueryi-" + platform + "-" + arch + extn + "osqueryi-" + platform + "-" + arch + extn, ); // osqueryi-darwin-amd64.app/Contents/MacOS/osqueryd if (platform === "darwin") { @@ -199,7 +199,7 @@ if (existsSync(join(CDXGEN_PLUGINS_DIR, "dosai"))) { DOSAI_BIN = join( CDXGEN_PLUGINS_DIR, "dosai", - "dosai-" + platformToUse + "-" + arch + extn + "dosai-" + platformToUse + "-" + arch + extn, ); } else if (process.env.DOSAI_CMD) { DOSAI_BIN = process.env.DOSAI_CMD; @@ -271,13 +271,13 @@ const OS_DISTRO_ALIAS = { "debian-2": "hamm", "debian-1.3": "bo", "debian-1.2": "rex", - "debian-1.1": "buzz" + "debian-1.1": "buzz", }; export function getGoBuildInfo(src) { if (GOVERSION_BIN) { let result = spawnSync(GOVERSION_BIN, [src], { - encoding: "utf-8" + encoding: "utf-8", }); if (result.status !== 0 || result.error || !result.stdout) { if (result.stdout || result.stderr) { @@ -287,7 +287,7 @@ export function getGoBuildInfo(src) { console.log("Falling back to go version command"); } result = spawnSync("go", ["version", "-v", "-m", src], { - encoding: "utf-8" + encoding: "utf-8", }); if (result.status !== 0 || result.error) { if (result.stdout || result.stderr) { @@ -309,7 +309,7 @@ export function getGoBuildInfo(src) { export function getCargoAuditableInfo(src) { if (CARGO_AUDITABLE_BIN) { const result = spawnSync(CARGO_AUDITABLE_BIN, [src], { - encoding: "utf-8" + encoding: "utf-8", }); if (result.status !== 0 || result.error) { if (result.stdout || result.stderr) { @@ -360,7 +360,7 @@ export function getOSPackages(src) { "--cache-dir", trivyCacheDir, "--output", - bomJsonFile + bomJsonFile, ]; if (!DEBUG_MODE) { args.push("-q"); @@ -370,7 +370,7 @@ export function getOSPackages(src) { console.log("Executing", TRIVY_BIN, args.join(" ")); } const result = spawnSync(TRIVY_BIN, args, { - encoding: "utf-8" + encoding: "utf-8", }); if (result.status !== 0 || result.error) { if (result.stdout || result.stderr) { @@ -382,8 +382,8 @@ export function getOSPackages(src) { try { tmpBom = JSON.parse( readFileSync(bomJsonFile, { - encoding: "utf-8" - }) + encoding: "utf-8", + }), ); } catch (e) { // ignore errors @@ -521,7 +521,7 @@ export function getOSPackages(src) { name, purlObj.version, purlObj.qualifiers, - purlObj.subpath + purlObj.subpath, ).toString(); comp["bom-ref"] = decodeURIComponent(comp.purl); } @@ -549,7 +549,7 @@ export function getOSPackages(src) { if (dtmpA && dtmpA.length > 1) { distro_codename = dtmpA[0].replace( "redhat", - "enterprise_linux" + "enterprise_linux", ); } } @@ -563,7 +563,7 @@ export function getOSPackages(src) { name, purlObj.version, purlObj.qualifiers, - purlObj.subpath + purlObj.subpath, ).toString(); comp["bom-ref"] = decodeURIComponent(comp.purl); } @@ -588,7 +588,7 @@ export function getOSPackages(src) { newLicenses.push({ license: { id: possibleId } }); } else { newLicenses.push({ - license: { name: aLic.license.name } + license: { name: aLic.license.name }, }); } } @@ -630,7 +630,7 @@ export function getOSPackages(src) { const compDeps = retrieveDependencies( tmpDependencies, origBomRef, - comp + comp, ); if (compDeps) { dependenciesList.push(compDeps); @@ -647,7 +647,7 @@ export function getOSPackages(src) { srcName, srcVersion, purlObj.qualifiers, - purlObj.subpath + purlObj.subpath, ).toString(); } newComp["bom-ref"] = decodeURIComponent(newComp.purl); @@ -661,7 +661,7 @@ export function getOSPackages(src) { return { osPackages: pkgList, dependenciesList, - allTypes: Array.from(allTypes) + allTypes: Array.from(allTypes), }; } @@ -715,7 +715,7 @@ export function executeOsQuery(query) { const result = spawnSync(OSQUERY_BIN, args, { encoding: "utf-8", maxBuffer: 50 * 1024 * 1024, - timeout: 60 * 1000 + timeout: 60 * 1000, }); if (result.status !== 0 || result.error) { if (DEBUG_MODE && result.stderr) { @@ -734,7 +734,7 @@ export function executeOsQuery(query) { if (DEBUG_MODE) { console.log("Unable to parse the output from query", query); console.log( - "This could be due to the amount of data returned or the query being invalid for the given platform." + "This could be due to the amount of data returned or the query being invalid for the given platform.", ); } } @@ -764,7 +764,7 @@ export function getDotnetSlices(src, slicesFile) { const result = spawnSync(DOSAI_BIN, args, { encoding: "utf-8", timeout: TIMEOUT_MS, - cwd: src + cwd: src, }); if (result.status !== 0 || result.error) { if (DEBUG_MODE && result.error) { @@ -803,14 +803,14 @@ export function getBinaryBom(src, binaryBomFile, deepMode) { const result = spawnSync(BLINT_BIN, args, { encoding: "utf-8", timeout: TIMEOUT_MS, - cwd + cwd, }); if (result.status !== 0 || result.error) { if (result.stderr) { console.error(result.stdout, result.stderr); } else { console.log( - "Install blint using 'pip install blint' or use the cdxgen container image." + "Install blint using 'pip install blint' or use the cdxgen container image.", ); } return false; diff --git a/cbomutils.js b/cbomutils.js index 56f79bbe1..1c3ac3b85 100644 --- a/cbomutils.js +++ b/cbomutils.js @@ -1,12 +1,12 @@ import { readFileSync } from "node:fs"; -import { convertOSQueryResults, dirNameStr } from "./utils.js"; -import { executeOsQuery } from "./binary.js"; import { join } from "node:path"; +import { executeOsQuery } from "./binary.js"; +import { convertOSQueryResults, dirNameStr } from "./utils.js"; const cbomosDbQueries = JSON.parse( - readFileSync(join(dirNameStr, "data", "cbomosdb-queries.json"), "utf-8") + readFileSync(join(dirNameStr, "data", "cbomosdb-queries.json"), "utf-8"), ); const cbomCryptoOids = JSON.parse( - readFileSync(join(dirNameStr, "data", "crypto-oid.json"), "utf-8") + readFileSync(join(dirNameStr, "data", "crypto-oid.json"), "utf-8"), ); /** @@ -24,7 +24,7 @@ export function collectOSCryptoLibs(options) { queryCategory, queryObj, results, - false + false, ); if (dlist && dlist.length) { osPkgsList = osPkgsList.concat(dlist); @@ -59,7 +59,7 @@ export function findCryptoAlgos(code) { cryptoAlgos.push({ ...cbomCryptoOids[algoName], name: algoName, - ref: `crypto/algorithm/${algoName}@${cbomCryptoOids[algoName].oid}` + ref: `crypto/algorithm/${algoName}@${cbomCryptoOids[algoName].oid}`, }); } } diff --git a/ci/nydusd-config.fusedev.json b/ci/nydusd-config.fusedev.json index 9b67291ad..f2b1823ab 100644 --- a/ci/nydusd-config.fusedev.json +++ b/ci/nydusd-config.fusedev.json @@ -1,30 +1,29 @@ { - "device": { - "backend": { - "type": "registry", - "config": { - "scheme": "", - "skip_verify": true, - "timeout": 5, - "connect_timeout": 5, - "retry_limit": 4, - "auth": "" - } - }, - "cache": { - "type": "blobcache", - "config": { - "work_dir": "cache" - } + "device": { + "backend": { + "type": "registry", + "config": { + "scheme": "", + "skip_verify": true, + "timeout": 5, + "connect_timeout": 5, + "retry_limit": 4, + "auth": "" } }, - "mode": "direct", - "digest_validate": false, - "iostats_files": false, - "enable_xattr": true, - "fs_prefetch": { - "enable": true, - "threads_count": 4 + "cache": { + "type": "blobcache", + "config": { + "work_dir": "cache" + } } + }, + "mode": "direct", + "digest_validate": false, + "iostats_files": false, + "enable_xattr": true, + "fs_prefetch": { + "enable": true, + "threads_count": 4 } - \ No newline at end of file +} diff --git a/contrib/bom-1.5.schema.json b/contrib/bom-1.5.schema.json index 3ecc1dcdb..f730d4fda 100644 --- a/contrib/bom-1.5.schema.json +++ b/contrib/bom-1.5.schema.json @@ -3,26 +3,19 @@ "$id": "http://cyclonedx.org/schema/bom-1.5.schema.json", "type": "object", "title": "CycloneDX Software Bill of Materials Standard", - "$comment" : "CycloneDX JSON schema is published under the terms of the Apache License 2.0.", - "required": [ - "bomFormat", - "specVersion" - ], + "$comment": "CycloneDX JSON schema is published under the terms of the Apache License 2.0.", + "required": ["bomFormat", "specVersion"], "additionalProperties": false, "properties": { "$schema": { "type": "string", - "enum": [ - "http://cyclonedx.org/schema/bom-1.5.schema.json" - ] + "enum": ["http://cyclonedx.org/schema/bom-1.5.schema.json"] }, "bomFormat": { "type": "string", "title": "BOM Format", "description": "Specifies the format of the BOM. This helps to identify the file as CycloneDX since BOMs do not have a filename convention nor does JSON schema support namespaces. This value MUST be \"CycloneDX\".", - "enum": [ - "CycloneDX" - ] + "enum": ["CycloneDX"] }, "specVersion": { "type": "string", @@ -52,55 +45,55 @@ }, "components": { "type": "array", - "items": {"$ref": "#/definitions/component"}, + "items": { "$ref": "#/definitions/component" }, "uniqueItems": true, "title": "Components", "description": "A list of software and hardware components." }, "services": { "type": "array", - "items": {"$ref": "#/definitions/service"}, + "items": { "$ref": "#/definitions/service" }, "uniqueItems": true, "title": "Services", "description": "A list of services. This may include microservices, function-as-a-service, and other types of network or intra-process services." }, "externalReferences": { "type": "array", - "items": {"$ref": "#/definitions/externalReference"}, + "items": { "$ref": "#/definitions/externalReference" }, "title": "External References", "description": "External references provide a way to document systems, sites, and information that may be relevant, but are not included with the BOM. They may also establish specific relationships within or external to the BOM." }, "dependencies": { "type": "array", - "items": {"$ref": "#/definitions/dependency"}, + "items": { "$ref": "#/definitions/dependency" }, "uniqueItems": true, "title": "Dependencies", "description": "Provides the ability to document dependency relationships." }, "compositions": { "type": "array", - "items": {"$ref": "#/definitions/compositions"}, + "items": { "$ref": "#/definitions/compositions" }, "uniqueItems": true, "title": "Compositions", "description": "Compositions describe constituent parts (including components, services, and dependency relationships) and their completeness. The completeness of vulnerabilities expressed in a BOM may also be described." }, "vulnerabilities": { "type": "array", - "items": {"$ref": "#/definitions/vulnerability"}, + "items": { "$ref": "#/definitions/vulnerability" }, "uniqueItems": true, "title": "Vulnerabilities", "description": "Vulnerabilities identified in components or services." }, "annotations": { "type": "array", - "items": {"$ref": "#/definitions/annotations"}, + "items": { "$ref": "#/definitions/annotations" }, "uniqueItems": true, "title": "Annotations", "description": "Comments made by people, organizations, or tools about any object with a bom-ref, such as components, services, vulnerabilities, or the BOM itself. Unlike inventory information, annotations may contain opinion or commentary from various stakeholders. Annotations may be inline (with inventory) or externalized via BOM-Link, and may optionally be signed." }, "formulation": { "type": "array", - "items": {"$ref": "#/definitions/formula"}, + "items": { "$ref": "#/definitions/formula" }, "uniqueItems": true, "title": "Formulation", "description": "Describes how a component or service was manufactured or deployed. This is achieved through the use of formulas, workflows, tasks, and steps, which declare the precise steps to reproduce along with the observed formulas describing the steps which transpired in the manufacturing process." @@ -128,7 +121,7 @@ }, "refLinkType": { "description": "Descriptor for an element identified by the attribute 'bom-ref' in the same BOM document.\nIn contrast to `bomLinkElementType`.", - "allOf": [{"$ref": "#/definitions/refType"}] + "allOf": [{ "$ref": "#/definitions/refType" }] }, "bomLinkDocumentType": { "title": "BOM-Link Document", @@ -216,7 +209,7 @@ } ] } - }, + }, "tools": { "oneOf": [ { @@ -227,14 +220,14 @@ "properties": { "components": { "type": "array", - "items": {"$ref": "#/definitions/component"}, + "items": { "$ref": "#/definitions/component" }, "uniqueItems": true, "title": "Components", "description": "A list of software and hardware components used as tools" }, "services": { "type": "array", - "items": {"$ref": "#/definitions/service"}, + "items": { "$ref": "#/definitions/service" }, "uniqueItems": true, "title": "Services", "description": "A list of services used as tools. This may include microservices, function-as-a-service, and other types of network or intra-process services." @@ -245,15 +238,15 @@ "type": "array", "title": "Creation Tools (legacy)", "description": "[Deprecated] The tool(s) used in the creation of the BOM.", - "items": {"$ref": "#/definitions/tool"} + "items": { "$ref": "#/definitions/tool" } } ] }, - "authors" :{ + "authors": { "type": "array", "title": "Authors", "description": "The person(s) who created the BOM. Authors are common in BOMs created through manual processes. BOMs created through automated means may not have authors.", - "items": {"$ref": "#/definitions/organizationalContact"} + "items": { "$ref": "#/definitions/organizationalContact" } }, "component": { "title": "Component", @@ -278,7 +271,7 @@ "type": "array", "title": "Properties", "description": "Provides the ability to document properties in a name-value store. This provides flexibility to include data not officially supported in the standard without having to use additional namespaces or create extensions. Unlike key-value stores, properties support duplicate names, each potentially having different values. Property names of interest to the general public are encouraged to be registered in the [CycloneDX Property Taxonomy](https://github.com/CycloneDX/cyclonedx-property-taxonomy). Formal registration is OPTIONAL.", - "items": {"$ref": "#/definitions/property"} + "items": { "$ref": "#/definitions/property" } } } }, @@ -305,13 +298,13 @@ }, "hashes": { "type": "array", - "items": {"$ref": "#/definitions/hash"}, + "items": { "$ref": "#/definitions/hash" }, "title": "Hashes", "description": "The hashes of the tool (if applicable)." }, "externalReferences": { "type": "array", - "items": {"$ref": "#/definitions/externalReference"}, + "items": { "$ref": "#/definitions/externalReference" }, "title": "External References", "description": "External references provide a way to document systems, sites, and information that may be relevant, but are not included with the BOM. They may also establish specific relationships within or external to the BOM." } @@ -332,9 +325,7 @@ "type": "string", "title": "Name", "description": "The name of the organization", - "examples": [ - "Example Inc." - ] + "examples": ["Example Inc."] }, "url": { "type": "array", @@ -350,7 +341,7 @@ "type": "array", "title": "Contact", "description": "A contact at the organization. Multiple contacts are allowed.", - "items": {"$ref": "#/definitions/organizationalContact"} + "items": { "$ref": "#/definitions/organizationalContact" } } } }, @@ -389,10 +380,7 @@ "component": { "type": "object", "title": "Component Object", - "required": [ - "type", - "name" - ], + "required": ["type", "name"], "additionalProperties": false, "properties": { "type": { @@ -469,11 +457,7 @@ }, "scope": { "type": "string", - "enum": [ - "required", - "optional", - "excluded" - ], + "enum": ["required", "optional", "excluded"], "title": "Component Scope", "description": "Specifies the scope of the component. If scope is not specified, 'required' scope SHOULD be assumed by the consumer of the BOM.", "default": "required" @@ -481,7 +465,7 @@ "hashes": { "type": "array", "title": "Component Hashes", - "items": {"$ref": "#/definitions/hash"} + "items": { "$ref": "#/definitions/hash" } }, "licenses": { "$ref": "#/definitions/licenseChoice", @@ -503,7 +487,9 @@ "type": "string", "title": "Component Package URL (purl)", "description": "Specifies the package-url (purl). The purl, if specified, MUST be valid and conform to the specification defined at: [https://github.com/package-url/purl-spec](https://github.com/package-url/purl-spec)", - "examples": ["pkg:maven/com.acme/tomcat-catalina@9.0.14?packaging=jar"] + "examples": [ + "pkg:maven/com.acme/tomcat-catalina@9.0.14?packaging=jar" + ] }, "swid": { "$ref": "#/definitions/swid", @@ -525,31 +511,31 @@ "type": "array", "title": "Ancestors", "description": "Describes zero or more components in which a component is derived from. This is commonly used to describe forks from existing projects where the forked version contains a ancestor node containing the original component it was forked from. For example, Component A is the original component. Component B is the component being used and documented in the BOM. However, Component B contains a pedigree node with a single ancestor documenting Component A - the original component from which Component B is derived from.", - "items": {"$ref": "#/definitions/component"} + "items": { "$ref": "#/definitions/component" } }, "descendants": { "type": "array", "title": "Descendants", "description": "Descendants are the exact opposite of ancestors. This provides a way to document all forks (and their forks) of an original or root component.", - "items": {"$ref": "#/definitions/component"} + "items": { "$ref": "#/definitions/component" } }, "variants": { "type": "array", "title": "Variants", "description": "Variants describe relations where the relationship between the components are not known. For example, if Component A contains nearly identical code to Component B. They are both related, but it is unclear if one is derived from the other, or if they share a common ancestor.", - "items": {"$ref": "#/definitions/component"} + "items": { "$ref": "#/definitions/component" } }, "commits": { "type": "array", "title": "Commits", "description": "A list of zero or more commits which provide a trail describing how the component deviates from an ancestor, descendant, or variant.", - "items": {"$ref": "#/definitions/commit"} + "items": { "$ref": "#/definitions/commit" } }, "patches": { "type": "array", "title": "Patches", "description": ">A list of zero or more patches describing how the component deviates from an ancestor, descendant, or variant. Patches may be complimentary to commits or may be used in place of commits.", - "items": {"$ref": "#/definitions/patch"} + "items": { "$ref": "#/definitions/patch" } }, "notes": { "type": "string", @@ -560,13 +546,13 @@ }, "externalReferences": { "type": "array", - "items": {"$ref": "#/definitions/externalReference"}, + "items": { "$ref": "#/definitions/externalReference" }, "title": "External References", "description": "External references provide a way to document systems, sites, and information that may be relevant, but are not included with the BOM. They may also establish specific relationships within or external to the BOM." }, "components": { "type": "array", - "items": {"$ref": "#/definitions/component"}, + "items": { "$ref": "#/definitions/component" }, "uniqueItems": true, "title": "Components", "description": "A list of software and hardware components included in the parent component. This is not a dependency tree. It provides a way to specify a hierarchical representation of component assemblies, similar to system → subsystem → parts assembly in physical supply chains." @@ -581,13 +567,13 @@ "title": "Release notes", "description": "Specifies optional release notes." }, - "modelCard": { + "modelCard": { "$ref": "#/definitions/modelCard", "title": "Machine Learning Model Card" }, "data": { "type": "array", - "items": {"$ref": "#/definitions/componentData"}, + "items": { "$ref": "#/definitions/componentData" }, "title": "Data", "description": "This object SHOULD be specified for any component of type `data` and MUST NOT be specified for other component types." }, @@ -595,7 +581,7 @@ "type": "array", "title": "Properties", "description": "Provides the ability to document properties in a name-value store. This provides flexibility to include data not officially supported in the standard without having to use additional namespaces or create extensions. Unlike key-value stores, properties support duplicate names, each potentially having different values. Property names of interest to the general public are encouraged to be registered in the [CycloneDX Property Taxonomy](https://github.com/CycloneDX/cyclonedx-property-taxonomy). Formal registration is OPTIONAL.", - "items": {"$ref": "#/definitions/property"} + "items": { "$ref": "#/definitions/property" } }, "signature": { "$ref": "#/definitions/signature", @@ -608,10 +594,7 @@ "type": "object", "title": "SWID Tag", "description": "Specifies metadata and content for ISO-IEC 19770-2 Software Identification (SWID) Tags.", - "required": [ - "tagId", - "name" - ], + "required": ["tagId", "name"], "additionalProperties": false, "properties": { "tagId": { @@ -659,9 +642,7 @@ "type": "object", "title": "Attachment", "description": "Specifies the metadata and content for an attachment.", - "required": [ - "content" - ], + "required": ["content"], "additionalProperties": false, "properties": { "contentType": { @@ -674,9 +655,7 @@ "type": "string", "title": "Encoding", "description": "Specifies the optional encoding the text is represented in.", - "enum": [ - "base64" - ] + "enum": ["base64"] }, "content": { "type": "string", @@ -688,10 +667,7 @@ "hash": { "type": "object", "title": "Hash Objects", - "required": [ - "alg", - "content" - ], + "required": ["alg", "content"], "additionalProperties": false, "properties": { "alg": { @@ -799,7 +775,7 @@ "$ref": "#/definitions/organizationalContact" } }, - "oneOf":[ + "oneOf": [ { "required": ["organization"] }, @@ -825,7 +801,7 @@ "$ref": "#/definitions/organizationalContact" } }, - "oneOf":[ + "oneOf": [ { "required": ["organization"] }, @@ -851,7 +827,7 @@ "$ref": "#/definitions/organizationalContact" } }, - "oneOf":[ + "oneOf": [ { "required": ["organization"] }, @@ -909,7 +885,7 @@ "type": "array", "title": "Properties", "description": "Provides the ability to document properties in a name-value store. This provides flexibility to include data not officially supported in the standard without having to use additional namespaces or create extensions. Unlike key-value stores, properties support duplicate names, each potentially having different values. Property names of interest to the general public are encouraged to be registered in the [CycloneDX Property Taxonomy](https://github.com/CycloneDX/cyclonedx-property-taxonomy). Formal registration is OPTIONAL.", - "items": {"$ref": "#/definitions/property"} + "items": { "$ref": "#/definitions/property" } } } }, @@ -927,7 +903,7 @@ "required": ["license"], "additionalProperties": false, "properties": { - "license": {"$ref": "#/definitions/license"} + "license": { "$ref": "#/definitions/license" } } } }, @@ -938,26 +914,28 @@ "additionalItems": false, "minItems": 1, "maxItems": 1, - "items": [{ - "type": "object", - "additionalProperties": false, - "required": ["expression"], - "properties": { - "expression": { - "type": "string", - "title": "SPDX License Expression", - "examples": [ - "Apache-2.0 AND (MIT OR GPL-2.0-only)", - "GPL-3.0-only WITH Classpath-exception-2.0" - ] - }, - "bom-ref": { - "$ref": "#/definitions/refType", - "title": "BOM Reference", - "description": "An optional identifier which can be used to reference the license elsewhere in the BOM. Every bom-ref MUST be unique within the BOM." + "items": [ + { + "type": "object", + "additionalProperties": false, + "required": ["expression"], + "properties": { + "expression": { + "type": "string", + "title": "SPDX License Expression", + "examples": [ + "Apache-2.0 AND (MIT OR GPL-2.0-only)", + "GPL-3.0-only WITH Classpath-exception-2.0" + ] + }, + "bom-ref": { + "$ref": "#/definitions/refType", + "title": "BOM Reference", + "description": "An optional identifier which can be used to reference the license elsewhere in the BOM. Every bom-ref MUST be unique within the BOM." + } } } - }] + ] } ] }, @@ -999,19 +977,12 @@ "type": "object", "title": "Patch", "description": "Specifies an individual patch", - "required": [ - "type" - ], + "required": ["type"], "additionalProperties": false, "properties": { "type": { "type": "string", - "enum": [ - "unofficial", - "monkey", - "backport", - "cherry-pick" - ], + "enum": ["unofficial", "monkey", "backport", "cherry-pick"], "title": "Type", "description": "Specifies the purpose for the patch including the resolution of defects, security issues, or new behavior or functionality.\n\n* __unofficial__ = A patch which is not developed by the creators or maintainers of the software being patched. Refer to [https://en.wikipedia.org/wiki/Unofficial_patch](https://en.wikipedia.org/wiki/Unofficial_patch)\n* __monkey__ = A patch which dynamically modifies runtime behavior. Refer to [https://en.wikipedia.org/wiki/Monkey_patch](https://en.wikipedia.org/wiki/Monkey_patch)\n* __backport__ = A patch which takes code from a newer version of software and applies it to older versions of the same software. Refer to [https://en.wikipedia.org/wiki/Backporting](https://en.wikipedia.org/wiki/Backporting)\n* __cherry-pick__ = A patch created by selectively applying commits from other versions or branches of the same software." }, @@ -1022,7 +993,7 @@ }, "resolves": { "type": "array", - "items": {"$ref": "#/definitions/issue"}, + "items": { "$ref": "#/definitions/issue" }, "title": "Resolves", "description": "A collection of issues the patch resolves" } @@ -1051,18 +1022,12 @@ "type": "object", "title": "Diff", "description": "An individual issue that has been resolved.", - "required": [ - "type" - ], + "required": ["type"], "additionalProperties": false, "properties": { "type": { "type": "string", - "enum": [ - "defect", - "enhancement", - "security" - ], + "enum": ["defect", "enhancement", "security"], "title": "Type", "description": "Specifies the type of issue" }, @@ -1141,10 +1106,7 @@ "type": "object", "title": "External Reference", "description": "External references provide a way to document systems, sites, and information that may be relevant, but are not included with the BOM. They may also establish specific relationships within or external to the BOM.", - "required": [ - "url", - "type" - ], + "required": ["url", "type"], "additionalProperties": false, "properties": { "url": { @@ -1215,7 +1177,7 @@ }, "hashes": { "type": "array", - "items": {"$ref": "#/definitions/hash"}, + "items": { "$ref": "#/definitions/hash" }, "title": "Hashes", "description": "The hashes of the external reference (if applicable)." } @@ -1225,9 +1187,7 @@ "type": "object", "title": "Dependency", "description": "Defines the direct dependencies of a component or service. Components or services that do not have their own dependencies MUST be declared as empty elements within the graph. Components or services that are not represented in the dependency graph MAY have unknown dependencies. It is RECOMMENDED that implementations assume this to be opaque and not an indicator of a object being dependency-free. It is RECOMMENDED to leverage compositions to indicate unknown dependency graphs.", - "required": [ - "ref" - ], + "required": ["ref"], "additionalProperties": false, "properties": { "ref": { @@ -1249,9 +1209,7 @@ "service": { "type": "object", "title": "Service Object", - "required": [ - "name" - ], + "required": ["name"], "additionalProperties": false, "properties": { "bom-ref": { @@ -1314,7 +1272,7 @@ }, "data": { "type": "array", - "items": {"$ref": "#/definitions/serviceData"}, + "items": { "$ref": "#/definitions/serviceData" }, "title": "Data", "description": "Specifies information about the data including the directional flow of data and the data classification." }, @@ -1324,13 +1282,13 @@ }, "externalReferences": { "type": "array", - "items": {"$ref": "#/definitions/externalReference"}, + "items": { "$ref": "#/definitions/externalReference" }, "title": "External References", "description": "External references provide a way to document systems, sites, and information that may be relevant, but are not included with the BOM. They may also establish specific relationships within or external to the BOM." }, "services": { "type": "array", - "items": {"$ref": "#/definitions/service"}, + "items": { "$ref": "#/definitions/service" }, "uniqueItems": true, "title": "Services", "description": "A list of services included or deployed behind the parent service. This is not a dependency tree. It provides a way to specify a hierarchical representation of service assemblies." @@ -1344,7 +1302,7 @@ "type": "array", "title": "Properties", "description": "Provides the ability to document properties in a name-value store. This provides flexibility to include data not officially supported in the standard without having to use additional namespaces or create extensions. Unlike key-value stores, properties support duplicate names, each potentially having different values. Property names of interest to the general public are encouraged to be registered in the [CycloneDX Property Taxonomy](https://github.com/CycloneDX/cyclonedx-property-taxonomy). Formal registration is OPTIONAL.", - "items": {"$ref": "#/definitions/property"} + "items": { "$ref": "#/definitions/property" } }, "signature": { "$ref": "#/definitions/signature", @@ -1356,10 +1314,7 @@ "serviceData": { "type": "object", "title": "Hash Objects", - "required": [ - "flow", - "classification" - ], + "required": ["flow", "classification"], "additionalProperties": false, "properties": { "flow": { @@ -1374,9 +1329,7 @@ "type": "string", "title": "Name", "description": "Name for the defined data", - "examples": [ - "Credit card reporting" - ] + "examples": ["Credit card reporting"] }, "description": { "type": "string", @@ -1431,12 +1384,7 @@ }, "dataFlowDirection": { "type": "string", - "enum": [ - "inbound", - "outbound", - "bi-directional", - "unknown" - ], + "enum": ["inbound", "outbound", "bi-directional", "unknown"], "title": "Data flow direction", "description": "Specifies the flow direction of the data. Direction is relative to the service. Inbound flow states that data enters the service. Outbound flow states that data leaves the service. Bi-directional states that data flows both ways, and unknown states that the direction is not known." }, @@ -1444,9 +1392,7 @@ "copyright": { "type": "object", "title": "Copyright", - "required": [ - "text" - ], + "required": ["text"], "additionalProperties": false, "properties": { "text": { @@ -1464,13 +1410,19 @@ "identity": { "type": "object", "description": "Evidence that substantiates the identity of a component.", - "required": [ "field" ], + "required": ["field"], "additionalProperties": false, "properties": { "field": { "type": "string", "enum": [ - "group", "name", "version", "purl", "cpe", "swid", "hash" + "group", + "name", + "version", + "purl", + "cpe", + "swid", + "hash" ], "title": "Field", "description": "The identity field of the component which the evidence describes." @@ -1488,10 +1440,7 @@ "description": "The methods used to extract and/or analyze the evidence.", "items": { "type": "object", - "required": [ - "technique" , - "confidence" - ], + "required": ["technique", "confidence"], "additionalProperties": false, "properties": { "technique": { @@ -1552,7 +1501,7 @@ "description": "Evidence of individual instances of a component spread across multiple locations.", "items": { "type": "object", - "required": [ "location" ], + "required": ["location"], "additionalProperties": false, "properties": { "bom-ref": { @@ -1578,9 +1527,7 @@ "title": "Methods", "items": { "type": "object", - "required": [ - "module" - ], + "required": ["module"], "additionalProperties": false, "properties": { "package": { @@ -1632,7 +1579,7 @@ }, "copyright": { "type": "array", - "items": {"$ref": "#/definitions/copyright"}, + "items": { "$ref": "#/definitions/copyright" }, "title": "Copyright" } } @@ -1640,9 +1587,7 @@ "compositions": { "type": "object", "title": "Compositions", - "required": [ - "aggregate" - ], + "required": ["aggregate"], "additionalProperties": false, "properties": { "bom-ref": { @@ -1739,22 +1684,14 @@ }, "releaseType": { "type": "string", - "examples": [ - "major", - "minor", - "patch", - "pre-release", - "internal" - ], + "examples": ["major", "minor", "patch", "pre-release", "internal"], "description": "The software versioning type. It is RECOMMENDED that the release type use one of 'major', 'minor', 'patch', 'pre-release', or 'internal'. Representing all possible software release types is not practical, so standardizing on the recommended values, whenever possible, is strongly encouraged.\n\n* __major__ = A major release may contain significant changes or may introduce breaking changes.\n* __minor__ = A minor release, also known as an update, may contain a smaller number of changes than major releases.\n* __patch__ = Patch releases are typically unplanned and may resolve defects or important security issues.\n* __pre-release__ = A pre-release may include alpha, beta, or release candidates and typically have limited support. They provide the ability to preview a release prior to its general availability.\n* __internal__ = Internal releases are not for public consumption and are intended to be used exclusively by the project or manufacturer that produced it." }, "note": { "type": "object", "title": "Note", "description": "A note containing the locale and content.", - "required": [ - "text" - ], + "required": ["text"], "additionalProperties": false, "properties": { "locale": { @@ -1772,9 +1709,7 @@ "releaseNotes": { "type": "object", "title": "Release notes", - "required": [ - "type" - ], + "required": ["type"], "additionalProperties": false, "properties": { "type": { @@ -1828,13 +1763,13 @@ }, "resolves": { "type": "array", - "items": {"$ref": "#/definitions/issue"}, + "items": { "$ref": "#/definitions/issue" }, "title": "Resolves", "description": "A collection of issues that have been resolved." }, "notes": { "type": "array", - "items": {"$ref": "#/definitions/note"}, + "items": { "$ref": "#/definitions/note" }, "title": "Notes", "description": "Zero or more release notes containing the locale and content. Multiple note objects may be specified to support release notes in a wide variety of languages." }, @@ -1842,7 +1777,7 @@ "type": "array", "title": "Properties", "description": "Provides the ability to document properties in a name-value store. This provides flexibility to include data not officially supported in the standard without having to use additional namespaces or create extensions. Unlike key-value stores, properties support duplicate names, each potentially having different values. Property names of interest to the general public are encouraged to be registered in the [CycloneDX Property Taxonomy](https://github.com/CycloneDX/cyclonedx-property-taxonomy). Formal registration is OPTIONAL.", - "items": {"$ref": "#/definitions/property"} + "items": { "$ref": "#/definitions/property" } } } }, @@ -1876,15 +1811,7 @@ "type": "string", "title": "Severity", "description": "Textual representation of the severity of the vulnerability adopted by the analysis method. If the analysis method uses values other than what is provided, the user is expected to translate appropriately.", - "enum": [ - "critical", - "high", - "medium", - "low", - "info", - "none", - "unknown" - ] + "enum": ["critical", "high", "medium", "low", "info", "none", "unknown"] }, "scoreMethod": { "type": "string", @@ -1973,9 +1900,7 @@ "type": "string", "title": "URL", "description": "The url of the vulnerability documentation as provided by the source.", - "examples": [ - "https://nvd.nist.gov/vuln/detail/CVE-2021-39182" - ] + "examples": ["https://nvd.nist.gov/vuln/detail/CVE-2021-39182"] }, "name": { "type": "string", @@ -2022,10 +1947,7 @@ "description": "Zero or more pointers to vulnerabilities that are the equivalent of the vulnerability specified. Often times, the same vulnerability may exist in multiple sources of vulnerability intelligence, but have different identifiers. References provide a way to correlate vulnerabilities across multiple sources of vulnerability intelligence.", "items": { "type": "object", - "required": [ - "id", - "source" - ], + "required": ["id", "source"], "additionalProperties": false, "properties": { "id": { @@ -2171,14 +2093,14 @@ "properties": { "components": { "type": "array", - "items": {"$ref": "#/definitions/component"}, + "items": { "$ref": "#/definitions/component" }, "uniqueItems": true, "title": "Components", "description": "A list of software and hardware components used as tools" }, "services": { "type": "array", - "items": {"$ref": "#/definitions/service"}, + "items": { "$ref": "#/definitions/service" }, "uniqueItems": true, "title": "Services", "description": "A list of services used as tools. This may include microservices, function-as-a-service, and other types of network or intra-process services." @@ -2189,7 +2111,7 @@ "type": "array", "title": "Tools (legacy)", "description": "[Deprecated] The tool(s) used to identify, confirm, or score the vulnerability.", - "items": {"$ref": "#/definitions/tool"} + "items": { "$ref": "#/definitions/tool" } } ] }, @@ -2244,9 +2166,7 @@ "uniqueItems": true, "items": { "type": "object", - "required": [ - "ref" - ], + "required": ["ref"], "additionalProperties": false, "properties": { "ref": { @@ -2313,11 +2233,7 @@ "affectedStatus": { "description": "The vulnerability status of a given version or range of versions of a product. The statuses 'affected' and 'unaffected' indicate that the version is affected or unaffected by the vulnerability. The status 'unknown' indicates that it is unknown or unspecified whether the given version is affected. There can be many reasons for an 'unknown' status, including that an investigation has not been undertaken or that a vendor has not disclosed the status.", "type": "string", - "enum": [ - "affected", - "unaffected", - "unknown" - ] + "enum": ["affected", "unaffected", "unknown"] }, "version": { "description": "A single version of a component or service.", @@ -2335,12 +2251,7 @@ "type": "object", "title": "Annotations", "description": "A comment, note, explanation, or similar textual content which provides additional context to the object(s) being annotated.", - "required": [ - "subjects", - "annotator", - "timestamp", - "text" - ], + "required": ["subjects", "annotator", "timestamp", "text"], "additionalProperties": false, "properties": { "bom-ref": { @@ -2372,24 +2283,16 @@ "description": "The organization, person, component, or service which created the textual content of the annotation.", "oneOf": [ { - "required": [ - "organization" - ] + "required": ["organization"] }, { - "required": [ - "individual" - ] + "required": ["individual"] }, { - "required": [ - "component" - ] + "required": ["component"] }, { - "required": [ - "service" - ] + "required": ["service"] } ], "additionalProperties": false, @@ -2487,8 +2390,8 @@ "type": "array", "title": "Datasets", "description": "The datasets used to train and evaluate the model.", - "items" : { - "oneOf" : [ + "items": { + "oneOf": [ { "title": "Inline Component Data", "$ref": "#/definitions/componentData" @@ -2604,7 +2507,7 @@ "type": "array", "title": "Properties", "description": "Provides the ability to document properties in a name-value store. This provides flexibility to include data not officially supported in the standard without having to use additional namespaces or create extensions. Unlike key-value stores, properties support duplicate names, each potentially having different values. Property names of interest to the general public are encouraged to be registered in the [CycloneDX Property Taxonomy](https://github.com/CycloneDX/cyclonedx-property-taxonomy). Formal registration is OPTIONAL.", - "items": {"$ref": "#/definitions/property"} + "items": { "$ref": "#/definitions/property" } } } }, @@ -2622,9 +2525,7 @@ "componentData": { "type": "object", "additionalProperties": false, - "required": [ - "type" - ], + "required": ["type"], "properties": { "bom-ref": { "$ref": "#/definitions/refType", @@ -2734,7 +2635,7 @@ "$ref": "#/definitions/organizationalContact" } }, - "oneOf":[ + "oneOf": [ { "required": ["organization"] }, @@ -2904,11 +2805,7 @@ "description": "A specialized orchestration task.", "$comment": "Workflow are as task themselves and can trigger other workflow tasks. These relationships can be modeled in the taskDependencies graph.", "type": "object", - "required": [ - "bom-ref", - "uid", - "taskTypes" - ], + "required": ["bom-ref", "uid", "taskTypes"], "additionalProperties": false, "properties": { "bom-ref": { @@ -2985,7 +2882,9 @@ "inputs": { "title": "Inputs", "description": "Represents resources and data brought into a task at runtime by executor or task commands", - "examples": ["a `configuration` file which was declared as a local `component` or `externalReference`"], + "examples": [ + "a `configuration` file which was declared as a local `component` or `externalReference`" + ], "type": "array", "items": { "$ref": "#/definitions/inputType" @@ -3047,11 +2946,7 @@ "description": "Describes the inputs, sequence of steps and resources used to accomplish a task and its output.", "$comment": "Tasks are building blocks for constructing assemble CI/CD workflows or pipelines.", "type": "object", - "required": [ - "bom-ref", - "uid", - "taskTypes" - ], + "required": ["bom-ref", "uid", "taskTypes"], "additionalProperties": false, "properties": { "bom-ref": { @@ -3109,7 +3004,9 @@ "inputs": { "title": "Inputs", "description": "Represents resources and data brought into a task at runtime by executor or task commands", - "examples": ["a `configuration` file which was declared as a local `component` or `externalReference`"], + "examples": [ + "a `configuration` file which was declared as a local `component` or `externalReference`" + ], "type": "array", "items": { "$ref": "#/definitions/inputType" @@ -3220,10 +3117,7 @@ "title": "Workspace", "description": "A named filesystem or data resource shareable by workflow tasks.", "type": "object", - "required": [ - "bom-ref", - "uid" - ], + "required": ["bom-ref", "uid"], "additionalProperties": false, "properties": { "bom-ref": { @@ -3245,7 +3139,7 @@ "title": "Aliases", "description": "The names for the workspace as referenced by other workflow tasks. Effectively, a name mapping so other tasks can use their own local name in their steps.", "type": "array", - "items": {"type": "string"} + "items": { "type": "string" } }, "description": { "title": "Description", @@ -3282,7 +3176,7 @@ "title": "Managed data type", "description": "The name of a domain-specific data type the workspace represents.", "$comment": "This property is for CI/CD frameworks that are able to provide access to structured, managed data at a more granular level than a filesystem.", - "examples": ["ConfigMap","Secret"], + "examples": ["ConfigMap", "Secret"], "type": "string" }, "volumeRequest": { @@ -3295,7 +3189,9 @@ "title": "Volume", "description": "Information about the actual volume instance allocated to the workspace.", "$comment": "The actual volume allocated may be different than the request.", - "examples": ["see https://kubernetes.io/docs/concepts/storage/persistent-volumes/"], + "examples": [ + "see https://kubernetes.io/docs/concepts/storage/persistent-volumes/" + ], "$ref": "#/definitions/volume" }, "properties": { @@ -3327,9 +3223,7 @@ "title": "Mode", "description": "The mode for the volume instance.", "type": "string", - "enum": [ - "filesystem", "block" - ], + "enum": ["filesystem", "block"], "default": "filesystem" }, "path": { @@ -3367,11 +3261,7 @@ "description": "Represents a resource that can conditionally activate (or fire) tasks based upon associated events and their data.", "type": "object", "additionalProperties": false, - "required": [ - "type", - "bom-ref", - "uid" - ], + "required": ["type", "bom-ref", "uid"], "properties": { "bom-ref": { "title": "BOM Reference", @@ -3406,12 +3296,7 @@ "title": "Type", "description": "The source type of event which caused the trigger to fire.", "type": "string", - "enum": [ - "manual", - "api", - "webhook", - "scheduled" - ] + "enum": ["manual", "api", "webhook", "scheduled"] }, "event": { "title": "Event", @@ -3434,7 +3319,9 @@ "inputs": { "title": "Inputs", "description": "Represents resources and data brought into a task at runtime by executor or task commands", - "examples": ["a `configuration` file which was declared as a local `component` or `externalReference`"], + "examples": [ + "a `configuration` file which was declared as a local `component` or `externalReference`" + ], "type": "array", "items": { "$ref": "#/definitions/inputType" @@ -3512,24 +3399,16 @@ "type": "object", "oneOf": [ { - "required": [ - "resource" - ] + "required": ["resource"] }, { - "required": [ - "parameters" - ] + "required": ["parameters"] }, { - "required": [ - "environmentVars" - ] + "required": ["environmentVars"] }, { - "required": [ - "data" - ] + "required": ["data"] } ], "additionalProperties": false, @@ -3537,19 +3416,13 @@ "source": { "title": "Source", "description": "A references to the component or service that provided the input to the task (e.g., reference to a service with data flow value of `inbound`)", - "examples": [ - "source code repository", - "database" - ], + "examples": ["source code repository", "database"], "$ref": "#/definitions/resourceReferenceChoice" }, "target": { "title": "Target", "description": "A reference to the component or service that received or stored the input if not the task itself (e.g., a local, named storage workspace)", - "examples": [ - "workspace", - "directory" - ], + "examples": ["workspace", "directory"], "$ref": "#/definitions/resourceReferenceChoice" }, "resource": { @@ -3604,19 +3477,13 @@ "type": "object", "oneOf": [ { - "required": [ - "resource" - ] + "required": ["resource"] }, { - "required": [ - "environmentVars" - ] + "required": ["environmentVars"] }, { - "required": [ - "data" - ] + "required": ["data"] } ], "additionalProperties": false, @@ -3642,17 +3509,15 @@ "target": { "title": "Target", "description": "Component or service that received the output from the task (e.g., reference to an artifactory service with data flow value of `outbound`)", - "examples": ["a log file described as an `externalReference` within its target domain."], + "examples": [ + "a log file described as an `externalReference` within its target domain." + ], "$ref": "#/definitions/resourceReferenceChoice" }, "resource": { "title": "Resource", "description": "A reference to an independent resource generated as output by the task.", - "examples": [ - "configuration file", - "source code", - "scanning service" - ], + "examples": ["configuration file", "source code", "scanning service"], "$ref": "#/definitions/resourceReferenceChoice" }, "data": { @@ -3714,14 +3579,10 @@ }, "oneOf": [ { - "required": [ - "ref" - ] + "required": ["ref"] }, { - "required": [ - "externalReference" - ] + "required": ["externalReference"] } ] }, diff --git a/contrib/deno/main.ts b/contrib/deno/main.ts index c5b36b971..4032cdfad 100644 --- a/contrib/deno/main.ts +++ b/contrib/deno/main.ts @@ -1,7 +1,7 @@ import { createBom, parse } from "./deps.ts"; const args = parse(Deno.args); -const filePath = args._[0] as string || "."; +const filePath = (args._[0] as string) || "."; console.log("Invoking createBom with args", filePath, args); const bomNSData = await createBom(filePath, args); diff --git a/contrib/flatpak/sources.json b/contrib/flatpak/sources.json index a02acd556..e35888d7c 100644 --- a/contrib/flatpak/sources.json +++ b/contrib/flatpak/sources.json @@ -1,35 +1,33 @@ [ - { - "type": "script", - "commands": [], - "dest-filename": "patch.sh", - "dest": "flatpak-node" - }, - { - "type": "script", - "commands": [ - "$FLATPAK_BUILDER_BUILDDIR/flatpak-node/patch.sh" - ], - "dest-filename": "patch-all.sh", - "dest": "flatpak-node" - }, - { - "type": "script", - "commands": [ - "version=$(node --version | sed \"s/^v//\")", - "nodedir=$(dirname \"$(dirname \"$(which node)\")\")", - "mkdir -p \"flatpak-node/cache/node-gyp/$version\"", - "ln -s \"$nodedir/include\" \"flatpak-node/cache/node-gyp/$version/include\"", - "echo 9 > \"flatpak-node/cache/node-gyp/$version/installVersion\"" - ], - "dest-filename": "setup_sdk_node_headers.sh", - "dest": "flatpak-node" - }, - { - "type": "shell", - "commands": [ - "FLATPAK_BUILDER_BUILDDIR=$PWD flatpak-node/patch-all.sh", - "bash flatpak-node/setup_sdk_node_headers.sh" - ] - } -] \ No newline at end of file + { + "type": "script", + "commands": [], + "dest-filename": "patch.sh", + "dest": "flatpak-node" + }, + { + "type": "script", + "commands": ["$FLATPAK_BUILDER_BUILDDIR/flatpak-node/patch.sh"], + "dest-filename": "patch-all.sh", + "dest": "flatpak-node" + }, + { + "type": "script", + "commands": [ + "version=$(node --version | sed \"s/^v//\")", + "nodedir=$(dirname \"$(dirname \"$(which node)\")\")", + "mkdir -p \"flatpak-node/cache/node-gyp/$version\"", + "ln -s \"$nodedir/include\" \"flatpak-node/cache/node-gyp/$version/include\"", + "echo 9 > \"flatpak-node/cache/node-gyp/$version/installVersion\"" + ], + "dest-filename": "setup_sdk_node_headers.sh", + "dest": "flatpak-node" + }, + { + "type": "shell", + "commands": [ + "FLATPAK_BUILDER_BUILDDIR=$PWD flatpak-node/patch-all.sh", + "bash flatpak-node/setup_sdk_node_headers.sh" + ] + } +] diff --git a/contrib/jsf-0.82.schema.json b/contrib/jsf-0.82.schema.json index f46bfb1e5..852f135f7 100644 --- a/contrib/jsf-0.82.schema.json +++ b/contrib/jsf-0.82.schema.json @@ -3,7 +3,7 @@ "$id": "http://cyclonedx.org/schema/jsf-0.82.schema.json", "type": "object", "title": "JSON Signature Format (JSF) standard", - "$comment" : "JSON Signature Format schema is published under the terms of the Apache License 2.0. JSF was developed by Anders Rundgren (anders.rundgren.net@gmail.com) as a part of the OpenKeyStore project. This schema supports the entirely of the JSF standard excluding 'extensions'.", + "$comment": "JSON Signature Format schema is published under the terms of the Apache License 2.0. JSF was developed by Anders Rundgren (anders.rundgren.net@gmail.com) as a part of the OpenKeyStore project. This schema supports the entirely of the JSF standard excluding 'extensions'.", "definitions": { "signature": { "type": "object", @@ -16,7 +16,7 @@ "type": "array", "title": "Signature", "description": "Unique top level property for Multiple Signatures. (multisignature)", - "items": {"$ref": "#/definitions/signer"} + "items": { "$ref": "#/definitions/signer" } } } }, @@ -27,7 +27,7 @@ "type": "array", "title": "Signature", "description": "Unique top level property for Signature Chains. (signaturechain)", - "items": {"$ref": "#/definitions/signer"} + "items": { "$ref": "#/definitions/signer" } } } }, @@ -41,10 +41,7 @@ "signer": { "type": "object", "title": "Signature", - "required": [ - "algorithm", - "value" - ], + "required": ["algorithm", "value"], "additionalProperties": false, "properties": { "algorithm": { @@ -115,19 +112,13 @@ "type": "string", "title": "Key type", "description": "Key type indicator.", - "enum": [ - "EC", - "OKP", - "RSA" - ] + "enum": ["EC", "OKP", "RSA"] }, "publicKey": { "title": "Public key", "description": "Optional. Public key object.", "type": "object", - "required": [ - "kty" - ], + "required": ["kty"], "additionalProperties": true, "properties": { "kty": { @@ -140,12 +131,7 @@ "properties": { "kty": { "const": "EC" } } }, "then": { - "required": [ - "kty", - "crv", - "x", - "y" - ], + "required": ["kty", "crv", "x", "y"], "additionalProperties": false, "properties": { "kty": { @@ -155,11 +141,7 @@ "type": "string", "title": "Curve name", "description": "EC curve name.", - "enum": [ - "P-256", - "P-384", - "P-521" - ] + "enum": ["P-256", "P-384", "P-521"] }, "x": { "type": "string", @@ -179,11 +161,7 @@ "properties": { "kty": { "const": "OKP" } } }, "then": { - "required": [ - "kty", - "crv", - "x" - ], + "required": ["kty", "crv", "x"], "additionalProperties": false, "properties": { "kty": { @@ -193,10 +171,7 @@ "type": "string", "title": "Curve name", "description": "EdDSA curve name.", - "enum": [ - "Ed25519", - "Ed448" - ] + "enum": ["Ed25519", "Ed448"] }, "x": { "type": "string", @@ -211,11 +186,7 @@ "properties": { "kty": { "const": "RSA" } } }, "then": { - "required": [ - "kty", - "n", - "e" - ], + "required": ["kty", "n", "e"], "additionalProperties": false, "properties": { "kty": { diff --git a/db.js b/db.js index d2217a3c4..928b2d43f 100644 --- a/db.js +++ b/db.js @@ -9,7 +9,7 @@ class DataFlows extends Model {} export const createOrLoad = async (dbName, dbPath, logging = false) => { const sequelize = new Sequelize({ define: { - freezeTableName: true + freezeTableName: true, }, dialect: "sqlite", dialectOptions: { @@ -17,7 +17,7 @@ export const createOrLoad = async (dbName, dbPath, logging = false) => { SQLite.OPEN_READWRITE | SQLite.OPEN_CREATE | SQLite.OPEN_NOMUTEX | - SQLite.OPEN_SHAREDCACHE + SQLite.OPEN_SHAREDCACHE, }, storage: dbPath.includes("memory") ? dbPath : path.join(dbPath, dbName), logging, @@ -25,56 +25,56 @@ export const createOrLoad = async (dbName, dbPath, logging = false) => { max: 5, min: 0, acquire: 30000, - idle: 10000 - } + idle: 10000, + }, }); Namespaces.init( { purl: { type: DataTypes.STRING, allowNull: false, - primaryKey: true + primaryKey: true, }, data: { type: DataTypes.JSON, - allowNull: false - } + allowNull: false, + }, }, - { sequelize, modelName: "Namespaces" } + { sequelize, modelName: "Namespaces" }, ); Usages.init( { purl: { type: DataTypes.STRING, allowNull: false, - primaryKey: true + primaryKey: true, }, data: { type: DataTypes.JSON, - allowNull: false - } + allowNull: false, + }, }, - { sequelize, modelName: "Usages" } + { sequelize, modelName: "Usages" }, ); DataFlows.init( { purl: { type: DataTypes.STRING, allowNull: false, - primaryKey: true + primaryKey: true, }, data: { type: DataTypes.JSON, - allowNull: false - } + allowNull: false, + }, }, - { sequelize, modelName: "DataFlows" } + { sequelize, modelName: "DataFlows" }, ); await sequelize.sync(); return { sequelize, Namespaces, Usages, - DataFlows + DataFlows, }; }; diff --git a/display.js b/display.js index 00646ac77..72f9e5fa1 100644 --- a/display.js +++ b/display.js @@ -7,7 +7,7 @@ const SYMBOLS_ANSI = { EMPTY: "", INDENT: " ", LAST_BRANCH: "└── ", - VERTICAL: "│ " + VERTICAL: "│ ", }; const MAX_TREE_DEPTH = 6; @@ -25,15 +25,15 @@ export const printTable = (bomJson) => { } const config = { columnDefault: { - width: 30 + width: 30, }, columnCount: 4, columns: [ { width: 25 }, { width: 35 }, { width: 25, alignment: "right" }, - { width: 15 } - ] + { width: 15 }, + ], }; const stream = createStream(config); stream.write(["Group", "Name", "Version", "Scope"]); @@ -42,7 +42,7 @@ export const printTable = (bomJson) => { comp.group || "", comp.name, `\x1b[1;35m${comp.version || ""}\x1b[0m`, - comp.scope || "" + comp.scope || "", ]); } console.log(); @@ -51,7 +51,7 @@ export const printTable = (bomJson) => { bomJson.components.length, "components and", bomJson.dependencies.length, - "dependencies" + "dependencies", ); }; const formatProps = (props) => { @@ -64,10 +64,10 @@ const formatProps = (props) => { export const printOSTable = (bomJson) => { const config = { columnDefault: { - width: 50 + width: 50, }, columnCount: 3, - columns: [{ width: 20 }, { width: 40 }, { width: 50 }] + columns: [{ width: 20 }, { width: 40 }, { width: 50 }], }; const stream = createStream(config); stream.write(["Type", "Title", "Properties"]); @@ -75,7 +75,7 @@ export const printOSTable = (bomJson) => { stream.write([ comp.type, `\x1b[1;35m${comp.name.replace(/\+/g, " ").replace(/--/g, "::")}\x1b[0m`, - formatProps(comp.properties || []) + formatProps(comp.properties || []), ]); } console.log(); @@ -90,14 +90,14 @@ export const printServices = (bomJson) => { aservice.name || "", aservice.endpoints ? aservice.endpoints.join("\n") : "", aservice.authenticated ? "\x1b[1;35mYes\x1b[0m" : "", - aservice.xTrustBoundary ? "\x1b[1;35mYes\x1b[0m" : "" + aservice.xTrustBoundary ? "\x1b[1;35mYes\x1b[0m" : "", ]); } const config = { header: { alignment: "center", - content: "List of Services\nGenerated with \u2665 by cdxgen" - } + content: "List of Services\nGenerated with \u2665 by cdxgen", + }, }; if (data.length > 1) { console.log(table(data, config)); @@ -133,14 +133,14 @@ export const printOccurrences = (bomJson) => { comp.evidence.occurrences .map((l) => l.location) .sort(locationComparator) - .join("\n") + .join("\n"), ]); } const config = { header: { alignment: "center", - content: "Component Evidence\nGenerated with \u2665 by cdxgen" - } + content: "Component Evidence\nGenerated with \u2665 by cdxgen", + }, }; if (data.length > 1) { console.log(table(data, config)); @@ -162,9 +162,9 @@ export const printCallStack = (bomJson) => { const frames = Array.from( new Set( comp.evidence.callstack.frames.map( - (c) => `${c.fullFilename}${c.line ? "#" + c.line : ""}` - ) - ) + (c) => `${c.fullFilename}${c.line ? "#" + c.line : ""}`, + ), + ), ).sort(locationComparator); const frameDisplay = [frames[0]]; if (frames.length > 1) { @@ -172,21 +172,21 @@ export const printCallStack = (bomJson) => { frameDisplay.push(`${SYMBOLS_ANSI.BRANCH} ${frames[i]}`); } frameDisplay.push( - `${SYMBOLS_ANSI.LAST_BRANCH} ${frames[frames.length - 1]}` + `${SYMBOLS_ANSI.LAST_BRANCH} ${frames[frames.length - 1]}`, ); } data.push([ comp.group || "", comp.name, comp.version || "", - frameDisplay.join("\n") + frameDisplay.join("\n"), ]); } const config = { header: { alignment: "center", - content: "Component Call Stack Evidence\nGenerated with \u2665 by cdxgen" - } + content: "Component Call Stack Evidence\nGenerated with \u2665 by cdxgen", + }, }; if (data.length > 1) { console.log(table(data, config)); @@ -212,8 +212,8 @@ export const printDependencyTree = (bomJson) => { const config = { header: { alignment: "center", - content: "Dependency Tree\nGenerated with \u2665 by cdxgen" - } + content: "Dependency Tree\nGenerated with \u2665 by cdxgen", + }, }; console.log(table([[treeGraphics.join("\n")]], config)); } else { @@ -261,7 +261,7 @@ const recursePrint = (depMap, subtree, level, shownList, treeGraphics) => { level > 0 ) { treeGraphics.push( - `${levelPrefix(level, i == listToUse.length - 1)}${refStr}` + `${levelPrefix(level, i == listToUse.length - 1)}${refStr}`, ); shownList.push(refStr.toLowerCase()); if (l && depMap[refStr]) { @@ -271,7 +271,7 @@ const recursePrint = (depMap, subtree, level, shownList, treeGraphics) => { depMap[refStr], level + 1, shownList, - treeGraphics + treeGraphics, ); } } @@ -286,7 +286,7 @@ export const printReachables = (sliceArtefacts) => { } const purlCounts = {}; const reachablesSlices = JSON.parse( - readFileSync(reachablesSlicesFile, "utf-8") + readFileSync(reachablesSlicesFile, "utf-8"), ); for (const areachable of reachablesSlices.reachables || []) { const purls = areachable.purls || []; @@ -295,7 +295,7 @@ export const printReachables = (sliceArtefacts) => { } } const sortedPurls = Object.fromEntries( - Object.entries(purlCounts).sort(([, a], [, b]) => b - a) + Object.entries(purlCounts).sort(([, a], [, b]) => b - a), ); const data = [["Package URL", "Reachable Flows"]]; for (const apurl of Object.keys(sortedPurls)) { @@ -304,8 +304,8 @@ export const printReachables = (sliceArtefacts) => { const config = { header: { alignment: "center", - content: "Reachable Components\nGenerated with \u2665 by cdxgen" - } + content: "Reachable Components\nGenerated with \u2665 by cdxgen", + }, }; if (data.length > 1) { console.log(table(data, config)); diff --git a/display.test.js b/display.test.js index ce7013c70..f554aa4a5 100644 --- a/display.test.js +++ b/display.test.js @@ -1,10 +1,10 @@ -import { test } from "@jest/globals"; import { readFileSync } from "node:fs"; +import { test } from "@jest/globals"; import { printDependencyTree } from "./display.js"; test("print tree test", () => { const bomJson = JSON.parse( - readFileSync("./test/data/vuln-spring-1.5.bom.json", { encoding: "utf-8" }) + readFileSync("./test/data/vuln-spring-1.5.bom.json", { encoding: "utf-8" }), ); printDependencyTree(bomJson); }); diff --git a/docker.js b/docker.js index f6e1d0c8f..5cb51b29b 100644 --- a/docker.js +++ b/docker.js @@ -1,9 +1,5 @@ -import got from "got"; -import { globSync } from "glob"; -import { parse } from "node:url"; -import stream from "node:stream/promises"; -import process from "node:process"; import { Buffer } from "node:buffer"; +import { spawnSync } from "node:child_process"; import { createReadStream, existsSync, @@ -13,17 +9,21 @@ import { readFileSync, readdirSync, rmSync, - statSync + statSync, } from "node:fs"; -import { join } from "node:path"; import { platform as _platform, userInfo as _userInfo, homedir, - tmpdir + tmpdir, } from "node:os"; +import { join } from "node:path"; +import process from "node:process"; +import stream from "node:stream/promises"; +import { parse } from "node:url"; +import { globSync } from "glob"; +import got from "got"; import { x } from "tar"; -import { spawnSync } from "node:child_process"; import { DEBUG_MODE, getAllFiles } from "./utils.js"; export const isWin = _platform() === "win32"; @@ -42,7 +42,7 @@ if ( (process.env.CONTAINERD_ADDRESS || (process.env.XDG_RUNTIME_DIR && existsSync( - join(process.env.XDG_RUNTIME_DIR, "containerd-rootless", "api.sock") + join(process.env.XDG_RUNTIME_DIR, "containerd-rootless", "api.sock"), ))) ) { isContainerd = true; @@ -65,7 +65,7 @@ export const getDirs = (dirPath, dirName, hidden = false, recurse = true) => { nocase: true, nodir: false, follow: false, - dot: hidden + dot: hidden, }); } catch (err) { return []; @@ -107,8 +107,8 @@ export const getOnlyDirs = (srcpath, dirName) => { console.error(err); } }) - .filter((p) => p !== undefined) - ) + .filter((p) => p !== undefined), + ), ].filter((d) => d.endsWith(dirName)); }; @@ -128,13 +128,13 @@ const getDefaultOptions = (forRegistry) => { throwHttpErrors: true, method: "GET", hooks: { beforeError: [] }, - mutableDefaults: true + mutableDefaults: true, }; const DOCKER_CONFIG = process.env.DOCKER_CONFIG || join(homedir(), ".docker"); // Support for private registry if (process.env.DOCKER_AUTH_CONFIG) { opts.headers = { - "X-Registry-Auth": process.env.DOCKER_AUTH_CONFIG + "X-Registry-Auth": process.env.DOCKER_AUTH_CONFIG, }; authTokenSet = true; } @@ -148,7 +148,7 @@ const getDefaultOptions = (forRegistry) => { const authPayload = { username: process.env.DOCKER_USER, email: process.env.DOCKER_EMAIL, - serveraddress: forRegistry + serveraddress: forRegistry, }; if (process.env.DOCKER_USER === "") { authPayload.IdentityToken = process.env.DOCKER_PASSWORD; @@ -157,14 +157,14 @@ const getDefaultOptions = (forRegistry) => { } opts.headers = { "X-Registry-Auth": Buffer.from(JSON.stringify(authPayload)).toString( - "base64" - ) + "base64", + ), }; } if (!authTokenSet && existsSync(join(DOCKER_CONFIG, "config.json"))) { const configData = readFileSync( join(DOCKER_CONFIG, "config.json"), - "utf-8" + "utf-8", ); if (configData) { try { @@ -177,18 +177,18 @@ const getDefaultOptions = (forRegistry) => { } if (configJson.auths[serverAddress].auth) { opts.headers = { - "X-Registry-Auth": configJson.auths[serverAddress].auth + "X-Registry-Auth": configJson.auths[serverAddress].auth, }; authTokenSet = true; break; } else if (configJson.credsStore) { const helperAuthToken = getCredsFromHelper( configJson.credsStore, - serverAddress + serverAddress, ); if (helperAuthToken) { opts.headers = { - "X-Registry-Auth": helperAuthToken + "X-Registry-Auth": helperAuthToken, }; authTokenSet = true; break; @@ -204,11 +204,11 @@ const getDefaultOptions = (forRegistry) => { if (configJson.credHelpers[serverAddress]) { const helperAuthToken = getCredsFromHelper( configJson.credHelpers[serverAddress], - serverAddress + serverAddress, ); if (helperAuthToken) { opts.headers = { - "X-Registry-Auth": helperAuthToken + "X-Registry-Auth": helperAuthToken, }; authTokenSet = true; break; @@ -263,9 +263,12 @@ const getDefaultOptions = (forRegistry) => { opts.https = { certificate: readFileSync( join(process.env.DOCKER_CERT_PATH, "cert.pem"), - "utf8" + "utf8", + ), + key: readFileSync( + join(process.env.DOCKER_CERT_PATH, "key.pem"), + "utf8", ), - key: readFileSync(join(process.env.DOCKER_CERT_PATH, "key.pem"), "utf8") }; // Disable tls on empty values // From the docker docs: Setting the DOCKER_TLS_VERIFY environment variable to any value other than the empty string is equivalent to setting the --tlsverify flag @@ -294,9 +297,9 @@ export const getConnection = async (options, forRegistry) => { throwHttpErrors: defaultOptions.throwHttpErrors, method: defaultOptions.method, prefixUrl: defaultOptions.prefixUrl, - headers: defaultOptions.headers + headers: defaultOptions.headers, }, - options + options, ); try { await got.get("_ping", opts); @@ -306,7 +309,7 @@ export const getConnection = async (options, forRegistry) => { console.log("Docker service in rootless mode detected."); } else { console.log( - "Docker service in root mode detected. Consider switching to rootless mode to improve security. See https://docs.docker.com/engine/security/rootless/" + "Docker service in root mode detected. Consider switching to rootless mode to improve security. See https://docs.docker.com/engine/security/rootless/", ); } } @@ -340,7 +343,7 @@ export const getConnection = async (options, forRegistry) => { dockerConn = got.extend(opts); if (DEBUG_MODE) { console.log( - "Podman in rootless mode detected. Thank you for using podman!" + "Podman in rootless mode detected. Thank you for using podman!", ); } } @@ -353,22 +356,22 @@ export const getConnection = async (options, forRegistry) => { isPodmanRootless = false; dockerConn = got.extend(opts); console.log( - "Podman in root mode detected. Consider switching to rootless mode to improve security. See https://github.com/containers/podman/blob/main/docs/tutorials/rootless_tutorial.md" + "Podman in root mode detected. Consider switching to rootless mode to improve security. See https://github.com/containers/podman/blob/main/docs/tutorials/rootless_tutorial.md", ); } catch (err) { // console.log(err); if (_platform() === "win32") { console.warn( "Ensure Docker for Desktop is running as an administrator with 'Exposing daemon on TCP without TLS' setting turned on.", - opts + opts, ); } else { console.warn( "Ensure docker/podman service or Docker for Desktop is running.", - opts + opts, ); console.log( - "Check if the post-installation steps were performed correctly as per this documentation https://docs.docker.com/engine/install/linux-postinstall/" + "Check if the post-installation steps were performed correctly as per this documentation https://docs.docker.com/engine/install/linux-postinstall/", ); } } @@ -387,7 +390,7 @@ export const makeRequest = async (path, method = "GET", forRegistry) => { responseType: method === "GET" ? "json" : "buffer", resolveBodyOnly: true, enableUnixSockets: true, - method + method, }; const defaultOptions = getDefaultOptions(forRegistry); const opts = Object.assign( @@ -397,9 +400,9 @@ export const makeRequest = async (path, method = "GET", forRegistry) => { throwHttpErrors: defaultOptions.throwHttpErrors, method: defaultOptions.method, prefixUrl: defaultOptions.prefixUrl, - headers: defaultOptions.headers + headers: defaultOptions.headers, }, - extraOptions + extraOptions, ); return await client(path, opts); }; @@ -420,7 +423,7 @@ export const parseImageName = (fullImageName) => { digest: "", platform: "", group: "", - name: "" + name: "", }; if (!fullImageName) { return nameObj; @@ -517,14 +520,14 @@ export const getImage = async (fullImageName) => { } if (isContainerd) { console.log( - "containerd/nerdctl is currently unsupported. Export the image manually and run cdxgen against the tar image." + "containerd/nerdctl is currently unsupported. Export the image manually and run cdxgen against the tar image.", ); return undefined; } if (needsCliFallback()) { const dockerCmd = process.env.DOCKER_CMD || "docker"; let result = spawnSync(dockerCmd, ["pull", fullImageName], { - encoding: "utf-8" + encoding: "utf-8", }); if (result.status !== 0 || result.error) { if ( @@ -532,11 +535,11 @@ export const getImage = async (fullImageName) => { result.stderr.includes("docker daemon is not running") ) { console.log( - "Ensure Docker for Desktop is running as an administrator with 'Exposing daemon on TCP without TLS' setting turned on." + "Ensure Docker for Desktop is running as an administrator with 'Exposing daemon on TCP without TLS' setting turned on.", ); } else if (result.stderr && result.stderr.includes("not found")) { console.log( - "Set the environment variable DOCKER_CMD to use an alternative command such as nerdctl or podman." + "Set the environment variable DOCKER_CMD to use an alternative command such as nerdctl or podman.", ); } else { console.log(result.stderr); @@ -544,7 +547,7 @@ export const getImage = async (fullImageName) => { return localData; } else { result = spawnSync(dockerCmd, ["inspect", fullImageName], { - encoding: "utf-8" + encoding: "utf-8", }); if (result.status !== 0 || result.error) { console.log(result.stderr); @@ -571,7 +574,7 @@ export const getImage = async (fullImageName) => { localData = await makeRequest( `images/${repoWithTag}/json`, "GET", - registry + registry, ); if (localData) { return localData; @@ -586,7 +589,7 @@ export const getImage = async (fullImageName) => { localData = await makeRequest( `images/${fullImageName}/json`, "GET", - registry + registry, ); if (localData) { return localData; @@ -596,7 +599,7 @@ export const getImage = async (fullImageName) => { } if (DEBUG_MODE) { console.log( - `Trying to pull the image ${fullImageName} from registry. This might take a while ...` + `Trying to pull the image ${fullImageName} from registry. This might take a while ...`, ); } // If the data is not available locally @@ -604,7 +607,7 @@ export const getImage = async (fullImageName) => { pullData = await makeRequest( `images/create?fromImage=${fullImageName}`, "POST", - registry + registry, ); if ( pullData && @@ -612,10 +615,10 @@ export const getImage = async (fullImageName) => { pullData.includes("Error choosing an image from manifest list")) ) { console.warn( - "You may have to enable experimental settings in docker to support this platform!" + "You may have to enable experimental settings in docker to support this platform!", ); console.warn( - "To scan windows images, run cdxgen on a windows server with hyper-v and docker installed. Switch to windows containers in your docker settings." + "To scan windows images, run cdxgen on a windows server with hyper-v and docker installed. Switch to windows containers in your docker settings.", ); return undefined; } @@ -627,7 +630,7 @@ export const getImage = async (fullImageName) => { pullData = await makeRequest( `images/create?fromImage=${repoWithTag}`, "POST", - registry + registry, ); } catch (err) { // continue regardless of error @@ -640,7 +643,7 @@ export const getImage = async (fullImageName) => { localData = await makeRequest( `images/${repoWithTag}/json`, "GET", - registry + registry, ); if (localData) { return localData; @@ -664,7 +667,7 @@ export const getImage = async (fullImageName) => { localData = await makeRequest( `images/${fullImageName}/json`, "GET", - registry + registry, ); } catch (err) { // continue regardless of error @@ -673,10 +676,10 @@ export const getImage = async (fullImageName) => { } if (!localData) { console.log( - `Unable to pull ${fullImageName}. Check if the name is valid. Perform any authentication prior to invoking cdxgen.` + `Unable to pull ${fullImageName}. Check if the name is valid. Perform any authentication prior to invoking cdxgen.`, ); console.log( - `Try manually pulling this image using docker pull ${fullImageName}` + `Try manually pulling this image using docker pull ${fullImageName}`, ); } return localData; @@ -713,25 +716,25 @@ export const extractTar = async (fullImageName, dir) => { "TapeVolume", "SymbolicLink", "RenamedOrSymlinked", - "HardLink" + "HardLink", ].includes(entry.type) ) { return false; } return true; - } - }) + }, + }), ); return true; } catch (err) { if (err.code === "EPERM" && err.syscall === "symlink") { console.log( - "Please run cdxgen from a powershell terminal with admin privileges to create symlinks." + "Please run cdxgen from a powershell terminal with admin privileges to create symlinks.", ); console.log(err); } else if (!["TAR_BAD_ARCHIVE", "TAR_ENTRY_INFO"].includes(err.code)) { console.log( - `Error while extracting image ${fullImageName} to ${dir}. Please file this bug to the cdxgen repo. https://github.com/CycloneDX/cdxgen/issues` + `Error while extracting image ${fullImageName} to ${dir}. Please file this bug to the cdxgen repo. https://github.com/CycloneDX/cdxgen/issues`, ); console.log("------------"); console.log(err); @@ -768,7 +771,7 @@ export const exportArchive = async (fullImageName) => { if (existsSync(blobsDir)) { if (DEBUG_MODE) { console.log( - `Image archive ${fullImageName} successfully exported to directory ${tempDir}` + `Image archive ${fullImageName} successfully exported to directory ${tempDir}`, ); } const allBlobs = getAllFiles(blobsDir, "*"); @@ -785,7 +788,7 @@ export const exportArchive = async (fullImageName) => { allLayersDir: tempDir, allLayersExplodedDir, lastLayerConfig, - lastWorkingDir + lastWorkingDir, }; exportData.pkgPathList = getPkgPathList(exportData, lastWorkingDir); return exportData; @@ -795,7 +798,7 @@ export const exportArchive = async (fullImageName) => { manifestFile, {}, tempDir, - allLayersExplodedDir + allLayersExplodedDir, ); } else { console.log(`Unable to extract image archive to ${tempDir}`); @@ -810,15 +813,15 @@ export const extractFromManifest = async ( manifestFile, localData, tempDir, - allLayersExplodedDir + allLayersExplodedDir, ) => { // Example of manifests // [{"Config":"blobs/sha256/dedc100afa8d6718f5ac537730dd4a5ceea3563e695c90f1a8ac6df32c4cb291","RepoTags":["shiftleft/core:latest"],"Layers":["blobs/sha256/eaead16dc43bb8811d4ff450935d607f9ba4baffda4fc110cc402fa43f601d83","blobs/sha256/2039af03c0e17a3025b989335e9414149577fa09e7d0dcbee80155333639d11f"]}] // {"schemaVersion":2,"manifests":[{"mediaType":"application/vnd.docker.distribution.manifest.list.v2+json","digest":"sha256:7706ac20c7587081dc7a00e0ec65a6633b0bb3788e0048a3e971d3eae492db63","size":318,"annotations":{"io.containerd.image.name":"docker.io/shiftleft/scan-slim:latest","org.opencontainers.image.ref.name":"latest"}}]} let manifest = JSON.parse( readFileSync(manifestFile, { - encoding: "utf-8" - }) + encoding: "utf-8", + }), ); let lastLayerConfig = {}; let lastLayerConfigFile = ""; @@ -831,7 +834,7 @@ export const extractFromManifest = async ( if (manifest.length !== 1) { if (DEBUG_MODE) { console.log( - "Multiple image tags was downloaded. Only the last one would be used" + "Multiple image tags was downloaded. Only the last one would be used", ); console.log(manifest[manifest.length - 1]); } @@ -850,7 +853,7 @@ export const extractFromManifest = async ( try { if (!lstatSync(join(tempDir, layer)).isFile()) { console.log( - `Skipping layer ${layer} since it is not a readable file.` + `Skipping layer ${layer} since it is not a readable file.`, ); continue; } @@ -879,15 +882,15 @@ export const extractFromManifest = async ( if (lastLayer.includes("layer.tar")) { lastLayerConfigFile = join( tempDir, - lastLayer.replace("layer.tar", "json") + lastLayer.replace("layer.tar", "json"), ); } if (lastLayerConfigFile && existsSync(lastLayerConfigFile)) { try { lastLayerConfig = JSON.parse( readFileSync(lastLayerConfigFile, { - encoding: "utf-8" - }) + encoding: "utf-8", + }), ); lastWorkingDir = lastLayerConfig.config && lastLayerConfig.config.WorkingDir @@ -904,7 +907,7 @@ export const extractFromManifest = async ( allLayersDir: tempDir, allLayersExplodedDir, lastLayerConfig, - lastWorkingDir + lastWorkingDir, }; exportData.pkgPathList = getPkgPathList(exportData, lastWorkingDir); return exportData; @@ -934,14 +937,14 @@ export const exportImage = async (fullImageName) => { if (needsCliFallback()) { const imageTarFile = join(tempDir, "image.tar"); console.log( - `About to export image ${fullImageName} to ${imageTarFile} using docker cli` + `About to export image ${fullImageName} to ${imageTarFile} using docker cli`, ); const result = spawnSync( "docker", ["save", "-o", imageTarFile, fullImageName], { - encoding: "utf-8" - } + encoding: "utf-8", + }, ); if (result.status !== 0 || result.error) { if (result.stdout || result.stderr) { @@ -963,7 +966,7 @@ export const exportImage = async (fullImageName) => { if (DEBUG_MODE) { if (registry && registry.trim().length) { console.log( - `About to export image ${fullImageName} from ${registry} to ${tempDir}` + `About to export image ${fullImageName} from ${registry} to ${tempDir}`, ); } else { console.log(`About to export image ${fullImageName} to ${tempDir}`); @@ -979,8 +982,8 @@ export const exportImage = async (fullImageName) => { strict: true, C: tempDir, portable: true, - onwarn: () => {} - }) + onwarn: () => {}, + }), ); } catch (err) { if (localData && localData.Id) { @@ -996,8 +999,8 @@ export const exportImage = async (fullImageName) => { strict: true, C: tempDir, portable: true, - onwarn: () => {} - }) + onwarn: () => {}, + }), ); } catch (err) { console.log(err); @@ -1013,13 +1016,13 @@ export const exportImage = async (fullImageName) => { manifestFile = manifestIndexFile; } else { console.log( - `Manifest file ${manifestFile} was not found after export at ${tempDir}` + `Manifest file ${manifestFile} was not found after export at ${tempDir}`, ); return undefined; } if (DEBUG_MODE) { console.log( - `Image ${fullImageName} successfully exported to directory ${tempDir}` + `Image ${fullImageName} successfully exported to directory ${tempDir}`, ); } mkdirSync(allLayersExplodedDir); @@ -1027,7 +1030,7 @@ export const exportImage = async (fullImageName) => { manifestFile, localData, tempDir, - allLayersExplodedDir + allLayersExplodedDir, ); } else { console.log(`Unable to export image to ${tempDir}`); @@ -1054,7 +1057,7 @@ export const getPkgPathList = (exportData, lastWorkingDir) => { join(allLayersExplodedDir, "/usr/src"), join(allLayersExplodedDir, "/var/www/html"), join(allLayersExplodedDir, "/var/lib"), - join(allLayersExplodedDir, "/mnt") + join(allLayersExplodedDir, "/mnt"), ]; } else if (allLayersExplodedDir === "") { knownSysPaths = [ @@ -1065,7 +1068,7 @@ export const getPkgPathList = (exportData, lastWorkingDir) => { join(allLayersExplodedDir, "/usr/share"), join(allLayersExplodedDir, "/usr/src"), join(allLayersExplodedDir, "/var/www/html"), - join(allLayersExplodedDir, "/var/lib") + join(allLayersExplodedDir, "/var/lib"), ]; } if (existsSync(join(allLayersDir, "Files"))) { @@ -1142,7 +1145,7 @@ export const getPkgPathList = (exportData, lastWorkingDir) => { export const removeImage = async (fullImageName, force = false) => { const removeData = await makeRequest( `images/${fullImageName}?force=${force}`, - "DELETE" + "DELETE", ); return removeData; }; @@ -1157,7 +1160,7 @@ export const getCredsFromHelper = (exeSuffix, serverAddress) => { } const result = spawnSync(credHelperExe, ["get"], { input: serverAddress, - encoding: "utf-8" + encoding: "utf-8", }); if (result.status !== 0 || result.error) { console.log(result.stdout, result.stderr); @@ -1176,10 +1179,10 @@ export const getCredsFromHelper = (exeSuffix, serverAddress) => { process.env.DOCKER_PASSWORD, email: authPayload.email || authPayload.username || process.env.DOCKER_USER, - serveraddress: serverAddress + serveraddress: serverAddress, }; const authKey = Buffer.from(JSON.stringify(fixedAuthPayload)).toString( - "base64" + "base64", ); registry_auth_keys[serverAddress] = authKey; return authKey; @@ -1211,7 +1214,7 @@ export const addSkippedSrcFiles = (skippedImageSrcs, components) => { ) { co.properties = co.properties.concat({ name: "SrcFile", - value: skippedImage.src + value: skippedImage.src, }); } } diff --git a/docker.test.js b/docker.test.js index 8c51b091a..eaf0a17f5 100644 --- a/docker.test.js +++ b/docker.test.js @@ -1,3 +1,4 @@ +import { beforeEach, describe, expect, test } from "@jest/globals"; import { addSkippedSrcFiles, exportImage, @@ -5,9 +6,8 @@ import { getImage, isWin, parseImageName, - removeImage + removeImage, } from "./docker.js"; -import { beforeEach, describe, expect, test } from "@jest/globals"; test("docker connection", async () => { if (!(isWin && process.env.CI === "true")) { @@ -27,7 +27,7 @@ test("parseImageName tests", () => { digest: "", platform: "", group: "", - name: "debian" + name: "debian", }); expect(parseImageName("debian:latest")).toEqual({ registry: "", @@ -36,7 +36,7 @@ test("parseImageName tests", () => { digest: "", platform: "", group: "", - name: "debian" + name: "debian", }); expect(parseImageName("library/debian:latest")).toEqual({ registry: "", @@ -45,7 +45,7 @@ test("parseImageName tests", () => { digest: "", platform: "", group: "library", - name: "debian" + name: "debian", }); expect(parseImageName("shiftleft/scan:v1.15.6")).toEqual({ registry: "", @@ -54,7 +54,7 @@ test("parseImageName tests", () => { digest: "", platform: "", group: "shiftleft", - name: "scan" + name: "scan", }); expect(parseImageName("localhost:5000/shiftleft/scan:v1.15.6")).toEqual({ registry: "localhost:5000", @@ -63,7 +63,7 @@ test("parseImageName tests", () => { digest: "", platform: "", group: "shiftleft", - name: "scan" + name: "scan", }); expect(parseImageName("localhost:5000/shiftleft/scan")).toEqual({ registry: "localhost:5000", @@ -72,10 +72,10 @@ test("parseImageName tests", () => { digest: "", platform: "", group: "shiftleft", - name: "scan" + name: "scan", }); expect( - parseImageName("foocorp.jfrog.io/docker/library/eclipse-temurin:latest") + parseImageName("foocorp.jfrog.io/docker/library/eclipse-temurin:latest"), ).toEqual({ registry: "foocorp.jfrog.io", repo: "docker/library/eclipse-temurin", @@ -83,12 +83,12 @@ test("parseImageName tests", () => { digest: "", platform: "", group: "docker/library", - name: "eclipse-temurin" + name: "eclipse-temurin", }); expect( parseImageName( - "--platform=linux/amd64 foocorp.jfrog.io/docker/library/eclipse-temurin:latest" - ) + "--platform=linux/amd64 foocorp.jfrog.io/docker/library/eclipse-temurin:latest", + ), ).toEqual({ registry: "foocorp.jfrog.io", repo: "docker/library/eclipse-temurin", @@ -96,12 +96,12 @@ test("parseImageName tests", () => { digest: "", platform: "linux/amd64", group: "docker/library", - name: "eclipse-temurin" + name: "eclipse-temurin", }); expect( parseImageName( - "quay.io/shiftleft/scan-java@sha256:5d008306a7c5d09ba0161a3408fa3839dc2c9dd991ffb68adecc1040399fe9e1" - ) + "quay.io/shiftleft/scan-java@sha256:5d008306a7c5d09ba0161a3408fa3839dc2c9dd991ffb68adecc1040399fe9e1", + ), ).toEqual({ registry: "quay.io", repo: "shiftleft/scan-java", @@ -109,7 +109,7 @@ test("parseImageName tests", () => { digest: "5d008306a7c5d09ba0161a3408fa3839dc2c9dd991ffb68adecc1040399fe9e1", platform: "", group: "shiftleft", - name: "scan-java" + name: "scan-java", }); }, 120000); @@ -147,14 +147,14 @@ describe("addSkippedSrcFiles tests", () => { properties: [ { name: "SrcFile", - value: "/some/project/Dockerfile" + value: "/some/project/Dockerfile", }, { name: "oci:SrcImage", - value: "node:20" - } - ] - } + value: "node:20", + }, + ], + }, ]; }); @@ -163,10 +163,10 @@ describe("addSkippedSrcFiles tests", () => { [ { image: "node:18", - src: "/some/project/bitbucket-pipeline.yml" - } + src: "/some/project/bitbucket-pipeline.yml", + }, ], - testComponents + testComponents, ); expect(testComponents[0].properties).toHaveLength(2); @@ -177,10 +177,10 @@ describe("addSkippedSrcFiles tests", () => { [ { image: "node:20", - src: "/some/project/bitbucket-pipeline.yml" - } + src: "/some/project/bitbucket-pipeline.yml", + }, ], - testComponents + testComponents, ); expect(testComponents[0].properties).toHaveLength(3); @@ -191,10 +191,10 @@ describe("addSkippedSrcFiles tests", () => { [ { image: "node:20", - src: "/some/project/Dockerfile" - } + src: "/some/project/Dockerfile", + }, ], - testComponents + testComponents, ); expect(testComponents[0].properties).toHaveLength(2); diff --git a/envcontext.js b/envcontext.js index 95afeb554..06f664f79 100644 --- a/envcontext.js +++ b/envcontext.js @@ -1,4 +1,6 @@ +import { Buffer } from "node:buffer"; import { spawnSync } from "node:child_process"; +import process from "node:process"; import { CARGO_CMD, DOTNET_CMD, @@ -9,10 +11,8 @@ import { NPM_CMD, PYTHON_CMD, RUSTC_CMD, - isWin + isWin, } from "./utils.js"; -import process from "node:process"; -import { Buffer } from "node:buffer"; const GIT_COMMAND = process.env.GIT_CMD || "git"; @@ -87,7 +87,7 @@ export const listFiles = (dir) => { "-l", "-r", "--full-tree", - "HEAD" + "HEAD", ]); if (output) { output.split("\n").forEach((l) => { @@ -101,7 +101,7 @@ export const listFiles = (dir) => { filesList.push({ hash: tmpA[2], name: lastParts[lastParts.length - 1], - ref: `gitoid:blob:sha1:${tmpA[2]}` + ref: `gitoid:blob:sha1:${tmpA[2]}`, }); } }); @@ -139,9 +139,9 @@ export const collectJavaInfo = (dir) => { properties: [ { name: "java:modules", - value: moduleDesc.replaceAll("\n", ", ") - } - ] + value: moduleDesc.replaceAll("\n", ", "), + }, + ], }; } return undefined; @@ -162,7 +162,7 @@ export const collectDotnetInfo = (dir) => { type: "platform", name: "dotnet", version: versionDesc.trim(), - description: moduleDesc.replaceAll("\n", "\\n") + description: moduleDesc.replaceAll("\n", "\\n"), }; } return undefined; @@ -183,7 +183,7 @@ export const collectPythonInfo = (dir) => { type: "platform", name: "python", version: versionDesc.replace("Python ", ""), - description: moduleDesc.replaceAll("\n", "\\n") + description: moduleDesc.replaceAll("\n", "\\n"), }; } return undefined; @@ -206,7 +206,7 @@ export const collectNodeInfo = (dir) => { type: "platform", name: "node", version: versionDesc.trim(), - description: moduleDesc + description: moduleDesc, }; } return undefined; @@ -226,7 +226,7 @@ export const collectGccInfo = (dir) => { type: "platform", name: "gcc", version: versionDesc.split("\n")[0], - description: moduleDesc.replaceAll("\n", "\\n") + description: moduleDesc.replaceAll("\n", "\\n"), }; } return undefined; @@ -246,7 +246,7 @@ export const collectRustInfo = (dir) => { type: "platform", name: "rustc", version: versionDesc.trim(), - description: moduleDesc.trim() + description: moduleDesc.trim(), }; } return undefined; @@ -264,7 +264,7 @@ export const collectGoInfo = (dir) => { return { type: "platform", name: "go", - version: versionDesc.trim() + version: versionDesc.trim(), }; } return undefined; @@ -315,7 +315,7 @@ const getCommandOutput = (cmd, dir, args) => { const result = spawnSync(cmd, args, { cwd: dir, encoding: "utf-8", - shell: isWin + shell: isWin, }); if (result.status !== 0 || result.error) { return undefined; diff --git a/envcontext.test.js b/envcontext.test.js index 7d75e8f0d..566b7940f 100644 --- a/envcontext.test.js +++ b/envcontext.test.js @@ -10,7 +10,7 @@ import { collectRustInfo, getBranch, getOriginUrl, - listFiles + listFiles, } from "./envcontext.js"; test("git tests", () => { diff --git a/evinser.js b/evinser.js index a1036529a..7c0395807 100644 --- a/evinser.js +++ b/evinser.js @@ -1,3 +1,11 @@ +import fs from "node:fs"; +import { tmpdir } from "node:os"; +import path from "node:path"; +import process from "node:process"; +import { PackageURL } from "packageurl-js"; +import { Op } from "sequelize"; +import { findCryptoAlgos } from "./cbomutils.js"; +import * as db from "./db.js"; import { DEBUG_MODE, collectGradleDependencies, @@ -6,16 +14,8 @@ import { getAllFiles, getGradleCommand, getMavenCommand, - getTimestamp + getTimestamp, } from "./utils.js"; -import { findCryptoAlgos } from "./cbomutils.js"; -import { tmpdir } from "node:os"; -import path from "node:path"; -import fs from "node:fs"; -import * as db from "./db.js"; -import { PackageURL } from "packageurl-js"; -import { Op } from "sequelize"; -import process from "node:process"; const DB_NAME = "evinser.db"; const typePurlsCache = {}; @@ -36,11 +36,11 @@ export const prepareDB = async (options) => { const bomJsonFile = options.input; if (!fs.existsSync(bomJsonFile)) { console.log( - "Bom file doesn't exist. Check if cdxgen was invoked with the correct type argument." + "Bom file doesn't exist. Check if cdxgen was invoked with the correct type argument.", ); if (!process.env.CDXGEN_DEBUG_MODE) { console.log( - "Set the environment variable CDXGEN_DEBUG_MODE to debug to troubleshoot the issue further." + "Set the environment variable CDXGEN_DEBUG_MODE to debug to troubleshoot the issue further.", ); } return; @@ -48,14 +48,14 @@ export const prepareDB = async (options) => { const bomJson = JSON.parse(fs.readFileSync(bomJsonFile, "utf8")); if (bomJson.specVersion < 1.5) { console.log( - "Evinse requires the input SBOM in CycloneDX 1.5 format or above. You can generate one by invoking cdxgen without any --spec-version argument." + "Evinse requires the input SBOM in CycloneDX 1.5 format or above. You can generate one by invoking cdxgen without any --spec-version argument.", ); process.exit(0); } const components = bomJson.components || []; const { sequelize, Namespaces, Usages, DataFlows } = await db.createOrLoad( DB_NAME, - options.dbPath + options.dbPath, ); let hasMavenPkgs = false; // We need to slice only non-maven packages @@ -95,13 +95,13 @@ export const catalogMavenDeps = async ( dirPath, purlsJars, Namespaces, - options = {} + options = {}, ) => { let jarNSMapping = undefined; if (fs.existsSync(path.join(dirPath, "bom.json.map"))) { try { const mapData = JSON.parse( - fs.readFileSync(path.join(dirPath, "bom.json.map"), "utf-8") + fs.readFileSync(path.join(dirPath, "bom.json.map"), "utf-8"), ); if (mapData && Object.keys(mapData).length) { jarNSMapping = mapData; @@ -118,7 +118,7 @@ export const catalogMavenDeps = async ( mavenCmd, dirPath, false, - options.withDeepJarCollector + options.withDeepJarCollector, ); } if (jarNSMapping) { @@ -131,12 +131,12 @@ export const catalogMavenDeps = async ( data: JSON.stringify( { pom: jarNSMapping[purl].pom, - namespaces: jarNSMapping[purl].namespaces + namespaces: jarNSMapping[purl].namespaces, }, null, - null - ) - } + null, + ), + }, }); } } @@ -144,7 +144,7 @@ export const catalogMavenDeps = async ( export const catalogGradleDeps = async (dirPath, purlsJars, Namespaces) => { console.log( - "About to collect jar dependencies from the gradle cache. This would take a while ..." + "About to collect jar dependencies from the gradle cache. This would take a while ...", ); const gradleCmd = getGradleCommand(dirPath, dirPath); // collect all jars including from the cache if data-flow mode is enabled @@ -152,7 +152,7 @@ export const catalogGradleDeps = async (dirPath, purlsJars, Namespaces) => { gradleCmd, dirPath, false, - true + true, ); if (jarNSMapping) { for (const purl of Object.keys(jarNSMapping)) { @@ -164,17 +164,17 @@ export const catalogGradleDeps = async (dirPath, purlsJars, Namespaces) => { data: JSON.stringify( { pom: jarNSMapping[purl].pom, - namespaces: jarNSMapping[purl].namespaces + namespaces: jarNSMapping[purl].namespaces, }, null, - null - ) - } + null, + ), + }, }); } } console.log( - "To speed up successive re-runs, pass the argument --skip-maven-collector to evinse command." + "To speed up successive re-runs, pass the argument --skip-maven-collector to evinse command.", ); }; @@ -182,7 +182,7 @@ export const createAndStoreSlice = async ( purl, purlsJars, Usages, - options = {} + options = {}, ) => { const retMap = createSlice(purl, purlsJars[purl], "usages", options); let sliceData = undefined; @@ -191,8 +191,8 @@ export const createAndStoreSlice = async ( where: { purl }, defaults: { purl, - data: fs.readFileSync(retMap.slicesFile, "utf-8") - } + data: fs.readFileSync(retMap.slicesFile, "utf-8"), + }, }); } if (retMap && retMap.tempDir && retMap.tempDir.startsWith(tmpdir())) { @@ -205,13 +205,13 @@ export const createSlice = ( purlOrLanguage, filePath, sliceType = "usages", - options = {} + options = {}, ) => { if (!filePath) { return; } console.log( - `Create ${sliceType} slice for ${path.resolve(filePath)}. Please wait ...` + `Create ${sliceType} slice for ${path.resolve(filePath)}. Please wait ...`, ); const language = purlOrLanguage.startsWith("pkg:") ? purlToLanguage(purlOrLanguage, filePath) @@ -220,7 +220,7 @@ export const createSlice = ( return undefined; } let sliceOutputDir = fs.mkdtempSync( - path.join(tmpdir(), `atom-${sliceType}-`) + path.join(tmpdir(), `atom-${sliceType}-`), ); if (options && options.output) { sliceOutputDir = @@ -242,7 +242,7 @@ export const createSlice = ( "-o", path.resolve(atomFile), "--slice-outfile", - path.resolve(slicesFile) + path.resolve(slicesFile), ]); // For projects with several layers, slice depth needs to be increased from the default 7 to 15 or 20 // This would increase the time but would yield more deeper paths @@ -255,16 +255,16 @@ export const createSlice = ( const result = executeAtom(filePath, args); if (!result || !fs.existsSync(slicesFile)) { console.warn( - `Unable to generate ${sliceType} slice using atom. Check if this is a supported language.` + `Unable to generate ${sliceType} slice using atom. Check if this is a supported language.`, ); console.log( - "Set the environment variable CDXGEN_DEBUG_MODE=debug to troubleshoot." + "Set the environment variable CDXGEN_DEBUG_MODE=debug to troubleshoot.", ); } return { tempDir: sliceOutputDir, slicesFile, - atomFile + atomFile, }; }; @@ -312,13 +312,13 @@ export const initFromSbom = (components, language) => { } if (comp.evidence.occurrences) { purlLocationMap[comp.purl] = new Set( - comp.evidence.occurrences.map((v) => v.location) + comp.evidence.occurrences.map((v) => v.location), ); } } return { purlLocationMap, - purlImportsMap + purlImportsMap, }; }; @@ -357,14 +357,14 @@ export const analyzeProject = async (dbObjMap, options) => { ) { reachablesSlicesFile = options.reachablesSlicesFile; reachablesSlice = JSON.parse( - fs.readFileSync(options.reachablesSlicesFile, "utf-8") + fs.readFileSync(options.reachablesSlicesFile, "utf-8"), ); } else { retMap = createSlice(language, dirPath, "reachables", options); if (retMap && retMap.slicesFile && fs.existsSync(retMap.slicesFile)) { reachablesSlicesFile = retMap.slicesFile; reachablesSlice = JSON.parse( - fs.readFileSync(retMap.slicesFile, "utf-8") + fs.readFileSync(retMap.slicesFile, "utf-8"), ); } } @@ -394,7 +394,7 @@ export const analyzeProject = async (dbObjMap, options) => { dbObjMap, servicesMap, purlLocationMap, - purlImportsMap + purlImportsMap, ); purlLocationMap = retMap.purlLocationMap; servicesMap = retMap.servicesMap; @@ -407,7 +407,7 @@ export const analyzeProject = async (dbObjMap, options) => { ) { dataFlowSlicesFile = options.dataFlowSlicesFile; dataFlowSlice = JSON.parse( - fs.readFileSync(options.dataFlowSlicesFile, "utf-8") + fs.readFileSync(options.dataFlowSlicesFile, "utf-8"), ); } else { retMap = createSlice(language, dirPath, "data-flow", options); @@ -424,7 +424,7 @@ export const analyzeProject = async (dbObjMap, options) => { dataFlowSlice, dbObjMap, purlLocationMap, - purlImportsMap + purlImportsMap, ); } return { @@ -438,7 +438,7 @@ export const analyzeProject = async (dbObjMap, options) => { tempDir: retMap.tempDir, userDefinedTypesMap, cryptoComponents, - cryptoGeneratePurls + cryptoGeneratePurls, }; }; @@ -448,7 +448,7 @@ export const parseObjectSlices = async ( dbObjMap, servicesMap = {}, purlLocationMap = {}, - purlImportsMap = {} + purlImportsMap = {}, ) => { if (!usageSlice || !Object.keys(usageSlice).length) { return purlLocationMap; @@ -459,7 +459,7 @@ export const parseObjectSlices = async ( }); for (const slice of [ ...(usageSlice.objectSlices || []), - ...(usageSlice.userDefinedTypes || []) + ...(usageSlice.userDefinedTypes || []), ]) { // Skip the library code typically without filename if ( @@ -476,7 +476,7 @@ export const parseObjectSlices = async ( slice, dbObjMap, purlLocationMap, - purlImportsMap + purlImportsMap, ); detectServicesFromUsages(language, slice, servicesMap); } @@ -484,7 +484,7 @@ export const parseObjectSlices = async ( return { purlLocationMap, servicesMap, - userDefinedTypesMap + userDefinedTypesMap, }; }; @@ -506,7 +506,7 @@ export const parseSliceUsages = async ( slice, dbObjMap, purlLocationMap, - purlImportsMap + purlImportsMap, ) => { const fileName = slice.fileName; const typesToLookup = new Set(); @@ -531,7 +531,7 @@ export const parseSliceUsages = async ( [ausage?.targetObj?.isExternal, ausage?.targetObj?.resolvedMethod], [ausage?.definedBy?.isExternal, ausage?.definedBy?.typeFullName], [ausage?.definedBy?.isExternal, ausage?.definedBy?.resolvedMethod], - ...(ausage?.fields || []).map((f) => [f?.isExternal, f?.typeFullName]) + ...(ausage?.fields || []).map((f) => [f?.isExternal, f?.typeFullName]), ]) { if ( atype[0] !== false && @@ -546,7 +546,7 @@ export const parseSliceUsages = async ( ) { if (atype[1].includes(":")) { typesToLookup.add( - simplifyType(atype[1].split("::")[0].replace(/:/g, "/")) + simplifyType(atype[1].split("::")[0].replace(/:/g, "/")), ); } addToOverrides(lKeyOverrides, atype[1], fileName, ausageLine); @@ -571,7 +571,7 @@ export const parseSliceUsages = async ( lKeyOverrides, acall.callName, fileName, - acall.lineNumber + acall.lineNumber, ); } } else if (acall.isExternal == false) { @@ -591,13 +591,13 @@ export const parseSliceUsages = async ( lKeyOverrides, acall?.resolvedMethod, fileName, - acall.lineNumber + acall.lineNumber, ); } } const maybeClassType = getClassTypeFromSignature( language, - acall?.resolvedMethod + acall?.resolvedMethod, ); typesToLookup.add(maybeClassType); if (acall.lineNumber) { @@ -605,7 +605,7 @@ export const parseSliceUsages = async ( lKeyOverrides, maybeClassType, fileName, - acall.lineNumber + acall.lineNumber, ); } } @@ -616,20 +616,20 @@ export const parseSliceUsages = async ( if (acall.lineNumber) { if (aparamType.includes(":")) { typesToLookup.add( - simplifyType(aparamType.split("::")[0].replace(/:/g, "/")) + simplifyType(aparamType.split("::")[0].replace(/:/g, "/")), ); } addToOverrides( lKeyOverrides, aparamType, fileName, - acall.lineNumber + acall.lineNumber, ); } } const maybeClassType = getClassTypeFromSignature( language, - aparamType + aparamType, ); typesToLookup.add(maybeClassType); if (acall.lineNumber) { @@ -637,7 +637,7 @@ export const parseSliceUsages = async ( lKeyOverrides, maybeClassType, fileName, - acall.lineNumber + acall.lineNumber, ); } } @@ -681,9 +681,9 @@ export const parseSliceUsages = async ( attributes: ["purl"], where: { data: { - [Op.like]: `%${atype}%` - } - } + [Op.like]: `%${atype}%`, + }, + }, }); } if (nsHits && nsHits.length) { @@ -707,7 +707,7 @@ export const parseSliceUsages = async ( export const isFilterableType = ( language, userDefinedTypesMap, - typeFullName + typeFullName, ) => { if ( !typeFullName || @@ -721,7 +721,7 @@ export const isFilterableType = ( " { if (language != "php") { const tmpEndpoints = extractEndpoints( language, - acall.resolvedMethod + acall.resolvedMethod, ); if (acall.resolvedMethod.toLowerCase().includes("auth")) { authenticated = true; @@ -830,7 +830,7 @@ export const detectServicesFromUsages = (language, slice, servicesMap = {}) => { servicesMap[serviceName] = { endpoints: new Set(), authenticated, - xTrustBoundary: authenticated === true ? true : undefined + xTrustBoundary: authenticated === true ? true : undefined, }; } for (const endpoint of endpoints) { @@ -850,7 +850,7 @@ export const detectServicesFromUsages = (language, slice, servicesMap = {}) => { export const detectServicesFromUDT = ( language, userDefinedTypes, - servicesMap + servicesMap, ) => { if ( ["python", "py", "c", "cpp", "c++", "php"].includes(language) && @@ -886,7 +886,7 @@ export const detectServicesFromUDT = ( let serviceName = "service"; if (audt.fileName) { serviceName = `${path.basename( - audt.fileName.replace(".py", "") + audt.fileName.replace(".py", ""), )}-service`; } if (endpoints && endpoints.length) { @@ -894,7 +894,7 @@ export const detectServicesFromUDT = ( servicesMap[serviceName] = { endpoints: new Set(), authenticated: false, - xTrustBoundary: undefined + xTrustBoundary: undefined, }; } for (const endpoint of endpoints) { @@ -941,7 +941,7 @@ export const extractEndpoints = (language, code) => { v.length && !v.startsWith(".") && v.includes("/") && - !v.startsWith("@") + !v.startsWith("@"), ); } break; @@ -960,7 +960,7 @@ export const extractEndpoints = (language, code) => { v.includes("/") && !v.startsWith("@") && !v.startsWith("application/") && - !v.startsWith("text/") + !v.startsWith("text/"), ); } break; @@ -990,7 +990,7 @@ export const createEvinseFile = (sliceArtefacts, options) => { servicesMap, dataFlowFrames, cryptoComponents, - cryptoGeneratePurls + cryptoGeneratePurls, } = sliceArtefacts; const bomFile = options.input; const evinseOutFile = options.output; @@ -1005,7 +1005,7 @@ export const createEvinseFile = (sliceArtefacts, options) => { } delete comp.signature; const locationOccurrences = Array.from( - purlLocationMap[comp.purl] || [] + purlLocationMap[comp.purl] || [], ).sort(); if (locationOccurrences.length) { if (!comp.evidence) { @@ -1016,7 +1016,7 @@ export const createEvinseFile = (sliceArtefacts, options) => { comp.evidence.occurrences = locationOccurrences .filter((l) => !!l) .map((l) => ({ - location: l + location: l, })); occEvidencePresent = true; } @@ -1049,7 +1049,7 @@ export const createEvinseFile = (sliceArtefacts, options) => { name: serviceName, endpoints: Array.from(servicesMap[serviceName].endpoints), authenticated: servicesMap[serviceName].authenticated, - "x-trust-boundary": servicesMap[serviceName].xTrustBoundary + "x-trust-boundary": servicesMap[serviceName].xTrustBoundary, }); } // Add to existing services @@ -1087,7 +1087,7 @@ export const createEvinseFile = (sliceArtefacts, options) => { subjects: [bomJson.serialNumber], annotator: { component: bomJson.metadata.tools.components[0] }, timestamp: getTimestamp(), - text: fs.readFileSync(usagesSlicesFile, "utf8") + text: fs.readFileSync(usagesSlicesFile, "utf8"), }); } if (dataFlowSlicesFile && fs.existsSync(dataFlowSlicesFile)) { @@ -1095,7 +1095,7 @@ export const createEvinseFile = (sliceArtefacts, options) => { subjects: [bomJson.serialNumber], annotator: { component: bomJson.metadata.tools.components[0] }, timestamp: getTimestamp(), - text: fs.readFileSync(dataFlowSlicesFile, "utf8") + text: fs.readFileSync(dataFlowSlicesFile, "utf8"), }); } if (reachablesSlicesFile && fs.existsSync(reachablesSlicesFile)) { @@ -1103,7 +1103,7 @@ export const createEvinseFile = (sliceArtefacts, options) => { subjects: [bomJson.serialNumber], annotator: { component: bomJson.metadata.tools.components[0] }, timestamp: getTimestamp(), - text: fs.readFileSync(reachablesSlicesFile, "utf8") + text: fs.readFileSync(reachablesSlicesFile, "utf8"), }); } } @@ -1117,7 +1117,7 @@ export const createEvinseFile = (sliceArtefacts, options) => { console.log(evinseOutFile, "created successfully."); } else { console.log( - "Unable to identify component evidence for the input SBOM. Only java, javascript, python, and php projects are supported by evinse." + "Unable to identify component evidence for the input SBOM. Only java, javascript, python, and php projects are supported by evinse.", ); } if (tempDir && tempDir.startsWith(tmpdir())) { @@ -1143,7 +1143,7 @@ export const collectDataFlowFrames = async ( dataFlowSlice, dbObjMap, purlLocationMap, - purlImportsMap + purlImportsMap, ) => { const nodes = dataFlowSlice?.graph?.nodes || []; // Cache the nodes based on the id to improve lookup @@ -1200,9 +1200,9 @@ export const collectDataFlowFrames = async ( attributes: ["purl"], where: { data: { - [Op.like]: `%${typeFullName}%` - } - } + [Op.like]: `%${typeFullName}%`, + }, + }, }); } if (nsHits && nsHits.length) { @@ -1236,7 +1236,7 @@ export const collectDataFlowFrames = async ( function: theNode.parentMethodName || "", line: theNode.lineNumber || undefined, column: theNode.columnNumber || undefined, - fullFilename: theNode.parentFileName || "" + fullFilename: theNode.parentFileName || "", }); } referredPurls = Array.from(referredPurls); @@ -1299,7 +1299,7 @@ export const collectReachableFrames = (language, reachablesSlice) => { function: fnode.parentMethodName || "", line: fnode.lineNumber || undefined, column: fnode.columnNumber || undefined, - fullFilename: fnode.parentFileName || "" + fullFilename: fnode.parentFileName || "", }); } referredPurls = Array.from(referredPurls); @@ -1333,14 +1333,14 @@ export const collectReachableFrames = (language, reachablesSlice) => { description: algoObj.description || "", cryptoProperties: { assetType: "algorithm", - oid: algoObj.oid - } + oid: algoObj.oid, + }, }); } return { dataFlowFrames: dfFrames, cryptoComponents, - cryptoGeneratePurls + cryptoGeneratePurls, }; }; diff --git a/evinser.test.js b/evinser.test.js index 0cf90e74c..213a91101 100644 --- a/evinser.test.js +++ b/evinser.test.js @@ -3,14 +3,14 @@ import { expect, test } from "@jest/globals"; import { constructServiceName, detectServicesFromUsages, - extractEndpoints + extractEndpoints, } from "./evinser.js"; import { readFileSync } from "node:fs"; test("Service detection test", () => { const usageSlice = JSON.parse( - readFileSync("./test/data/usages.json", { encoding: "utf-8" }) + readFileSync("./test/data/usages.json", { encoding: "utf-8" }), ); const objectSlices = usageSlice.objectSlices; const servicesMap = {}; @@ -24,70 +24,70 @@ test("Service detection test", () => { test("extract endpoints test", () => { expect( - extractEndpoints("java", '@GetMapping(value = { "/", "/home" })') + extractEndpoints("java", '@GetMapping(value = { "/", "/home" })'), ).toEqual(["/", "/home"]); expect( extractEndpoints( "java", - '@PostMapping(value = "/issue", consumes = MediaType.APPLICATION_XML_VALUE)' - ) + '@PostMapping(value = "/issue", consumes = MediaType.APPLICATION_XML_VALUE)', + ), ).toEqual(["/issue"]); expect(extractEndpoints("java", '@GetMapping("/token")')).toEqual(["/token"]); expect( extractEndpoints( "javascript", - 'router.use("/api/v2/users",userRoutes.routes(),userRoutes.allowedMethods())' - ) + 'router.use("/api/v2/users",userRoutes.routes(),userRoutes.allowedMethods())', + ), ).toEqual(["/api/v2/users"]); expect( extractEndpoints( "javascript", - "app.use('/encryptionkeys', serveIndexMiddleware, serveIndex('encryptionkeys', { icons: true, view: 'details' }))" - ) + "app.use('/encryptionkeys', serveIndexMiddleware, serveIndex('encryptionkeys', { icons: true, view: 'details' }))", + ), ).toEqual(["/encryptionkeys"]); expect( extractEndpoints( "javascript", - "app.use(express.static(path.resolve('frontend/dist/frontend')))" - ) + "app.use(express.static(path.resolve('frontend/dist/frontend')))", + ), ).toEqual(["frontend/dist/frontend"]); expect( extractEndpoints( "javascript", - "app.use('/ftp(?!/quarantine)/:file', fileServer())" - ) + "app.use('/ftp(?!/quarantine)/:file', fileServer())", + ), ).toEqual(["/ftp(?!/quarantine)/:file"]); expect( extractEndpoints( "javascript", - "app.use('/rest/basket/:id', security.isAuthorized())" - ) + "app.use('/rest/basket/:id', security.isAuthorized())", + ), ).toEqual(["/rest/basket/:id"]); expect( extractEndpoints( "javascript", - "app.get(['/.well-known/security.txt', '/security.txt'], verify.accessControlChallenges())" - ) + "app.get(['/.well-known/security.txt', '/security.txt'], verify.accessControlChallenges())", + ), ).toEqual(["/.well-known/security.txt", "/security.txt"]); expect( extractEndpoints( "javascript", - 'router.post("/convert",async(ctx:Context):Promise=>{constparameters=ctx.request.body;constbatchClient=newBatchClient({region:"us-west-1"});constcommand=newSubmitJobCommand({jobName:parameters?.jobName,jobQueue:"FOO-ARN",jobDefinition:"BAR-ARN",parameters,});try{constobjectsOutput=awaitbatchClient.send(command);ctx.response.body=objectsOutput;}catch(err){//Poorexceptionhandlingctx.response.body=err;}})' - ) + 'router.post("/convert",async(ctx:Context):Promise=>{constparameters=ctx.request.body;constbatchClient=newBatchClient({region:"us-west-1"});constcommand=newSubmitJobCommand({jobName:parameters?.jobName,jobQueue:"FOO-ARN",jobDefinition:"BAR-ARN",parameters,});try{constobjectsOutput=awaitbatchClient.send(command);ctx.response.body=objectsOutput;}catch(err){//Poorexceptionhandlingctx.response.body=err;}})', + ), ).toEqual(["/convert"]); expect( extractEndpoints( "java", - '@RequestMapping(path = "/{name}", method = RequestMethod.GET)' - ) + '@RequestMapping(path = "/{name}", method = RequestMethod.GET)', + ), ).toEqual(["/{name}"]); expect( - extractEndpoints("java", "@RequestMapping(method = RequestMethod.POST)") + extractEndpoints("java", "@RequestMapping(method = RequestMethod.POST)"), ).toEqual([]); expect( extractEndpoints( "java", - '@RequestMapping(value = "/{accountName}", method = RequestMethod.GET)' - ) + '@RequestMapping(value = "/{accountName}", method = RequestMethod.GET)', + ), ).toEqual(["/{accountName}"]); }); diff --git a/index.js b/index.js index 5facac4ef..6f2c3ea6a 100644 --- a/index.js +++ b/index.js @@ -1,11 +1,8 @@ -import { platform as _platform, homedir, tmpdir } from "node:os"; -import process from "node:process"; import { Buffer } from "node:buffer"; -import { basename, dirname, join, resolve, sep } from "node:path"; -import { parse } from "ssri"; +import { spawnSync } from "node:child_process"; import { - accessSync, constants, + accessSync, existsSync, lstatSync, mkdirSync, @@ -14,11 +11,23 @@ import { rmSync, statSync, unlinkSync, - writeFileSync + writeFileSync, } from "node:fs"; +import { platform as _platform, homedir, tmpdir } from "node:os"; +import { basename, dirname, join, resolve, sep } from "node:path"; +import process from "node:process"; +import { URL, fileURLToPath } from "node:url"; import got from "got"; -import { v4 as uuidv4 } from "uuid"; import { PackageURL } from "packageurl-js"; +import { parse } from "ssri"; +import { v4 as uuidv4 } from "uuid"; +import { + collectEnvInfo, + getBranch, + getOriginUrl, + gitTreeHashes, + listFiles, +} from "./envcontext.js"; import { CLJ_CMD, DEBUG_MODE, @@ -53,6 +62,7 @@ import { getPyMetadata, getPyModules, getSwiftPackageMetadata, + getTimestamp, includeMavenTestScope, parseBazelActionGraph, parseBazelSkyframe, @@ -115,17 +125,7 @@ import { parseSwiftResolved, parseYarnLock, readZipEntry, - getTimestamp } from "./utils.js"; -import { - collectEnvInfo, - gitTreeHashes, - getBranch, - getOriginUrl, - listFiles -} from "./envcontext.js"; -import { spawnSync } from "node:child_process"; -import { URL, fileURLToPath } from "node:url"; let url = import.meta.url; if (!url.startsWith("file://")) { url = new URL(`file://${import.meta.url}`).toString(); @@ -133,26 +133,26 @@ if (!url.startsWith("file://")) { const dirName = import.meta ? dirname(fileURLToPath(url)) : __dirname; const selfPJson = JSON.parse( - readFileSync(join(dirName, "package.json"), "utf-8") + readFileSync(join(dirName, "package.json"), "utf-8"), ); const _version = selfPJson.version; -import { findJSImportsExports } from "./analyzer.js"; import { gte, lte } from "semver"; -import { - addSkippedSrcFiles, - exportArchive, - exportImage, - getPkgPathList, - parseImageName -} from "./docker.js"; +import { findJSImportsExports } from "./analyzer.js"; import { executeOsQuery, + getBinaryBom, getCargoAuditableInfo, getDotnetSlices, getOSPackages, - getBinaryBom } from "./binary.js"; import { collectOSCryptoLibs } from "./cbomutils.js"; +import { + addSkippedSrcFiles, + exportArchive, + exportImage, + getPkgPathList, + parseImageName, +} from "./docker.js"; const isWin = _platform() === "win32"; @@ -160,22 +160,22 @@ let osQueries = {}; switch (_platform()) { case "win32": osQueries = JSON.parse( - readFileSync(join(dirName, "data", "queries-win.json"), "utf-8") + readFileSync(join(dirName, "data", "queries-win.json"), "utf-8"), ); break; case "darwin": osQueries = JSON.parse( - readFileSync(join(dirName, "data", "queries-darwin.json"), "utf-8") + readFileSync(join(dirName, "data", "queries-darwin.json"), "utf-8"), ); break; default: osQueries = JSON.parse( - readFileSync(join(dirName, "data", "queries.json"), "utf-8") + readFileSync(join(dirName, "data", "queries.json"), "utf-8"), ); break; } const cosDbQueries = JSON.parse( - readFileSync(join(dirName, "data", "cosdb-queries.json"), "utf-8") + readFileSync(join(dirName, "data", "cosdb-queries.json"), "utf-8"), ); import { table } from "table"; @@ -189,7 +189,7 @@ if (process.env.GRADLE_USER_HOME) { process.env.GRADLE_USER_HOME, "caches", "modules-2", - "files-2.1" + "files-2.1", ); } @@ -211,7 +211,7 @@ const HASH_PATTERN = const createDefaultParentComponent = ( path, type = "application", - options = {} + options = {}, ) => { // Expands any relative path such as dot path = resolve(path); @@ -226,7 +226,7 @@ const createDefaultParentComponent = ( group: options.projectGroup || "", name: options.projectName || dirNameStr, version: "" + options.projectVersion || "latest", - type: "application" + type: "application", }; const ppurl = new PackageURL( type, @@ -234,7 +234,7 @@ const createDefaultParentComponent = ( parentComponent.name, parentComponent.version, null, - null + null, ).toString(); parentComponent["bom-ref"] = decodeURIComponent(ppurl); parentComponent["purl"] = ppurl; @@ -250,7 +250,7 @@ const determineParentComponent = (options) => { group: options.projectGroup || "", name: options.projectName, version: "" + options.projectVersion || "", - type: "application" + type: "application", }; const ppurl = new PackageURL( parentComponent.type, @@ -258,7 +258,7 @@ const determineParentComponent = (options) => { parentComponent.name, parentComponent.version, null, - null + null, ).toString(); parentComponent["bom-ref"] = decodeURIComponent(ppurl); parentComponent["purl"] = ppurl; @@ -272,8 +272,8 @@ const addToolsSection = (options, context = {}) => { { vendor: "cyclonedx", name: "cdxgen", - version: _version - } + version: _version, + }, ]; } let components = []; @@ -302,7 +302,7 @@ const addToolsSection = (options, context = {}) => { type: "application", "bom-ref": `pkg:npm/@cyclonedx/cdxgen@${_version}`, author: "OWASP Foundation", - publisher: "OWASP Foundation" + publisher: "OWASP Foundation", }); return { components }; }; @@ -394,18 +394,18 @@ const addFormulationSection = (options) => { name: "git-parent", description: "Artifact Dependency Graph (ADG) parent.", "bom-ref": parentOmniborId, - omniborId: [parentOmniborId] + omniborId: [parentOmniborId], }); components.push({ type: "file", name: "git-tree", description: "Artifact Dependency Graph (ADG) tree.", "bom-ref": treeOmniborId, - omniborId: [treeOmniborId] + omniborId: [treeOmniborId], }); provides.push({ ref: parentOmniborId, - provides: [treeOmniborId] + provides: [treeOmniborId], }); } if (gitBranch && originUrl && gitFiles) { @@ -416,20 +416,20 @@ const addFormulationSection = (options) => { type: "file", name: f.name, version: f.hash, - omniborId: [f.ref] + omniborId: [f.ref], } : { type: "file", name: f.name, - version: f.hash - } + version: f.hash, + }, ); components = components.concat(gitFileComponents); // Complete the Artifact Dependency Graph if (options.specVersion >= 1.6 && treeOmniborId) { provides.push({ ref: treeOmniborId, - provides: gitFiles.map((f) => f.ref) + provides: gitFiles.map((f) => f.ref), }); } // Collect build environment details @@ -458,7 +458,7 @@ const addFormulationSection = (options) => { ) { environmentVars.push({ name: aevar, - value: process.env[aevar] + value: process.env[aevar], }); } } @@ -472,11 +472,11 @@ const addFormulationSection = (options) => { inputs: [ { source: { ref: originUrl }, - environmentVars - } + environmentVars, + }, ], - taskTypes: ["build", "clone"] - } + taskTypes: ["build", "clone"], + }, ]; formulation.push(aformulation); } @@ -498,7 +498,7 @@ function addMetadata(parentComponent = {}, options = {}, context = {}) { timestamp: getTimestamp(), tools, authors, - supplier: undefined + supplier: undefined, }; if (lifecycles) { metadata.lifecycles = lifecycles; @@ -535,7 +535,7 @@ function addMetadata(parentComponent = {}, options = {}, context = {}) { ) { if (!comp["bom-ref"]) { comp["bom-ref"] = `pkg:${comp.type}/${decodeURIComponent( - fullName + fullName, )}`; } if (!addedSubComponents[comp["bom-ref"]]) { @@ -557,7 +557,7 @@ function addMetadata(parentComponent = {}, options = {}, context = {}) { if (inspectData.Id) { mproperties.push({ name: "oci:image:Id", - value: inspectData.Id + value: inspectData.Id, }); } if ( @@ -567,7 +567,7 @@ function addMetadata(parentComponent = {}, options = {}, context = {}) { ) { mproperties.push({ name: "oci:image:RepoTag", - value: inspectData.RepoTags[0] + value: inspectData.RepoTags[0], }); } if ( @@ -577,25 +577,25 @@ function addMetadata(parentComponent = {}, options = {}, context = {}) { ) { mproperties.push({ name: "oci:image:RepoDigest", - value: inspectData.RepoDigests[0] + value: inspectData.RepoDigests[0], }); } if (inspectData.Created) { mproperties.push({ name: "oci:image:Created", - value: inspectData.Created + value: inspectData.Created, }); } if (inspectData.Architecture) { mproperties.push({ name: "oci:image:Architecture", - value: inspectData.Architecture + value: inspectData.Architecture, }); } if (inspectData.Os) { mproperties.push({ name: "oci:image:Os", - value: inspectData.Os + value: inspectData.Os, }); } } @@ -605,7 +605,7 @@ function addMetadata(parentComponent = {}, options = {}, context = {}) { if (manifest.Config) { mproperties.push({ name: "oci:image:manifest:Config", - value: manifest.Config + value: manifest.Config, }); } if ( @@ -615,7 +615,7 @@ function addMetadata(parentComponent = {}, options = {}, context = {}) { ) { mproperties.push({ name: "oci:image:manifest:Layers", - value: manifest.Layers.join("\\n") + value: manifest.Layers.join("\\n"), }); } } @@ -624,19 +624,19 @@ function addMetadata(parentComponent = {}, options = {}, context = {}) { if (lastLayerConfig.id) { mproperties.push({ name: "oci:image:lastLayer:Id", - value: lastLayerConfig.id + value: lastLayerConfig.id, }); } if (lastLayerConfig.parent) { mproperties.push({ name: "oci:image:lastLayer:ParentId", - value: lastLayerConfig.parent + value: lastLayerConfig.parent, }); } if (lastLayerConfig.created) { mproperties.push({ name: "oci:image:lastLayer:Created", - value: lastLayerConfig.created + value: lastLayerConfig.created, }); } if (lastLayerConfig.config) { @@ -644,14 +644,14 @@ function addMetadata(parentComponent = {}, options = {}, context = {}) { if (env && Array.isArray(env) && env.length) { mproperties.push({ name: "oci:image:lastLayer:Env", - value: env.join("\\n") + value: env.join("\\n"), }); } const ccmd = lastLayerConfig.config.Cmd; if (ccmd && Array.isArray(ccmd) && ccmd.length) { mproperties.push({ name: "oci:image:lastLayer:Cmd", - value: ccmd.join(" ") + value: ccmd.join(" "), }); } } @@ -660,7 +660,7 @@ function addMetadata(parentComponent = {}, options = {}, context = {}) { if (options.allOSComponentTypes && options.allOSComponentTypes.length) { mproperties.push({ name: "oci:image:componentTypes", - value: options.allOSComponentTypes.join("\\n") + value: options.allOSComponentTypes.join("\\n"), }); } @@ -692,19 +692,19 @@ function addExternalReferences(opkg) { if (pkg.homepage && pkg.homepage.url) { externalReferences.push({ type: pkg.homepage.url.includes("git") ? "vcs" : "website", - url: pkg.homepage.url + url: pkg.homepage.url, }); } if (pkg.bugs && pkg.bugs.url) { externalReferences.push({ type: "issue-tracker", - url: pkg.bugs.url + url: pkg.bugs.url, }); } if (pkg.repository && pkg.repository.url) { externalReferences.push({ type: "vcs", - url: pkg.repository.url + url: pkg.repository.url, }); } } @@ -744,7 +744,7 @@ function addComponent( pkg, ptype, compMap, - isRootPkg = false + isRootPkg = false, ) { if (!pkg || pkg.extraneous) { return; @@ -774,7 +774,7 @@ function addComponent( encodeForPurl(name), version, pkg.qualifiers, - encodeForPurl(pkg.subpath) + encodeForPurl(pkg.subpath), ); // There is no purl for cryptographic-asset if (ptype == "cryptographic-asset") { @@ -808,7 +808,7 @@ function addComponent( hashes: [], licenses, purl: purlString, - externalReferences: addExternalReferences(pkg) + externalReferences: addExternalReferences(pkg), }; component["type"] = determinePackageType(pkg); @@ -885,7 +885,7 @@ function determinePackageType(pkg) { "file", "machine-learning-model", "data", - "cryptographic-asset" + "cryptographic-asset", ].includes(pkg.type) ) { return pkg.type; @@ -1009,7 +1009,7 @@ const buildBomNSData = (options, pkgInfo, ptype, context) => { bomJsonFiles: undefined, nsMapping: undefined, dependencies: undefined, - parentComponent: undefined + parentComponent: undefined, }; const serialNum = "urn:uuid:" + uuidv4(); let allImports = {}; @@ -1031,7 +1031,7 @@ const buildBomNSData = (options, pkgInfo, ptype, context) => { version: 1, metadata: metadata, components, - dependencies + dependencies, }; const formulationData = addFormulationSection(options); const formulation = @@ -1067,14 +1067,14 @@ export async function createJarBom(path, options) { getGradleCommand(path, null), path, false, - true + true, ); } else if (options.useMavenCache) { nsMapping = await collectMvnDependencies( getMavenCommand(path, null), null, false, - true + true, ); } if (path.endsWith(".jar")) { @@ -1083,14 +1083,14 @@ export async function createJarBom(path, options) { jarFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "*.[jw]ar", - options + options, ); } // Jenkins plugins const hpiFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "*.hpi", - options + options, ); if (hpiFiles.length) { jarFiles = jarFiles.concat(hpiFiles); @@ -1115,7 +1115,7 @@ export async function createJarBom(path, options) { pkgList = pkgList.concat(convertJarNSToPackages(nsMapping)); return buildBomNSData(options, pkgList, "maven", { src: path, - parentComponent + parentComponent, }); } @@ -1141,12 +1141,12 @@ export function createBinaryBom(path, options) { getBinaryBom(path, binaryBomFile, options.deep); if (existsSync(binaryBomFile)) { const binaryBom = JSON.parse( - readFileSync(binaryBomFile, { encoding: "utf-8" }) + readFileSync(binaryBomFile, { encoding: "utf-8" }), ); return { bomJson: binaryBom, dependencies: binaryBom.dependencies, - parentComponent: binaryBom.parentComponent + parentComponent: binaryBom.parentComponent, }; } return undefined; @@ -1194,14 +1194,14 @@ export async function createJavaBom(path, options) { filename: path, nsMapping: jarNSMapping, dependencies, - parentComponent + parentComponent, }); } else { // maven - pom.xml const pomFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "pom.xml", - options + options, ); let bomJsonFiles = []; if ( @@ -1236,7 +1236,7 @@ export async function createJavaBom(path, options) { const settingsXml = join(basePath, "settings.xml"); if (existsSync(settingsXml)) { console.log( - `maven settings.xml found in ${basePath}. Please set the MVN_ARGS environment variable based on the full mvn build command used for this project.\nExample: MVN_ARGS='--settings ${settingsXml}'` + `maven settings.xml found in ${basePath}. Please set the MVN_ARGS environment variable based on the full mvn build command used for this project.\nExample: MVN_ARGS='--settings ${settingsXml}'`, ); } const mavenCmd = getMavenCommand(basePath, path); @@ -1246,7 +1246,7 @@ export async function createJavaBom(path, options) { mavenCmd, basePath, true, - false + false, ); if (tmpjarNSMapping && Object.keys(tmpjarNSMapping).length) { jarNSMapping = { ...jarNSMapping, ...tmpjarNSMapping }; @@ -1254,14 +1254,14 @@ export async function createJavaBom(path, options) { } console.log( `Executing '${mavenCmd} ${mvnArgs.join(" ")}' in`, - basePath + basePath, ); let result = spawnSync(mavenCmd, mvnArgs, { cwd: basePath, shell: true, encoding: "utf-8", timeout: TIMEOUT_MS, - maxBuffer: MAX_BUFFER + maxBuffer: MAX_BUFFER, }); // Check if the cyclonedx plugin created the required bom.json file // Sometimes the plugin fails silently for complex maven projects @@ -1280,14 +1280,14 @@ export async function createJavaBom(path, options) { mvnTreeArgs = mvnTreeArgs.concat(addArgs); } console.log( - `Fallback to executing ${mavenCmd} ${mvnTreeArgs.join(" ")}` + `Fallback to executing ${mavenCmd} ${mvnTreeArgs.join(" ")}`, ); result = spawnSync(mavenCmd, mvnTreeArgs, { cwd: basePath, shell: true, encoding: "utf-8", timeout: TIMEOUT_MS, - maxBuffer: MAX_BUFFER + maxBuffer: MAX_BUFFER, }); if (result.status !== 0 || result.error) { // Our approach to recursively invoking the maven plugin for each sub-module is bound to result in failures @@ -1295,7 +1295,7 @@ export async function createJavaBom(path, options) { if (pomFiles.length === 1 || DEBUG_MODE) { console.error(result.stdout, result.stderr); console.log( - "Resolve the above maven error. This could be due to the following:\n" + "Resolve the above maven error. This could be due to the following:\n", ); if ( result.stdout && @@ -1303,7 +1303,7 @@ export async function createJavaBom(path, options) { result.stdout.includes("points at wrong local POM")) ) { console.log( - "1. Check if the pom.xml contains valid settings such `parent.relativePath` to make mvn command work from within the sub-directory." + "1. Check if the pom.xml contains valid settings such `parent.relativePath` to make mvn command work from within the sub-directory.", ); } else if ( result.stdout && @@ -1311,33 +1311,33 @@ export async function createJavaBom(path, options) { result.stdout.includes("no dependency information available")) ) { console.log( - "1. Try building the project with 'mvn package -Dmaven.test.skip=true' using the correct version of Java and maven before invoking cdxgen." + "1. Try building the project with 'mvn package -Dmaven.test.skip=true' using the correct version of Java and maven before invoking cdxgen.", ); } else if ( result.stdout && result.stdout.includes( - "Could not resolve target platform specification" + "Could not resolve target platform specification", ) ) { console.log( - "1. Some projects can be built only from the root directory. Invoke cdxgen with --no-recurse option" + "1. Some projects can be built only from the root directory. Invoke cdxgen with --no-recurse option", ); } else { console.log( - "1. Java version requirement: cdxgen container image bundles Java 21 with maven 3.9 which might be incompatible." + "1. Java version requirement: cdxgen container image bundles Java 21 with maven 3.9 which might be incompatible.", ); } console.log( - "2. Private dependencies cannot be downloaded: Check if any additional arguments must be passed to maven and set them via MVN_ARGS environment variable." + "2. Private dependencies cannot be downloaded: Check if any additional arguments must be passed to maven and set them via MVN_ARGS environment variable.", ); console.log( - "3. Check if all required environment variables including any maven profile arguments are passed correctly to this tool." + "3. Check if all required environment variables including any maven profile arguments are passed correctly to this tool.", ); } // Do not fall back to methods that can produce incomplete results when failOnError is set options.failOnError && process.exit(1); console.log( - "\nFalling back to manual pom.xml parsing. The result would be incomplete!" + "\nFalling back to manual pom.xml parsing. The result would be incomplete!", ); const dlist = parsePom(f); if (dlist && dlist.length) { @@ -1346,7 +1346,7 @@ export async function createJavaBom(path, options) { } else { if (existsSync(tempMvnTree)) { const mvnTreeString = readFileSync(tempMvnTree, { - encoding: "utf-8" + encoding: "utf-8", }); const parsedList = parseMavenTree(mvnTreeString); const dlist = parsedList.pkgList; @@ -1371,8 +1371,8 @@ export async function createJavaBom(path, options) { } bomJsonObj = JSON.parse( readFileSync(abjson, { - encoding: "utf-8" - }) + encoding: "utf-8", + }), ); if (bomJsonObj) { if ( @@ -1399,7 +1399,7 @@ export async function createJavaBom(path, options) { dependencies = mergeDependencies( dependencies, bomJsonObj.dependencies, - parentComponent + parentComponent, ); } } @@ -1419,7 +1419,7 @@ export async function createJavaBom(path, options) { nsMapping: jarNSMapping, dependencies, parentComponent, - tools + tools, }); } else if (bomJsonFiles.length) { const bomNSData = {}; @@ -1434,7 +1434,7 @@ export async function createJavaBom(path, options) { const gradleFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "build.gradle*", - options + options, ); const allProjects = []; const allProjectsAddedPurls = []; @@ -1452,7 +1452,7 @@ export async function createJavaBom(path, options) { parentComponent = { name: rootProject, type: "application", - ...retMap.metadata + ...retMap.metadata, }; const parentPurl = new PackageURL( "maven", @@ -1460,7 +1460,7 @@ export async function createJavaBom(path, options) { parentComponent.name, parentComponent.version, { type: "jar" }, - null + null, ).toString(); parentComponent["purl"] = parentPurl; parentComponent["bom-ref"] = decodeURIComponent(parentPurl); @@ -1476,7 +1476,7 @@ export async function createJavaBom(path, options) { name: rspName, type: "application", qualifiers: { type: "jar" }, - ...retMap.metadata + ...retMap.metadata, }; const rootSubProjectPurl = new PackageURL( "maven", @@ -1488,7 +1488,7 @@ export async function createJavaBom(path, options) { ? retMap.metadata.version : parentComponent.version, rootSubProjectObj.qualifiers, - null + null, ).toString(); rootSubProjectObj["purl"] = rootSubProjectPurl; rootSubProjectObj["bom-ref"] = @@ -1508,7 +1508,7 @@ export async function createJavaBom(path, options) { }); dependencies.push({ ref: parentComponent["bom-ref"], - dependsOn: rootDependsOn + dependsOn: rootDependsOn, }); } } @@ -1529,7 +1529,7 @@ export async function createJavaBom(path, options) { let gradleDepArgs = [ sp.purl === parentComponent.purl ? depTaskWithArgs[0] - : `:${sp.name}:${depTaskWithArgs[0]}` + : `:${sp.name}:${depTaskWithArgs[0]}`, ]; gradleDepArgs = gradleDepArgs .concat(depTaskWithArgs.slice(1)) @@ -1549,13 +1549,13 @@ export async function createJavaBom(path, options) { gradleCmd, gradleDepArgs.join(" "), "in", - path + path, ); const sresult = spawnSync(gradleCmd, gradleDepArgs, { cwd: path, encoding: "utf-8", timeout: TIMEOUT_MS, - maxBuffer: MAX_BUFFER + maxBuffer: MAX_BUFFER, }); if (sresult.status !== 0 || sresult.error) { if (options.failOnError || DEBUG_MODE) { @@ -1572,14 +1572,14 @@ export async function createJavaBom(path, options) { sp.name, sp.version && sp.version.length && sp.version !== "latest" ? sp.version - : parentComponent.version + : parentComponent.version, ); const dlist = parsedList.pkgList; if (parsedList.dependenciesList && parsedList.dependenciesList) { dependencies = mergeDependencies( dependencies, parsedList.dependenciesList, - parentComponent + parentComponent, ); } if (dlist && dlist.length) { @@ -1588,7 +1588,7 @@ export async function createJavaBom(path, options) { "Found", dlist.length, "packages in gradle project", - sp.name + sp.name, ); } pkgList = pkgList.concat(dlist); @@ -1599,18 +1599,18 @@ export async function createJavaBom(path, options) { if (parentComponent.components && parentComponent.components.length) { for (const subProj of parentComponent.components) { pkgList = pkgList.filter( - (pkg) => pkg["bom-ref"] !== subProj["bom-ref"] + (pkg) => pkg["bom-ref"] !== subProj["bom-ref"], ); } } console.log( "Obtained", pkgList.length, - "from this gradle project. De-duping this list ..." + "from this gradle project. De-duping this list ...", ); } else { console.log( - "No packages found. Set the environment variable 'CDXGEN_DEBUG_MODE=debug' to troubleshoot any gradle related errors." + "No packages found. Set the environment variable 'CDXGEN_DEBUG_MODE=debug' to troubleshoot any gradle related errors.", ); options.failOnError && process.exit(1); } @@ -1627,7 +1627,7 @@ export async function createJavaBom(path, options) { filename: gradleFiles.join(", "), nsMapping: jarNSMapping, dependencies, - parentComponent + parentComponent, }); } @@ -1653,21 +1653,21 @@ export async function createJavaBom(path, options) { "build", bazelTarget, "in", - basePath + basePath, ); let result = spawnSync(BAZEL_CMD, ["build", bazelTarget], { cwd: basePath, shell: true, encoding: "utf-8", timeout: TIMEOUT_MS, - maxBuffer: MAX_BUFFER + maxBuffer: MAX_BUFFER, }); if (result.status !== 0 || result.error) { if (result.stderr) { console.error(result.stdout, result.stderr); } console.log( - "1. Check if bazel is installed and available in PATH.\n2. Try building your app with bazel prior to invoking cdxgen" + "1. Check if bazel is installed and available in PATH.\n2. Try building your app with bazel prior to invoking cdxgen", ); options.failOnError && process.exit(1); } else { @@ -1686,13 +1686,13 @@ export async function createJavaBom(path, options) { "Executing", BAZEL_CMD, `${query.join(" ")} in`, - basePath + basePath, ); result = spawnSync(BAZEL_CMD, query, { cwd: basePath, encoding: "utf-8", timeout: TIMEOUT_MS, - maxBuffer: MAX_BUFFER + maxBuffer: MAX_BUFFER, }); if (result.status !== 0 || result.error) { console.error(result.stdout, result.stderr); @@ -1706,10 +1706,10 @@ export async function createJavaBom(path, options) { pkgList = pkgList.concat(dlist); } else { console.log( - "No packages were detected.\n1. Build your project using bazel build command before running cdxgen\n2. Try running the bazel aquery command manually to see if skyframe state can be retrieved." + "No packages were detected.\n1. Build your project using bazel build command before running cdxgen\n2. Try running the bazel aquery command manually to see if skyframe state can be retrieved.", ); console.log( - "If your project requires a different query, please file a bug at cyclonedx/cdxgen repo!" + "If your project requires a different query, please file a bug at cyclonedx/cdxgen repo!", ); options.failOnError && process.exit(1); } @@ -1724,7 +1724,7 @@ export async function createJavaBom(path, options) { filename: "BUILD", nsMapping: {}, dependencies, - parentComponent + parentComponent, }); } } @@ -1741,7 +1741,7 @@ export async function createJavaBom(path, options) { path, (options.multiProject ? "**/" : "") + "project/{build.properties,*.sbt,*.scala}", - options + options, ); let sbtProjects = []; @@ -1757,7 +1757,7 @@ export async function createJavaBom(path, options) { sbtProjectFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "*.sbt", - options + options, ); for (const i in sbtProjectFiles) { const baseDir = dirname(sbtProjectFiles[i]); @@ -1766,12 +1766,12 @@ export async function createJavaBom(path, options) { } // eliminate duplicates and ignore project directories sbtProjects = [...new Set(sbtProjects)].filter( - (p) => !p.endsWith(sep + "project") && !p.includes("target" + sep) + (p) => !p.endsWith(sep + "project") && !p.includes("target" + sep), ); const sbtLockFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "build.sbt.lock", - options + options, ); if (sbtProjects && sbtProjects.length) { @@ -1834,17 +1834,17 @@ export async function createJavaBom(path, options) { if (standalonePluginFile) { sbtArgs = [ `-addPluginSbtFile=${tempSbtPlugins}`, - `"dependencyList::toFile ${dlFile} --force"` + `"dependencyList::toFile ${dlFile} --force"`, ]; } else { // write to the existing plugins file if (useSlashSyntax) { sbtArgs = [ - `'set ThisBuild / asciiGraphWidth := 400' "dependencyTree / toFile ${dlFile} --force"` + `'set ThisBuild / asciiGraphWidth := 400' "dependencyTree / toFile ${dlFile} --force"`, ]; } else { sbtArgs = [ - `'set asciiGraphWidth in ThisBuild := 400' "dependencyTree::toFile ${dlFile} --force"` + `'set asciiGraphWidth in ThisBuild := 400' "dependencyTree::toFile ${dlFile} --force"`, ]; } pluginFile = addPlugin(basePath, sbtPluginDefinition); @@ -1856,7 +1856,7 @@ export async function createJavaBom(path, options) { "in", basePath, "using plugins", - tempSbtgDir + tempSbtgDir, ); // Note that the command has to be invoked with `shell: true` to properly execut sbt const result = spawnSync(SBT_CMD, sbtArgs, { @@ -1864,18 +1864,18 @@ export async function createJavaBom(path, options) { shell: true, encoding: "utf-8", timeout: TIMEOUT_MS, - maxBuffer: MAX_BUFFER + maxBuffer: MAX_BUFFER, }); if (result.status !== 0 || result.error) { console.error(result.stdout, result.stderr); console.log( - `1. Check if scala and sbt is installed and available in PATH. Only scala 2.10 + sbt 0.13.6+ and 2.12 + sbt 1.0+ is supported for now.` + `1. Check if scala and sbt is installed and available in PATH. Only scala 2.10 + sbt 0.13.6+ and 2.12 + sbt 1.0+ is supported for now.`, ); console.log( - `2. Check if the plugin net.virtual-void:sbt-dependency-graph 0.10.0-RC1 can be used in the environment` + `2. Check if the plugin net.virtual-void:sbt-dependency-graph 0.10.0-RC1 can be used in the environment`, ); console.log( - "3. Consider creating a lockfile using sbt-dependency-lock plugin. See https://github.com/stringbean/sbt-dependency-lock" + "3. Consider creating a lockfile using sbt-dependency-lock plugin. See https://github.com/stringbean/sbt-dependency-lock", ); options.failOnError && process.exit(1); } @@ -1896,7 +1896,7 @@ export async function createJavaBom(path, options) { dependencies = mergeDependencies( dependencies, retMap.dependenciesList, - parentComponent + parentComponent, ); } } else { @@ -1927,7 +1927,7 @@ export async function createJavaBom(path, options) { filename: sbtProjects.join(", "), nsMapping: jarNSMapping, dependencies, - parentComponent + parentComponent, }); } } @@ -1961,7 +1961,7 @@ export async function createNodejsBom(path, options) { allImports: {}, src: path, filename: "package.json", - parentComponent + parentComponent, }); } } @@ -1973,7 +1973,7 @@ export async function createNodejsBom(path, options) { ) { if (DEBUG_MODE) { console.log( - `Performing babel-based package usage analysis with source code at ${path}` + `Performing babel-based package usage analysis with source code at ${path}`, ); } const retData = await findJSImportsExports(path, options.deep); @@ -1983,17 +1983,17 @@ export async function createNodejsBom(path, options) { const yarnLockFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "yarn.lock", - options + options, ); const shrinkwrapFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "npm-shrinkwrap.json", - options + options, ); let pkgLockFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "package-lock.json", - options + options, ); if (shrinkwrapFiles.length) { pkgLockFiles = pkgLockFiles.concat(shrinkwrapFiles); @@ -2001,17 +2001,17 @@ export async function createNodejsBom(path, options) { const pnpmLockFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "pnpm-lock.yaml", - options + options, ); const minJsFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "*min.js", - options + options, ); const bowerFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "bower.json", - options + options, ); // Parse min js files if (minJsFiles && minJsFiles.length) { @@ -2050,7 +2050,7 @@ export async function createNodejsBom(path, options) { options.projectName || parentComponent.name, options.projectVersion || parentComponent.version, null, - null + null, ).toString(); parentComponent["bom-ref"] = decodeURIComponent(ppurl); parentComponent["purl"] = ppurl; @@ -2062,7 +2062,7 @@ export async function createNodejsBom(path, options) { parentComponent = { group: "", name: dirName, - type: "application" + type: "application", }; ppurl = new PackageURL( "npm", @@ -2070,7 +2070,7 @@ export async function createNodejsBom(path, options) { options.projectName || parentComponent.name, options.projectVersion || parentComponent.version, null, - null + null, ).toString(); parentComponent["bom-ref"] = decodeURIComponent(ppurl); parentComponent["purl"] = ppurl; @@ -2085,7 +2085,7 @@ export async function createNodejsBom(path, options) { dependencies = mergeDependencies( dependencies, parsedList.dependenciesList, - parentComponent + parentComponent, ); } } @@ -2113,7 +2113,7 @@ export async function createNodejsBom(path, options) { dependencies = mergeDependencies( dependencies, parsedList.dependenciesList, - parentComponent + parentComponent, ); } } @@ -2129,8 +2129,8 @@ export async function createNodejsBom(path, options) { ["install", "--no-link", "--bypass-policy"], { cwd: path, - encoding: "utf-8" - } + encoding: "utf-8", + }, ); if (result.status == 1 || result.error) { console.error(result.stdout, result.stderr); @@ -2144,7 +2144,7 @@ export async function createNodejsBom(path, options) { "build-tasks", ".rush", "temp", - "shrinkwrap-deps.json" + "shrinkwrap-deps.json", ); const pnpmLock = join(path, "common", "config", "rush", "pnpm-lock.yaml"); if (existsSync(swFile)) { @@ -2154,13 +2154,13 @@ export async function createNodejsBom(path, options) { pkgList, allImports, allExports, - options.deep + options.deep, ); } return buildBomNSData(options, pkgList, "npm", { allImports, src: path, - filename: "shrinkwrap-deps.json" + filename: "shrinkwrap-deps.json", }); } else if (existsSync(pnpmLock)) { let pkgList = await parsePnpmLock(pnpmLock); @@ -2169,14 +2169,14 @@ export async function createNodejsBom(path, options) { pkgList, allImports, allExports, - options.deep + options.deep, ); } return buildBomNSData(options, pkgList, "npm", { allImports, allExports, src: path, - filename: "pnpm-lock.yaml" + filename: "pnpm-lock.yaml", }); } else { console.log( @@ -2184,7 +2184,7 @@ export async function createNodejsBom(path, options) { swFile, " nor pnpm lockfile", pnpmLock, - "was found!" + "was found!", ); options.failOnError && process.exit(1); } @@ -2209,7 +2209,7 @@ export async function createNodejsBom(path, options) { options.projectName || tmpParentComponent.name, options.projectVersion || tmpParentComponent.version, null, - null + null, ).toString(); tmpParentComponent["bom-ref"] = decodeURIComponent(ppurl); tmpParentComponent["purl"] = ppurl; @@ -2226,7 +2226,7 @@ export async function createNodejsBom(path, options) { const tmpParentComponent = { group: options.projectGroup || "", name: options.projectName || dirName, - type: "application" + type: "application", }; ppurl = new PackageURL( "npm", @@ -2234,7 +2234,7 @@ export async function createNodejsBom(path, options) { tmpParentComponent.name, options.projectVersion || tmpParentComponent.version, null, - null + null, ).toString(); tmpParentComponent["bom-ref"] = decodeURIComponent(ppurl); tmpParentComponent["purl"] = ppurl; @@ -2268,17 +2268,17 @@ export async function createNodejsBom(path, options) { options.projectName || parentComponent.name, options.projectVersion || parentComponent.version, null, - null + null, ).toString(); parsedList.dependenciesList.push({ ref: decodeURIComponent(ppurl), - dependsOn: rdeplist + dependsOn: rdeplist, }); } dependencies = mergeDependencies( dependencies, parsedList.dependenciesList, - parentComponent + parentComponent, ); } } @@ -2289,7 +2289,7 @@ export async function createNodejsBom(path, options) { const pkgJsonFiles = getAllFiles( join(path, "node_modules"), "**/package.json", - options + options, ); manifestFiles = manifestFiles.concat(pkgJsonFiles); for (const pkgjf of pkgJsonFiles) { @@ -2310,7 +2310,7 @@ export async function createNodejsBom(path, options) { options.projectName || parentComponent.name, options.projectVersion || parentComponent.version, null, - null + null, ).toString(); parentComponent["bom-ref"] = decodeURIComponent(ppurl); parentComponent["purl"] = ppurl; @@ -2329,14 +2329,14 @@ export async function createNodejsBom(path, options) { pkgList, allImports, allExports, - options.deep + options.deep, ); } return buildBomNSData(options, pkgList, "npm", { src: path, filename: manifestFiles.join(", "), dependencies, - parentComponent + parentComponent, }); } @@ -2357,12 +2357,12 @@ export async function createPythonBom(path, options) { let poetryFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "poetry.lock", - options + options, ); const pdmLockFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "pdm.lock", - options + options, ); if (pdmLockFiles && pdmLockFiles.length) { poetryFiles = poetryFiles.concat(pdmLockFiles); @@ -2370,30 +2370,30 @@ export async function createPythonBom(path, options) { let reqFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "*requirements*.txt", - options + options, ); reqFiles = reqFiles.filter( - (f) => !f.includes(join("mercurial", "helptext", "internals")) + (f) => !f.includes(join("mercurial", "helptext", "internals")), ); const reqDirFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "requirements/*.txt", - options + options, ); const metadataFiles = getAllFiles( path, (options.multiProject ? "**/site-packages/**/" : "") + "METADATA", - options + options, ); const whlFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "*.whl", - options + options, ); const eggInfoFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "*.egg-info", - options + options, ); const setupPy = join(path, "setup.py"); const pyProjectFile = join(path, "pyproject.toml"); @@ -2411,7 +2411,7 @@ export async function createPythonBom(path, options) { parentComponent.name, parentComponent.version || "latest", null, - null + null, ).toString(); parentComponent["bom-ref"] = decodeURIComponent(ppurl); parentComponent["purl"] = ppurl; @@ -2436,7 +2436,7 @@ export async function createPythonBom(path, options) { dependencies = mergeDependencies( dependencies, retMap.dependenciesList, - parentComponent + parentComponent, ); } // Retrieve the tree using virtualenv in deep mode and as a fallback @@ -2450,7 +2450,7 @@ export async function createPythonBom(path, options) { dependencies = mergeDependencies( dependencies, retMap.dependenciesList, - parentComponent + parentComponent, ); } } @@ -2461,7 +2461,7 @@ export async function createPythonBom(path, options) { } const pdependencies = { ref: parentComponent["bom-ref"], - dependsOn: parentDependsOn + dependsOn: parentDependsOn, }; dependencies.splice(0, 0, pdependencies); } @@ -2469,13 +2469,13 @@ export async function createPythonBom(path, options) { src: path, filename: poetryFiles.join(", "), dependencies, - parentComponent + parentComponent, }); } else if (metadataFiles && metadataFiles.length) { // dist-info directories for (const mf of metadataFiles) { const mData = readFileSync(mf, { - encoding: "utf-8" + encoding: "utf-8", }); const dlist = parseBdistMetadata(mData); if (dlist && dlist.length) { @@ -2523,7 +2523,7 @@ export async function createPythonBom(path, options) { if (reqFiles && reqFiles.length) { if (options.installDeps && DEBUG_MODE) { console.log( - "cdxgen will now attempt to generate an SBOM for 'build' lifecycle phase for Python. This would take some time ...\nTo speed up this step, invoke cdxgen from within a virtual environment with all the dependencies installed.\nAlternatively, pass the argument '--lifecycle pre-build' to generate a faster but less precise SBOM without installing the dependencies in case of any build issues." + "cdxgen will now attempt to generate an SBOM for 'build' lifecycle phase for Python. This would take some time ...\nTo speed up this step, invoke cdxgen from within a virtual environment with all the dependencies installed.\nAlternatively, pass the argument '--lifecycle pre-build' to generate a faster but less precise SBOM without installing the dependencies in case of any build issues.", ); } for (const f of reqFiles) { @@ -2543,7 +2543,7 @@ export async function createPythonBom(path, options) { dependencies = mergeDependencies( dependencies, pkgMap.dependenciesList, - parentComponent + parentComponent, ); } } @@ -2551,7 +2551,7 @@ export async function createPythonBom(path, options) { if (!pkgList.length || !frozen) { if (DEBUG_MODE) { console.log( - `Manually parsing ${f}. The result would include only direct dependencies.` + `Manually parsing ${f}. The result would include only direct dependencies.`, ); } reqData = readFileSync(f, { encoding: "utf-8" }); @@ -2604,7 +2604,7 @@ export async function createPythonBom(path, options) { apkg.properties = apkg.properties || []; apkg.properties.push({ name: "ImportedModules", - value: iSymbolsMap[apkg.name] + value: iSymbolsMap[apkg.name], }); } } @@ -2627,7 +2627,7 @@ export async function createPythonBom(path, options) { dependencies = mergeDependencies( dependencies, retMap.dependenciesList, - parentComponent + parentComponent, ); } if (retMap.allImports) { @@ -2651,7 +2651,7 @@ export async function createPythonBom(path, options) { dependencies = mergeDependencies( dependencies, pkgMap.dependenciesList, - parentComponent + parentComponent, ); } let parentPresent = false; @@ -2665,8 +2665,8 @@ export async function createPythonBom(path, options) { const pdependencies = { ref: parentComponent["bom-ref"], dependsOn: Array.from(parentDependsOn).filter( - (r) => parentComponent && r !== parentComponent["bom-ref"] - ) + (r) => parentComponent && r !== parentComponent["bom-ref"], + ), }; dependencies.splice(0, 0, pdependencies); } @@ -2693,7 +2693,7 @@ export async function createPythonBom(path, options) { src: path, filename: metadataFilename, dependencies, - parentComponent + parentComponent, }); } @@ -2723,7 +2723,7 @@ export async function createGoBom(path, options) { const gosumFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "go.sum", - options + options, ); // If USE_GOSUM is true|1, generate BOM components only using go.sum. @@ -2732,7 +2732,7 @@ export async function createGoBom(path, options) { if (useGosum && gosumFiles.length) { console.warn( "Using go.sum to generate BOMs for go projects may return an inaccurate representation of transitive dependencies.\nSee: https://github.com/golang/go/wiki/Modules#is-gosum-a-lock-file-why-does-gosum-include-information-for-module-versions-i-am-no-longer-using\n", - "Set USE_GOSUM=false to generate BOMs using go.mod as the dependency source of truth." + "Set USE_GOSUM=false to generate BOMs using go.mod as the dependency source of truth.", ); for (const f of gosumFiles) { if (DEBUG_MODE) { @@ -2748,7 +2748,7 @@ export async function createGoBom(path, options) { let circuitBreak = false; if (DEBUG_MODE) { console.log( - `Attempting to detect required packages using "go mod why" command for ${pkgList.length} packages` + `Attempting to detect required packages using "go mod why" command for ${pkgList.length} packages`, ); } // Using go mod why detect required packages @@ -2778,8 +2778,8 @@ export async function createGoBom(path, options) { cwd: path, encoding: "utf-8", timeout: TIMEOUT_MS, - maxBuffer: MAX_BUFFER - } + maxBuffer: MAX_BUFFER, + }, ); if (mresult.status !== 0 || mresult.error) { if (DEBUG_MODE) { @@ -2813,7 +2813,7 @@ export async function createGoBom(path, options) { src: path, dependencies, parentComponent, - filename: gosumFiles.join(", ") + filename: gosumFiles.join(", "), }); } @@ -2838,14 +2838,14 @@ export async function createGoBom(path, options) { const gopkgLockFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "Gopkg.lock", - options + options, ); // Read in go.mod files and parse BOM components with checksums from gosumData const gomodFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "go.mod", - options + options, ); if (gomodFiles.length) { let shouldManuallyParse = false; @@ -2868,14 +2868,14 @@ export async function createGoBom(path, options) { "-deps", "-f", "'{{with .Module}}{{.Path}} {{.Version}} {{.Indirect}} {{.GoMod}} {{.GoVersion}} {{.Main}}{{end}}'", - "./..." + "./...", ], { cwd: basePath, encoding: "utf-8", timeout: TIMEOUT_MS, - maxBuffer: MAX_BUFFER - } + maxBuffer: MAX_BUFFER, + }, ); if (DEBUG_MODE) { console.log("Executing go mod graph in", basePath); @@ -2910,7 +2910,7 @@ export async function createGoBom(path, options) { cwd: basePath, encoding: "utf-8", timeout: TIMEOUT_MS, - maxBuffer: MAX_BUFFER + maxBuffer: MAX_BUFFER, }); // Check if got a mod graph successfully if (result.status !== 0 || result.error) { @@ -2929,7 +2929,7 @@ export async function createGoBom(path, options) { f, gosumMap, pkgList, - parentComponent + parentComponent, ); if (retMap.pkgList && retMap.pkgList.length) { pkgList = pkgList.concat(retMap.pkgList); @@ -2939,14 +2939,14 @@ export async function createGoBom(path, options) { dependencies = mergeDependencies( dependencies, retMap.dependenciesList, - parentComponent + parentComponent, ); } } } else { shouldManuallyParse = true; console.error( - "go unexpectedly didn't return any output. Check if the correct version of golang is installed." + "go unexpectedly didn't return any output. Check if the correct version of golang is installed.", ); options.failOnError && process.exit(1); } @@ -2957,14 +2957,14 @@ export async function createGoBom(path, options) { dependencies, parentComponent, src: path, - filename: gomodFiles.join(", ") + filename: gomodFiles.join(", "), }); } } // Parse the gomod files manually. The resultant BOM would be incomplete if (!["docker", "oci", "container", "os"].includes(options.projectType)) { console.log( - "Manually parsing go.mod files. The resultant BOM would be incomplete." + "Manually parsing go.mod files. The resultant BOM would be incomplete.", ); } for (const f of gomodFiles) { @@ -2981,7 +2981,7 @@ export async function createGoBom(path, options) { src: path, dependencies, parentComponent, - filename: gomodFiles.join(", ") + filename: gomodFiles.join(", "), }); } else if (gopkgLockFiles.length) { for (const f of gopkgLockFiles) { @@ -2989,7 +2989,7 @@ export async function createGoBom(path, options) { console.log(`Parsing ${f}`); } const gopkgData = readFileSync(f, { - encoding: "utf-8" + encoding: "utf-8", }); const dlist = await parseGopkgData(gopkgData); if (dlist && dlist.length) { @@ -3000,7 +3000,7 @@ export async function createGoBom(path, options) { src: path, dependencies, parentComponent, - filename: gopkgLockFiles.join(", ") + filename: gopkgLockFiles.join(", "), }); } return {}; @@ -3037,18 +3037,18 @@ export async function createRustBom(path, options) { return buildBomNSData(options, pkgList, "cargo", { allImports, src: path, - filename: path + filename: path, }); } let cargoLockFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "Cargo.lock", - options + options, ); const cargoFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "Cargo.toml", - options + options, ); // This function assumes that the given path is prioritized, i.e that the // Cargo.toml-file directly inside the directory `path` (or the one in the @@ -3074,7 +3074,7 @@ export async function createRustBom(path, options) { parentComponent.components = []; if (DEBUG_MODE) { console.log( - `Assigning parent component "${parentComponent.name}" from ${f}` + `Assigning parent component "${parentComponent.name}" from ${f}`, ); } } else { @@ -3088,7 +3088,7 @@ export async function createRustBom(path, options) { cargoLockFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "Cargo.lock", - options + options, ); let dependencyTree = []; if (cargoLockFiles.length) { @@ -3110,7 +3110,7 @@ export async function createRustBom(path, options) { dependencyTree = mergeDependencies( dependencyTree, fileDependencylist, - parentComponent + parentComponent, ); } } @@ -3118,7 +3118,7 @@ export async function createRustBom(path, options) { src: path, filename: cargoLockFiles.join(", "), dependencies: dependencyTree, - parentComponent + parentComponent, }); } return {}; @@ -3134,12 +3134,12 @@ export async function createDartBom(path, options) { const pubFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "pubspec.lock", - options + options, ); const pubSpecYamlFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "pubspec.yaml", - options + options, ); let pkgList = []; if (pubFiles.length) { @@ -3155,7 +3155,7 @@ export async function createDartBom(path, options) { } return buildBomNSData(options, pkgList, "pub", { src: path, - filename: pubFiles.join(", ") + filename: pubFiles.join(", "), }); } else if (pubSpecYamlFiles.length) { for (const f of pubSpecYamlFiles) { @@ -3170,7 +3170,7 @@ export async function createDartBom(path, options) { } return buildBomNSData(options, pkgList, "pub", { src: path, - filename: pubSpecYamlFiles.join(", ") + filename: pubSpecYamlFiles.join(", "), }); } @@ -3190,18 +3190,18 @@ export function createCppBom(path, options) { const conanLockFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "conan.lock", - options + options, ); const conanFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "conanfile.txt", - options + options, ); let cmakeLikeFiles = []; const mesonBuildFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "meson.build", - options + options, ); if (mesonBuildFiles && mesonBuildFiles.length) { cmakeLikeFiles = cmakeLikeFiles.concat(mesonBuildFiles); @@ -3210,13 +3210,13 @@ export function createCppBom(path, options) { getAllFiles( path, (options.multiProject ? "**/" : "") + "CMakeLists.txt", - options - ) + options, + ), ); const cmakeFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "*.cmake", - options + options, ); if (cmakeFiles && cmakeFiles.length) { cmakeLikeFiles = cmakeLikeFiles.concat(cmakeFiles); @@ -3283,7 +3283,7 @@ export function createCppBom(path, options) { dependencies = mergeDependencies( dependencies, retMap.dependenciesList, - parentComponent + parentComponent, ); } else { dependencies = retMap.dependenciesList; @@ -3310,7 +3310,7 @@ export function createCppBom(path, options) { queryCategory, queryObj, results, - true + true, ); if (dlist && dlist.length) { osPkgsList = osPkgsList.concat(dlist); @@ -3328,7 +3328,7 @@ export function createCppBom(path, options) { dependencies = mergeDependencies( dependencies, retMap.dependenciesList, - parentComponent + parentComponent, ); } else { dependencies = retMap.dependenciesList; @@ -3353,7 +3353,7 @@ export function createCppBom(path, options) { return buildBomNSData(options, pkgList, "generic", { src: path, parentComponent, - dependencies + dependencies, }); } @@ -3367,12 +3367,12 @@ export function createClojureBom(path, options) { const ednFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "deps.edn", - options + options, ); const leinFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "project.clj", - options + options, ); let pkgList = []; if (leinFiles.length) { @@ -3390,7 +3390,7 @@ export function createClojureBom(path, options) { cwd: basePath, encoding: "utf-8", timeout: TIMEOUT_MS, - maxBuffer: MAX_BUFFER + maxBuffer: MAX_BUFFER, }); if (result.status !== 0 || result.error) { if (result.stderr) { @@ -3398,7 +3398,7 @@ export function createClojureBom(path, options) { options.failOnError && process.exit(1); } console.log( - "Check if the correct version of lein is installed and available in PATH. Falling back to manual parsing." + "Check if the correct version of lein is installed and available in PATH. Falling back to manual parsing.", ); if (DEBUG_MODE) { console.log(`Parsing ${f}`); @@ -3424,7 +3424,7 @@ export function createClojureBom(path, options) { } return buildBomNSData(options, pkgList, "clojars", { src: path, - filename: leinFiles.join(", ") + filename: leinFiles.join(", "), }); } else if (ednFiles.length) { let CLJ_ARGS = ["-Stree"]; @@ -3438,7 +3438,7 @@ export function createClojureBom(path, options) { cwd: basePath, encoding: "utf-8", timeout: TIMEOUT_MS, - maxBuffer: MAX_BUFFER + maxBuffer: MAX_BUFFER, }); if (result.status !== 0 || result.error) { if (result.stderr) { @@ -3446,7 +3446,7 @@ export function createClojureBom(path, options) { options.failOnError && process.exit(1); } console.log( - "Check if the correct version of clojure cli is installed and available in PATH. Falling back to manual parsing." + "Check if the correct version of clojure cli is installed and available in PATH. Falling back to manual parsing.", ); if (DEBUG_MODE) { console.log(`Parsing ${f}`); @@ -3472,7 +3472,7 @@ export function createClojureBom(path, options) { } return buildBomNSData(options, pkgList, "clojars", { src: path, - filename: ednFiles.join(", ") + filename: ednFiles.join(", "), }); } @@ -3489,7 +3489,7 @@ export function createHaskellBom(path, options) { const cabalFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "cabal.project.freeze", - options + options, ); let pkgList = []; if (cabalFiles.length) { @@ -3505,7 +3505,7 @@ export function createHaskellBom(path, options) { } return buildBomNSData(options, pkgList, "hackage", { src: path, - filename: cabalFiles.join(", ") + filename: cabalFiles.join(", "), }); } return {}; @@ -3521,7 +3521,7 @@ export function createElixirBom(path, options) { const mixFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "mix.lock", - options + options, ); let pkgList = []; if (mixFiles.length) { @@ -3537,7 +3537,7 @@ export function createElixirBom(path, options) { } return buildBomNSData(options, pkgList, "hex", { src: path, - filename: mixFiles.join(", ") + filename: mixFiles.join(", "), }); } return {}; @@ -3553,7 +3553,7 @@ export function createGitHubBom(path, options) { const ghactionFiles = getAllFiles( path, ".github/workflows/" + "*.yml", - options + options, ); let pkgList = []; if (ghactionFiles.length) { @@ -3569,7 +3569,7 @@ export function createGitHubBom(path, options) { } return buildBomNSData(options, pkgList, "github", { src: path, - filename: ghactionFiles.join(", ") + filename: ghactionFiles.join(", "), }); } return {}; @@ -3597,7 +3597,7 @@ export function createCloudBuildBom(path, options) { } return buildBomNSData(options, pkgList, "cloudbuild", { src: path, - filename: cbFiles.join(", ") + filename: cbFiles.join(", "), }); } return {}; @@ -3611,7 +3611,7 @@ export function createCloudBuildBom(path, options) { */ export function createOSBom(path, options) { console.warn( - "About to generate OBOM for the current OS installation. This will take several minutes ..." + "About to generate OBOM for the current OS installation. This will take several minutes ...", ); let pkgList = []; let bomData = {}; @@ -3623,14 +3623,14 @@ export function createOSBom(path, options) { queryCategory, queryObj, results, - false + false, ); if (dlist && dlist.length) { if (!Object.keys(parentComponent).length) { parentComponent = dlist.splice(0, 1)[0]; } pkgList = pkgList.concat( - dlist.sort((a, b) => a.name.localeCompare(b.name)) + dlist.sort((a, b) => a.name.localeCompare(b.name)), ); } } // for @@ -3638,7 +3638,7 @@ export function createOSBom(path, options) { bomData = buildBomNSData(options, pkgList, "", { src: "", filename: "", - parentComponent + parentComponent, }); } options.bomData = bomData; @@ -3652,7 +3652,7 @@ export function createOSBom(path, options) { const exportData = { lastWorkingDir: undefined, allLayersDir: options.allLayersExplodedDir, - allLayersExplodedDir: options.allLayersExplodedDir + allLayersExplodedDir: options.allLayersExplodedDir, }; const pkgPathList = []; if (options.deep) { @@ -3672,7 +3672,7 @@ export async function createJenkinsBom(path, options) { const hpiFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "*.hpi", - options + options, ); const tempDir = mkdtempSync(join(tmpdir(), "hpi-deps-")); if (hpiFiles.length) { @@ -3706,7 +3706,7 @@ export async function createJenkinsBom(path, options) { return buildBomNSData(options, pkgList, "maven", { src: path, filename: hpiFiles.join(", "), - nsMapping: {} + nsMapping: {}, }); } @@ -3721,7 +3721,7 @@ export function createHelmBom(path, options) { const yamlFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "*.yaml", - options + options, ); if (yamlFiles.length) { for (const f of yamlFiles) { @@ -3736,7 +3736,7 @@ export function createHelmBom(path, options) { } return buildBomNSData(options, pkgList, "helm", { src: path, - filename: yamlFiles.join(", ") + filename: yamlFiles.join(", "), }); } return {}; @@ -3752,12 +3752,12 @@ export async function createSwiftBom(path, options) { const swiftFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "Package*.swift", - options + options, ); const pkgResolvedFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "Package.resolved", - options + options, ); let pkgList = []; let dependencies = []; @@ -3794,8 +3794,8 @@ export async function createSwiftBom(path, options) { cwd: basePath, encoding: "utf-8", timeout: TIMEOUT_MS, - maxBuffer: MAX_BUFFER - } + maxBuffer: MAX_BUFFER, + }, ); if (result.status === 0 && result.stdout) { completedPath.push(basePath); @@ -3810,13 +3810,13 @@ export async function createSwiftBom(path, options) { dependencies = mergeDependencies( dependencies, retData.dependenciesList, - parentComponent + parentComponent, ); } } else { if (DEBUG_MODE) { console.log( - "Please install swift from https://www.swift.org/download/ or use the cdxgen container image" + "Please install swift from https://www.swift.org/download/ or use the cdxgen container image", ); } console.error(result.stderr); @@ -3831,7 +3831,7 @@ export async function createSwiftBom(path, options) { src: path, filename: swiftFiles.join(", "), parentComponent, - dependencies + dependencies, }); } @@ -3854,37 +3854,37 @@ export async function createContainerSpecLikeBom(path, options) { let dcFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "*.yml", - options + options, ); const dfFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "*Dockerfile*", - options + options, ); const bbPipelineFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "bitbucket-pipelines.yml", - options + options, ); const cfFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "*Containerfile*", - options + options, ); const yamlFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "*.yaml", - options + options, ); let oapiFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "open*.json", - options + options, ); const oapiYamlFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "open*.yaml", - options + options, ); if (oapiYamlFiles && oapiYamlFiles.length) { oapiFiles = oapiFiles.concat(oapiYamlFiles); @@ -3926,32 +3926,32 @@ export async function createContainerSpecLikeBom(path, options) { const commonProperties = [ { name: "SrcFile", - value: f - } + value: f, + }, ]; if (img.image) { commonProperties.push({ name: "oci:SrcImage", - value: img.image + value: img.image, }); } if (img.service) { commonProperties.push({ name: "ServiceName", - value: img.service + value: img.service, }); } // img could have .service, .ociSpec or .image if (img.ociSpec) { console.log( - `NOTE: ${img.ociSpec} needs to built using docker or podman and referred with a name to get included in this SBOM.` + `NOTE: ${img.ociSpec} needs to built using docker or podman and referred with a name to get included in this SBOM.`, ); ociSpecs.push({ group: "", name: img.ociSpec, version: "latest", - properties: commonProperties + properties: commonProperties, }); } if (img.service) { @@ -3971,7 +3971,7 @@ export async function createContainerSpecLikeBom(path, options) { name: name, version: version, group: "", - properties: commonProperties + properties: commonProperties, }); doneservices.push(servbomRef); } @@ -3981,7 +3981,7 @@ export async function createContainerSpecLikeBom(path, options) { if (DEBUG_MODE) { console.log( "Skipping image as it's already been processed", - img.image + img.image, ); } @@ -4002,7 +4002,7 @@ export async function createContainerSpecLikeBom(path, options) { (imageObj.digest ? "sha256:" + imageObj.digest : "latest"), qualifiers: {}, properties: commonProperties, - type: "container" + type: "container", }; if (imageObj.registry) { // Skip adding repository_url if the registry or repo contains variables. @@ -4013,7 +4013,7 @@ export async function createContainerSpecLikeBom(path, options) { if (DEBUG_MODE) { console.warn( "Skipping adding repository_url qualifier as it contains variables, which are not yet supported", - img.image + img.image, ); } } else { @@ -4031,7 +4031,7 @@ export async function createContainerSpecLikeBom(path, options) { const imageBomData = buildBomNSData(options, [pkg], "oci", { src: img.image, filename: f, - nsMapping: {} + nsMapping: {}, }); if ( imageBomData && @@ -4073,8 +4073,8 @@ export async function createContainerSpecLikeBom(path, options) { se.properties = [ { name: "SrcFile", - value: af - } + value: af, + }, ]; } services = services.concat(servlist); @@ -4084,15 +4084,15 @@ export async function createContainerSpecLikeBom(path, options) { // Parse privado files if (privadoFiles.length) { console.log( - "Enriching your SBOM with information from privado.ai scan reports" + "Enriching your SBOM with information from privado.ai scan reports", ); let rows = [["Classification", "Flow"]]; const config = { header: { alignment: "center", - content: "Data Privacy Insights from privado.ai" + content: "Data Privacy Insights from privado.ai", }, - columns: [{ width: 50 }, { width: 10 }] + columns: [{ width: 50 }, { width: 10 }], }; for (const f of privadoFiles) { if (DEBUG_MODE) { @@ -4116,9 +4116,9 @@ export async function createContainerSpecLikeBom(path, options) { console.log( table(rows, { columnDefault: { - width: 50 - } - }) + width: 50, + }, + }), ); } } @@ -4128,7 +4128,7 @@ export async function createContainerSpecLikeBom(path, options) { // In case of universal, repeat to collect multiX Boms const mbomData = await createMultiXBom([path], { projectType: origProjectType, - multiProject: true + multiProject: true, }); if (mbomData) { if (mbomData.components && mbomData.components.length) { @@ -4143,7 +4143,7 @@ export async function createContainerSpecLikeBom(path, options) { dependencies = mergeDependencies( dependencies, mbomData.bomJson.dependencies, - parentComponent + parentComponent, ); } if (mbomData.bomJson.services) { @@ -4152,7 +4152,7 @@ export async function createContainerSpecLikeBom(path, options) { } if (DEBUG_MODE) { console.log( - `BOM includes ${components.length} unfiltered components ${dependencies.length} dependencies so far` + `BOM includes ${components.length} unfiltered components ${dependencies.length} dependencies so far`, ); } } @@ -4174,7 +4174,7 @@ export function createPHPBom(path, options) { const composerJsonFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "composer.json", - options + options, ); if (!options.exclude) { options.exclude = []; @@ -4184,7 +4184,7 @@ export function createPHPBom(path, options) { let composerLockFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "composer.lock", - options + options, ); let pkgList = []; const composerJsonMode = composerJsonFiles.length; @@ -4195,11 +4195,11 @@ export function createPHPBom(path, options) { console.log("About to invoke composer --version"); } const versionResult = spawnSync("composer", ["--version"], { - encoding: "utf-8" + encoding: "utf-8", }); if (versionResult.status !== 0 || versionResult.error) { console.error( - "No composer version found. Check if composer is installed and available in PATH." + "No composer version found. Check if composer is installed and available in PATH.", ); if (DEBUG_MODE) { console.log(versionResult.error, versionResult.stderr); @@ -4229,7 +4229,7 @@ export function createPHPBom(path, options) { } const result = spawnSync("composer", args, { cwd: basePath, - encoding: "utf-8" + encoding: "utf-8", }); if (result.status !== 0 || result.error) { console.error("Error running composer:"); @@ -4241,7 +4241,7 @@ export function createPHPBom(path, options) { composerLockFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "composer.lock", - options + options, ); if (composerLockFiles.length) { for (const f of composerLockFiles) { @@ -4256,7 +4256,7 @@ export function createPHPBom(path, options) { existsSync(join(basePath, "composer.json")) ) { const composerData = JSON.parse( - readFileSync(join(basePath, "composer.json"), { encoding: "utf-8" }) + readFileSync(join(basePath, "composer.json"), { encoding: "utf-8" }), ); rootRequires = composerData.require; const pkgName = composerData.name; @@ -4275,8 +4275,8 @@ export function createPHPBom(path, options) { parentComponent.name, parentComponent.version, null, - null - ).toString() + null, + ).toString(), ); } } @@ -4289,7 +4289,7 @@ export function createPHPBom(path, options) { parentComponent = createDefaultParentComponent( path, "composer", - options + options, ); } // Complete the dependency tree by making parent component depend on the first level @@ -4299,12 +4299,12 @@ export function createPHPBom(path, options) { } const pdependencies = { ref: parentComponent["bom-ref"], - dependsOn: parentDependsOn + dependsOn: parentDependsOn, }; dependencies = mergeDependencies( dependencies, retMap.dependenciesList, - parentComponent + parentComponent, ); dependencies.splice(0, 0, pdependencies); } @@ -4313,7 +4313,7 @@ export function createPHPBom(path, options) { src: path, filename: composerLockFiles.join(", "), dependencies, - parentComponent + parentComponent, }); } return {}; @@ -4329,12 +4329,12 @@ export async function createRubyBom(path, options) { const gemFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "Gemfile", - options + options, ); let gemLockFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "Gemfile*.lock", - options + options, ); let pkgList = []; let dependencies = []; @@ -4348,11 +4348,11 @@ export async function createRubyBom(path, options) { console.log("Executing 'bundle install' in", basePath); const result = spawnSync("bundle", ["install"], { cwd: basePath, - encoding: "utf-8" + encoding: "utf-8", }); if (result.status !== 0 || result.error) { console.error( - "Bundle install has failed. Check if bundle is installed and available in PATH." + "Bundle install has failed. Check if bundle is installed and available in PATH.", ); console.log(result.error, result.stderr); options.failOnError && process.exit(1); @@ -4362,7 +4362,7 @@ export async function createRubyBom(path, options) { gemLockFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "Gemfile*.lock", - options + options, ); if (gemLockFiles.length) { for (const f of gemLockFiles) { @@ -4379,7 +4379,7 @@ export async function createRubyBom(path, options) { dependencies = mergeDependencies( dependencies, retMap.dependenciesList, - parentComponent + parentComponent, ); } if (retMap.rootList && retMap.rootList.length) { @@ -4393,17 +4393,17 @@ export async function createRubyBom(path, options) { [ { ref: parentComponent["bom-ref"], - dependsOn: rootList - } + dependsOn: rootList, + }, ], - parentComponent + parentComponent, ); } return buildBomNSData(options, pkgList, "gem", { src: path, dependencies, parentComponent, - filename: gemLockFiles.join(", ") + filename: gemLockFiles.join(", "), }); } @@ -4424,50 +4424,58 @@ export async function createCsharpBom(path, options) { const slnFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "*.sln", - options + options, ); let csProjFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "*.csproj", - options + options, ); csProjFiles = csProjFiles.concat( - getAllFiles(path, (options.multiProject ? "**/" : "") + "*.vbproj", options) + getAllFiles( + path, + (options.multiProject ? "**/" : "") + "*.vbproj", + options, + ), ); csProjFiles = csProjFiles.concat( getAllFiles( path, (options.multiProject ? "**/" : "") + "*.vcxproj", - options - ) + options, + ), ); csProjFiles = csProjFiles.concat( - getAllFiles(path, (options.multiProject ? "**/" : "") + "*.fsproj", options) + getAllFiles( + path, + (options.multiProject ? "**/" : "") + "*.fsproj", + options, + ), ); const pkgConfigFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "packages.config", - options + options, ); let projAssetsFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "project.assets.json", - options + options, ); const pkgLockFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "packages.lock.json", - options + options, ); const paketLockFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "paket.lock", - options + options, ); const nupkgFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "*.nupkg", - options + options, ); // Support for automatic restore if ( @@ -4487,15 +4495,15 @@ export async function createCsharpBom(path, options) { ["restore", "--force", "--ignore-failed-sources", f], { cwd: path, - encoding: "utf-8" - } + encoding: "utf-8", + }, ); if (DEBUG_MODE && (result.status !== 0 || result.error)) { console.error( - "Restore has failed. Check if dotnet is installed and available in PATH." + "Restore has failed. Check if dotnet is installed and available in PATH.", ); console.log( - "Authenticate with any private registries such as Azure Artifacts feed before running cdxgen." + "Authenticate with any private registries such as Azure Artifacts feed before running cdxgen.", ); console.log(result.stderr); options.failOnError && process.exit(1); @@ -4505,7 +4513,7 @@ export async function createCsharpBom(path, options) { projAssetsFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "project.assets.json", - options + options, ); } let pkgList = []; @@ -4543,19 +4551,19 @@ export async function createCsharpBom(path, options) { // This usually happens when restore was performed with an incorrect version of the SDK. if (!pkgList.length || dependencies.length < 2) { console.log( - "Unable to obtain the correct dependency tree from the project.assets.json files. Ensure the correct version of the dotnet SDK was installed and used." + "Unable to obtain the correct dependency tree from the project.assets.json files. Ensure the correct version of the dotnet SDK was installed and used.", ); console.log( - "1. Create a global.json file in the project directory to specify the required version of the dotnet SDK." + "1. Create a global.json file in the project directory to specify the required version of the dotnet SDK.", ); console.log( - "2. Use the environment variable `DOTNET_ROLL_FORWARD` to roll forward to a closest available SDK such as .Net core or dotnet 6." + "2. Use the environment variable `DOTNET_ROLL_FORWARD` to roll forward to a closest available SDK such as .Net core or dotnet 6.", ); console.log( - "3. If the project uses the legacy .Net Framework 4.6/4.7, it might require Windows operating system." + "3. If the project uses the legacy .Net Framework 4.6/4.7, it might require Windows operating system.", ); console.log( - "Alternatively, try using the unofficial `ghcr.io/appthreat/cdxgen-dotnet:v10` container image, which bundles a range of dotnet SDKs." + "Alternatively, try using the unofficial `ghcr.io/appthreat/cdxgen-dotnet:v10` container image, which bundles a range of dotnet SDKs.", ); options.failOnError && process.exit(1); } @@ -4589,7 +4597,7 @@ export async function createCsharpBom(path, options) { if (parentDependsOn.size) { dependencies.splice(0, 0, { ref: parentComponent["bom-ref"], - dependsOn: Array.from(parentDependsOn) + dependsOn: Array.from(parentDependsOn), }); } } else if (pkgConfigFiles.length) { @@ -4648,7 +4656,7 @@ export async function createCsharpBom(path, options) { } if (pkgList.length) { console.log( - `Found ${pkgList.length} components by parsing the ${csProjFiles.length} csproj files. The resulting SBOM will be incomplete.` + `Found ${pkgList.length} components by parsing the ${csProjFiles.length} csproj files. The resulting SBOM will be incomplete.`, ); options.failOnError && process.exit(1); } @@ -4658,14 +4666,14 @@ export async function createCsharpBom(path, options) { // Perform deep analysis using dosai if (options.deep) { const slicesFile = resolve( - options.depsSlicesFile || join(tmpdir(), "dosai.json") + options.depsSlicesFile || join(tmpdir(), "dosai.json"), ); // Create the slices file if it doesn't exist if (!existsSync(slicesFile)) { const sliceResult = getDotnetSlices(resolve(path), resolve(slicesFile)); if (!sliceResult && DEBUG_MODE) { console.log( - "Slicing with dosai was unsuccessful. Check the errors reported in the logs above." + "Slicing with dosai was unsuccessful. Check the errors reported in the logs above.", ); } } @@ -4678,7 +4686,7 @@ export async function createCsharpBom(path, options) { dependencies = mergeDependencies( dependencies, retMap.dependencies, - parentComponent + parentComponent, ); } pkgList = trimComponents(pkgList); @@ -4687,7 +4695,7 @@ export async function createCsharpBom(path, options) { src: path, filename: manifestFiles.join(", "), dependencies, - parentComponent + parentComponent, }); } @@ -4703,7 +4711,7 @@ export async function createCryptoCertsBom(path, options) { path, (options.multiProject ? "**/" : "") + "*.{p12,jks,jceks,bks,keystore,key,pem,cer,gpg,pub}", - options + options, ); for (const f of certFiles) { const name = basename(f); @@ -4717,28 +4725,28 @@ export async function createCryptoCertsBom(path, options) { assetType: "certificate", algorithmProperties: { executionEnvironment: "unknown", - implementationPlatform: "unknown" - } + implementationPlatform: "unknown", + }, }, - properties: [{ name: "SrcFile", value: f }] + properties: [{ name: "SrcFile", value: f }], }; pkgList.push(apkg); } return { bomJson: { - components: pkgList - } + components: pkgList, + }, }; } export function mergeDependencies( dependencies, newDependencies, - parentComponent = {} + parentComponent = {}, ) { if (!parentComponent && DEBUG_MODE) { console.log( - "Unable to determine parent component. Dependencies will be flattened." + "Unable to determine parent component. Dependencies will be flattened.", ); } let providesFound = false; @@ -4784,12 +4792,12 @@ export function mergeDependencies( retlist.push({ ref: akey, dependsOn: Array.from(deps_map[akey]).sort(), - provides: Array.from(provides_map[akey]).sort() + provides: Array.from(provides_map[akey]).sort(), }); } else { retlist.push({ ref: akey, - dependsOn: Array.from(deps_map[akey]).sort() + dependsOn: Array.from(deps_map[akey]).sort(), }); } } @@ -4829,7 +4837,7 @@ export function dedupeBom(options, components, parentComponent, dependencies) { components = trimComponents(components); if (DEBUG_MODE) { console.log( - `BOM includes ${components.length} components and ${dependencies.length} dependencies after dedupe` + `BOM includes ${components.length} components and ${dependencies.length} dependencies after dedupe`, ); } const serialNum = "urn:uuid:" + uuidv4(); @@ -4845,8 +4853,8 @@ export function dedupeBom(options, components, parentComponent, dependencies) { metadata: addMetadata(parentComponent, options, {}), components, services: options.services || [], - dependencies - } + dependencies, + }, }; } @@ -4868,11 +4876,11 @@ export async function createMultiXBom(pathList, options) { options.allLayersExplodedDir ) { const { osPackages, dependenciesList, allTypes } = getOSPackages( - options.allLayersExplodedDir + options.allLayersExplodedDir, ); if (DEBUG_MODE) { console.log( - `Found ${osPackages.length} OS packages at ${options.allLayersExplodedDir}` + `Found ${osPackages.length} OS packages at ${options.allLayersExplodedDir}`, ); } if (allTypes && allTypes.length) { @@ -4887,7 +4895,7 @@ export async function createMultiXBom(pathList, options) { const parentDependsOn = new Set(osPackages.map((p) => p["bom-ref"])); dependencies.splice(0, 0, { ref: parentComponent["bom-ref"], - dependsOn: Array.from(parentDependsOn).sort() + dependsOn: Array.from(parentDependsOn).sort(), }); } } @@ -4913,7 +4921,7 @@ export async function createMultiXBom(pathList, options) { ) { if (DEBUG_MODE) { console.log( - `Found ${bomData.bomJson.components.length} npm packages at ${path}` + `Found ${bomData.bomJson.components.length} npm packages at ${path}`, ); } components = components.concat(bomData.bomJson.components); @@ -4930,7 +4938,7 @@ export async function createMultiXBom(pathList, options) { bomData.parentComponent.components.length ) { parentSubComponents = parentSubComponents.concat( - bomData.parentComponent.components + bomData.parentComponent.components, ); } } @@ -4943,7 +4951,7 @@ export async function createMultiXBom(pathList, options) { ) { if (DEBUG_MODE) { console.log( - `Found ${bomData.bomJson.components.length} java packages at ${path}` + `Found ${bomData.bomJson.components.length} java packages at ${path}`, ); } components = components.concat(bomData.bomJson.components); @@ -4960,7 +4968,7 @@ export async function createMultiXBom(pathList, options) { bomData.parentComponent.components.length ) { parentSubComponents = parentSubComponents.concat( - bomData.parentComponent.components + bomData.parentComponent.components, ); } } @@ -4973,7 +4981,7 @@ export async function createMultiXBom(pathList, options) { ) { if (DEBUG_MODE) { console.log( - `Found ${bomData.bomJson.components.length} python packages at ${path}` + `Found ${bomData.bomJson.components.length} python packages at ${path}`, ); } components = components.concat(bomData.bomJson.components); @@ -4994,7 +5002,7 @@ export async function createMultiXBom(pathList, options) { ) { if (DEBUG_MODE) { console.log( - `Found ${bomData.bomJson.components.length} go packages at ${path}` + `Found ${bomData.bomJson.components.length} go packages at ${path}`, ); } components = components.concat(bomData.bomJson.components); @@ -5010,7 +5018,7 @@ export async function createMultiXBom(pathList, options) { if (bomData && bomData.bomJson && bomData.bomJson.components) { if (DEBUG_MODE) { console.log( - `Found ${bomData.bomJson.components.length} rust packages at ${path}` + `Found ${bomData.bomJson.components.length} rust packages at ${path}`, ); } components = components.concat(bomData.bomJson.components); @@ -5027,7 +5035,7 @@ export async function createMultiXBom(pathList, options) { bomData.parentComponent.components.length ) { parentSubComponents = parentSubComponents.concat( - bomData.parentComponent.components + bomData.parentComponent.components, ); } } @@ -5035,7 +5043,7 @@ export async function createMultiXBom(pathList, options) { if (bomData && bomData.bomJson && bomData.bomJson.components) { if (DEBUG_MODE) { console.log( - `Found ${bomData.bomJson.components.length} php packages at ${path}` + `Found ${bomData.bomJson.components.length} php packages at ${path}`, ); } components = components.concat(bomData.bomJson.components); @@ -5051,14 +5059,14 @@ export async function createMultiXBom(pathList, options) { if (bomData && bomData.bomJson && bomData.bomJson.components) { if (DEBUG_MODE) { console.log( - `Found ${bomData.bomJson.components.length} ruby packages at ${path}` + `Found ${bomData.bomJson.components.length} ruby packages at ${path}`, ); } components = components.concat(bomData.bomJson.components); dependencies = mergeDependencies( dependencies, bomData.bomJson.dependencies, - bomData.parentComponent + bomData.parentComponent, ); if ( bomData.parentComponent && @@ -5076,7 +5084,7 @@ export async function createMultiXBom(pathList, options) { ) { if (DEBUG_MODE) { console.log( - `Found ${bomData.bomJson.components.length} csharp packages at ${path}` + `Found ${bomData.bomJson.components.length} csharp packages at ${path}`, ); } components = components.concat(bomData.bomJson.components); @@ -5092,7 +5100,7 @@ export async function createMultiXBom(pathList, options) { if (bomData && bomData.bomJson && bomData.bomJson.components) { if (DEBUG_MODE) { console.log( - `Found ${bomData.bomJson.components.length} pub packages at ${path}` + `Found ${bomData.bomJson.components.length} pub packages at ${path}`, ); } components = components.concat(bomData.bomJson.components); @@ -5108,7 +5116,7 @@ export async function createMultiXBom(pathList, options) { if (bomData && bomData.bomJson && bomData.bomJson.components) { if (DEBUG_MODE) { console.log( - `Found ${bomData.bomJson.components.length} hackage packages at ${path}` + `Found ${bomData.bomJson.components.length} hackage packages at ${path}`, ); } components = components.concat(bomData.bomJson.components); @@ -5124,7 +5132,7 @@ export async function createMultiXBom(pathList, options) { if (bomData && bomData.bomJson && bomData.bomJson.components) { if (DEBUG_MODE) { console.log( - `Found ${bomData.bomJson.components.length} mix packages at ${path}` + `Found ${bomData.bomJson.components.length} mix packages at ${path}`, ); } components = components.concat(bomData.bomJson.components); @@ -5140,7 +5148,7 @@ export async function createMultiXBom(pathList, options) { if (bomData && bomData.bomJson && bomData.bomJson.components) { if (DEBUG_MODE) { console.log( - `Found ${bomData.bomJson.components.length} cpp packages at ${path}` + `Found ${bomData.bomJson.components.length} cpp packages at ${path}`, ); } components = components.concat(bomData.bomJson.components); @@ -5156,7 +5164,7 @@ export async function createMultiXBom(pathList, options) { if (bomData && bomData.bomJson && bomData.bomJson.components) { if (DEBUG_MODE) { console.log( - `Found ${bomData.bomJson.components.length} clojure packages at ${path}` + `Found ${bomData.bomJson.components.length} clojure packages at ${path}`, ); } components = components.concat(bomData.bomJson.components); @@ -5172,7 +5180,7 @@ export async function createMultiXBom(pathList, options) { if (bomData && bomData.bomJson && bomData.bomJson.components) { if (DEBUG_MODE) { console.log( - `Found ${bomData.bomJson.components.length} GitHub action packages at ${path}` + `Found ${bomData.bomJson.components.length} GitHub action packages at ${path}`, ); } components = components.concat(bomData.bomJson.components); @@ -5188,7 +5196,7 @@ export async function createMultiXBom(pathList, options) { if (bomData && bomData.bomJson && bomData.bomJson.components) { if (DEBUG_MODE) { console.log( - `Found ${bomData.bomJson.components.length} CloudBuild configuration at ${path}` + `Found ${bomData.bomJson.components.length} CloudBuild configuration at ${path}`, ); } components = components.concat(bomData.bomJson.components); @@ -5209,7 +5217,7 @@ export async function createMultiXBom(pathList, options) { ) { if (DEBUG_MODE) { console.log( - `Found ${bomData.bomJson.components.length} Swift packages at ${path}` + `Found ${bomData.bomJson.components.length} Swift packages at ${path}`, ); } components = components.concat(bomData.bomJson.components); @@ -5232,7 +5240,7 @@ export async function createMultiXBom(pathList, options) { ) { if (DEBUG_MODE) { console.log( - `Found ${bomData.bomJson.components.length} jar packages at ${path}` + `Found ${bomData.bomJson.components.length} jar packages at ${path}`, ); } components = components.concat(bomData.bomJson.components); @@ -5255,7 +5263,7 @@ export async function createMultiXBom(pathList, options) { ) { if (DEBUG_MODE) { console.log( - `Found ${bomData.bomJson.components.length} crypto assets at ${path}` + `Found ${bomData.bomJson.components.length} crypto assets at ${path}`, ); } components = components.concat(bomData.bomJson.components); @@ -5277,7 +5285,7 @@ export async function createMultiXBom(pathList, options) { ) { if (DEBUG_MODE) { console.log( - `Found ${bomData.bomJson.components.length} jar packages at ${options.lastWorkingDir}` + `Found ${bomData.bomJson.components.length} jar packages at ${options.lastWorkingDir}`, ); } components = components.concat(bomData.bomJson.components); @@ -5298,7 +5306,7 @@ export async function createMultiXBom(pathList, options) { // Our naive approach to appending to sub-components could result in same parent being included as a child // This is filtered out here parentSubComponents = parentSubComponents.filter( - (c) => c["bom-ref"] !== parentComponent["bom-ref"] + (c) => c["bom-ref"] !== parentComponent["bom-ref"], ); parentComponent.components = trimComponents(parentSubComponents); if ( @@ -5338,19 +5346,19 @@ export async function createXBom(path, options) { const pomFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "pom.xml", - options + options, ); // gradle const gradleFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "build.gradle*", - options + options, ); // scala sbt const sbtFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "{build.sbt,Build.scala}*", - options + options, ); if (pomFiles.length || gradleFiles.length || sbtFiles.length) { return await createJavaBom(path, options); @@ -5366,19 +5374,19 @@ export async function createXBom(path, options) { const reqFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "*requirements*.txt", - options + options, ); const reqDirFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "requirements/*.txt", - options + options, ); const requirementsMode = (reqFiles && reqFiles.length) || (reqDirFiles && reqDirFiles.length); const whlFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "*.whl", - options + options, ); if (requirementsMode || whlFiles.length) { return await createPythonBom(path, options); @@ -5387,17 +5395,17 @@ export async function createXBom(path, options) { const gosumFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "go.sum", - options + options, ); const gomodFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "go.mod", - options + options, ); const gopkgLockFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "Gopkg.lock", - options + options, ); if (gomodFiles.length || gosumFiles.length || gopkgLockFiles.length) { return await createGoBom(path, options); @@ -5407,12 +5415,12 @@ export async function createXBom(path, options) { const cargoLockFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "Cargo.lock", - options + options, ); const cargoFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "Cargo.toml", - options + options, ); if (cargoLockFiles.length || cargoFiles.length) { return await createRustBom(path, options); @@ -5422,12 +5430,12 @@ export async function createXBom(path, options) { const composerJsonFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "composer.json", - options + options, ); const composerLockFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "composer.lock", - options + options, ); if (composerJsonFiles.length || composerLockFiles.length) { return createPHPBom(path, options); @@ -5437,12 +5445,12 @@ export async function createXBom(path, options) { const gemFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "Gemfile", - options + options, ); const gemLockFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "Gemfile*.lock", - options + options, ); if (gemFiles.length || gemLockFiles.length) { return await createRubyBom(path, options); @@ -5452,13 +5460,21 @@ export async function createXBom(path, options) { let csProjFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "*.csproj", - options + options, ); csProjFiles = csProjFiles.concat( - getAllFiles(path, (options.multiProject ? "**/" : "") + "*.vbproj", options) + getAllFiles( + path, + (options.multiProject ? "**/" : "") + "*.vbproj", + options, + ), ); csProjFiles = csProjFiles.concat( - getAllFiles(path, (options.multiProject ? "**/" : "") + "*.fsproj", options) + getAllFiles( + path, + (options.multiProject ? "**/" : "") + "*.fsproj", + options, + ), ); if (csProjFiles.length) { return await createCsharpBom(path, options); @@ -5468,12 +5484,12 @@ export async function createXBom(path, options) { const pubFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "pubspec.lock", - options + options, ); const pubSpecFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "pubspec.yaml", - options + options, ); if (pubFiles.length || pubSpecFiles.length) { return await createDartBom(path, options); @@ -5483,7 +5499,7 @@ export async function createXBom(path, options) { const hackageFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "cabal.project.freeze", - options + options, ); if (hackageFiles.length) { return createHaskellBom(path, options); @@ -5493,7 +5509,7 @@ export async function createXBom(path, options) { const mixFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "mix.lock", - options + options, ); if (mixFiles.length) { return createElixirBom(path, options); @@ -5503,22 +5519,22 @@ export async function createXBom(path, options) { const conanLockFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "conan.lock", - options + options, ); const conanFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "conanfile.txt", - options + options, ); const cmakeListFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "CMakeLists.txt", - options + options, ); const mesonBuildFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "meson.build", - options + options, ); if ( conanLockFiles.length || @@ -5533,12 +5549,12 @@ export async function createXBom(path, options) { const ednFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "deps.edn", - options + options, ); const leinFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "project.clj", - options + options, ); if (ednFiles.length || leinFiles.length) { return createClojureBom(path, options); @@ -5548,7 +5564,7 @@ export async function createXBom(path, options) { const ghactionFiles = getAllFiles( path, ".github/workflows/" + "*.yml", - options + options, ); if (ghactionFiles.length) { return createGitHubBom(path, options); @@ -5558,7 +5574,7 @@ export async function createXBom(path, options) { const hpiFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "*.hpi", - options + options, ); if (hpiFiles.length) { return await createJenkinsBom(path, options); @@ -5568,12 +5584,12 @@ export async function createXBom(path, options) { const chartFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "Chart.yaml", - options + options, ); const yamlFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "values.yaml", - options + options, ); if (chartFiles.length || yamlFiles.length) { return createHelmBom(path, options); @@ -5583,27 +5599,27 @@ export async function createXBom(path, options) { const dcFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "docker-compose*.yml", - options + options, ); const dfFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "*Dockerfile*", - options + options, ); const cfFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "*Containerfile*", - options + options, ); const skFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "skaffold.yaml", - options + options, ); const deplFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "deployment.yaml", - options + options, ); if ( dcFiles.length || @@ -5619,7 +5635,7 @@ export async function createXBom(path, options) { const cbFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "cloudbuild.yaml", - options + options, ); if (cbFiles.length) { return createCloudBuildBom(path, options); @@ -5629,12 +5645,12 @@ export async function createXBom(path, options) { const swiftFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "Package*.swift", - options + options, ); const pkgResolvedFiles = getAllFiles( path, (options.multiProject ? "**/" : "") + "Package.resolved", - options + options, ); if (swiftFiles.length || pkgResolvedFiles.length) { return await createSwiftBom(path, options); @@ -5661,7 +5677,7 @@ export async function createBom(path, options) { exportData = await exportArchive(path); if (!exportData) { console.log( - `OS BOM generation has failed due to problems with exporting the image ${path}` + `OS BOM generation has failed due to problems with exporting the image ${path}`, ); return {}; } @@ -5681,7 +5697,7 @@ export async function createBom(path, options) { exportData = await exportImage(path); if (!exportData) { console.log( - "BOM generation has failed due to problems with exporting the image" + "BOM generation has failed due to problems with exporting the image", ); options.failOnError && process.exit(1); return {}; @@ -5693,7 +5709,7 @@ export async function createBom(path, options) { inspectData: undefined, lastWorkingDir: "", allLayersDir: path, - allLayersExplodedDir: path + allLayersExplodedDir: path, }; if (existsSync(join(path, "all-layers"))) { exportData.allLayersDir = join(path, "all-layers"); @@ -5728,10 +5744,13 @@ export async function createBom(path, options) { version: tmpA[1], type: "container", purl: "pkg:oci/" + inspectData.RepoDigests[0], - _integrity: inspectData.RepoDigests[0].replace("sha256:", "sha256-") + _integrity: inspectData.RepoDigests[0].replace( + "sha256:", + "sha256-", + ), }; options.parentComponent["bom-ref"] = decodeURIComponent( - options.parentComponent.purl + options.parentComponent.purl, ); } } else if (inspectData.Id) { @@ -5742,17 +5761,17 @@ export async function createBom(path, options) { .replace("sha256:", ""), type: "container", purl: "pkg:oci/" + inspectData.RepoDigests[0], - _integrity: inspectData.RepoDigests[0].replace("sha256:", "sha256-") + _integrity: inspectData.RepoDigests[0].replace("sha256:", "sha256-"), }; options.parentComponent["bom-ref"] = decodeURIComponent( - options.parentComponent.purl + options.parentComponent.purl, ); } } else { options.parentComponent = createDefaultParentComponent( path, "container", - options + options, ); } // Pass the entire export data about the image layers @@ -5761,7 +5780,7 @@ export async function createBom(path, options) { options.allLayersExplodedDir = exportData.allLayersExplodedDir; const bomData = await createMultiXBom( [...new Set(exportData.pkgPathList)], - options + options, ); if ( exportData.allLayersDir && @@ -5814,7 +5833,7 @@ export async function createBom(path, options) { options.useMavenCache = true; return createJarBom( process.env.MAVEN_CACHE_DIR || join(homedir(), ".m2", "repository"), - options + options, ); case "npm": case "pnpm": @@ -5889,7 +5908,7 @@ export async function createBom(path, options) { case "helm-repo": return createHelmBom( join(homedir(), ".cache", "helm", "repository"), - options + options, ); case "universal": case "containerfile": @@ -5928,14 +5947,14 @@ export async function createBom(path, options) { export async function submitBom(args, bomContents) { const serverUrl = args.serverUrl.replace(/\/$/, "") + "/api/v1/bom"; let encodedBomContents = Buffer.from(JSON.stringify(bomContents)).toString( - "base64" + "base64", ); if (encodedBomContents.startsWith("77u/")) { encodedBomContents = encodedBomContents.substring(4); } const bomPayload = { autoCreate: "true", - bom: encodedBomContents + bom: encodedBomContents, }; const projectVersion = args.projectVersion || "master"; if ( @@ -5954,7 +5973,7 @@ export async function submitBom(args, bomContents) { } } else { console.log( - "projectId, projectName and projectVersion, or all three must be provided." + "projectId, projectName and projectVersion, or all three must be provided.", ); return; } @@ -5970,7 +5989,7 @@ export async function submitBom(args, bomContents) { serverUrl, "params", args.projectName, - projectVersion + projectVersion, ); } try { @@ -5979,16 +5998,16 @@ export async function submitBom(args, bomContents) { headers: { "X-Api-Key": args.apiKey, "Content-Type": "application/json", - "user-agent": `@CycloneDX/cdxgen ${_version}` + "user-agent": `@CycloneDX/cdxgen ${_version}`, }, json: bomPayload, - responseType: "json" + responseType: "json", }).json(); } catch (error) { if (error.response && error.response.statusCode === 401) { // Unauthorized console.log( - "Received Unauthorized error. Check the API key used is valid and has necessary permissions to create projects and upload bom." + "Received Unauthorized error. Check the API key used is valid and has necessary permissions to create projects and upload bom.", ); } else if (error.response && error.response.statusCode === 405) { // Method not allowed errors @@ -5998,14 +6017,14 @@ export async function submitBom(args, bomContents) { headers: { "X-Api-Key": args.apiKey, "Content-Type": "application/json", - "user-agent": `@CycloneDX/cdxgen ${_version}` + "user-agent": `@CycloneDX/cdxgen ${_version}`, }, json: bomPayload, - responseType: "json" + responseType: "json", }).json(); } catch (error) { console.log( - "Unable to submit the SBOM to the Dependency-Track server using POST method" + "Unable to submit the SBOM to the Dependency-Track server using POST method", ); console.log(error); } diff --git a/package.json b/package.json index e6a29c839..f1145f4c4 100644 --- a/package.json +++ b/package.json @@ -101,12 +101,7 @@ "sequelize": "^6.37.2", "sqlite3": "^5.1.7" }, - "files": [ - "*.js", - "bin/", - "data/", - "types/" - ], + "files": ["*.js", "bin/", "data/", "types/"], "devDependencies": { "@biomejs/biome": "1.6.4", "docsify-cli": "^4.4.4", diff --git a/piptree.js b/piptree.js index bc60c1904..f9a315b40 100644 --- a/piptree.js +++ b/piptree.js @@ -1,3 +1,4 @@ +import { spawnSync } from "node:child_process"; /** * The idea behind this plugin came from the excellent pipdeptree package * https://github.com/tox-dev/pipdeptree @@ -9,11 +10,10 @@ import { mkdtempSync, readFileSync, rmSync, - writeFileSync + writeFileSync, } from "node:fs"; -import { join } from "node:path"; import { tmpdir } from "node:os"; -import { spawnSync } from "node:child_process"; +import { join } from "node:path"; const PIP_TREE_PLUGIN_CONTENT = ` import importlib.metadata as importlib_metadata @@ -129,7 +129,7 @@ export const getTreeWithPlugin = (env, python_cmd, basePath) => { const result = spawnSync(python_cmd, pipPluginArgs, { cwd: basePath, encoding: "utf-8", - env + env, }); if (result.status !== 0 || result.error) { console.log(result.stdout, result.stderr); @@ -137,8 +137,8 @@ export const getTreeWithPlugin = (env, python_cmd, basePath) => { if (existsSync(pipTreeJson)) { tree = JSON.parse( readFileSync(pipTreeJson, { - encoding: "utf-8" - }) + encoding: "utf-8", + }), ); } if (rmSync) { diff --git a/postgen.js b/postgen.js index 3518be234..0996db280 100644 --- a/postgen.js +++ b/postgen.js @@ -87,7 +87,7 @@ export const filterBom = (bomJson, options) => { const newdepson = (adep.dependsOn || []).filter((d) => newPkgMap[d]); const obj = { ref: adep.ref, - dependsOn: newdepson + dependsOn: newdepson, }; // Filter provides array if needed if (adep.provides && adep.provides.length) { @@ -110,7 +110,7 @@ export const filterBom = (bomJson, options) => { } bomJson.compositions.push({ "bom-ref": bomJson.metadata.component["bom-ref"], - aggregate: options.only ? "incomplete_first_party_only" : "incomplete" + aggregate: options.only ? "incomplete_first_party_only" : "incomplete", }); } } diff --git a/postgen.test.js b/postgen.test.js index 0b074e6f3..c7d8eb470 100644 --- a/postgen.test.js +++ b/postgen.test.js @@ -5,7 +5,7 @@ import { expect, test } from "@jest/globals"; test("filter bom tests", () => { const bomJson = JSON.parse( - readFileSync("./test/data/bom-postgen-test.json", "utf-8") + readFileSync("./test/data/bom-postgen-test.json", "utf-8"), ); let newBom = filterBom(bomJson, {}); expect(bomJson).toEqual(newBom); @@ -21,7 +21,7 @@ test("filter bom tests", () => { test("filter bom tests2", () => { const bomJson = JSON.parse( - readFileSync("./test/data/bom-postgen-test2.json", "utf-8") + readFileSync("./test/data/bom-postgen-test2.json", "utf-8"), ); let newBom = filterBom(bomJson, {}); expect(bomJson).toEqual(newBom); @@ -53,7 +53,7 @@ test("filter bom tests2", () => { newBom = filterBom(bomJson, { only: ["org.springframework"], specVersion: 1.5, - autoCompositions: true + autoCompositions: true, }); for (const comp of newBom.components) { if (!comp.purl.includes("org.springframework")) { @@ -64,7 +64,7 @@ test("filter bom tests2", () => { expect(newBom.compositions).toEqual([ { aggregate: "incomplete_first_party_only", - "bom-ref": "pkg:maven/sec/java-sec-code@1.0.0?type=jar" - } + "bom-ref": "pkg:maven/sec/java-sec-code@1.0.0?type=jar", + }, ]); }); diff --git a/protobom.js b/protobom.js index f907e0f71..f5f7d363e 100644 --- a/protobom.js +++ b/protobom.js @@ -1,5 +1,5 @@ -import { cdx_15, cdx_16 } from "@appthreat/cdx-proto"; import { existsSync, readFileSync, writeFileSync } from "node:fs"; +import { cdx_15, cdx_16 } from "@appthreat/cdx-proto"; /** * Stringify the given bom json based on the type. @@ -32,9 +32,9 @@ export const writeBinary = (bomJson, binFile) => { binFile, bomObject .fromJsonString(stringifyIfNeeded(bomJson), { - ignoreUnknownFields: true + ignoreUnknownFields: true, }) - .toBinary({ writeUnknownFields: true }) + .toBinary({ writeUnknownFields: true }), ); } }; @@ -57,7 +57,7 @@ export const readBinary = (binFile, asJson = true, specVersion = 1.5) => { bomLib = new cdx_15.Bom(); } const bomObject = bomLib.fromBinary(readFileSync(binFile), { - readUnknownFields: true + readUnknownFields: true, }); if (asJson) { return bomObject.toJson({ emitDefaultValues: true }); diff --git a/protobom.test.js b/protobom.test.js index c08fb2912..66196a42a 100644 --- a/protobom.test.js +++ b/protobom.test.js @@ -1,13 +1,13 @@ -import { expect, test } from "@jest/globals"; -import { tmpdir } from "node:os"; import { existsSync, mkdtempSync, readFileSync, rmSync } from "node:fs"; +import { tmpdir } from "node:os"; import { join } from "node:path"; +import { expect, test } from "@jest/globals"; import { readBinary, writeBinary } from "./protobom.js"; const tempDir = mkdtempSync(join(tmpdir(), "bin-tests-")); const testBom = JSON.parse( - readFileSync("./test/data/bom-java.json", { encoding: "utf-8" }) + readFileSync("./test/data/bom-java.json", { encoding: "utf-8" }), ); test("proto binary tests", () => { @@ -19,12 +19,12 @@ test("proto binary tests", () => { let bomObject = readBinary(binFile); expect(bomObject).toBeDefined(); expect(bomObject.serialNumber).toEqual( - "urn:uuid:cc8b5a04-2698-4375-b04c-cedfa4317fee" + "urn:uuid:cc8b5a04-2698-4375-b04c-cedfa4317fee", ); bomObject = readBinary(binFile, false, 1.5); expect(bomObject).toBeDefined(); expect(bomObject.serialNumber).toEqual( - "urn:uuid:cc8b5a04-2698-4375-b04c-cedfa4317fee" + "urn:uuid:cc8b5a04-2698-4375-b04c-cedfa4317fee", ); if (tempDir && tempDir.startsWith(tmpdir()) && rmSync) { rmSync(tempDir, { recursive: true, force: true }); diff --git a/server.js b/server.js index 547e48b11..0474bfd3b 100644 --- a/server.js +++ b/server.js @@ -1,12 +1,12 @@ -import connect from "connect"; -import http from "node:http"; -import bodyParser from "body-parser"; -import url from "node:url"; import { spawnSync } from "node:child_process"; -import os from "node:os"; import fs from "node:fs"; +import http from "node:http"; +import os from "node:os"; import path from "node:path"; import process from "node:process"; +import url from "node:url"; +import bodyParser from "body-parser"; +import connect from "connect"; import { createBom, submitBom } from "./index.js"; import { postProcess } from "./postgen.js"; @@ -14,21 +14,21 @@ import compression from "compression"; // Timeout milliseconds. Default 10 mins const TIMEOUT_MS = - parseInt(process.env.CDXGEN_SERVER_TIMEOUT_MS) || 10 * 60 * 1000; + Number.parseInt(process.env.CDXGEN_SERVER_TIMEOUT_MS) || 10 * 60 * 1000; const app = connect(); app.use( bodyParser.json({ deflate: true, - limit: "1mb" - }) + limit: "1mb", + }), ); app.use(compression()); const gitClone = (repoUrl, branch = null) => { const tempDir = fs.mkdtempSync( - path.join(os.tmpdir(), path.basename(repoUrl)) + path.join(os.tmpdir(), path.basename(repoUrl)), ); if (branch == null) { @@ -38,8 +38,8 @@ const gitClone = (repoUrl, branch = null) => { ["clone", repoUrl, "--depth", "1", tempDir], { encoding: "utf-8", - shell: false - } + shell: false, + }, ); if (result.status !== 0 || result.error) { console.log(result.error); @@ -51,8 +51,8 @@ const gitClone = (repoUrl, branch = null) => { ["clone", repoUrl, "--branch", branch, "--depth", "1", tempDir], { encoding: "utf-8", - shell: false - } + shell: false, + }, ); if (result.status !== 0 || result.error) { console.log(result.error); @@ -85,7 +85,7 @@ const parseQueryString = (q, body, options = {}) => { "only", "autoCompositions", "gitBranch", - "active" + "active", ]; for (const param of queryParams) { @@ -125,13 +125,13 @@ const start = (options) => { const reqOptions = parseQueryString( q, req.body, - Object.assign({}, options) + Object.assign({}, options), ); const filePath = q.path || q.url || req.body.path || req.body.url; if (!filePath) { res.writeHead(500, { "Content-Type": "application/json" }); return res.end( - "{'error': 'true', 'message': 'path or url is required.'}\n" + "{'error': 'true', 'message': 'path or url is required.'}\n", ); } res.writeHead(200, { "Content-Type": "application/json" }); diff --git a/test/data/bom-deps.json b/test/data/bom-deps.json index 209fdf24f..a3e8afba3 100644 --- a/test/data/bom-deps.json +++ b/test/data/bom-deps.json @@ -2416,9 +2416,7 @@ }, { "ref": "pkg:maven/org.slf4j/jul-to-slf4j@1.7.30?type=jar", - "dependsOn": [ - "pkg:maven/org.slf4j/slf4j-api@1.7.30?type=jar" - ] + "dependsOn": ["pkg:maven/org.slf4j/slf4j-api@1.7.30?type=jar"] }, { "ref": "pkg:maven/jakarta.annotation/jakarta.annotation-api@1.3.5?type=jar", @@ -2434,9 +2432,7 @@ }, { "ref": "pkg:maven/com.zaxxer/HikariCP@3.4.2?type=jar", - "dependsOn": [ - "pkg:maven/org.slf4j/slf4j-api@1.7.30?type=jar" - ] + "dependsOn": ["pkg:maven/org.slf4j/slf4j-api@1.7.30?type=jar"] }, { "ref": "pkg:maven/org.springframework/spring-jdbc@5.2.5.RELEASE?type=jar", @@ -2696,9 +2692,7 @@ }, { "ref": "pkg:maven/org.bouncycastle/bcpkix-jdk15on@1.65?type=jar", - "dependsOn": [ - "pkg:maven/org.bouncycastle/bcprov-jdk15on@1.65?type=jar" - ] + "dependsOn": ["pkg:maven/org.bouncycastle/bcprov-jdk15on@1.65?type=jar"] }, { "ref": "pkg:maven/com.sun.activation/jakarta.activation@1.2.2?type=jar", @@ -2724,4 +2718,4 @@ "comment": "Package file" } ] -} \ No newline at end of file +} diff --git a/test/data/bom-gradle-deps.json b/test/data/bom-gradle-deps.json index 60e039ce5..499888d65 100644 --- a/test/data/bom-gradle-deps.json +++ b/test/data/bom-gradle-deps.json @@ -484,9 +484,7 @@ }, { "ref": "pkg:maven/junit/junit@4.12?type=jar", - "dependsOn": [ - "pkg:maven/org.hamcrest/hamcrest-core@1.3?type=jar" - ] + "dependsOn": ["pkg:maven/org.hamcrest/hamcrest-core@1.3?type=jar"] }, { "ref": "pkg:maven/org.hamcrest/hamcrest-core@1.3?type=jar", @@ -505,4 +503,4 @@ "comment": "Package file" } ] -} \ No newline at end of file +} diff --git a/test/data/bom-java.json b/test/data/bom-java.json index fb8cb16f5..f9146367e 100644 --- a/test/data/bom-java.json +++ b/test/data/bom-java.json @@ -4749,9 +4749,7 @@ }, { "ref": "pkg:maven/org.slf4j/jul-to-slf4j@1.7.30?type=jar", - "dependsOn": [ - "pkg:maven/org.slf4j/slf4j-api@1.7.30?type=jar" - ] + "dependsOn": ["pkg:maven/org.slf4j/slf4j-api@1.7.30?type=jar"] }, { "ref": "pkg:maven/jakarta.annotation/jakarta.annotation-api@1.3.5?type=jar", @@ -4763,9 +4761,7 @@ }, { "ref": "pkg:maven/com.zaxxer/HikariCP@3.4.2?type=jar", - "dependsOn": [ - "pkg:maven/org.slf4j/slf4j-api@1.7.30?type=jar" - ] + "dependsOn": ["pkg:maven/org.slf4j/slf4j-api@1.7.30?type=jar"] }, { "ref": "pkg:maven/org.springframework/spring-jdbc@5.2.5.RELEASE?type=jar", @@ -4997,9 +4993,7 @@ }, { "ref": "pkg:maven/org.bouncycastle/bcpkix-jdk15on@1.65?type=jar", - "dependsOn": [ - "pkg:maven/org.bouncycastle/bcprov-jdk15on@1.65?type=jar" - ] + "dependsOn": ["pkg:maven/org.bouncycastle/bcprov-jdk15on@1.65?type=jar"] }, { "ref": "pkg:maven/com.sun.activation/jakarta.activation@1.2.2?type=jar", @@ -5061,15 +5055,11 @@ }, { "ref": "pkg:maven/net.minidev/json-smart@2.3?type=jar", - "dependsOn": [ - "pkg:maven/net.minidev/accessors-smart@1.2?type=jar" - ] + "dependsOn": ["pkg:maven/net.minidev/accessors-smart@1.2?type=jar"] }, { "ref": "pkg:maven/net.minidev/accessors-smart@1.2?type=jar", - "dependsOn": [ - "pkg:maven/org.ow2.asm/asm@5.0.4?type=jar" - ] + "dependsOn": ["pkg:maven/org.ow2.asm/asm@5.0.4?type=jar"] }, { "ref": "pkg:maven/org.ow2.asm/asm@5.0.4?type=jar", @@ -5111,9 +5101,7 @@ }, { "ref": "pkg:maven/org.junit.platform/junit-platform-commons@1.5.2?type=jar", - "dependsOn": [ - "pkg:maven/org.apiguardian/apiguardian-api@1.1.0?type=jar" - ] + "dependsOn": ["pkg:maven/org.apiguardian/apiguardian-api@1.1.0?type=jar"] }, { "ref": "pkg:maven/org.junit.jupiter/junit-jupiter-params@5.5.2?type=jar", @@ -5194,4 +5182,4 @@ "dependsOn": [] } ] -} \ No newline at end of file +} diff --git a/test/data/bom-mavenplugins.json b/test/data/bom-mavenplugins.json index 3dc1a1874..7948e26f5 100644 --- a/test/data/bom-mavenplugins.json +++ b/test/data/bom-mavenplugins.json @@ -1205,4 +1205,4 @@ "comment": "Package file" } ] -} \ No newline at end of file +} diff --git a/test/data/bom-maventree.json b/test/data/bom-maventree.json index 684797787..1911d9582 100644 --- a/test/data/bom-maventree.json +++ b/test/data/bom-maventree.json @@ -472,4 +472,4 @@ "comment": "Package file" } ] -} \ No newline at end of file +} diff --git a/test/data/bower.json b/test/data/bower.json index 57feb5136..ec97e288c 100644 --- a/test/data/bower.json +++ b/test/data/bower.json @@ -3,13 +3,6 @@ "version": "3.6.0", "main": "dist/jquery.js", "license": "MIT", - "ignore": [ - "package.json" - ], - "keywords": [ - "jquery", - "javascript", - "browser", - "library" - ] -} \ No newline at end of file + "ignore": ["package.json"], + "keywords": ["jquery", "javascript", "browser", "library"] +} diff --git a/test/data/compile_commands.json b/test/data/compile_commands.json index 211a5aacd..9eada4488 100644 --- a/test/data/compile_commands.json +++ b/test/data/compile_commands.json @@ -1,582 +1,582 @@ [ -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/googletest-build/googlemock", - "command": "/usr/bin/c++ -DGTEST_CREATE_SHARED_LIBRARY=1 -Dgmock_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/googletest-src/googlemock/include -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/googletest-src/googlemock -isystem /mnt/work/sandbox/letsc/cmake-cpp/_deps/googletest-src/googletest/include -isystem /mnt/work/sandbox/letsc/cmake-cpp/_deps/googletest-src/googletest -O3 -DNDEBUG -fPIC -Wall -Wshadow -Wundef -Wno-error=dangling-else -DGTEST_HAS_PTHREAD=1 -fexceptions -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -std=c++17 -o CMakeFiles/gmock.dir/src/gmock-all.cc.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/googletest-src/googlemock/src/gmock-all.cc", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/googletest-src/googlemock/src/gmock-all.cc" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/googletest-build/googlemock", - "command": "/usr/bin/c++ -DGTEST_CREATE_SHARED_LIBRARY=1 -Dgmock_main_EXPORTS -isystem /mnt/work/sandbox/letsc/cmake-cpp/_deps/googletest-src/googlemock/include -isystem /mnt/work/sandbox/letsc/cmake-cpp/_deps/googletest-src/googlemock -isystem /mnt/work/sandbox/letsc/cmake-cpp/_deps/googletest-src/googletest/include -isystem /mnt/work/sandbox/letsc/cmake-cpp/_deps/googletest-src/googletest -O3 -DNDEBUG -fPIC -Wall -Wshadow -Wundef -Wno-error=dangling-else -DGTEST_HAS_PTHREAD=1 -fexceptions -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -std=c++17 -o CMakeFiles/gmock_main.dir/src/gmock_main.cc.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/googletest-src/googlemock/src/gmock_main.cc", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/googletest-src/googlemock/src/gmock_main.cc" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/googletest-build/googletest", - "command": "/usr/bin/c++ -DGTEST_CREATE_SHARED_LIBRARY=1 -Dgtest_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/googletest-src/googletest/include -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/googletest-src/googletest -O3 -DNDEBUG -fPIC -Wall -Wshadow -Wundef -Wno-error=dangling-else -DGTEST_HAS_PTHREAD=1 -fexceptions -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -std=c++17 -o CMakeFiles/gtest.dir/src/gtest-all.cc.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/googletest-src/googletest/src/gtest-all.cc", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/googletest-src/googletest/src/gtest-all.cc" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/googletest-build/googletest", - "command": "/usr/bin/c++ -DGTEST_CREATE_SHARED_LIBRARY=1 -Dgtest_main_EXPORTS -isystem /mnt/work/sandbox/letsc/cmake-cpp/_deps/googletest-src/googletest/include -isystem /mnt/work/sandbox/letsc/cmake-cpp/_deps/googletest-src/googletest -O3 -DNDEBUG -fPIC -Wall -Wshadow -Wundef -Wno-error=dangling-else -DGTEST_HAS_PTHREAD=1 -fexceptions -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -std=c++17 -o CMakeFiles/gtest_main.dir/src/gtest_main.cc.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/googletest-src/googletest/src/gtest_main.cc", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/googletest-src/googletest/src/gtest_main.cc" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/benchmark/catch_chronometer.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/benchmark/catch_chronometer.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/benchmark/catch_chronometer.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/benchmark/detail/catch_benchmark_function.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/benchmark/detail/catch_benchmark_function.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/benchmark/detail/catch_benchmark_function.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/benchmark/detail/catch_run_for_at_least.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/benchmark/detail/catch_run_for_at_least.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/benchmark/detail/catch_run_for_at_least.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/benchmark/detail/catch_stats.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/benchmark/detail/catch_stats.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/benchmark/detail/catch_stats.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/generators/catch_generator_exception.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/generators/catch_generator_exception.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/generators/catch_generator_exception.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/generators/catch_generators.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/generators/catch_generators.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/generators/catch_generators.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/generators/catch_generators_random.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/generators/catch_generators_random.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/generators/catch_generators_random.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/reporters/catch_reporter_automake.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_automake.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_automake.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/reporters/catch_reporter_common_base.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_common_base.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_common_base.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/reporters/catch_reporter_compact.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_compact.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_compact.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/reporters/catch_reporter_console.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_console.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_console.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/reporters/catch_reporter_cumulative_base.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_cumulative_base.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_cumulative_base.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/reporters/catch_reporter_event_listener.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_event_listener.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_event_listener.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/reporters/catch_reporter_helpers.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_helpers.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_helpers.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/reporters/catch_reporter_junit.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_junit.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_junit.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/reporters/catch_reporter_multi.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_multi.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_multi.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/reporters/catch_reporter_registrars.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_registrars.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_registrars.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/reporters/catch_reporter_sonarqube.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_sonarqube.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_sonarqube.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/reporters/catch_reporter_streaming_base.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_streaming_base.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_streaming_base.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/reporters/catch_reporter_tap.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_tap.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_tap.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/reporters/catch_reporter_teamcity.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_teamcity.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_teamcity.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/reporters/catch_reporter_xml.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_xml.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_xml.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/interfaces/catch_interfaces_capture.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/interfaces/catch_interfaces_capture.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/interfaces/catch_interfaces_capture.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/interfaces/catch_interfaces_config.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/interfaces/catch_interfaces_config.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/interfaces/catch_interfaces_config.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/interfaces/catch_interfaces_exception.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/interfaces/catch_interfaces_exception.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/interfaces/catch_interfaces_exception.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/interfaces/catch_interfaces_generatortracker.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/interfaces/catch_interfaces_generatortracker.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/interfaces/catch_interfaces_generatortracker.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/interfaces/catch_interfaces_registry_hub.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/interfaces/catch_interfaces_registry_hub.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/interfaces/catch_interfaces_registry_hub.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/interfaces/catch_interfaces_reporter.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/interfaces/catch_interfaces_reporter.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/interfaces/catch_interfaces_reporter.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/interfaces/catch_interfaces_reporter_factory.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/interfaces/catch_interfaces_reporter_factory.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/interfaces/catch_interfaces_reporter_factory.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/interfaces/catch_interfaces_testcase.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/interfaces/catch_interfaces_testcase.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/interfaces/catch_interfaces_testcase.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/catch_approx.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_approx.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_approx.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/catch_assertion_result.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_assertion_result.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_assertion_result.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/catch_config.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_config.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_config.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/catch_get_random_seed.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_get_random_seed.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_get_random_seed.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/catch_message.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_message.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_message.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/catch_registry_hub.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_registry_hub.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_registry_hub.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/catch_session.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_session.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_session.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/catch_tag_alias_autoregistrar.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_tag_alias_autoregistrar.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_tag_alias_autoregistrar.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/catch_test_case_info.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_test_case_info.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_test_case_info.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/catch_test_spec.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_test_spec.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_test_spec.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/catch_timer.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_timer.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_timer.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/catch_tostring.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_tostring.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_tostring.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/catch_totals.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_totals.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_totals.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/catch_translate_exception.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_translate_exception.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_translate_exception.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/catch_version.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_version.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_version.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_assertion_handler.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_assertion_handler.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_assertion_handler.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_case_insensitive_comparisons.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_case_insensitive_comparisons.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_case_insensitive_comparisons.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_clara.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_clara.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_clara.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_commandline.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_commandline.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_commandline.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_console_colour.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_console_colour.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_console_colour.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_context.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_context.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_context.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_debug_console.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_debug_console.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_debug_console.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_debugger.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_debugger.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_debugger.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_decomposer.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_decomposer.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_decomposer.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_enforce.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_enforce.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_enforce.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_enum_values_registry.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_enum_values_registry.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_enum_values_registry.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_errno_guard.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_errno_guard.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_errno_guard.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_exception_translator_registry.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_exception_translator_registry.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_exception_translator_registry.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_fatal_condition_handler.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_fatal_condition_handler.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_fatal_condition_handler.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_floating_point_helpers.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_floating_point_helpers.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_floating_point_helpers.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_getenv.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_getenv.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_getenv.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_istream.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_istream.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_istream.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_lazy_expr.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_lazy_expr.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_lazy_expr.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_leak_detector.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_leak_detector.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_leak_detector.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_list.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_list.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_list.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_message_info.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_message_info.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_message_info.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_output_redirect.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_output_redirect.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_output_redirect.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_parse_numbers.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_parse_numbers.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_parse_numbers.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_polyfills.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_polyfills.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_polyfills.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_random_number_generator.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_random_number_generator.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_random_number_generator.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_random_seed_generation.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_random_seed_generation.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_random_seed_generation.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_reporter_registry.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_reporter_registry.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_reporter_registry.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_reporter_spec_parser.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_reporter_spec_parser.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_reporter_spec_parser.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_result_type.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_result_type.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_result_type.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_reusable_string_stream.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_reusable_string_stream.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_reusable_string_stream.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_run_context.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_run_context.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_run_context.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_section.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_section.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_section.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_singletons.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_singletons.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_singletons.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_source_line_info.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_source_line_info.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_source_line_info.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_startup_exception_registry.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_startup_exception_registry.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_startup_exception_registry.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_stdstreams.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_stdstreams.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_stdstreams.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_string_manip.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_string_manip.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_string_manip.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_stringref.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_stringref.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_stringref.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_tag_alias_registry.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_tag_alias_registry.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_tag_alias_registry.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_test_case_info_hasher.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_test_case_info_hasher.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_test_case_info_hasher.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_test_case_registry_impl.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_test_case_registry_impl.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_test_case_registry_impl.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_test_case_tracker.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_test_case_tracker.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_test_case_tracker.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_test_failure_exception.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_test_failure_exception.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_test_failure_exception.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_test_registry.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_test_registry.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_test_registry.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_test_spec_parser.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_test_spec_parser.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_test_spec_parser.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_textflow.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_textflow.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_textflow.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_uncaught_exceptions.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_uncaught_exceptions.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_uncaught_exceptions.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_wildcard_pattern.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_wildcard_pattern.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_wildcard_pattern.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_xmlwriter.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_xmlwriter.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_xmlwriter.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/matchers/catch_matchers.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/matchers/catch_matchers.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/matchers/catch_matchers.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/matchers/catch_matchers_container_properties.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/matchers/catch_matchers_container_properties.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/matchers/catch_matchers_container_properties.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/matchers/catch_matchers_exception.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/matchers/catch_matchers_exception.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/matchers/catch_matchers_exception.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/matchers/catch_matchers_floating_point.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/matchers/catch_matchers_floating_point.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/matchers/catch_matchers_floating_point.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/matchers/catch_matchers_predicate.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/matchers/catch_matchers_predicate.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/matchers/catch_matchers_predicate.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/matchers/catch_matchers_quantifiers.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/matchers/catch_matchers_quantifiers.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/matchers/catch_matchers_quantifiers.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/matchers/catch_matchers_string.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/matchers/catch_matchers_string.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/matchers/catch_matchers_string.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/matchers/catch_matchers_templated.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/matchers/catch_matchers_templated.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/matchers/catch_matchers_templated.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/matchers/internal/catch_matchers_impl.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/matchers/internal/catch_matchers_impl.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/matchers/internal/catch_matchers_impl.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", - "command": "/usr/bin/c++ -DCatch2WithMain_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2WithMain.dir/catch2/internal/catch_main.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_main.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_main.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/Foo", - "command": "/usr/bin/c++ -DFoo_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/Foo/include -O3 -DNDEBUG -fPIC -std=c++17 -o CMakeFiles/Foo.dir/src/Foo.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/Foo/src/Foo.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/Foo/src/Foo.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/Foo/tests", - "command": "/usr/bin/c++ -I/mnt/work/sandbox/letsc/cmake-cpp/Foo/tests -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -I/mnt/work/sandbox/letsc/cmake-cpp/Foo/include -I/mnt/work/sandbox/letsc/cmake-cpp/Bar/include -I/mnt/work/sandbox/letsc/cmake-cpp/FooBar/include -O3 -DNDEBUG -std=c++17 -o CMakeFiles/foo_test.dir/foo_test.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/Foo/tests/foo_test.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/Foo/tests/foo_test.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/Bar", - "command": "/usr/bin/c++ -DBar_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/Bar/include -O3 -DNDEBUG -fPIC -std=c++17 -o CMakeFiles/Bar.dir/src/Bar.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/Bar/src/Bar.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/Bar/src/Bar.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/Bar/tests", - "command": "/usr/bin/c++ -I/mnt/work/sandbox/letsc/cmake-cpp/Bar/tests -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -I/mnt/work/sandbox/letsc/cmake-cpp/Foo/include -I/mnt/work/sandbox/letsc/cmake-cpp/Bar/include -I/mnt/work/sandbox/letsc/cmake-cpp/FooBar/include -O3 -DNDEBUG -std=c++17 -o CMakeFiles/bar_test.dir/bar_test.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/Bar/tests/bar_test.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/Bar/tests/bar_test.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/FooBar", - "command": "/usr/bin/c++ -DFooBar_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/FooBar/include -I/mnt/work/sandbox/letsc/cmake-cpp/Foo/include -I/mnt/work/sandbox/letsc/cmake-cpp/Bar/include -O3 -DNDEBUG -fPIC -std=c++17 -o CMakeFiles/FooBar.dir/src/FooBar.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/FooBar/src/FooBar.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/FooBar/src/FooBar.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/FooBar/tests", - "command": "/usr/bin/c++ -I/mnt/work/sandbox/letsc/cmake-cpp/FooBar/tests -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -I/mnt/work/sandbox/letsc/cmake-cpp/Foo/include -I/mnt/work/sandbox/letsc/cmake-cpp/Bar/include -I/mnt/work/sandbox/letsc/cmake-cpp/FooBar/include -O3 -DNDEBUG -std=c++17 -o CMakeFiles/foobar_test.dir/foobar_test.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/FooBar/tests/foobar_test.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/FooBar/tests/foobar_test.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/FooBarApp", - "command": "/usr/bin/c++ -I/mnt/work/sandbox/letsc/cmake-cpp/FooBar/include -I/mnt/work/sandbox/letsc/cmake-cpp/Foo/include -I/mnt/work/sandbox/letsc/cmake-cpp/Bar/include -O3 -DNDEBUG -std=c++17 -o CMakeFiles/FooBarApp.dir/src/main.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/FooBarApp/src/main.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/FooBarApp/src/main.cpp" -}, -{ - "directory": "/mnt/work/sandbox/letsc/cmake-cpp/examples", - "command": "/usr/bin/c++ -I/mnt/work/sandbox/letsc/cmake-cpp/examples -I/mnt/work/sandbox/letsc/cmake-cpp/Foo/include -I/mnt/work/sandbox/letsc/cmake-cpp/Bar/include -I/mnt/work/sandbox/letsc/cmake-cpp/FooBar/include -O3 -DNDEBUG -std=c++17 -o CMakeFiles/example.dir/example.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/examples/example.cpp", - "file": "/mnt/work/sandbox/letsc/cmake-cpp/examples/example.cpp" -} -] \ No newline at end of file + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/googletest-build/googlemock", + "command": "/usr/bin/c++ -DGTEST_CREATE_SHARED_LIBRARY=1 -Dgmock_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/googletest-src/googlemock/include -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/googletest-src/googlemock -isystem /mnt/work/sandbox/letsc/cmake-cpp/_deps/googletest-src/googletest/include -isystem /mnt/work/sandbox/letsc/cmake-cpp/_deps/googletest-src/googletest -O3 -DNDEBUG -fPIC -Wall -Wshadow -Wundef -Wno-error=dangling-else -DGTEST_HAS_PTHREAD=1 -fexceptions -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -std=c++17 -o CMakeFiles/gmock.dir/src/gmock-all.cc.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/googletest-src/googlemock/src/gmock-all.cc", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/googletest-src/googlemock/src/gmock-all.cc" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/googletest-build/googlemock", + "command": "/usr/bin/c++ -DGTEST_CREATE_SHARED_LIBRARY=1 -Dgmock_main_EXPORTS -isystem /mnt/work/sandbox/letsc/cmake-cpp/_deps/googletest-src/googlemock/include -isystem /mnt/work/sandbox/letsc/cmake-cpp/_deps/googletest-src/googlemock -isystem /mnt/work/sandbox/letsc/cmake-cpp/_deps/googletest-src/googletest/include -isystem /mnt/work/sandbox/letsc/cmake-cpp/_deps/googletest-src/googletest -O3 -DNDEBUG -fPIC -Wall -Wshadow -Wundef -Wno-error=dangling-else -DGTEST_HAS_PTHREAD=1 -fexceptions -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -std=c++17 -o CMakeFiles/gmock_main.dir/src/gmock_main.cc.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/googletest-src/googlemock/src/gmock_main.cc", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/googletest-src/googlemock/src/gmock_main.cc" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/googletest-build/googletest", + "command": "/usr/bin/c++ -DGTEST_CREATE_SHARED_LIBRARY=1 -Dgtest_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/googletest-src/googletest/include -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/googletest-src/googletest -O3 -DNDEBUG -fPIC -Wall -Wshadow -Wundef -Wno-error=dangling-else -DGTEST_HAS_PTHREAD=1 -fexceptions -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -std=c++17 -o CMakeFiles/gtest.dir/src/gtest-all.cc.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/googletest-src/googletest/src/gtest-all.cc", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/googletest-src/googletest/src/gtest-all.cc" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/googletest-build/googletest", + "command": "/usr/bin/c++ -DGTEST_CREATE_SHARED_LIBRARY=1 -Dgtest_main_EXPORTS -isystem /mnt/work/sandbox/letsc/cmake-cpp/_deps/googletest-src/googletest/include -isystem /mnt/work/sandbox/letsc/cmake-cpp/_deps/googletest-src/googletest -O3 -DNDEBUG -fPIC -Wall -Wshadow -Wundef -Wno-error=dangling-else -DGTEST_HAS_PTHREAD=1 -fexceptions -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -std=c++17 -o CMakeFiles/gtest_main.dir/src/gtest_main.cc.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/googletest-src/googletest/src/gtest_main.cc", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/googletest-src/googletest/src/gtest_main.cc" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/benchmark/catch_chronometer.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/benchmark/catch_chronometer.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/benchmark/catch_chronometer.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/benchmark/detail/catch_benchmark_function.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/benchmark/detail/catch_benchmark_function.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/benchmark/detail/catch_benchmark_function.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/benchmark/detail/catch_run_for_at_least.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/benchmark/detail/catch_run_for_at_least.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/benchmark/detail/catch_run_for_at_least.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/benchmark/detail/catch_stats.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/benchmark/detail/catch_stats.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/benchmark/detail/catch_stats.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/generators/catch_generator_exception.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/generators/catch_generator_exception.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/generators/catch_generator_exception.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/generators/catch_generators.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/generators/catch_generators.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/generators/catch_generators.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/generators/catch_generators_random.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/generators/catch_generators_random.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/generators/catch_generators_random.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/reporters/catch_reporter_automake.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_automake.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_automake.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/reporters/catch_reporter_common_base.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_common_base.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_common_base.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/reporters/catch_reporter_compact.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_compact.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_compact.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/reporters/catch_reporter_console.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_console.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_console.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/reporters/catch_reporter_cumulative_base.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_cumulative_base.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_cumulative_base.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/reporters/catch_reporter_event_listener.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_event_listener.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_event_listener.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/reporters/catch_reporter_helpers.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_helpers.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_helpers.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/reporters/catch_reporter_junit.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_junit.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_junit.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/reporters/catch_reporter_multi.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_multi.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_multi.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/reporters/catch_reporter_registrars.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_registrars.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_registrars.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/reporters/catch_reporter_sonarqube.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_sonarqube.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_sonarqube.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/reporters/catch_reporter_streaming_base.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_streaming_base.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_streaming_base.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/reporters/catch_reporter_tap.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_tap.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_tap.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/reporters/catch_reporter_teamcity.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_teamcity.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_teamcity.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/reporters/catch_reporter_xml.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_xml.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/reporters/catch_reporter_xml.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/interfaces/catch_interfaces_capture.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/interfaces/catch_interfaces_capture.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/interfaces/catch_interfaces_capture.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/interfaces/catch_interfaces_config.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/interfaces/catch_interfaces_config.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/interfaces/catch_interfaces_config.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/interfaces/catch_interfaces_exception.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/interfaces/catch_interfaces_exception.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/interfaces/catch_interfaces_exception.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/interfaces/catch_interfaces_generatortracker.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/interfaces/catch_interfaces_generatortracker.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/interfaces/catch_interfaces_generatortracker.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/interfaces/catch_interfaces_registry_hub.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/interfaces/catch_interfaces_registry_hub.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/interfaces/catch_interfaces_registry_hub.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/interfaces/catch_interfaces_reporter.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/interfaces/catch_interfaces_reporter.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/interfaces/catch_interfaces_reporter.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/interfaces/catch_interfaces_reporter_factory.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/interfaces/catch_interfaces_reporter_factory.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/interfaces/catch_interfaces_reporter_factory.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/interfaces/catch_interfaces_testcase.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/interfaces/catch_interfaces_testcase.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/interfaces/catch_interfaces_testcase.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/catch_approx.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_approx.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_approx.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/catch_assertion_result.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_assertion_result.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_assertion_result.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/catch_config.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_config.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_config.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/catch_get_random_seed.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_get_random_seed.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_get_random_seed.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/catch_message.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_message.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_message.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/catch_registry_hub.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_registry_hub.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_registry_hub.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/catch_session.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_session.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_session.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/catch_tag_alias_autoregistrar.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_tag_alias_autoregistrar.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_tag_alias_autoregistrar.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/catch_test_case_info.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_test_case_info.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_test_case_info.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/catch_test_spec.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_test_spec.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_test_spec.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/catch_timer.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_timer.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_timer.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/catch_tostring.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_tostring.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_tostring.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/catch_totals.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_totals.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_totals.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/catch_translate_exception.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_translate_exception.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_translate_exception.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/catch_version.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_version.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/catch_version.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_assertion_handler.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_assertion_handler.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_assertion_handler.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_case_insensitive_comparisons.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_case_insensitive_comparisons.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_case_insensitive_comparisons.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_clara.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_clara.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_clara.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_commandline.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_commandline.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_commandline.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_console_colour.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_console_colour.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_console_colour.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_context.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_context.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_context.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_debug_console.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_debug_console.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_debug_console.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_debugger.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_debugger.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_debugger.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_decomposer.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_decomposer.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_decomposer.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_enforce.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_enforce.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_enforce.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_enum_values_registry.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_enum_values_registry.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_enum_values_registry.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_errno_guard.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_errno_guard.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_errno_guard.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_exception_translator_registry.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_exception_translator_registry.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_exception_translator_registry.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_fatal_condition_handler.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_fatal_condition_handler.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_fatal_condition_handler.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_floating_point_helpers.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_floating_point_helpers.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_floating_point_helpers.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_getenv.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_getenv.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_getenv.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_istream.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_istream.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_istream.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_lazy_expr.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_lazy_expr.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_lazy_expr.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_leak_detector.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_leak_detector.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_leak_detector.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_list.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_list.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_list.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_message_info.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_message_info.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_message_info.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_output_redirect.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_output_redirect.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_output_redirect.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_parse_numbers.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_parse_numbers.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_parse_numbers.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_polyfills.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_polyfills.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_polyfills.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_random_number_generator.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_random_number_generator.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_random_number_generator.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_random_seed_generation.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_random_seed_generation.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_random_seed_generation.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_reporter_registry.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_reporter_registry.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_reporter_registry.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_reporter_spec_parser.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_reporter_spec_parser.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_reporter_spec_parser.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_result_type.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_result_type.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_result_type.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_reusable_string_stream.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_reusable_string_stream.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_reusable_string_stream.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_run_context.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_run_context.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_run_context.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_section.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_section.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_section.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_singletons.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_singletons.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_singletons.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_source_line_info.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_source_line_info.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_source_line_info.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_startup_exception_registry.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_startup_exception_registry.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_startup_exception_registry.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_stdstreams.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_stdstreams.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_stdstreams.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_string_manip.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_string_manip.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_string_manip.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_stringref.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_stringref.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_stringref.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_tag_alias_registry.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_tag_alias_registry.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_tag_alias_registry.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_test_case_info_hasher.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_test_case_info_hasher.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_test_case_info_hasher.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_test_case_registry_impl.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_test_case_registry_impl.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_test_case_registry_impl.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_test_case_tracker.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_test_case_tracker.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_test_case_tracker.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_test_failure_exception.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_test_failure_exception.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_test_failure_exception.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_test_registry.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_test_registry.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_test_registry.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_test_spec_parser.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_test_spec_parser.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_test_spec_parser.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_textflow.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_textflow.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_textflow.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_uncaught_exceptions.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_uncaught_exceptions.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_uncaught_exceptions.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_wildcard_pattern.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_wildcard_pattern.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_wildcard_pattern.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/internal/catch_xmlwriter.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_xmlwriter.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_xmlwriter.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/matchers/catch_matchers.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/matchers/catch_matchers.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/matchers/catch_matchers.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/matchers/catch_matchers_container_properties.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/matchers/catch_matchers_container_properties.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/matchers/catch_matchers_container_properties.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/matchers/catch_matchers_exception.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/matchers/catch_matchers_exception.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/matchers/catch_matchers_exception.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/matchers/catch_matchers_floating_point.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/matchers/catch_matchers_floating_point.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/matchers/catch_matchers_floating_point.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/matchers/catch_matchers_predicate.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/matchers/catch_matchers_predicate.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/matchers/catch_matchers_predicate.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/matchers/catch_matchers_quantifiers.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/matchers/catch_matchers_quantifiers.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/matchers/catch_matchers_quantifiers.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/matchers/catch_matchers_string.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/matchers/catch_matchers_string.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/matchers/catch_matchers_string.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/matchers/catch_matchers_templated.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/matchers/catch_matchers_templated.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/matchers/catch_matchers_templated.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2.dir/catch2/matchers/internal/catch_matchers_impl.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/matchers/internal/catch_matchers_impl.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/matchers/internal/catch_matchers_impl.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/src", + "command": "/usr/bin/c++ -DCatch2WithMain_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -O3 -DNDEBUG -fPIC -ffile-prefix-map=/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/= -std=c++17 -o CMakeFiles/Catch2WithMain.dir/catch2/internal/catch_main.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_main.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/internal/catch_main.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/Foo", + "command": "/usr/bin/c++ -DFoo_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/Foo/include -O3 -DNDEBUG -fPIC -std=c++17 -o CMakeFiles/Foo.dir/src/Foo.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/Foo/src/Foo.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/Foo/src/Foo.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/Foo/tests", + "command": "/usr/bin/c++ -I/mnt/work/sandbox/letsc/cmake-cpp/Foo/tests -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -I/mnt/work/sandbox/letsc/cmake-cpp/Foo/include -I/mnt/work/sandbox/letsc/cmake-cpp/Bar/include -I/mnt/work/sandbox/letsc/cmake-cpp/FooBar/include -O3 -DNDEBUG -std=c++17 -o CMakeFiles/foo_test.dir/foo_test.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/Foo/tests/foo_test.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/Foo/tests/foo_test.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/Bar", + "command": "/usr/bin/c++ -DBar_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/Bar/include -O3 -DNDEBUG -fPIC -std=c++17 -o CMakeFiles/Bar.dir/src/Bar.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/Bar/src/Bar.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/Bar/src/Bar.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/Bar/tests", + "command": "/usr/bin/c++ -I/mnt/work/sandbox/letsc/cmake-cpp/Bar/tests -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -I/mnt/work/sandbox/letsc/cmake-cpp/Foo/include -I/mnt/work/sandbox/letsc/cmake-cpp/Bar/include -I/mnt/work/sandbox/letsc/cmake-cpp/FooBar/include -O3 -DNDEBUG -std=c++17 -o CMakeFiles/bar_test.dir/bar_test.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/Bar/tests/bar_test.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/Bar/tests/bar_test.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/FooBar", + "command": "/usr/bin/c++ -DFooBar_EXPORTS -I/mnt/work/sandbox/letsc/cmake-cpp/FooBar/include -I/mnt/work/sandbox/letsc/cmake-cpp/Foo/include -I/mnt/work/sandbox/letsc/cmake-cpp/Bar/include -O3 -DNDEBUG -fPIC -std=c++17 -o CMakeFiles/FooBar.dir/src/FooBar.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/FooBar/src/FooBar.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/FooBar/src/FooBar.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/FooBar/tests", + "command": "/usr/bin/c++ -I/mnt/work/sandbox/letsc/cmake-cpp/FooBar/tests -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-src/src/catch2/.. -I/mnt/work/sandbox/letsc/cmake-cpp/_deps/catch2-build/generated-includes -I/mnt/work/sandbox/letsc/cmake-cpp/Foo/include -I/mnt/work/sandbox/letsc/cmake-cpp/Bar/include -I/mnt/work/sandbox/letsc/cmake-cpp/FooBar/include -O3 -DNDEBUG -std=c++17 -o CMakeFiles/foobar_test.dir/foobar_test.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/FooBar/tests/foobar_test.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/FooBar/tests/foobar_test.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/FooBarApp", + "command": "/usr/bin/c++ -I/mnt/work/sandbox/letsc/cmake-cpp/FooBar/include -I/mnt/work/sandbox/letsc/cmake-cpp/Foo/include -I/mnt/work/sandbox/letsc/cmake-cpp/Bar/include -O3 -DNDEBUG -std=c++17 -o CMakeFiles/FooBarApp.dir/src/main.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/FooBarApp/src/main.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/FooBarApp/src/main.cpp" + }, + { + "directory": "/mnt/work/sandbox/letsc/cmake-cpp/examples", + "command": "/usr/bin/c++ -I/mnt/work/sandbox/letsc/cmake-cpp/examples -I/mnt/work/sandbox/letsc/cmake-cpp/Foo/include -I/mnt/work/sandbox/letsc/cmake-cpp/Bar/include -I/mnt/work/sandbox/letsc/cmake-cpp/FooBar/include -O3 -DNDEBUG -std=c++17 -o CMakeFiles/example.dir/example.cpp.o -c /mnt/work/sandbox/letsc/cmake-cpp/examples/example.cpp", + "file": "/mnt/work/sandbox/letsc/cmake-cpp/examples/example.cpp" + } +] diff --git a/test/data/composer-2.json b/test/data/composer-2.json index 7f1dc46d2..888a39e19 100644 --- a/test/data/composer-2.json +++ b/test/data/composer-2.json @@ -1,112 +1,98 @@ { - "name": "vimeo/psalm", - "type": "library", - "description": "A static analysis tool for finding errors in PHP applications", - "keywords": [ - "php", - "code", - "inspection" - ], - "license": "MIT", - "authors": [ - { - "name": "Matthew Brown" - } - ], - "require": { - "php": "^7.1.3|^8", - "ext-SimpleXML": "*", - "ext-dom": "*", - "ext-json": "*", - "ext-libxml": "*", - "ext-tokenizer": "*", - "amphp/amp": "^2.1", - "amphp/byte-stream": "^1.5", - "composer/semver": "^1.4 || ^2.0 || ^3.0", - "composer/xdebug-handler": "^1.1", - "felixfbecker/advanced-json-rpc": "^3.0.3", - "felixfbecker/language-server-protocol": "^1.4", - "netresearch/jsonmapper": "^1.0 || ^2.0", - "nikic/php-parser": "^4.3", - "ocramius/package-versions": "^1.2", - "openlss/lib-array2xml": "^1.0", - "sebastian/diff": "^3.0 || ^4.0", - "symfony/console": "^3.4.17 || ^4.1.6 || ^5.0", - "webmozart/glob": "^4.1", - "webmozart/path-util": "^2.3" - }, - "provide": { - "psalm/psalm": "self.version" - }, - "require-dev": { - "ext-curl": "*", - "amphp/amp": "^2.4.2", - "bamarni/composer-bin-plugin": "^1.2", - "brianium/paratest": "^4.0.0", - "php-coveralls/php-coveralls": "^2.2", - "phpmyadmin/sql-parser": "5.1.0", - "phpspec/prophecy": ">=1.9.0", - "phpunit/phpunit": "^7.5.16 || ^8.5 || ^9.0", - "psalm/plugin-phpunit": "^0.10", - "slevomat/coding-standard": "^5.0", - "squizlabs/php_codesniffer": "^3.5", - "symfony/process": "^4.3" - }, - "suggest": { - "ext-igbinary": "^2.0.5" - }, - "config": { - "optimize-autoloader": true, - "sort-packages": true - }, - "extra": { - "branch-alias": { - "dev-master": "3.x-dev", - "dev-2.x": "2.x-dev", - "dev-1.x": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psalm\\": "src/Psalm/" - }, - "files": [ - "src/functions.php", - "src/spl_object_id.php" - ] - }, - "autoload-dev": { - "psr-4": { - "Psalm\\Tests\\": "tests/" - } + "name": "vimeo/psalm", + "type": "library", + "description": "A static analysis tool for finding errors in PHP applications", + "keywords": ["php", "code", "inspection"], + "license": "MIT", + "authors": [ + { + "name": "Matthew Brown" + } + ], + "require": { + "php": "^7.1.3|^8", + "ext-SimpleXML": "*", + "ext-dom": "*", + "ext-json": "*", + "ext-libxml": "*", + "ext-tokenizer": "*", + "amphp/amp": "^2.1", + "amphp/byte-stream": "^1.5", + "composer/semver": "^1.4 || ^2.0 || ^3.0", + "composer/xdebug-handler": "^1.1", + "felixfbecker/advanced-json-rpc": "^3.0.3", + "felixfbecker/language-server-protocol": "^1.4", + "netresearch/jsonmapper": "^1.0 || ^2.0", + "nikic/php-parser": "^4.3", + "ocramius/package-versions": "^1.2", + "openlss/lib-array2xml": "^1.0", + "sebastian/diff": "^3.0 || ^4.0", + "symfony/console": "^3.4.17 || ^4.1.6 || ^5.0", + "webmozart/glob": "^4.1", + "webmozart/path-util": "^2.3" + }, + "provide": { + "psalm/psalm": "self.version" + }, + "require-dev": { + "ext-curl": "*", + "amphp/amp": "^2.4.2", + "bamarni/composer-bin-plugin": "^1.2", + "brianium/paratest": "^4.0.0", + "php-coveralls/php-coveralls": "^2.2", + "phpmyadmin/sql-parser": "5.1.0", + "phpspec/prophecy": ">=1.9.0", + "phpunit/phpunit": "^7.5.16 || ^8.5 || ^9.0", + "psalm/plugin-phpunit": "^0.10", + "slevomat/coding-standard": "^5.0", + "squizlabs/php_codesniffer": "^3.5", + "symfony/process": "^4.3" + }, + "suggest": { + "ext-igbinary": "^2.0.5" + }, + "config": { + "optimize-autoloader": true, + "sort-packages": true + }, + "extra": { + "branch-alias": { + "dev-master": "3.x-dev", + "dev-2.x": "2.x-dev", + "dev-1.x": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psalm\\": "src/Psalm/" }, - "repositories": [ - { - "type": "path", - "url": "examples/plugins/composer-based/echo-checker" - } - ], - "minimum-stability": "dev", - "prefer-stable": true, - "bin": [ - "psalm", - "psalm-language-server", - "psalm-plugin", - "psalm-refactor", - "psalter" - ], - "scripts": { - "all-tests": [ - "phpcs", - "./psalm --find-dead-code", - "phpunit" - ], - "psalm": "./psalm --find-dead-code", - "cs": "phpcs -p", - "cs-fix": "phpcbf -p", - "tests": [ - "phpcs", - "phpunit" - ] + "files": ["src/functions.php", "src/spl_object_id.php"] + }, + "autoload-dev": { + "psr-4": { + "Psalm\\Tests\\": "tests/" + } + }, + "repositories": [ + { + "type": "path", + "url": "examples/plugins/composer-based/echo-checker" } + ], + "minimum-stability": "dev", + "prefer-stable": true, + "bin": [ + "psalm", + "psalm-language-server", + "psalm-plugin", + "psalm-refactor", + "psalter" + ], + "scripts": { + "all-tests": ["phpcs", "./psalm --find-dead-code", "phpunit"], + "psalm": "./psalm --find-dead-code", + "cs": "phpcs -p", + "cs-fix": "phpcbf -p", + "tests": ["phpcs", "phpunit"] + } } diff --git a/test/data/composer.json b/test/data/composer.json index 19dc68538..6987710c4 100644 --- a/test/data/composer.json +++ b/test/data/composer.json @@ -1,5 +1,5 @@ { - "require": { - "quickbooks/v3-php-sdk": "v4.0.6.1" - } + "require": { + "quickbooks/v3-php-sdk": "v4.0.6.1" + } } diff --git a/test/data/ddc-sbom.json b/test/data/ddc-sbom.json index e9d074532..52c4fef8d 100644 --- a/test/data/ddc-sbom.json +++ b/test/data/ddc-sbom.json @@ -1004,9 +1004,7 @@ }, { "ref": "pkg:maven/org.springframework/spring-core@6.0.3?type=jar", - "dependsOn": [ - "pkg:maven/org.springframework/spring-jcl@6.0.3?type=jar" - ] + "dependsOn": ["pkg:maven/org.springframework/spring-jcl@6.0.3?type=jar"] }, { "ref": "pkg:maven/org.springframework/spring-jcl@6.0.3?type=jar", @@ -1021,9 +1019,7 @@ }, { "ref": "pkg:maven/org.springframework/spring-aop@6.0.3?type=jar", - "dependsOn": [ - "pkg:maven/org.springframework/spring-beans@6.0.3?type=jar" - ] + "dependsOn": ["pkg:maven/org.springframework/spring-beans@6.0.3?type=jar"] }, { "ref": "pkg:maven/org.springframework/spring-beans@6.0.3?type=jar", @@ -1230,9 +1226,7 @@ }, { "ref": "pkg:maven/org.flywaydb/flyway-mysql@9.18.0?type=jar", - "dependsOn": [ - "pkg:maven/org.flywaydb/flyway-core@9.18.0?type=jar" - ] + "dependsOn": ["pkg:maven/org.flywaydb/flyway-core@9.18.0?type=jar"] }, { "ref": "pkg:maven/org.flywaydb/flyway-core@9.18.0?type=jar", @@ -1306,4 +1300,4 @@ "dependsOn": [] } ] -} \ No newline at end of file +} diff --git a/test/data/df.json b/test/data/df.json index 2fafd0fb0..a9e72fc46 100644 --- a/test/data/df.json +++ b/test/data/df.json @@ -1,5158 +1,4400 @@ { - "graph" : { - "nodes" : [ - { - "id" : 1045, - "label" : "IDENTIFIER", - "name" : "i", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "i", - "typeFullName" : "int", - "parentMethodName" : "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentMethodSignature" : "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 251, - "columnNumber" : 57 - }, - { - "id" : 1114, - "label" : "METHOD_PARAMETER_IN", - "name" : "session", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "HttpSession session", - "typeFullName" : "javax.servlet.http.HttpSession", - "parentMethodName" : "com.example.vulnspring.WebController.jwt:java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", - "parentMethodSignature" : "java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 275, - "columnNumber" : 20 - }, - { - "id" : 1124, - "label" : "LITERAL", - "name" : "", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "\"username\"", - "typeFullName" : "java.lang.String", - "parentMethodName" : "com.example.vulnspring.WebController.jwt:java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", - "parentMethodSignature" : "java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 276, - "columnNumber" : 51 - }, - { - "id" : 1011, - "label" : "CALL", - "name" : "getNodeValue", - "fullName" : "org.w3c.dom.Node.getNodeValue:java.lang.String()", - "signature" : "java.lang.String()", - "isExternal" : true, - "code" : "node.getNodeValue()", - "typeFullName" : "java.lang.String", - "parentMethodName" : "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentMethodSignature" : "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 244, - "columnNumber" : 35 - }, - { - "id" : 1137, - "label" : "IDENTIFIER", - "name" : "JWT", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "JWT", - "typeFullName" : "com.auth0.jwt.JWT", - "parentMethodName" : "com.example.vulnspring.WebController.jwt:java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", - "parentMethodSignature" : "java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 280, - "columnNumber" : 18 - }, - { - "id" : 681, - "label" : "IDENTIFIER", - "name" : "model", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "model", - "typeFullName" : "org.springframework.ui.Model", - "parentMethodName" : "com.example.vulnspring.WebController.transfer:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", - "parentMethodSignature" : "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 163, - "columnNumber" : 4 - }, - { - "id" : 341, - "label" : "METHOD_PARAMETER_IN", - "name" : "password", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "String password", - "typeFullName" : "java.lang.String", - "parentMethodName" : "com.example.vulnspring.WebController.loginSuccess:boolean(java.lang.String,java.lang.String)", - "parentMethodSignature" : "boolean(java.lang.String,java.lang.String)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 69, - "columnNumber" : 48 - }, - { - "id" : 371, - "label" : "CALL", - "name" : ".fieldAccess", - "fullName" : ".fieldAccess", - "signature" : "", - "isExternal" : true, - "code" : "this.jdbcTemplate", - "typeFullName" : "org.springframework.jdbc.core.JdbcTemplate", - "parentMethodName" : "com.example.vulnspring.WebController.loginSuccess:boolean(java.lang.String,java.lang.String)", - "parentMethodSignature" : "boolean(java.lang.String,java.lang.String)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 75, - "columnNumber" : 33 - }, - { - "id" : 157, - "label" : "IDENTIFIER", - "name" : "args", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "args", - "typeFullName" : "java.lang.String[]", - "parentMethodName" : "com.example.vulnspring.VulnSpringApplication.main:void(java.lang.String[])", - "parentMethodSignature" : "void(java.lang.String[])", - "parentFileName" : "src/main/java/com/example/vulnspring/VulnSpringApplication.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.VulnSpringApplication", - "lineNumber" : 10, - "columnNumber" : 54 - }, - { - "id" : 393, - "label" : "METHOD_PARAMETER_IN", - "name" : "session", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "HttpSession session", - "typeFullName" : "javax.servlet.http.HttpSession", - "parentMethodName" : "com.example.vulnspring.WebController.logout:java.lang.String(javax.servlet.http.HttpSession)", - "parentMethodSignature" : "java.lang.String(javax.servlet.http.HttpSession)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 86, - "columnNumber" : 23 - }, - { - "id" : 248, - "label" : "METHOD_PARAMETER_IN", - "name" : "session", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "HttpSession session", - "typeFullName" : "javax.servlet.http.HttpSession", - "parentMethodName" : "com.example.vulnspring.WebController.home:java.lang.String(org.springframework.ui.Model,javax.servlet.http.HttpSession)", - "parentMethodSignature" : "java.lang.String(org.springframework.ui.Model,javax.servlet.http.HttpSession)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 47, - "columnNumber" : 34 - }, - { - "id" : 1027, - "label" : "IDENTIFIER", - "name" : "node", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "node", - "typeFullName" : "org.w3c.dom.Node", - "parentMethodName" : "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentMethodSignature" : "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 248, - "columnNumber" : 7 - }, - { - "id" : 536, - "label" : "LITERAL", - "name" : "", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "\"file:secret.txt\"", - "typeFullName" : "java.lang.String", - "parentMethodName" : "com.example.vulnspring.WebController.checkDB:java.lang.String(java.lang.String,org.springframework.ui.Model)", - "parentMethodSignature" : "java.lang.String(java.lang.String,org.springframework.ui.Model)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 123, - "columnNumber" : 31 - }, - { - "id" : 719, - "label" : "LITERAL", - "name" : "", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "\"error\"", - "typeFullName" : "java.lang.String", - "parentMethodName" : "com.example.vulnspring.WebController.transfer:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", - "parentMethodSignature" : "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 175, - "columnNumber" : 23 - }, - { - "id" : 531, - "label" : "IDENTIFIER", - "name" : "dbpath", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "dbpath", - "typeFullName" : "java.lang.String", - "parentMethodName" : "com.example.vulnspring.WebController.checkDB:java.lang.String(java.lang.String,org.springframework.ui.Model)", - "parentMethodSignature" : "java.lang.String(java.lang.String,org.springframework.ui.Model)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 121, - "columnNumber" : 53 - }, - { - "id" : 635, - "label" : "LITERAL", - "name" : "", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "\"username\"", - "typeFullName" : "java.lang.String", - "parentMethodName" : "com.example.vulnspring.WebController.transfer:java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", - "parentMethodSignature" : "java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 144, - "columnNumber" : 41 - }, - { - "id" : 574, - "label" : "LITERAL", - "name" : "", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "\"\\\\A\"", - "typeFullName" : "java.lang.String", - "parentMethodName" : "com.example.vulnspring.WebController.checkDB:java.lang.String(java.lang.String,org.springframework.ui.Model)", - "parentMethodSignature" : "java.lang.String(java.lang.String,org.springframework.ui.Model)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 128, - "columnNumber" : 74 - }, - { - "id" : 114, - "label" : "IDENTIFIER", - "name" : "LoggerFactory", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "LoggerFactory", - "typeFullName" : "org.slf4j.LoggerFactory", - "parentMethodName" : "com.example.vulnspring.SessionFilter.:void()", - "parentMethodSignature" : "void()", - "parentFileName" : "src/main/java/com/example/vulnspring/SessionFilter.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.SessionFilter", - "lineNumber" : 21, - "columnNumber" : 39 - }, - { - "id" : 1193, - "label" : "LITERAL", - "name" : "", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "\"isValidMessage\"", - "typeFullName" : "java.lang.String", - "parentMethodName" : "com.example.vulnspring.WebController.jwt:java.lang.String(org.springframework.ui.Model,java.lang.String,javax.servlet.http.HttpSession)", - "parentMethodSignature" : "java.lang.String(org.springframework.ui.Model,java.lang.String,javax.servlet.http.HttpSession)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 293, - "columnNumber" : 23 - }, - { - "id" : 1003, - "label" : "IDENTIFIER", - "name" : "node", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "node", - "typeFullName" : "org.w3c.dom.Node", - "parentMethodName" : "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentMethodSignature" : "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 242, - "columnNumber" : 21 - }, - { - "id" : 1008, - "label" : "LITERAL", - "name" : "", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "\"#text\"", - "typeFullName" : "java.lang.String", - "parentMethodName" : "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentMethodSignature" : "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 244, - "columnNumber" : 23 - }, - { - "id" : 1266, - "label" : "IDENTIFIER", - "name" : "Base64", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "Base64", - "typeFullName" : "java.util.Base64", - "parentMethodName" : "com.example.vulnspring.WebController.addressValidation:java.lang.String(org.springframework.ui.Model,java.lang.String)", - "parentMethodSignature" : "java.lang.String(org.springframework.ui.Model,java.lang.String)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 315, - "columnNumber" : 17 - }, - { - "id" : 1032, - "label" : "CALL", - "name" : "getNodeValue", - "fullName" : "org.w3c.dom.Node.getNodeValue:java.lang.String()", - "signature" : "java.lang.String()", - "isExternal" : true, - "code" : "node.getNodeValue()", - "typeFullName" : "java.lang.String", - "parentMethodName" : "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentMethodSignature" : "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 249, - "columnNumber" : 25 - }, - { - "id" : 369, - "label" : "IDENTIFIER", - "name" : "result", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "result", - "typeFullName" : "java.util.Map", - "parentMethodName" : "com.example.vulnspring.WebController.loginSuccess:boolean(java.lang.String,java.lang.String)", - "parentMethodSignature" : "boolean(java.lang.String,java.lang.String)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 75, - "columnNumber" : 24 - }, - { - "id" : 1012, - "label" : "IDENTIFIER", - "name" : "node", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "node", - "typeFullName" : "org.w3c.dom.Node", - "parentMethodName" : "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentMethodSignature" : "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 244, - "columnNumber" : 35 - }, - { - "id" : 1305, - "label" : "IDENTIFIER", - "name" : "e", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "e", - "typeFullName" : "java.lang.ClassNotFoundException", - "parentMethodName" : "com.example.vulnspring.WebController.addressValidation:java.lang.String(org.springframework.ui.Model,java.lang.String)", - "parentMethodSignature" : "java.lang.String(org.springframework.ui.Model,java.lang.String)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 327, - "columnNumber" : 4 - }, - { - "id" : 318, - "label" : "LITERAL", - "name" : "", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "\"username\"", - "typeFullName" : "java.lang.String", - "parentMethodName" : "com.example.vulnspring.WebController.login:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.String,org.springframework.ui.Model)", - "parentMethodSignature" : "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.String,org.springframework.ui.Model)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 62, - "columnNumber" : 25 - }, - { - "id" : 997, - "label" : "METHOD_PARAMETER_IN", - "name" : "currentString", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "StringBuffer currentString", - "typeFullName" : "java.lang.StringBuffer", - "parentMethodName" : "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentMethodSignature" : "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 241, - "columnNumber" : 40 - }, - { - "id" : 152, - "label" : "IDENTIFIER", - "name" : "SpringApplication", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "SpringApplication", - "typeFullName" : "org.springframework.boot.SpringApplication", - "parentMethodName" : "com.example.vulnspring.VulnSpringApplication.main:void(java.lang.String[])", - "parentMethodSignature" : "void(java.lang.String[])", - "parentFileName" : "src/main/java/com/example/vulnspring/VulnSpringApplication.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.VulnSpringApplication", - "lineNumber" : 10, - "columnNumber" : 3 - }, - { - "id" : 171, - "label" : "IDENTIFIER", - "name" : "this", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "this", - "typeFullName" : "com.example.vulnspring.WebController", - "parentMethodName" : "com.example.vulnspring.WebController.login:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.String,org.springframework.ui.Model)", - "parentMethodSignature" : "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.String,org.springframework.ui.Model)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 60, - "columnNumber" : 7 - }, - { - "id" : 177, - "label" : "IDENTIFIER", - "name" : "this", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "this", - "typeFullName" : "com.example.vulnspring.WebController", - "parentMethodName" : "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentMethodSignature" : "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 252, - "columnNumber" : 20 - }, - { - "id" : 396, - "label" : "IDENTIFIER", - "name" : "session", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "session", - "typeFullName" : "javax.servlet.http.HttpSession", - "parentMethodName" : "com.example.vulnspring.WebController.logout:java.lang.String(javax.servlet.http.HttpSession)", - "parentMethodSignature" : "java.lang.String(javax.servlet.http.HttpSession)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 87, - "columnNumber" : 3 - }, - { - "id" : 1043, - "label" : "IDENTIFIER", - "name" : "node", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "node", - "typeFullName" : "org.w3c.dom.Node", - "parentMethodName" : "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentMethodSignature" : "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 251, - "columnNumber" : 23 - }, - { - "id" : 340, - "label" : "METHOD_PARAMETER_IN", - "name" : "username", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "String username", - "typeFullName" : "java.lang.String", - "parentMethodName" : "com.example.vulnspring.WebController.loginSuccess:boolean(java.lang.String,java.lang.String)", - "parentMethodSignature" : "boolean(java.lang.String,java.lang.String)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 69, - "columnNumber" : 31 - }, - { - "id" : 470, - "label" : "LITERAL", - "name" : "", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "\"username\"", - "typeFullName" : "java.lang.String", - "parentMethodName" : "com.example.vulnspring.WebController.update:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,org.springframework.ui.Model)", - "parentMethodSignature" : "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,org.springframework.ui.Model)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 105, - "columnNumber" : 92 - }, - { - "id" : 744, - "label" : "LITERAL", - "name" : "", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "\"username\"", - "typeFullName" : "java.lang.String", - "parentMethodName" : "com.example.vulnspring.WebController.transfer:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", - "parentMethodSignature" : "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 183, - "columnNumber" : 41 - }, - { - "id" : 1239, - "label" : "IDENTIFIER", - "name" : "Base64", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "Base64", - "typeFullName" : "java.util.Base64", - "parentMethodName" : "com.example.vulnspring.WebController.addressValidation:java.lang.String(org.springframework.ui.Model)", - "parentMethodSignature" : "java.lang.String(org.springframework.ui.Model)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 308, - "columnNumber" : 16 - }, - { - "id" : 1037, - "label" : "IDENTIFIER", - "name" : "i", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "i", - "typeFullName" : "int", - "parentMethodName" : "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentMethodSignature" : "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 251, - "columnNumber" : 12 - }, - { - "id" : 149, - "label" : "METHOD_PARAMETER_IN", - "name" : "args", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "String[] args", - "typeFullName" : "java.lang.String[]", - "parentMethodName" : "com.example.vulnspring.VulnSpringApplication.main:void(java.lang.String[])", - "parentMethodSignature" : "void(java.lang.String[])", - "parentFileName" : "src/main/java/com/example/vulnspring/VulnSpringApplication.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.VulnSpringApplication", - "lineNumber" : 9, - "columnNumber" : 26 - }, - { - "id" : 1041, - "label" : "CALL", - "name" : "getLength", - "fullName" : "org.w3c.dom.NodeList.getLength:int()", - "signature" : "int()", - "isExternal" : true, - "code" : "node.getChildNodes().getLength()", - "typeFullName" : "int", - "parentMethodName" : "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentMethodSignature" : "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 251, - "columnNumber" : 23 - }, - { - "id" : 1199, - "label" : "LITERAL", - "name" : "", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "\"isValidMessage\"", - "typeFullName" : "java.lang.String", - "parentMethodName" : "com.example.vulnspring.WebController.jwt:java.lang.String(org.springframework.ui.Model,java.lang.String,javax.servlet.http.HttpSession)", - "parentMethodSignature" : "java.lang.String(org.springframework.ui.Model,java.lang.String,javax.servlet.http.HttpSession)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 295, - "columnNumber" : 23 - }, - { - "id" : 485, - "label" : "LITERAL", - "name" : "", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "\"username\"", - "typeFullName" : "java.lang.String", - "parentMethodName" : "com.example.vulnspring.WebController.update:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,org.springframework.ui.Model)", - "parentMethodSignature" : "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,org.springframework.ui.Model)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 106, - "columnNumber" : 88 - }, - { - "id" : 319, - "label" : "IDENTIFIER", - "name" : "username", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "username", - "typeFullName" : "java.lang.String", - "parentMethodName" : "com.example.vulnspring.WebController.login:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.String,org.springframework.ui.Model)", - "parentMethodSignature" : "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.String,org.springframework.ui.Model)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 62, - "columnNumber" : 37 - }, - { - "id" : 1054, - "label" : "IDENTIFIER", - "name" : "currentString", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "currentString", - "typeFullName" : "java.lang.StringBuffer", - "parentMethodName" : "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentMethodSignature" : "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 252, - "columnNumber" : 64 - }, - { - "id" : 1051, - "label" : "CALL", - "name" : "getChildNodes", - "fullName" : "org.w3c.dom.Node.getChildNodes:org.w3c.dom.NodeList()", - "signature" : "org.w3c.dom.NodeList()", - "isExternal" : true, - "code" : "node.getChildNodes()", - "typeFullName" : "org.w3c.dom.NodeList", - "parentMethodName" : "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentMethodSignature" : "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 252, - "columnNumber" : 34 - }, - { - "id" : 1007, - "label" : "IDENTIFIER", - "name" : "nodeName", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "nodeName", - "typeFullName" : "java.lang.String", - "parentMethodName" : "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentMethodSignature" : "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 244, - "columnNumber" : 7 - }, - { - "id" : 282, - "label" : "METHOD_PARAMETER_IN", - "name" : "username", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "@RequestParam(name = \"username\", required = true) String username", - "typeFullName" : "java.lang.String", - "parentMethodName" : "com.example.vulnspring.WebController.login:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.String,org.springframework.ui.Model)", - "parentMethodSignature" : "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.String,org.springframework.ui.Model)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 58, - "columnNumber" : 43 - }, - { - "id" : 317, - "label" : "IDENTIFIER", - "name" : "session", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "session", - "typeFullName" : "javax.servlet.http.HttpSession", - "parentMethodName" : "com.example.vulnspring.WebController.login:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.String,org.springframework.ui.Model)", - "parentMethodSignature" : "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.String,org.springframework.ui.Model)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 62, - "columnNumber" : 4 - }, - { - "id" : 720, - "label" : "LITERAL", - "name" : "", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "\"Invalid To Account\"", - "typeFullName" : "java.lang.String", - "parentMethodName" : "com.example.vulnspring.WebController.transfer:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", - "parentMethodSignature" : "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 175, - "columnNumber" : 32 - }, - { - "id" : 1174, - "label" : "IDENTIFIER", - "name" : "jwtString", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "jwtString", - "typeFullName" : "java.lang.String", - "parentMethodName" : "com.example.vulnspring.WebController.jwt:java.lang.String(org.springframework.ui.Model,java.lang.String,javax.servlet.http.HttpSession)", - "parentMethodSignature" : "java.lang.String(org.springframework.ui.Model,java.lang.String,javax.servlet.http.HttpSession)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 288, - "columnNumber" : 38 - }, - { - "id" : 1192, - "label" : "IDENTIFIER", - "name" : "model", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "model", - "typeFullName" : "org.springframework.ui.Model", - "parentMethodName" : "com.example.vulnspring.WebController.jwt:java.lang.String(org.springframework.ui.Model,java.lang.String,javax.servlet.http.HttpSession)", - "parentMethodSignature" : "java.lang.String(org.springframework.ui.Model,java.lang.String,javax.servlet.http.HttpSession)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 293, - "columnNumber" : 4 - }, - { - "id" : 1188, - "label" : "IDENTIFIER", - "name" : "session", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "session", - "typeFullName" : "javax.servlet.http.HttpSession", - "parentMethodName" : "com.example.vulnspring.WebController.jwt:java.lang.String(org.springframework.ui.Model,java.lang.String,javax.servlet.http.HttpSession)", - "parentMethodSignature" : "java.lang.String(org.springframework.ui.Model,java.lang.String,javax.servlet.http.HttpSession)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 292, - "columnNumber" : 49 - }, - { - "id" : 781, - "label" : "LITERAL", - "name" : "", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "\"error\"", - "typeFullName" : "java.lang.String", - "parentMethodName" : "com.example.vulnspring.WebController.transfer:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", - "parentMethodSignature" : "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 191, - "columnNumber" : 23 - }, - { - "id" : 996, - "label" : "METHOD_PARAMETER_IN", - "name" : "node", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "Node node", - "typeFullName" : "org.w3c.dom.Node", - "parentMethodName" : "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentMethodSignature" : "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 241, - "columnNumber" : 29 - }, - { - "id" : 1200, - "label" : "LITERAL", - "name" : "", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "\"Invalid Token!\"", - "typeFullName" : "java.lang.String", - "parentMethodName" : "com.example.vulnspring.WebController.jwt:java.lang.String(org.springframework.ui.Model,java.lang.String,javax.servlet.http.HttpSession)", - "parentMethodSignature" : "java.lang.String(org.springframework.ui.Model,java.lang.String,javax.servlet.http.HttpSession)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 295, - "columnNumber" : 41 - }, - { - "id" : 683, - "label" : "LITERAL", - "name" : "", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "\"Negative amount value!\"", - "typeFullName" : "java.lang.String", - "parentMethodName" : "com.example.vulnspring.WebController.transfer:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", - "parentMethodSignature" : "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 163, - "columnNumber" : 32 - }, - { - "id" : 1331, - "label" : "IDENTIFIER", - "name" : "LoggerFactory", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "LoggerFactory", - "typeFullName" : "org.slf4j.LoggerFactory", - "parentMethodName" : "com.example.vulnspring.WebController.:void()", - "parentMethodSignature" : "void()", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 44, - "columnNumber" : 39 - }, - { - "id" : 1165, - "label" : "METHOD_PARAMETER_IN", - "name" : "jwtString", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "@RequestParam String jwtString", - "typeFullName" : "java.lang.String", - "parentMethodName" : "com.example.vulnspring.WebController.jwt:java.lang.String(org.springframework.ui.Model,java.lang.String,javax.servlet.http.HttpSession)", - "parentMethodSignature" : "java.lang.String(org.springframework.ui.Model,java.lang.String,javax.servlet.http.HttpSession)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 287, - "columnNumber" : 33 - }, - { - "id" : 1040, - "label" : "IDENTIFIER", - "name" : "i", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "i", - "typeFullName" : "int", - "parentMethodName" : "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentMethodSignature" : "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 251, - "columnNumber" : 19 - }, - { - "id" : 1332, - "label" : "CALL", - "name" : ".fieldAccess", - "fullName" : ".fieldAccess", - "signature" : "", - "isExternal" : true, - "code" : "WebController.class", - "typeFullName" : "java.lang.Class", - "parentMethodName" : "com.example.vulnspring.WebController.:void()", - "parentMethodSignature" : "void()", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 44, - "columnNumber" : 63 - }, - { - "id" : 670, - "label" : "METHOD_PARAMETER_IN", - "name" : "model", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "Model model", - "typeFullName" : "org.springframework.ui.Model", - "parentMethodName" : "com.example.vulnspring.WebController.transfer:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", - "parentMethodSignature" : "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 155, - "columnNumber" : 49 - }, - { - "id" : 1102, - "label" : "LITERAL", - "name" : "", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "\"Support Desk is under construction. Send an email to support@example.com.\"", - "typeFullName" : "java.lang.String", - "parentMethodName" : "com.example.vulnspring.WebController.support:java.lang.String(org.springframework.ui.Model)", - "parentMethodSignature" : "java.lang.String(org.springframework.ui.Model)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 270, - "columnNumber" : 5 - }, - { - "id" : 1018, - "label" : "IDENTIFIER", - "name" : "currentString", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "currentString", - "typeFullName" : "java.lang.StringBuffer", - "parentMethodName" : "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentMethodSignature" : "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 247, - "columnNumber" : 3 - }, - { - "id" : 408, - "label" : "METHOD_PARAMETER_IN", - "name" : "session", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "HttpSession session", - "typeFullName" : "javax.servlet.http.HttpSession", - "parentMethodName" : "com.example.vulnspring.WebController.update:java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", - "parentMethodSignature" : "java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 92, - "columnNumber" : 23 - }, - { - "id" : 1198, - "label" : "IDENTIFIER", - "name" : "model", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "model", - "typeFullName" : "org.springframework.ui.Model", - "parentMethodName" : "com.example.vulnspring.WebController.jwt:java.lang.String(org.springframework.ui.Model,java.lang.String,javax.servlet.http.HttpSession)", - "parentMethodSignature" : "java.lang.String(org.springframework.ui.Model,java.lang.String,javax.servlet.http.HttpSession)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 295, - "columnNumber" : 4 - }, - { - "id" : 153, - "label" : "CALL", - "name" : ".fieldAccess", - "fullName" : ".fieldAccess", - "signature" : "", - "isExternal" : true, - "code" : "VulnSpringApplication.class", - "typeFullName" : "java.lang.Class", - "parentMethodName" : "com.example.vulnspring.VulnSpringApplication.main:void(java.lang.String[])", - "parentMethodSignature" : "void(java.lang.String[])", - "parentFileName" : "src/main/java/com/example/vulnspring/VulnSpringApplication.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.VulnSpringApplication", - "lineNumber" : 10, - "columnNumber" : 25 - }, - { - "id" : 427, - "label" : "LITERAL", - "name" : "", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "\"username\"", - "typeFullName" : "java.lang.String", - "parentMethodName" : "com.example.vulnspring.WebController.update:java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", - "parentMethodSignature" : "java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 95, - "columnNumber" : 41 - }, - { - "id" : 1173, - "label" : "IDENTIFIER", - "name" : "JWT", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "JWT", - "typeFullName" : "com.auth0.jwt.JWT", - "parentMethodName" : "com.example.vulnspring.WebController.jwt:java.lang.String(org.springframework.ui.Model,java.lang.String,javax.servlet.http.HttpSession)", - "parentMethodSignature" : "java.lang.String(org.springframework.ui.Model,java.lang.String,javax.servlet.http.HttpSession)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 288, - "columnNumber" : 27 - }, - { - "id" : 1298, - "label" : "IDENTIFIER", - "name" : "e", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "e", - "typeFullName" : "java.io.IOException", - "parentMethodName" : "com.example.vulnspring.WebController.addressValidation:java.lang.String(org.springframework.ui.Model,java.lang.String)", - "parentMethodSignature" : "java.lang.String(org.springframework.ui.Model,java.lang.String)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 324, - "columnNumber" : 4 - }, - { - "id" : 358, - "label" : "CALL", - "name" : ".addition", - "fullName" : ".addition", - "signature" : "", - "isExternal" : true, - "code" : "\"SELECT * FROM users WHERE USERNAME=\\\"\" + username + \"\\\" AND PASSWORD=\\\"\" + password + \"\\\"\"", - "typeFullName" : "java.lang.String", - "parentMethodName" : "com.example.vulnspring.WebController.loginSuccess:boolean(java.lang.String,java.lang.String)", - "parentMethodSignature" : "boolean(java.lang.String,java.lang.String)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 74, - "columnNumber" : 19 - }, - { - "id" : 303, - "label" : "IDENTIFIER", - "name" : "password", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "password", - "typeFullName" : "java.lang.String", - "parentMethodName" : "com.example.vulnspring.WebController.login:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.String,org.springframework.ui.Model)", - "parentMethodSignature" : "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.String,org.springframework.ui.Model)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 60, - "columnNumber" : 30 - }, - { - "id" : 370, - "label" : "CALL", - "name" : "queryForMap", - "fullName" : "org.springframework.jdbc.core.JdbcTemplate.queryForMap:java.util.Map(java.lang.String)", - "signature" : "java.util.Map(java.lang.String)", - "isExternal" : true, - "code" : "jdbcTemplate.queryForMap(query)", - "typeFullName" : "java.util.Map", - "parentMethodName" : "com.example.vulnspring.WebController.loginSuccess:boolean(java.lang.String,java.lang.String)", - "parentMethodSignature" : "boolean(java.lang.String,java.lang.String)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 75, - "columnNumber" : 33 - }, - { - "id" : 178, - "label" : "METHOD_PARAMETER_IN", - "name" : "this", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "this", - "typeFullName" : "com.example.vulnspring.WebController", - "parentMethodName" : "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentMethodSignature" : "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 241, - "columnNumber" : null - }, - { - "id" : 339, - "label" : "METHOD_PARAMETER_IN", - "name" : "this", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "this", - "typeFullName" : "com.example.vulnspring.WebController", - "parentMethodName" : "com.example.vulnspring.WebController.loginSuccess:boolean(java.lang.String,java.lang.String)", - "parentMethodSignature" : "boolean(java.lang.String,java.lang.String)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 69, - "columnNumber" : null - }, - { - "id" : 290, - "label" : "METHOD_PARAMETER_IN", - "name" : "password", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "@RequestParam(name = \"password\", required = true) String password", - "typeFullName" : "java.lang.String", - "parentMethodName" : "com.example.vulnspring.WebController.login:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.String,org.springframework.ui.Model)", - "parentMethodSignature" : "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.String,org.springframework.ui.Model)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 59, - "columnNumber" : 4 - }, - { - "id" : 1189, - "label" : "LITERAL", - "name" : "", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "\"username\"", - "typeFullName" : "java.lang.String", - "parentMethodName" : "com.example.vulnspring.WebController.jwt:java.lang.String(org.springframework.ui.Model,java.lang.String,javax.servlet.http.HttpSession)", - "parentMethodSignature" : "java.lang.String(org.springframework.ui.Model,java.lang.String,javax.servlet.http.HttpSession)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 292, - "columnNumber" : 70 - }, - { - "id" : 1019, - "label" : "CALL", - "name" : ".addition", - "fullName" : ".addition", - "signature" : "", - "isExternal" : true, - "code" : "\"<\" + nodeName + \">\"", - "typeFullName" : "java.lang.String", - "parentMethodName" : "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentMethodSignature" : "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 247, - "columnNumber" : 24 - }, - { - "id" : 347, - "label" : "LITERAL", - "name" : "", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "null", - "typeFullName" : "null", - "parentMethodName" : "com.example.vulnspring.WebController.loginSuccess:boolean(java.lang.String,java.lang.String)", - "parentMethodSignature" : "boolean(java.lang.String,java.lang.String)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 70, - "columnNumber" : 19 - }, - { - "id" : 469, - "label" : "IDENTIFIER", - "name" : "session", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "session", - "typeFullName" : "javax.servlet.http.HttpSession", - "parentMethodName" : "com.example.vulnspring.WebController.update:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,org.springframework.ui.Model)", - "parentMethodSignature" : "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,org.springframework.ui.Model)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 105, - "columnNumber" : 71 - }, - { - "id" : 426, - "label" : "IDENTIFIER", - "name" : "session", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "session", - "typeFullName" : "javax.servlet.http.HttpSession", - "parentMethodName" : "com.example.vulnspring.WebController.update:java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", - "parentMethodSignature" : "java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 95, - "columnNumber" : 20 - }, - { - "id" : 743, - "label" : "IDENTIFIER", - "name" : "session", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "session", - "typeFullName" : "javax.servlet.http.HttpSession", - "parentMethodName" : "com.example.vulnspring.WebController.transfer:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", - "parentMethodSignature" : "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 183, - "columnNumber" : 20 - }, - { - "id" : 350, - "label" : "LITERAL", - "name" : "", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "null", - "typeFullName" : "null", - "parentMethodName" : "com.example.vulnspring.WebController.loginSuccess:boolean(java.lang.String,java.lang.String)", - "parentMethodSignature" : "boolean(java.lang.String,java.lang.String)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 70, - "columnNumber" : 39 - }, - { - "id" : 1101, - "label" : "LITERAL", - "name" : "", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "\"supportmessage\"", - "typeFullName" : "java.lang.String", - "parentMethodName" : "com.example.vulnspring.WebController.support:java.lang.String(org.springframework.ui.Model)", - "parentMethodSignature" : "java.lang.String(org.springframework.ui.Model)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 269, - "columnNumber" : 22 - }, - { - "id" : 782, - "label" : "LITERAL", - "name" : "", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "\"not enough balance\"", - "typeFullName" : "java.lang.String", - "parentMethodName" : "com.example.vulnspring.WebController.transfer:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", - "parentMethodSignature" : "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 191, - "columnNumber" : 32 - }, - { - "id" : 172, - "label" : "METHOD_PARAMETER_IN", - "name" : "this", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "this", - "typeFullName" : "com.example.vulnspring.WebController", - "parentMethodName" : "com.example.vulnspring.WebController.login:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.String,org.springframework.ui.Model)", - "parentMethodSignature" : "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.String,org.springframework.ui.Model)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 57, - "columnNumber" : null - }, - { - "id" : 1049, - "label" : "CALL", - "name" : "getNodeString", - "fullName" : "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "signature" : "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "isExternal" : false, - "code" : "this.getNodeString(node.getChildNodes().item(i), currentString)", - "typeFullName" : "java.lang.StringBuffer", - "parentMethodName" : "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentMethodSignature" : "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 252, - "columnNumber" : 20 - }, - { - "id" : 616, - "label" : "METHOD_PARAMETER_IN", - "name" : "session", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "HttpSession session", - "typeFullName" : "javax.servlet.http.HttpSession", - "parentMethodName" : "com.example.vulnspring.WebController.transfer:java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", - "parentMethodSignature" : "java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 141, - "columnNumber" : 25 - }, - { - "id" : 1167, - "label" : "METHOD_PARAMETER_IN", - "name" : "session", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "HttpSession session", - "typeFullName" : "javax.servlet.http.HttpSession", - "parentMethodName" : "com.example.vulnspring.WebController.jwt:java.lang.String(org.springframework.ui.Model,java.lang.String,javax.servlet.http.HttpSession)", - "parentMethodSignature" : "java.lang.String(org.springframework.ui.Model,java.lang.String,javax.servlet.http.HttpSession)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 287, - "columnNumber" : 65 - }, - { - "id" : 1057, - "label" : "CALL", - "name" : ".addition", - "fullName" : ".addition", - "signature" : "", - "isExternal" : true, - "code" : "\"\"", - "typeFullName" : "java.lang.String", - "parentMethodName" : "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentMethodSignature" : "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 254, - "columnNumber" : 24 - }, - { - "id" : 1001, - "label" : "IDENTIFIER", - "name" : "nodeName", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "nodeName", - "typeFullName" : "java.lang.String", - "parentMethodName" : "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentMethodSignature" : "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 242, - "columnNumber" : 10 - }, - { - "id" : 682, - "label" : "LITERAL", - "name" : "", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "\"error\"", - "typeFullName" : "java.lang.String", - "parentMethodName" : "com.example.vulnspring.WebController.transfer:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", - "parentMethodSignature" : "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 163, - "columnNumber" : 23 - }, - { - "id" : 933, - "label" : "IDENTIFIER", - "name" : "DocumentBuilderFactory", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "DocumentBuilderFactory", - "typeFullName" : "javax.xml.parsers.DocumentBuilderFactory", - "parentMethodName" : "com.example.vulnspring.WebController.issue:java.lang.String(org.springframework.ui.Model,java.lang.String)", - "parentMethodSignature" : "java.lang.String(org.springframework.ui.Model,java.lang.String)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 230, - "columnNumber" : 38 - }, - { - "id" : 1194, - "label" : "LITERAL", - "name" : "", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "\"Token is valid for your username!\"", - "typeFullName" : "java.lang.String", - "parentMethodName" : "com.example.vulnspring.WebController.jwt:java.lang.String(org.springframework.ui.Model,java.lang.String,javax.servlet.http.HttpSession)", - "parentMethodSignature" : "java.lang.String(org.springframework.ui.Model,java.lang.String,javax.servlet.http.HttpSession)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 293, - "columnNumber" : 41 - }, - { - "id" : 255, - "label" : "LITERAL", - "name" : "", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "\"username\"", - "typeFullName" : "java.lang.String", - "parentMethodName" : "com.example.vulnspring.WebController.home:java.lang.String(org.springframework.ui.Model,javax.servlet.http.HttpSession)", - "parentMethodSignature" : "java.lang.String(org.springframework.ui.Model,javax.servlet.http.HttpSession)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 48, - "columnNumber" : 55 - }, - { - "id" : 302, - "label" : "IDENTIFIER", - "name" : "username", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "username", - "typeFullName" : "java.lang.String", - "parentMethodName" : "com.example.vulnspring.WebController.login:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.String,org.springframework.ui.Model)", - "parentMethodSignature" : "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.String,org.springframework.ui.Model)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 60, - "columnNumber" : 20 - }, - { - "id" : 1129, - "label" : "IDENTIFIER", - "name" : "Algorithm", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "Algorithm", - "typeFullName" : "com.auth0.jwt.algorithms.Algorithm", - "parentMethodName" : "com.example.vulnspring.WebController.jwt:java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", - "parentMethodSignature" : "java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 279, - "columnNumber" : 29 - }, - { - "id" : 156, - "label" : "CALL", - "name" : ".arrayInitializer", - "fullName" : ".arrayInitializer", - "signature" : "", - "isExternal" : true, - "code" : ".arrayInitializer", - "typeFullName" : "java.lang.String[]", - "parentMethodName" : "com.example.vulnspring.VulnSpringApplication.main:void(java.lang.String[])", - "parentMethodSignature" : "void(java.lang.String[])", - "parentFileName" : "src/main/java/com/example/vulnspring/VulnSpringApplication.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.VulnSpringApplication", - "lineNumber" : 10, - "columnNumber" : 3 - }, - { - "id" : 1013, - "label" : "LITERAL", - "name" : "", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "\"\"", - "typeFullName" : "java.lang.String", - "parentMethodName" : "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentMethodSignature" : "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 244, - "columnNumber" : 69 - }, - { - "id" : 1056, - "label" : "IDENTIFIER", - "name" : "currentString", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "currentString", - "typeFullName" : "java.lang.StringBuffer", - "parentMethodName" : "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentMethodSignature" : "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 254, - "columnNumber" : 3 - }, - { - "id" : 519, - "label" : "METHOD_PARAMETER_IN", - "name" : "dbpath", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "@RequestParam(name = \"dbpath\") String dbpath", - "typeFullName" : "java.lang.String", - "parentMethodName" : "com.example.vulnspring.WebController.checkDB:java.lang.String(java.lang.String,org.springframework.ui.Model)", - "parentMethodSignature" : "java.lang.String(java.lang.String,org.springframework.ui.Model)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 119, - "columnNumber" : 24 - }, - { - "id" : 281, - "label" : "METHOD_PARAMETER_IN", - "name" : "session", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "HttpSession session", - "typeFullName" : "javax.servlet.http.HttpSession", - "parentMethodName" : "com.example.vulnspring.WebController.login:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.String,org.springframework.ui.Model)", - "parentMethodSignature" : "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.String,org.springframework.ui.Model)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 58, - "columnNumber" : 22 - }, - { - "id" : 1048, - "label" : "IDENTIFIER", - "name" : "currentString", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "currentString", - "typeFullName" : "java.lang.StringBuffer", - "parentMethodName" : "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentMethodSignature" : "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 252, - "columnNumber" : 4 - }, - { - "id" : 1123, - "label" : "IDENTIFIER", - "name" : "session", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "session", - "typeFullName" : "javax.servlet.http.HttpSession", - "parentMethodName" : "com.example.vulnspring.WebController.jwt:java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", - "parentMethodSignature" : "java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 276, - "columnNumber" : 30 - }, - { - "id" : 349, - "label" : "IDENTIFIER", - "name" : "password", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "password", - "typeFullName" : "java.lang.String", - "parentMethodName" : "com.example.vulnspring.WebController.loginSuccess:boolean(java.lang.String,java.lang.String)", - "parentMethodSignature" : "boolean(java.lang.String,java.lang.String)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 70, - "columnNumber" : 27 - }, - { - "id" : 1038, - "label" : "LITERAL", - "name" : "", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "0", - "typeFullName" : "int", - "parentMethodName" : "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentMethodSignature" : "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 251, - "columnNumber" : 16 - }, - { - "id" : 1053, - "label" : "IDENTIFIER", - "name" : "i", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "i", - "typeFullName" : "int", - "parentMethodName" : "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentMethodSignature" : "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 252, - "columnNumber" : 60 - }, - { - "id" : 530, - "label" : "IDENTIFIER", - "name" : "FilenameUtils", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "FilenameUtils", - "typeFullName" : "org.apache.commons.io.FilenameUtils", - "parentMethodName" : "com.example.vulnspring.WebController.checkDB:java.lang.String(java.lang.String,org.springframework.ui.Model)", - "parentMethodSignature" : "java.lang.String(java.lang.String,org.springframework.ui.Model)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 121, - "columnNumber" : 27 - }, - { - "id" : 1010, - "label" : "CALL", - "name" : "trim", - "fullName" : "java.lang.String.trim:java.lang.String()", - "signature" : "java.lang.String()", - "isExternal" : true, - "code" : "node.getNodeValue().trim()", - "typeFullName" : "java.lang.String", - "parentMethodName" : "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentMethodSignature" : "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 244, - "columnNumber" : 35 - }, - { - "id" : 346, - "label" : "IDENTIFIER", - "name" : "username", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "username", - "typeFullName" : "java.lang.String", - "parentMethodName" : "com.example.vulnspring.WebController.loginSuccess:boolean(java.lang.String,java.lang.String)", - "parentMethodSignature" : "boolean(java.lang.String,java.lang.String)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 70, - "columnNumber" : 7 - }, - { - "id" : 115, - "label" : "CALL", - "name" : ".fieldAccess", - "fullName" : ".fieldAccess", - "signature" : "", - "isExternal" : true, - "code" : "SessionFilter.class", - "typeFullName" : "java.lang.Class", - "parentMethodName" : "com.example.vulnspring.SessionFilter.:void()", - "parentMethodSignature" : "void()", - "parentFileName" : "src/main/java/com/example/vulnspring/SessionFilter.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.SessionFilter", - "lineNumber" : 21, - "columnNumber" : 63 - }, - { - "id" : 1052, - "label" : "IDENTIFIER", - "name" : "node", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "node", - "typeFullName" : "org.w3c.dom.Node", - "parentMethodName" : "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentMethodSignature" : "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 252, - "columnNumber" : 34 - }, - { - "id" : 1050, - "label" : "CALL", - "name" : "item", - "fullName" : "org.w3c.dom.NodeList.item:org.w3c.dom.Node(int)", - "signature" : "org.w3c.dom.Node(int)", - "isExternal" : true, - "code" : "node.getChildNodes().item(i)", - "typeFullName" : "org.w3c.dom.Node", - "parentMethodName" : "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentMethodSignature" : "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 252, - "columnNumber" : 34 - }, - { - "id" : 634, - "label" : "IDENTIFIER", - "name" : "session", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "session", - "typeFullName" : "javax.servlet.http.HttpSession", - "parentMethodName" : "com.example.vulnspring.WebController.transfer:java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", - "parentMethodSignature" : "java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 144, - "columnNumber" : 20 - }, - { - "id" : 357, - "label" : "IDENTIFIER", - "name" : "query", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "query", - "typeFullName" : "java.lang.String", - "parentMethodName" : "com.example.vulnspring.WebController.loginSuccess:boolean(java.lang.String,java.lang.String)", - "parentMethodSignature" : "boolean(java.lang.String,java.lang.String)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 74, - "columnNumber" : 11 - }, - { - "id" : 254, - "label" : "IDENTIFIER", - "name" : "session", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "session", - "typeFullName" : "javax.servlet.http.HttpSession", - "parentMethodName" : "com.example.vulnspring.WebController.home:java.lang.String(org.springframework.ui.Model,javax.servlet.http.HttpSession)", - "parentMethodSignature" : "java.lang.String(org.springframework.ui.Model,javax.servlet.http.HttpSession)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 48, - "columnNumber" : 34 - }, - { - "id" : 535, - "label" : "IDENTIFIER", - "name" : "dbpath", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "dbpath", - "typeFullName" : "java.lang.String", - "parentMethodName" : "com.example.vulnspring.WebController.checkDB:java.lang.String(java.lang.String,org.springframework.ui.Model)", - "parentMethodSignature" : "java.lang.String(java.lang.String,org.springframework.ui.Model)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 123, - "columnNumber" : 7 - }, - { - "id" : 1033, - "label" : "IDENTIFIER", - "name" : "node", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "node", - "typeFullName" : "org.w3c.dom.Node", - "parentMethodName" : "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentMethodSignature" : "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 249, - "columnNumber" : 25 - }, - { - "id" : 1031, - "label" : "IDENTIFIER", - "name" : "currentString", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "currentString", - "typeFullName" : "java.lang.StringBuffer", - "parentMethodName" : "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentMethodSignature" : "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 249, - "columnNumber" : 4 - }, - { - "id" : 900, - "label" : "LITERAL", - "name" : "", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "\"Balance Transfer Failed!\"", - "typeFullName" : "java.lang.String", - "parentMethodName" : "com.example.vulnspring.WebController.transfer:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", - "parentMethodSignature" : "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 214, - "columnNumber" : 32 - }, - { - "id" : 377, - "label" : "IDENTIFIER", - "name" : "result", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "result", - "typeFullName" : "java.util.Map", - "parentMethodName" : "com.example.vulnspring.WebController.loginSuccess:boolean(java.lang.String,java.lang.String)", - "parentMethodSignature" : "boolean(java.lang.String,java.lang.String)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 76, - "columnNumber" : 8 - }, - { - "id" : 1097, - "label" : "METHOD_PARAMETER_IN", - "name" : "model", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "Model model", - "typeFullName" : "org.springframework.ui.Model", - "parentMethodName" : "com.example.vulnspring.WebController.support:java.lang.String(org.springframework.ui.Model)", - "parentMethodSignature" : "java.lang.String(org.springframework.ui.Model)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 268, - "columnNumber" : 24 - }, - { - "id" : 501, - "label" : "IDENTIFIER", - "name" : "model", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "model", - "typeFullName" : "org.springframework.ui.Model", - "parentMethodName" : "com.example.vulnspring.WebController.update:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,org.springframework.ui.Model)", - "parentMethodSignature" : "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,org.springframework.ui.Model)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 110, - "columnNumber" : 4 - }, - { - "id" : 503, - "label" : "LITERAL", - "name" : "", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "\"Update Failed!\"", - "typeFullName" : "java.lang.String", - "parentMethodName" : "com.example.vulnspring.WebController.update:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,org.springframework.ui.Model)", - "parentMethodSignature" : "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,org.springframework.ui.Model)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 110, - "columnNumber" : 32 - }, - { - "id" : 718, - "label" : "IDENTIFIER", - "name" : "model", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "model", - "typeFullName" : "org.springframework.ui.Model", - "parentMethodName" : "com.example.vulnspring.WebController.transfer:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", - "parentMethodSignature" : "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 175, - "columnNumber" : 4 - }, - { - "id" : 484, - "label" : "IDENTIFIER", - "name" : "session", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "session", - "typeFullName" : "javax.servlet.http.HttpSession", - "parentMethodName" : "com.example.vulnspring.WebController.update:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,org.springframework.ui.Model)", - "parentMethodSignature" : "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,org.springframework.ui.Model)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 106, - "columnNumber" : 67 - }, - { - "id" : 451, - "label" : "METHOD_PARAMETER_IN", - "name" : "model", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "Model model", - "typeFullName" : "org.springframework.ui.Model", - "parentMethodName" : "com.example.vulnspring.WebController.update:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,org.springframework.ui.Model)", - "parentMethodSignature" : "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,org.springframework.ui.Model)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 103, - "columnNumber" : 92 - }, - { - "id" : 1042, - "label" : "CALL", - "name" : "getChildNodes", - "fullName" : "org.w3c.dom.Node.getChildNodes:org.w3c.dom.NodeList()", - "signature" : "org.w3c.dom.NodeList()", - "isExternal" : true, - "code" : "node.getChildNodes()", - "typeFullName" : "org.w3c.dom.NodeList", - "parentMethodName" : "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentMethodSignature" : "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 251, - "columnNumber" : 23 - }, - { - "id" : 378, - "label" : "LITERAL", - "name" : "", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "\"username\"", - "typeFullName" : "java.lang.String", - "parentMethodName" : "com.example.vulnspring.WebController.loginSuccess:boolean(java.lang.String,java.lang.String)", - "parentMethodSignature" : "boolean(java.lang.String,java.lang.String)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 76, - "columnNumber" : 27 - }, - { - "id" : 899, - "label" : "LITERAL", - "name" : "", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "\"error\"", - "typeFullName" : "java.lang.String", - "parentMethodName" : "com.example.vulnspring.WebController.transfer:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", - "parentMethodSignature" : "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 214, - "columnNumber" : 23 - }, - { - "id" : 502, - "label" : "LITERAL", - "name" : "", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "\"error\"", - "typeFullName" : "java.lang.String", - "parentMethodName" : "com.example.vulnspring.WebController.update:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,org.springframework.ui.Model)", - "parentMethodSignature" : "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,org.springframework.ui.Model)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 110, - "columnNumber" : 23 - }, - { - "id" : 780, - "label" : "IDENTIFIER", - "name" : "model", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "model", - "typeFullName" : "org.springframework.ui.Model", - "parentMethodName" : "com.example.vulnspring.WebController.transfer:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", - "parentMethodSignature" : "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 191, - "columnNumber" : 4 - }, - { - "id" : 445, - "label" : "METHOD_PARAMETER_IN", - "name" : "session", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "HttpSession session", - "typeFullName" : "javax.servlet.http.HttpSession", - "parentMethodName" : "com.example.vulnspring.WebController.update:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,org.springframework.ui.Model)", - "parentMethodSignature" : "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,org.springframework.ui.Model)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 103, - "columnNumber" : 23 - }, - { - "id" : 1164, - "label" : "METHOD_PARAMETER_IN", - "name" : "model", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "Model model", - "typeFullName" : "org.springframework.ui.Model", - "parentMethodName" : "com.example.vulnspring.WebController.jwt:java.lang.String(org.springframework.ui.Model,java.lang.String,javax.servlet.http.HttpSession)", - "parentMethodSignature" : "java.lang.String(org.springframework.ui.Model,java.lang.String,javax.servlet.http.HttpSession)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 287, - "columnNumber" : 20 - }, - { - "id" : 898, - "label" : "IDENTIFIER", - "name" : "model", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "model", - "typeFullName" : "org.springframework.ui.Model", - "parentMethodName" : "com.example.vulnspring.WebController.transfer:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", - "parentMethodSignature" : "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 214, - "columnNumber" : 4 - }, - { - "id" : 374, - "label" : "IDENTIFIER", - "name" : "query", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "query", - "typeFullName" : "java.lang.String", - "parentMethodName" : "com.example.vulnspring.WebController.loginSuccess:boolean(java.lang.String,java.lang.String)", - "parentMethodSignature" : "boolean(java.lang.String,java.lang.String)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 75, - "columnNumber" : 58 - }, - { - "id" : 1002, - "label" : "CALL", - "name" : "getNodeName", - "fullName" : "org.w3c.dom.Node.getNodeName:java.lang.String()", - "signature" : "java.lang.String()", - "isExternal" : true, - "code" : "node.getNodeName()", - "typeFullName" : "java.lang.String", - "parentMethodName" : "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentMethodSignature" : "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 242, - "columnNumber" : 21 - }, - { - "id" : 1100, - "label" : "IDENTIFIER", - "name" : "model", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "model", - "typeFullName" : "org.springframework.ui.Model", - "parentMethodName" : "com.example.vulnspring.WebController.support:java.lang.String(org.springframework.ui.Model)", - "parentMethodSignature" : "java.lang.String(org.springframework.ui.Model)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 269, - "columnNumber" : 3 - }, - { - "id" : 659, - "label" : "METHOD_PARAMETER_IN", - "name" : "session", - "fullName" : "", - "signature" : "", - "isExternal" : false, - "code" : "HttpSession session", - "typeFullName" : "javax.servlet.http.HttpSession", - "parentMethodName" : "com.example.vulnspring.WebController.transfer:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", - "parentMethodSignature" : "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", - "parentFileName" : "src/main/java/com/example/vulnspring/WebController.java", - "parentPackageName" : "com.example.vulnspring", - "parentClassName" : "com.example.vulnspring.WebController", - "lineNumber" : 154, - "columnNumber" : 25 + "graph": { + "nodes": [ + { + "id": 1045, + "label": "IDENTIFIER", + "name": "i", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "i", + "typeFullName": "int", + "parentMethodName": "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentMethodSignature": "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 251, + "columnNumber": 57 + }, + { + "id": 1114, + "label": "METHOD_PARAMETER_IN", + "name": "session", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "HttpSession session", + "typeFullName": "javax.servlet.http.HttpSession", + "parentMethodName": "com.example.vulnspring.WebController.jwt:java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", + "parentMethodSignature": "java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 275, + "columnNumber": 20 + }, + { + "id": 1124, + "label": "LITERAL", + "name": "", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "\"username\"", + "typeFullName": "java.lang.String", + "parentMethodName": "com.example.vulnspring.WebController.jwt:java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", + "parentMethodSignature": "java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 276, + "columnNumber": 51 + }, + { + "id": 1011, + "label": "CALL", + "name": "getNodeValue", + "fullName": "org.w3c.dom.Node.getNodeValue:java.lang.String()", + "signature": "java.lang.String()", + "isExternal": true, + "code": "node.getNodeValue()", + "typeFullName": "java.lang.String", + "parentMethodName": "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentMethodSignature": "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 244, + "columnNumber": 35 + }, + { + "id": 1137, + "label": "IDENTIFIER", + "name": "JWT", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "JWT", + "typeFullName": "com.auth0.jwt.JWT", + "parentMethodName": "com.example.vulnspring.WebController.jwt:java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", + "parentMethodSignature": "java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 280, + "columnNumber": 18 + }, + { + "id": 681, + "label": "IDENTIFIER", + "name": "model", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "model", + "typeFullName": "org.springframework.ui.Model", + "parentMethodName": "com.example.vulnspring.WebController.transfer:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", + "parentMethodSignature": "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 163, + "columnNumber": 4 + }, + { + "id": 341, + "label": "METHOD_PARAMETER_IN", + "name": "password", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "String password", + "typeFullName": "java.lang.String", + "parentMethodName": "com.example.vulnspring.WebController.loginSuccess:boolean(java.lang.String,java.lang.String)", + "parentMethodSignature": "boolean(java.lang.String,java.lang.String)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 69, + "columnNumber": 48 + }, + { + "id": 371, + "label": "CALL", + "name": ".fieldAccess", + "fullName": ".fieldAccess", + "signature": "", + "isExternal": true, + "code": "this.jdbcTemplate", + "typeFullName": "org.springframework.jdbc.core.JdbcTemplate", + "parentMethodName": "com.example.vulnspring.WebController.loginSuccess:boolean(java.lang.String,java.lang.String)", + "parentMethodSignature": "boolean(java.lang.String,java.lang.String)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 75, + "columnNumber": 33 + }, + { + "id": 157, + "label": "IDENTIFIER", + "name": "args", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "args", + "typeFullName": "java.lang.String[]", + "parentMethodName": "com.example.vulnspring.VulnSpringApplication.main:void(java.lang.String[])", + "parentMethodSignature": "void(java.lang.String[])", + "parentFileName": "src/main/java/com/example/vulnspring/VulnSpringApplication.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.VulnSpringApplication", + "lineNumber": 10, + "columnNumber": 54 + }, + { + "id": 393, + "label": "METHOD_PARAMETER_IN", + "name": "session", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "HttpSession session", + "typeFullName": "javax.servlet.http.HttpSession", + "parentMethodName": "com.example.vulnspring.WebController.logout:java.lang.String(javax.servlet.http.HttpSession)", + "parentMethodSignature": "java.lang.String(javax.servlet.http.HttpSession)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 86, + "columnNumber": 23 + }, + { + "id": 248, + "label": "METHOD_PARAMETER_IN", + "name": "session", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "HttpSession session", + "typeFullName": "javax.servlet.http.HttpSession", + "parentMethodName": "com.example.vulnspring.WebController.home:java.lang.String(org.springframework.ui.Model,javax.servlet.http.HttpSession)", + "parentMethodSignature": "java.lang.String(org.springframework.ui.Model,javax.servlet.http.HttpSession)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 47, + "columnNumber": 34 + }, + { + "id": 1027, + "label": "IDENTIFIER", + "name": "node", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "node", + "typeFullName": "org.w3c.dom.Node", + "parentMethodName": "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentMethodSignature": "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 248, + "columnNumber": 7 + }, + { + "id": 536, + "label": "LITERAL", + "name": "", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "\"file:secret.txt\"", + "typeFullName": "java.lang.String", + "parentMethodName": "com.example.vulnspring.WebController.checkDB:java.lang.String(java.lang.String,org.springframework.ui.Model)", + "parentMethodSignature": "java.lang.String(java.lang.String,org.springframework.ui.Model)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 123, + "columnNumber": 31 + }, + { + "id": 719, + "label": "LITERAL", + "name": "", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "\"error\"", + "typeFullName": "java.lang.String", + "parentMethodName": "com.example.vulnspring.WebController.transfer:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", + "parentMethodSignature": "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 175, + "columnNumber": 23 + }, + { + "id": 531, + "label": "IDENTIFIER", + "name": "dbpath", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "dbpath", + "typeFullName": "java.lang.String", + "parentMethodName": "com.example.vulnspring.WebController.checkDB:java.lang.String(java.lang.String,org.springframework.ui.Model)", + "parentMethodSignature": "java.lang.String(java.lang.String,org.springframework.ui.Model)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 121, + "columnNumber": 53 + }, + { + "id": 635, + "label": "LITERAL", + "name": "", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "\"username\"", + "typeFullName": "java.lang.String", + "parentMethodName": "com.example.vulnspring.WebController.transfer:java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", + "parentMethodSignature": "java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 144, + "columnNumber": 41 + }, + { + "id": 574, + "label": "LITERAL", + "name": "", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "\"\\\\A\"", + "typeFullName": "java.lang.String", + "parentMethodName": "com.example.vulnspring.WebController.checkDB:java.lang.String(java.lang.String,org.springframework.ui.Model)", + "parentMethodSignature": "java.lang.String(java.lang.String,org.springframework.ui.Model)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 128, + "columnNumber": 74 + }, + { + "id": 114, + "label": "IDENTIFIER", + "name": "LoggerFactory", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "LoggerFactory", + "typeFullName": "org.slf4j.LoggerFactory", + "parentMethodName": "com.example.vulnspring.SessionFilter.:void()", + "parentMethodSignature": "void()", + "parentFileName": "src/main/java/com/example/vulnspring/SessionFilter.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.SessionFilter", + "lineNumber": 21, + "columnNumber": 39 + }, + { + "id": 1193, + "label": "LITERAL", + "name": "", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "\"isValidMessage\"", + "typeFullName": "java.lang.String", + "parentMethodName": "com.example.vulnspring.WebController.jwt:java.lang.String(org.springframework.ui.Model,java.lang.String,javax.servlet.http.HttpSession)", + "parentMethodSignature": "java.lang.String(org.springframework.ui.Model,java.lang.String,javax.servlet.http.HttpSession)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 293, + "columnNumber": 23 + }, + { + "id": 1003, + "label": "IDENTIFIER", + "name": "node", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "node", + "typeFullName": "org.w3c.dom.Node", + "parentMethodName": "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentMethodSignature": "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 242, + "columnNumber": 21 + }, + { + "id": 1008, + "label": "LITERAL", + "name": "", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "\"#text\"", + "typeFullName": "java.lang.String", + "parentMethodName": "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentMethodSignature": "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 244, + "columnNumber": 23 + }, + { + "id": 1266, + "label": "IDENTIFIER", + "name": "Base64", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "Base64", + "typeFullName": "java.util.Base64", + "parentMethodName": "com.example.vulnspring.WebController.addressValidation:java.lang.String(org.springframework.ui.Model,java.lang.String)", + "parentMethodSignature": "java.lang.String(org.springframework.ui.Model,java.lang.String)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 315, + "columnNumber": 17 + }, + { + "id": 1032, + "label": "CALL", + "name": "getNodeValue", + "fullName": "org.w3c.dom.Node.getNodeValue:java.lang.String()", + "signature": "java.lang.String()", + "isExternal": true, + "code": "node.getNodeValue()", + "typeFullName": "java.lang.String", + "parentMethodName": "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentMethodSignature": "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 249, + "columnNumber": 25 + }, + { + "id": 369, + "label": "IDENTIFIER", + "name": "result", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "result", + "typeFullName": "java.util.Map", + "parentMethodName": "com.example.vulnspring.WebController.loginSuccess:boolean(java.lang.String,java.lang.String)", + "parentMethodSignature": "boolean(java.lang.String,java.lang.String)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 75, + "columnNumber": 24 + }, + { + "id": 1012, + "label": "IDENTIFIER", + "name": "node", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "node", + "typeFullName": "org.w3c.dom.Node", + "parentMethodName": "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentMethodSignature": "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 244, + "columnNumber": 35 + }, + { + "id": 1305, + "label": "IDENTIFIER", + "name": "e", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "e", + "typeFullName": "java.lang.ClassNotFoundException", + "parentMethodName": "com.example.vulnspring.WebController.addressValidation:java.lang.String(org.springframework.ui.Model,java.lang.String)", + "parentMethodSignature": "java.lang.String(org.springframework.ui.Model,java.lang.String)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 327, + "columnNumber": 4 + }, + { + "id": 318, + "label": "LITERAL", + "name": "", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "\"username\"", + "typeFullName": "java.lang.String", + "parentMethodName": "com.example.vulnspring.WebController.login:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.String,org.springframework.ui.Model)", + "parentMethodSignature": "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.String,org.springframework.ui.Model)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 62, + "columnNumber": 25 + }, + { + "id": 997, + "label": "METHOD_PARAMETER_IN", + "name": "currentString", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "StringBuffer currentString", + "typeFullName": "java.lang.StringBuffer", + "parentMethodName": "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentMethodSignature": "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 241, + "columnNumber": 40 + }, + { + "id": 152, + "label": "IDENTIFIER", + "name": "SpringApplication", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "SpringApplication", + "typeFullName": "org.springframework.boot.SpringApplication", + "parentMethodName": "com.example.vulnspring.VulnSpringApplication.main:void(java.lang.String[])", + "parentMethodSignature": "void(java.lang.String[])", + "parentFileName": "src/main/java/com/example/vulnspring/VulnSpringApplication.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.VulnSpringApplication", + "lineNumber": 10, + "columnNumber": 3 + }, + { + "id": 171, + "label": "IDENTIFIER", + "name": "this", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "this", + "typeFullName": "com.example.vulnspring.WebController", + "parentMethodName": "com.example.vulnspring.WebController.login:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.String,org.springframework.ui.Model)", + "parentMethodSignature": "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.String,org.springframework.ui.Model)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 60, + "columnNumber": 7 + }, + { + "id": 177, + "label": "IDENTIFIER", + "name": "this", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "this", + "typeFullName": "com.example.vulnspring.WebController", + "parentMethodName": "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentMethodSignature": "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 252, + "columnNumber": 20 + }, + { + "id": 396, + "label": "IDENTIFIER", + "name": "session", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "session", + "typeFullName": "javax.servlet.http.HttpSession", + "parentMethodName": "com.example.vulnspring.WebController.logout:java.lang.String(javax.servlet.http.HttpSession)", + "parentMethodSignature": "java.lang.String(javax.servlet.http.HttpSession)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 87, + "columnNumber": 3 + }, + { + "id": 1043, + "label": "IDENTIFIER", + "name": "node", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "node", + "typeFullName": "org.w3c.dom.Node", + "parentMethodName": "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentMethodSignature": "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 251, + "columnNumber": 23 + }, + { + "id": 340, + "label": "METHOD_PARAMETER_IN", + "name": "username", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "String username", + "typeFullName": "java.lang.String", + "parentMethodName": "com.example.vulnspring.WebController.loginSuccess:boolean(java.lang.String,java.lang.String)", + "parentMethodSignature": "boolean(java.lang.String,java.lang.String)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 69, + "columnNumber": 31 + }, + { + "id": 470, + "label": "LITERAL", + "name": "", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "\"username\"", + "typeFullName": "java.lang.String", + "parentMethodName": "com.example.vulnspring.WebController.update:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,org.springframework.ui.Model)", + "parentMethodSignature": "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,org.springframework.ui.Model)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 105, + "columnNumber": 92 + }, + { + "id": 744, + "label": "LITERAL", + "name": "", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "\"username\"", + "typeFullName": "java.lang.String", + "parentMethodName": "com.example.vulnspring.WebController.transfer:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", + "parentMethodSignature": "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 183, + "columnNumber": 41 + }, + { + "id": 1239, + "label": "IDENTIFIER", + "name": "Base64", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "Base64", + "typeFullName": "java.util.Base64", + "parentMethodName": "com.example.vulnspring.WebController.addressValidation:java.lang.String(org.springframework.ui.Model)", + "parentMethodSignature": "java.lang.String(org.springframework.ui.Model)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 308, + "columnNumber": 16 + }, + { + "id": 1037, + "label": "IDENTIFIER", + "name": "i", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "i", + "typeFullName": "int", + "parentMethodName": "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentMethodSignature": "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 251, + "columnNumber": 12 + }, + { + "id": 149, + "label": "METHOD_PARAMETER_IN", + "name": "args", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "String[] args", + "typeFullName": "java.lang.String[]", + "parentMethodName": "com.example.vulnspring.VulnSpringApplication.main:void(java.lang.String[])", + "parentMethodSignature": "void(java.lang.String[])", + "parentFileName": "src/main/java/com/example/vulnspring/VulnSpringApplication.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.VulnSpringApplication", + "lineNumber": 9, + "columnNumber": 26 + }, + { + "id": 1041, + "label": "CALL", + "name": "getLength", + "fullName": "org.w3c.dom.NodeList.getLength:int()", + "signature": "int()", + "isExternal": true, + "code": "node.getChildNodes().getLength()", + "typeFullName": "int", + "parentMethodName": "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentMethodSignature": "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 251, + "columnNumber": 23 + }, + { + "id": 1199, + "label": "LITERAL", + "name": "", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "\"isValidMessage\"", + "typeFullName": "java.lang.String", + "parentMethodName": "com.example.vulnspring.WebController.jwt:java.lang.String(org.springframework.ui.Model,java.lang.String,javax.servlet.http.HttpSession)", + "parentMethodSignature": "java.lang.String(org.springframework.ui.Model,java.lang.String,javax.servlet.http.HttpSession)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 295, + "columnNumber": 23 + }, + { + "id": 485, + "label": "LITERAL", + "name": "", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "\"username\"", + "typeFullName": "java.lang.String", + "parentMethodName": "com.example.vulnspring.WebController.update:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,org.springframework.ui.Model)", + "parentMethodSignature": "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,org.springframework.ui.Model)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 106, + "columnNumber": 88 + }, + { + "id": 319, + "label": "IDENTIFIER", + "name": "username", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "username", + "typeFullName": "java.lang.String", + "parentMethodName": "com.example.vulnspring.WebController.login:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.String,org.springframework.ui.Model)", + "parentMethodSignature": "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.String,org.springframework.ui.Model)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 62, + "columnNumber": 37 + }, + { + "id": 1054, + "label": "IDENTIFIER", + "name": "currentString", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "currentString", + "typeFullName": "java.lang.StringBuffer", + "parentMethodName": "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentMethodSignature": "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 252, + "columnNumber": 64 + }, + { + "id": 1051, + "label": "CALL", + "name": "getChildNodes", + "fullName": "org.w3c.dom.Node.getChildNodes:org.w3c.dom.NodeList()", + "signature": "org.w3c.dom.NodeList()", + "isExternal": true, + "code": "node.getChildNodes()", + "typeFullName": "org.w3c.dom.NodeList", + "parentMethodName": "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentMethodSignature": "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 252, + "columnNumber": 34 + }, + { + "id": 1007, + "label": "IDENTIFIER", + "name": "nodeName", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "nodeName", + "typeFullName": "java.lang.String", + "parentMethodName": "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentMethodSignature": "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 244, + "columnNumber": 7 + }, + { + "id": 282, + "label": "METHOD_PARAMETER_IN", + "name": "username", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "@RequestParam(name = \"username\", required = true) String username", + "typeFullName": "java.lang.String", + "parentMethodName": "com.example.vulnspring.WebController.login:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.String,org.springframework.ui.Model)", + "parentMethodSignature": "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.String,org.springframework.ui.Model)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 58, + "columnNumber": 43 + }, + { + "id": 317, + "label": "IDENTIFIER", + "name": "session", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "session", + "typeFullName": "javax.servlet.http.HttpSession", + "parentMethodName": "com.example.vulnspring.WebController.login:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.String,org.springframework.ui.Model)", + "parentMethodSignature": "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.String,org.springframework.ui.Model)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 62, + "columnNumber": 4 + }, + { + "id": 720, + "label": "LITERAL", + "name": "", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "\"Invalid To Account\"", + "typeFullName": "java.lang.String", + "parentMethodName": "com.example.vulnspring.WebController.transfer:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", + "parentMethodSignature": "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 175, + "columnNumber": 32 + }, + { + "id": 1174, + "label": "IDENTIFIER", + "name": "jwtString", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "jwtString", + "typeFullName": "java.lang.String", + "parentMethodName": "com.example.vulnspring.WebController.jwt:java.lang.String(org.springframework.ui.Model,java.lang.String,javax.servlet.http.HttpSession)", + "parentMethodSignature": "java.lang.String(org.springframework.ui.Model,java.lang.String,javax.servlet.http.HttpSession)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 288, + "columnNumber": 38 + }, + { + "id": 1192, + "label": "IDENTIFIER", + "name": "model", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "model", + "typeFullName": "org.springframework.ui.Model", + "parentMethodName": "com.example.vulnspring.WebController.jwt:java.lang.String(org.springframework.ui.Model,java.lang.String,javax.servlet.http.HttpSession)", + "parentMethodSignature": "java.lang.String(org.springframework.ui.Model,java.lang.String,javax.servlet.http.HttpSession)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 293, + "columnNumber": 4 + }, + { + "id": 1188, + "label": "IDENTIFIER", + "name": "session", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "session", + "typeFullName": "javax.servlet.http.HttpSession", + "parentMethodName": "com.example.vulnspring.WebController.jwt:java.lang.String(org.springframework.ui.Model,java.lang.String,javax.servlet.http.HttpSession)", + "parentMethodSignature": "java.lang.String(org.springframework.ui.Model,java.lang.String,javax.servlet.http.HttpSession)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 292, + "columnNumber": 49 + }, + { + "id": 781, + "label": "LITERAL", + "name": "", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "\"error\"", + "typeFullName": "java.lang.String", + "parentMethodName": "com.example.vulnspring.WebController.transfer:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", + "parentMethodSignature": "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 191, + "columnNumber": 23 + }, + { + "id": 996, + "label": "METHOD_PARAMETER_IN", + "name": "node", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "Node node", + "typeFullName": "org.w3c.dom.Node", + "parentMethodName": "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentMethodSignature": "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 241, + "columnNumber": 29 + }, + { + "id": 1200, + "label": "LITERAL", + "name": "", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "\"Invalid Token!\"", + "typeFullName": "java.lang.String", + "parentMethodName": "com.example.vulnspring.WebController.jwt:java.lang.String(org.springframework.ui.Model,java.lang.String,javax.servlet.http.HttpSession)", + "parentMethodSignature": "java.lang.String(org.springframework.ui.Model,java.lang.String,javax.servlet.http.HttpSession)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 295, + "columnNumber": 41 + }, + { + "id": 683, + "label": "LITERAL", + "name": "", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "\"Negative amount value!\"", + "typeFullName": "java.lang.String", + "parentMethodName": "com.example.vulnspring.WebController.transfer:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", + "parentMethodSignature": "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 163, + "columnNumber": 32 + }, + { + "id": 1331, + "label": "IDENTIFIER", + "name": "LoggerFactory", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "LoggerFactory", + "typeFullName": "org.slf4j.LoggerFactory", + "parentMethodName": "com.example.vulnspring.WebController.:void()", + "parentMethodSignature": "void()", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 44, + "columnNumber": 39 + }, + { + "id": 1165, + "label": "METHOD_PARAMETER_IN", + "name": "jwtString", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "@RequestParam String jwtString", + "typeFullName": "java.lang.String", + "parentMethodName": "com.example.vulnspring.WebController.jwt:java.lang.String(org.springframework.ui.Model,java.lang.String,javax.servlet.http.HttpSession)", + "parentMethodSignature": "java.lang.String(org.springframework.ui.Model,java.lang.String,javax.servlet.http.HttpSession)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 287, + "columnNumber": 33 + }, + { + "id": 1040, + "label": "IDENTIFIER", + "name": "i", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "i", + "typeFullName": "int", + "parentMethodName": "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentMethodSignature": "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 251, + "columnNumber": 19 + }, + { + "id": 1332, + "label": "CALL", + "name": ".fieldAccess", + "fullName": ".fieldAccess", + "signature": "", + "isExternal": true, + "code": "WebController.class", + "typeFullName": "java.lang.Class", + "parentMethodName": "com.example.vulnspring.WebController.:void()", + "parentMethodSignature": "void()", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 44, + "columnNumber": 63 + }, + { + "id": 670, + "label": "METHOD_PARAMETER_IN", + "name": "model", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "Model model", + "typeFullName": "org.springframework.ui.Model", + "parentMethodName": "com.example.vulnspring.WebController.transfer:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", + "parentMethodSignature": "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 155, + "columnNumber": 49 + }, + { + "id": 1102, + "label": "LITERAL", + "name": "", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "\"Support Desk is under construction. Send an email to support@example.com.\"", + "typeFullName": "java.lang.String", + "parentMethodName": "com.example.vulnspring.WebController.support:java.lang.String(org.springframework.ui.Model)", + "parentMethodSignature": "java.lang.String(org.springframework.ui.Model)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 270, + "columnNumber": 5 + }, + { + "id": 1018, + "label": "IDENTIFIER", + "name": "currentString", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "currentString", + "typeFullName": "java.lang.StringBuffer", + "parentMethodName": "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentMethodSignature": "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 247, + "columnNumber": 3 + }, + { + "id": 408, + "label": "METHOD_PARAMETER_IN", + "name": "session", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "HttpSession session", + "typeFullName": "javax.servlet.http.HttpSession", + "parentMethodName": "com.example.vulnspring.WebController.update:java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", + "parentMethodSignature": "java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 92, + "columnNumber": 23 + }, + { + "id": 1198, + "label": "IDENTIFIER", + "name": "model", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "model", + "typeFullName": "org.springframework.ui.Model", + "parentMethodName": "com.example.vulnspring.WebController.jwt:java.lang.String(org.springframework.ui.Model,java.lang.String,javax.servlet.http.HttpSession)", + "parentMethodSignature": "java.lang.String(org.springframework.ui.Model,java.lang.String,javax.servlet.http.HttpSession)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 295, + "columnNumber": 4 + }, + { + "id": 153, + "label": "CALL", + "name": ".fieldAccess", + "fullName": ".fieldAccess", + "signature": "", + "isExternal": true, + "code": "VulnSpringApplication.class", + "typeFullName": "java.lang.Class", + "parentMethodName": "com.example.vulnspring.VulnSpringApplication.main:void(java.lang.String[])", + "parentMethodSignature": "void(java.lang.String[])", + "parentFileName": "src/main/java/com/example/vulnspring/VulnSpringApplication.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.VulnSpringApplication", + "lineNumber": 10, + "columnNumber": 25 + }, + { + "id": 427, + "label": "LITERAL", + "name": "", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "\"username\"", + "typeFullName": "java.lang.String", + "parentMethodName": "com.example.vulnspring.WebController.update:java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", + "parentMethodSignature": "java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 95, + "columnNumber": 41 + }, + { + "id": 1173, + "label": "IDENTIFIER", + "name": "JWT", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "JWT", + "typeFullName": "com.auth0.jwt.JWT", + "parentMethodName": "com.example.vulnspring.WebController.jwt:java.lang.String(org.springframework.ui.Model,java.lang.String,javax.servlet.http.HttpSession)", + "parentMethodSignature": "java.lang.String(org.springframework.ui.Model,java.lang.String,javax.servlet.http.HttpSession)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 288, + "columnNumber": 27 + }, + { + "id": 1298, + "label": "IDENTIFIER", + "name": "e", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "e", + "typeFullName": "java.io.IOException", + "parentMethodName": "com.example.vulnspring.WebController.addressValidation:java.lang.String(org.springframework.ui.Model,java.lang.String)", + "parentMethodSignature": "java.lang.String(org.springframework.ui.Model,java.lang.String)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 324, + "columnNumber": 4 + }, + { + "id": 358, + "label": "CALL", + "name": ".addition", + "fullName": ".addition", + "signature": "", + "isExternal": true, + "code": "\"SELECT * FROM users WHERE USERNAME=\\\"\" + username + \"\\\" AND PASSWORD=\\\"\" + password + \"\\\"\"", + "typeFullName": "java.lang.String", + "parentMethodName": "com.example.vulnspring.WebController.loginSuccess:boolean(java.lang.String,java.lang.String)", + "parentMethodSignature": "boolean(java.lang.String,java.lang.String)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 74, + "columnNumber": 19 + }, + { + "id": 303, + "label": "IDENTIFIER", + "name": "password", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "password", + "typeFullName": "java.lang.String", + "parentMethodName": "com.example.vulnspring.WebController.login:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.String,org.springframework.ui.Model)", + "parentMethodSignature": "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.String,org.springframework.ui.Model)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 60, + "columnNumber": 30 + }, + { + "id": 370, + "label": "CALL", + "name": "queryForMap", + "fullName": "org.springframework.jdbc.core.JdbcTemplate.queryForMap:java.util.Map(java.lang.String)", + "signature": "java.util.Map(java.lang.String)", + "isExternal": true, + "code": "jdbcTemplate.queryForMap(query)", + "typeFullName": "java.util.Map", + "parentMethodName": "com.example.vulnspring.WebController.loginSuccess:boolean(java.lang.String,java.lang.String)", + "parentMethodSignature": "boolean(java.lang.String,java.lang.String)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 75, + "columnNumber": 33 + }, + { + "id": 178, + "label": "METHOD_PARAMETER_IN", + "name": "this", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "this", + "typeFullName": "com.example.vulnspring.WebController", + "parentMethodName": "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentMethodSignature": "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 241, + "columnNumber": null + }, + { + "id": 339, + "label": "METHOD_PARAMETER_IN", + "name": "this", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "this", + "typeFullName": "com.example.vulnspring.WebController", + "parentMethodName": "com.example.vulnspring.WebController.loginSuccess:boolean(java.lang.String,java.lang.String)", + "parentMethodSignature": "boolean(java.lang.String,java.lang.String)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 69, + "columnNumber": null + }, + { + "id": 290, + "label": "METHOD_PARAMETER_IN", + "name": "password", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "@RequestParam(name = \"password\", required = true) String password", + "typeFullName": "java.lang.String", + "parentMethodName": "com.example.vulnspring.WebController.login:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.String,org.springframework.ui.Model)", + "parentMethodSignature": "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.String,org.springframework.ui.Model)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 59, + "columnNumber": 4 + }, + { + "id": 1189, + "label": "LITERAL", + "name": "", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "\"username\"", + "typeFullName": "java.lang.String", + "parentMethodName": "com.example.vulnspring.WebController.jwt:java.lang.String(org.springframework.ui.Model,java.lang.String,javax.servlet.http.HttpSession)", + "parentMethodSignature": "java.lang.String(org.springframework.ui.Model,java.lang.String,javax.servlet.http.HttpSession)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 292, + "columnNumber": 70 + }, + { + "id": 1019, + "label": "CALL", + "name": ".addition", + "fullName": ".addition", + "signature": "", + "isExternal": true, + "code": "\"<\" + nodeName + \">\"", + "typeFullName": "java.lang.String", + "parentMethodName": "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentMethodSignature": "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 247, + "columnNumber": 24 + }, + { + "id": 347, + "label": "LITERAL", + "name": "", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "null", + "typeFullName": "null", + "parentMethodName": "com.example.vulnspring.WebController.loginSuccess:boolean(java.lang.String,java.lang.String)", + "parentMethodSignature": "boolean(java.lang.String,java.lang.String)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 70, + "columnNumber": 19 + }, + { + "id": 469, + "label": "IDENTIFIER", + "name": "session", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "session", + "typeFullName": "javax.servlet.http.HttpSession", + "parentMethodName": "com.example.vulnspring.WebController.update:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,org.springframework.ui.Model)", + "parentMethodSignature": "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,org.springframework.ui.Model)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 105, + "columnNumber": 71 + }, + { + "id": 426, + "label": "IDENTIFIER", + "name": "session", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "session", + "typeFullName": "javax.servlet.http.HttpSession", + "parentMethodName": "com.example.vulnspring.WebController.update:java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", + "parentMethodSignature": "java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 95, + "columnNumber": 20 + }, + { + "id": 743, + "label": "IDENTIFIER", + "name": "session", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "session", + "typeFullName": "javax.servlet.http.HttpSession", + "parentMethodName": "com.example.vulnspring.WebController.transfer:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", + "parentMethodSignature": "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 183, + "columnNumber": 20 + }, + { + "id": 350, + "label": "LITERAL", + "name": "", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "null", + "typeFullName": "null", + "parentMethodName": "com.example.vulnspring.WebController.loginSuccess:boolean(java.lang.String,java.lang.String)", + "parentMethodSignature": "boolean(java.lang.String,java.lang.String)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 70, + "columnNumber": 39 + }, + { + "id": 1101, + "label": "LITERAL", + "name": "", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "\"supportmessage\"", + "typeFullName": "java.lang.String", + "parentMethodName": "com.example.vulnspring.WebController.support:java.lang.String(org.springframework.ui.Model)", + "parentMethodSignature": "java.lang.String(org.springframework.ui.Model)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 269, + "columnNumber": 22 + }, + { + "id": 782, + "label": "LITERAL", + "name": "", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "\"not enough balance\"", + "typeFullName": "java.lang.String", + "parentMethodName": "com.example.vulnspring.WebController.transfer:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", + "parentMethodSignature": "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 191, + "columnNumber": 32 + }, + { + "id": 172, + "label": "METHOD_PARAMETER_IN", + "name": "this", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "this", + "typeFullName": "com.example.vulnspring.WebController", + "parentMethodName": "com.example.vulnspring.WebController.login:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.String,org.springframework.ui.Model)", + "parentMethodSignature": "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.String,org.springframework.ui.Model)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 57, + "columnNumber": null + }, + { + "id": 1049, + "label": "CALL", + "name": "getNodeString", + "fullName": "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "signature": "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "isExternal": false, + "code": "this.getNodeString(node.getChildNodes().item(i), currentString)", + "typeFullName": "java.lang.StringBuffer", + "parentMethodName": "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentMethodSignature": "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 252, + "columnNumber": 20 + }, + { + "id": 616, + "label": "METHOD_PARAMETER_IN", + "name": "session", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "HttpSession session", + "typeFullName": "javax.servlet.http.HttpSession", + "parentMethodName": "com.example.vulnspring.WebController.transfer:java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", + "parentMethodSignature": "java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 141, + "columnNumber": 25 + }, + { + "id": 1167, + "label": "METHOD_PARAMETER_IN", + "name": "session", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "HttpSession session", + "typeFullName": "javax.servlet.http.HttpSession", + "parentMethodName": "com.example.vulnspring.WebController.jwt:java.lang.String(org.springframework.ui.Model,java.lang.String,javax.servlet.http.HttpSession)", + "parentMethodSignature": "java.lang.String(org.springframework.ui.Model,java.lang.String,javax.servlet.http.HttpSession)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 287, + "columnNumber": 65 + }, + { + "id": 1057, + "label": "CALL", + "name": ".addition", + "fullName": ".addition", + "signature": "", + "isExternal": true, + "code": "\"\"", + "typeFullName": "java.lang.String", + "parentMethodName": "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentMethodSignature": "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 254, + "columnNumber": 24 + }, + { + "id": 1001, + "label": "IDENTIFIER", + "name": "nodeName", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "nodeName", + "typeFullName": "java.lang.String", + "parentMethodName": "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentMethodSignature": "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 242, + "columnNumber": 10 + }, + { + "id": 682, + "label": "LITERAL", + "name": "", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "\"error\"", + "typeFullName": "java.lang.String", + "parentMethodName": "com.example.vulnspring.WebController.transfer:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", + "parentMethodSignature": "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 163, + "columnNumber": 23 + }, + { + "id": 933, + "label": "IDENTIFIER", + "name": "DocumentBuilderFactory", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "DocumentBuilderFactory", + "typeFullName": "javax.xml.parsers.DocumentBuilderFactory", + "parentMethodName": "com.example.vulnspring.WebController.issue:java.lang.String(org.springframework.ui.Model,java.lang.String)", + "parentMethodSignature": "java.lang.String(org.springframework.ui.Model,java.lang.String)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 230, + "columnNumber": 38 + }, + { + "id": 1194, + "label": "LITERAL", + "name": "", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "\"Token is valid for your username!\"", + "typeFullName": "java.lang.String", + "parentMethodName": "com.example.vulnspring.WebController.jwt:java.lang.String(org.springframework.ui.Model,java.lang.String,javax.servlet.http.HttpSession)", + "parentMethodSignature": "java.lang.String(org.springframework.ui.Model,java.lang.String,javax.servlet.http.HttpSession)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 293, + "columnNumber": 41 + }, + { + "id": 255, + "label": "LITERAL", + "name": "", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "\"username\"", + "typeFullName": "java.lang.String", + "parentMethodName": "com.example.vulnspring.WebController.home:java.lang.String(org.springframework.ui.Model,javax.servlet.http.HttpSession)", + "parentMethodSignature": "java.lang.String(org.springframework.ui.Model,javax.servlet.http.HttpSession)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 48, + "columnNumber": 55 + }, + { + "id": 302, + "label": "IDENTIFIER", + "name": "username", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "username", + "typeFullName": "java.lang.String", + "parentMethodName": "com.example.vulnspring.WebController.login:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.String,org.springframework.ui.Model)", + "parentMethodSignature": "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.String,org.springframework.ui.Model)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 60, + "columnNumber": 20 + }, + { + "id": 1129, + "label": "IDENTIFIER", + "name": "Algorithm", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "Algorithm", + "typeFullName": "com.auth0.jwt.algorithms.Algorithm", + "parentMethodName": "com.example.vulnspring.WebController.jwt:java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", + "parentMethodSignature": "java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 279, + "columnNumber": 29 + }, + { + "id": 156, + "label": "CALL", + "name": ".arrayInitializer", + "fullName": ".arrayInitializer", + "signature": "", + "isExternal": true, + "code": ".arrayInitializer", + "typeFullName": "java.lang.String[]", + "parentMethodName": "com.example.vulnspring.VulnSpringApplication.main:void(java.lang.String[])", + "parentMethodSignature": "void(java.lang.String[])", + "parentFileName": "src/main/java/com/example/vulnspring/VulnSpringApplication.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.VulnSpringApplication", + "lineNumber": 10, + "columnNumber": 3 + }, + { + "id": 1013, + "label": "LITERAL", + "name": "", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "\"\"", + "typeFullName": "java.lang.String", + "parentMethodName": "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentMethodSignature": "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 244, + "columnNumber": 69 + }, + { + "id": 1056, + "label": "IDENTIFIER", + "name": "currentString", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "currentString", + "typeFullName": "java.lang.StringBuffer", + "parentMethodName": "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentMethodSignature": "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 254, + "columnNumber": 3 + }, + { + "id": 519, + "label": "METHOD_PARAMETER_IN", + "name": "dbpath", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "@RequestParam(name = \"dbpath\") String dbpath", + "typeFullName": "java.lang.String", + "parentMethodName": "com.example.vulnspring.WebController.checkDB:java.lang.String(java.lang.String,org.springframework.ui.Model)", + "parentMethodSignature": "java.lang.String(java.lang.String,org.springframework.ui.Model)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 119, + "columnNumber": 24 + }, + { + "id": 281, + "label": "METHOD_PARAMETER_IN", + "name": "session", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "HttpSession session", + "typeFullName": "javax.servlet.http.HttpSession", + "parentMethodName": "com.example.vulnspring.WebController.login:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.String,org.springframework.ui.Model)", + "parentMethodSignature": "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.String,org.springframework.ui.Model)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 58, + "columnNumber": 22 + }, + { + "id": 1048, + "label": "IDENTIFIER", + "name": "currentString", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "currentString", + "typeFullName": "java.lang.StringBuffer", + "parentMethodName": "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentMethodSignature": "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 252, + "columnNumber": 4 + }, + { + "id": 1123, + "label": "IDENTIFIER", + "name": "session", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "session", + "typeFullName": "javax.servlet.http.HttpSession", + "parentMethodName": "com.example.vulnspring.WebController.jwt:java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", + "parentMethodSignature": "java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 276, + "columnNumber": 30 + }, + { + "id": 349, + "label": "IDENTIFIER", + "name": "password", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "password", + "typeFullName": "java.lang.String", + "parentMethodName": "com.example.vulnspring.WebController.loginSuccess:boolean(java.lang.String,java.lang.String)", + "parentMethodSignature": "boolean(java.lang.String,java.lang.String)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 70, + "columnNumber": 27 + }, + { + "id": 1038, + "label": "LITERAL", + "name": "", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "0", + "typeFullName": "int", + "parentMethodName": "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentMethodSignature": "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 251, + "columnNumber": 16 + }, + { + "id": 1053, + "label": "IDENTIFIER", + "name": "i", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "i", + "typeFullName": "int", + "parentMethodName": "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentMethodSignature": "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 252, + "columnNumber": 60 + }, + { + "id": 530, + "label": "IDENTIFIER", + "name": "FilenameUtils", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "FilenameUtils", + "typeFullName": "org.apache.commons.io.FilenameUtils", + "parentMethodName": "com.example.vulnspring.WebController.checkDB:java.lang.String(java.lang.String,org.springframework.ui.Model)", + "parentMethodSignature": "java.lang.String(java.lang.String,org.springframework.ui.Model)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 121, + "columnNumber": 27 + }, + { + "id": 1010, + "label": "CALL", + "name": "trim", + "fullName": "java.lang.String.trim:java.lang.String()", + "signature": "java.lang.String()", + "isExternal": true, + "code": "node.getNodeValue().trim()", + "typeFullName": "java.lang.String", + "parentMethodName": "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentMethodSignature": "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 244, + "columnNumber": 35 + }, + { + "id": 346, + "label": "IDENTIFIER", + "name": "username", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "username", + "typeFullName": "java.lang.String", + "parentMethodName": "com.example.vulnspring.WebController.loginSuccess:boolean(java.lang.String,java.lang.String)", + "parentMethodSignature": "boolean(java.lang.String,java.lang.String)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 70, + "columnNumber": 7 + }, + { + "id": 115, + "label": "CALL", + "name": ".fieldAccess", + "fullName": ".fieldAccess", + "signature": "", + "isExternal": true, + "code": "SessionFilter.class", + "typeFullName": "java.lang.Class", + "parentMethodName": "com.example.vulnspring.SessionFilter.:void()", + "parentMethodSignature": "void()", + "parentFileName": "src/main/java/com/example/vulnspring/SessionFilter.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.SessionFilter", + "lineNumber": 21, + "columnNumber": 63 + }, + { + "id": 1052, + "label": "IDENTIFIER", + "name": "node", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "node", + "typeFullName": "org.w3c.dom.Node", + "parentMethodName": "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentMethodSignature": "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 252, + "columnNumber": 34 + }, + { + "id": 1050, + "label": "CALL", + "name": "item", + "fullName": "org.w3c.dom.NodeList.item:org.w3c.dom.Node(int)", + "signature": "org.w3c.dom.Node(int)", + "isExternal": true, + "code": "node.getChildNodes().item(i)", + "typeFullName": "org.w3c.dom.Node", + "parentMethodName": "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentMethodSignature": "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 252, + "columnNumber": 34 + }, + { + "id": 634, + "label": "IDENTIFIER", + "name": "session", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "session", + "typeFullName": "javax.servlet.http.HttpSession", + "parentMethodName": "com.example.vulnspring.WebController.transfer:java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", + "parentMethodSignature": "java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 144, + "columnNumber": 20 + }, + { + "id": 357, + "label": "IDENTIFIER", + "name": "query", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "query", + "typeFullName": "java.lang.String", + "parentMethodName": "com.example.vulnspring.WebController.loginSuccess:boolean(java.lang.String,java.lang.String)", + "parentMethodSignature": "boolean(java.lang.String,java.lang.String)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 74, + "columnNumber": 11 + }, + { + "id": 254, + "label": "IDENTIFIER", + "name": "session", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "session", + "typeFullName": "javax.servlet.http.HttpSession", + "parentMethodName": "com.example.vulnspring.WebController.home:java.lang.String(org.springframework.ui.Model,javax.servlet.http.HttpSession)", + "parentMethodSignature": "java.lang.String(org.springframework.ui.Model,javax.servlet.http.HttpSession)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 48, + "columnNumber": 34 + }, + { + "id": 535, + "label": "IDENTIFIER", + "name": "dbpath", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "dbpath", + "typeFullName": "java.lang.String", + "parentMethodName": "com.example.vulnspring.WebController.checkDB:java.lang.String(java.lang.String,org.springframework.ui.Model)", + "parentMethodSignature": "java.lang.String(java.lang.String,org.springframework.ui.Model)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 123, + "columnNumber": 7 + }, + { + "id": 1033, + "label": "IDENTIFIER", + "name": "node", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "node", + "typeFullName": "org.w3c.dom.Node", + "parentMethodName": "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentMethodSignature": "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 249, + "columnNumber": 25 + }, + { + "id": 1031, + "label": "IDENTIFIER", + "name": "currentString", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "currentString", + "typeFullName": "java.lang.StringBuffer", + "parentMethodName": "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentMethodSignature": "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 249, + "columnNumber": 4 + }, + { + "id": 900, + "label": "LITERAL", + "name": "", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "\"Balance Transfer Failed!\"", + "typeFullName": "java.lang.String", + "parentMethodName": "com.example.vulnspring.WebController.transfer:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", + "parentMethodSignature": "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 214, + "columnNumber": 32 + }, + { + "id": 377, + "label": "IDENTIFIER", + "name": "result", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "result", + "typeFullName": "java.util.Map", + "parentMethodName": "com.example.vulnspring.WebController.loginSuccess:boolean(java.lang.String,java.lang.String)", + "parentMethodSignature": "boolean(java.lang.String,java.lang.String)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 76, + "columnNumber": 8 + }, + { + "id": 1097, + "label": "METHOD_PARAMETER_IN", + "name": "model", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "Model model", + "typeFullName": "org.springframework.ui.Model", + "parentMethodName": "com.example.vulnspring.WebController.support:java.lang.String(org.springframework.ui.Model)", + "parentMethodSignature": "java.lang.String(org.springframework.ui.Model)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 268, + "columnNumber": 24 + }, + { + "id": 501, + "label": "IDENTIFIER", + "name": "model", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "model", + "typeFullName": "org.springframework.ui.Model", + "parentMethodName": "com.example.vulnspring.WebController.update:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,org.springframework.ui.Model)", + "parentMethodSignature": "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,org.springframework.ui.Model)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 110, + "columnNumber": 4 + }, + { + "id": 503, + "label": "LITERAL", + "name": "", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "\"Update Failed!\"", + "typeFullName": "java.lang.String", + "parentMethodName": "com.example.vulnspring.WebController.update:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,org.springframework.ui.Model)", + "parentMethodSignature": "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,org.springframework.ui.Model)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 110, + "columnNumber": 32 + }, + { + "id": 718, + "label": "IDENTIFIER", + "name": "model", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "model", + "typeFullName": "org.springframework.ui.Model", + "parentMethodName": "com.example.vulnspring.WebController.transfer:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", + "parentMethodSignature": "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 175, + "columnNumber": 4 + }, + { + "id": 484, + "label": "IDENTIFIER", + "name": "session", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "session", + "typeFullName": "javax.servlet.http.HttpSession", + "parentMethodName": "com.example.vulnspring.WebController.update:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,org.springframework.ui.Model)", + "parentMethodSignature": "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,org.springframework.ui.Model)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 106, + "columnNumber": 67 + }, + { + "id": 451, + "label": "METHOD_PARAMETER_IN", + "name": "model", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "Model model", + "typeFullName": "org.springframework.ui.Model", + "parentMethodName": "com.example.vulnspring.WebController.update:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,org.springframework.ui.Model)", + "parentMethodSignature": "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,org.springframework.ui.Model)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 103, + "columnNumber": 92 + }, + { + "id": 1042, + "label": "CALL", + "name": "getChildNodes", + "fullName": "org.w3c.dom.Node.getChildNodes:org.w3c.dom.NodeList()", + "signature": "org.w3c.dom.NodeList()", + "isExternal": true, + "code": "node.getChildNodes()", + "typeFullName": "org.w3c.dom.NodeList", + "parentMethodName": "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentMethodSignature": "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 251, + "columnNumber": 23 + }, + { + "id": 378, + "label": "LITERAL", + "name": "", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "\"username\"", + "typeFullName": "java.lang.String", + "parentMethodName": "com.example.vulnspring.WebController.loginSuccess:boolean(java.lang.String,java.lang.String)", + "parentMethodSignature": "boolean(java.lang.String,java.lang.String)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 76, + "columnNumber": 27 + }, + { + "id": 899, + "label": "LITERAL", + "name": "", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "\"error\"", + "typeFullName": "java.lang.String", + "parentMethodName": "com.example.vulnspring.WebController.transfer:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", + "parentMethodSignature": "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 214, + "columnNumber": 23 + }, + { + "id": 502, + "label": "LITERAL", + "name": "", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "\"error\"", + "typeFullName": "java.lang.String", + "parentMethodName": "com.example.vulnspring.WebController.update:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,org.springframework.ui.Model)", + "parentMethodSignature": "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,org.springframework.ui.Model)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 110, + "columnNumber": 23 + }, + { + "id": 780, + "label": "IDENTIFIER", + "name": "model", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "model", + "typeFullName": "org.springframework.ui.Model", + "parentMethodName": "com.example.vulnspring.WebController.transfer:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", + "parentMethodSignature": "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 191, + "columnNumber": 4 + }, + { + "id": 445, + "label": "METHOD_PARAMETER_IN", + "name": "session", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "HttpSession session", + "typeFullName": "javax.servlet.http.HttpSession", + "parentMethodName": "com.example.vulnspring.WebController.update:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,org.springframework.ui.Model)", + "parentMethodSignature": "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,org.springframework.ui.Model)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 103, + "columnNumber": 23 + }, + { + "id": 1164, + "label": "METHOD_PARAMETER_IN", + "name": "model", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "Model model", + "typeFullName": "org.springframework.ui.Model", + "parentMethodName": "com.example.vulnspring.WebController.jwt:java.lang.String(org.springframework.ui.Model,java.lang.String,javax.servlet.http.HttpSession)", + "parentMethodSignature": "java.lang.String(org.springframework.ui.Model,java.lang.String,javax.servlet.http.HttpSession)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 287, + "columnNumber": 20 + }, + { + "id": 898, + "label": "IDENTIFIER", + "name": "model", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "model", + "typeFullName": "org.springframework.ui.Model", + "parentMethodName": "com.example.vulnspring.WebController.transfer:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", + "parentMethodSignature": "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 214, + "columnNumber": 4 + }, + { + "id": 374, + "label": "IDENTIFIER", + "name": "query", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "query", + "typeFullName": "java.lang.String", + "parentMethodName": "com.example.vulnspring.WebController.loginSuccess:boolean(java.lang.String,java.lang.String)", + "parentMethodSignature": "boolean(java.lang.String,java.lang.String)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 75, + "columnNumber": 58 + }, + { + "id": 1002, + "label": "CALL", + "name": "getNodeName", + "fullName": "org.w3c.dom.Node.getNodeName:java.lang.String()", + "signature": "java.lang.String()", + "isExternal": true, + "code": "node.getNodeName()", + "typeFullName": "java.lang.String", + "parentMethodName": "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentMethodSignature": "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 242, + "columnNumber": 21 + }, + { + "id": 1100, + "label": "IDENTIFIER", + "name": "model", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "model", + "typeFullName": "org.springframework.ui.Model", + "parentMethodName": "com.example.vulnspring.WebController.support:java.lang.String(org.springframework.ui.Model)", + "parentMethodSignature": "java.lang.String(org.springframework.ui.Model)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 269, + "columnNumber": 3 + }, + { + "id": 659, + "label": "METHOD_PARAMETER_IN", + "name": "session", + "fullName": "", + "signature": "", + "isExternal": false, + "code": "HttpSession session", + "typeFullName": "javax.servlet.http.HttpSession", + "parentMethodName": "com.example.vulnspring.WebController.transfer:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", + "parentMethodSignature": "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", + "parentFileName": "src/main/java/com/example/vulnspring/WebController.java", + "parentPackageName": "com.example.vulnspring", + "parentClassName": "com.example.vulnspring.WebController", + "lineNumber": 154, + "columnNumber": 25 } ], - "edges" : [ + "edges": [ { - "src" : 1010, - "dst" : 1011, - "label" : "ARGUMENT" + "src": 1010, + "dst": 1011, + "label": "ARGUMENT" }, { - "src" : 900, - "dst" : 898, - "label" : "REACHING_DEF" + "src": 900, + "dst": 898, + "label": "REACHING_DEF" }, { - "src" : 426, - "dst" : 427, - "label" : "CFG" + "src": 426, + "dst": 427, + "label": "CFG" }, { - "src" : 1123, - "dst" : 1124, - "label" : "CFG" + "src": 1123, + "dst": 1124, + "label": "CFG" }, { - "src" : 743, - "dst" : 744, - "label" : "DOMINATE" + "src": 743, + "dst": 744, + "label": "DOMINATE" }, { - "src" : 426, - "dst" : 408, - "label" : "REF" + "src": 426, + "dst": 408, + "label": "REF" }, { - "src" : 898, - "dst" : 899, - "label" : "CFG" + "src": 898, + "dst": 899, + "label": "CFG" }, { - "src" : 899, - "dst" : 900, - "label" : "CFG" + "src": 899, + "dst": 900, + "label": "CFG" }, { - "src" : 319, - "dst" : 282, - "label" : "REF" + "src": 319, + "dst": 282, + "label": "REF" }, { - "src" : 720, - "dst" : 718, - "label" : "REACHING_DEF" + "src": 720, + "dst": 718, + "label": "REACHING_DEF" }, { - "src" : 1018, - "dst" : 997, - "label" : "REF" + "src": 1018, + "dst": 997, + "label": "REF" }, { - "src" : 1012, - "dst" : 996, - "label" : "REF" + "src": 1012, + "dst": 996, + "label": "REF" }, { - "src" : 718, - "dst" : 719, - "label" : "DOMINATE" + "src": 718, + "dst": 719, + "label": "DOMINATE" }, { - "src" : 1049, - "dst" : 1054, - "label" : "ARGUMENT" + "src": 1049, + "dst": 1054, + "label": "ARGUMENT" }, { - "src" : 451, - "dst" : 501, - "label" : "REACHING_DEF" + "src": 451, + "dst": 501, + "label": "REACHING_DEF" }, { - "src" : 1174, - "dst" : 1173, - "label" : "POST_DOMINATE" + "src": 1174, + "dst": 1173, + "label": "POST_DOMINATE" }, { - "src" : 635, - "dst" : 634, - "label" : "POST_DOMINATE" + "src": 635, + "dst": 634, + "label": "POST_DOMINATE" }, { - "src" : 1049, - "dst" : 177, - "label" : "ARGUMENT" + "src": 1049, + "dst": 177, + "label": "ARGUMENT" }, { - "src" : 1051, - "dst" : 1053, - "label" : "REACHING_DEF" + "src": 1051, + "dst": 1053, + "label": "REACHING_DEF" }, { - "src" : 157, - "dst" : 149, - "label" : "REF" + "src": 157, + "dst": 149, + "label": "REF" }, { - "src" : 1054, - "dst" : 1049, - "label" : "DOMINATE" + "src": 1054, + "dst": 1049, + "label": "DOMINATE" }, { - "src" : 254, - "dst" : 255, - "label" : "CFG" + "src": 254, + "dst": 255, + "label": "CFG" }, { - "src" : 530, - "dst" : 531, - "label" : "DOMINATE" + "src": 530, + "dst": 531, + "label": "DOMINATE" }, { - "src" : 1002, - "dst" : 1003, - "label" : "POST_DOMINATE" + "src": 1002, + "dst": 1003, + "label": "POST_DOMINATE" }, { - "src" : 1050, - "dst" : 1051, - "label" : "ARGUMENT" + "src": 1050, + "dst": 1051, + "label": "ARGUMENT" }, { - "src" : 1051, - "dst" : 1053, - "label" : "CFG" + "src": 1051, + "dst": 1053, + "label": "CFG" }, { - "src" : 1198, - "dst" : 1164, - "label" : "REF" + "src": 1198, + "dst": 1164, + "label": "REF" }, { - "src" : 346, - "dst" : 347, - "label" : "CFG" + "src": 346, + "dst": 347, + "label": "CFG" }, { - "src" : 374, - "dst" : 371, - "label" : "POST_DOMINATE" + "src": 374, + "dst": 371, + "label": "POST_DOMINATE" }, { - "src" : 248, - "dst" : 254, - "label" : "REACHING_DEF" + "src": 248, + "dst": 254, + "label": "REACHING_DEF" }, { - "src" : 1198, - "dst" : 1199, - "label" : "DOMINATE" + "src": 1198, + "dst": 1199, + "label": "DOMINATE" }, { - "src" : 1199, - "dst" : 1200, - "label" : "CFG" + "src": 1199, + "dst": 1200, + "label": "CFG" }, { - "src" : 1051, - "dst" : 1052, - "label" : "AST" + "src": 1051, + "dst": 1052, + "label": "AST" }, { - "src" : 1052, - "dst" : 1051, - "label" : "DOMINATE" + "src": 1052, + "dst": 1051, + "label": "DOMINATE" }, { - "src" : 177, - "dst" : 1049, - "label" : "REACHING_DEF" + "src": 177, + "dst": 1049, + "label": "REACHING_DEF" }, { - "src" : 317, - "dst" : 318, - "label" : "CFG" + "src": 317, + "dst": 318, + "label": "CFG" }, { - "src" : 1003, - "dst" : 1002, - "label" : "DOMINATE" + "src": 1003, + "dst": 1002, + "label": "DOMINATE" }, { - "src" : 1200, - "dst" : 1198, - "label" : "REACHING_DEF" + "src": 1200, + "dst": 1198, + "label": "REACHING_DEF" }, { - "src" : 172, - "dst" : 171, - "label" : "REACHING_DEF" + "src": 172, + "dst": 171, + "label": "REACHING_DEF" }, { - "src" : 469, - "dst" : 445, - "label" : "REF" + "src": 469, + "dst": 445, + "label": "REF" }, { - "src" : 178, - "dst" : 177, - "label" : "REACHING_DEF" + "src": 178, + "dst": 177, + "label": "REACHING_DEF" }, { - "src" : 682, - "dst" : 683, - "label" : "CFG" + "src": 682, + "dst": 683, + "label": "CFG" }, { - "src" : 1188, - "dst" : 1189, - "label" : "CFG" + "src": 1188, + "dst": 1189, + "label": "CFG" }, { - "src" : 153, - "dst" : 157, - "label" : "DOMINATE" + "src": 153, + "dst": 157, + "label": "DOMINATE" }, { - "src" : 156, - "dst" : 153, - "label" : "REACHING_DEF" + "src": 156, + "dst": 153, + "label": "REACHING_DEF" }, { - "src" : 318, - "dst" : 317, - "label" : "POST_DOMINATE" + "src": 318, + "dst": 317, + "label": "POST_DOMINATE" }, { - "src" : 302, - "dst" : 282, - "label" : "REF" + "src": 302, + "dst": 282, + "label": "REF" }, { - "src" : 1053, - "dst" : 1050, - "label" : "CFG" + "src": 1053, + "dst": 1050, + "label": "CFG" }, { - "src" : 1193, - "dst" : 1192, - "label" : "REACHING_DEF" + "src": 1193, + "dst": 1192, + "label": "REACHING_DEF" }, { - "src" : 719, - "dst" : 720, - "label" : "DOMINATE" + "src": 719, + "dst": 720, + "label": "DOMINATE" }, { - "src" : 1051, - "dst" : 1052, - "label" : "POST_DOMINATE" + "src": 1051, + "dst": 1052, + "label": "POST_DOMINATE" }, { - "src" : 519, - "dst" : 531, - "label" : "REACHING_DEF" + "src": 519, + "dst": 531, + "label": "REACHING_DEF" }, { - "src" : 683, - "dst" : 681, - "label" : "REACHING_DEF" + "src": 683, + "dst": 681, + "label": "REACHING_DEF" }, { - "src" : 1052, - "dst" : 1051, - "label" : "CFG" + "src": 1052, + "dst": 1051, + "label": "CFG" }, { - "src" : 1042, - "dst" : 1043, - "label" : "AST" + "src": 1042, + "dst": 1043, + "label": "AST" }, { - "src" : 1331, - "dst" : 1332, - "label" : "REACHING_DEF" + "src": 1331, + "dst": 1332, + "label": "REACHING_DEF" }, { - "src" : 1051, - "dst" : 1052, - "label" : "ARGUMENT" + "src": 1051, + "dst": 1052, + "label": "ARGUMENT" }, { - "src" : 1042, - "dst" : 1043, - "label" : "RECEIVER" + "src": 1042, + "dst": 1043, + "label": "RECEIVER" }, { - "src" : 780, - "dst" : 670, - "label" : "REF" + "src": 780, + "dst": 670, + "label": "REF" }, { - "src" : 899, - "dst" : 898, - "label" : "REACHING_DEF" + "src": 899, + "dst": 898, + "label": "REACHING_DEF" }, { - "src" : 1049, - "dst" : 1054, - "label" : "POST_DOMINATE" + "src": 1049, + "dst": 1054, + "label": "POST_DOMINATE" }, { - "src" : 1056, - "dst" : 1057, - "label" : "REACHING_DEF" + "src": 1056, + "dst": 1057, + "label": "REACHING_DEF" }, { - "src" : 1012, - "dst" : 1011, - "label" : "REACHING_DEF" + "src": 1012, + "dst": 1011, + "label": "REACHING_DEF" }, { - "src" : 781, - "dst" : 782, - "label" : "DOMINATE" + "src": 781, + "dst": 782, + "label": "DOMINATE" }, { - "src" : 1001, - "dst" : 1007, - "label" : "REACHING_DEF" + "src": 1001, + "dst": 1007, + "label": "REACHING_DEF" }, { - "src" : 1053, - "dst" : 1050, - "label" : "REACHING_DEF" + "src": 1053, + "dst": 1050, + "label": "REACHING_DEF" }, { - "src" : 898, - "dst" : 899, - "label" : "DOMINATE" + "src": 898, + "dst": 899, + "label": "DOMINATE" }, { - "src" : 1114, - "dst" : 1123, - "label" : "REACHING_DEF" + "src": 1114, + "dst": 1123, + "label": "REACHING_DEF" }, { - "src" : 531, - "dst" : 530, - "label" : "POST_DOMINATE" + "src": 531, + "dst": 530, + "label": "POST_DOMINATE" }, { - "src" : 780, - "dst" : 781, - "label" : "CFG" + "src": 780, + "dst": 781, + "label": "CFG" }, { - "src" : 1048, - "dst" : 1054, - "label" : "REACHING_DEF" + "src": 1048, + "dst": 1054, + "label": "REACHING_DEF" }, { - "src" : 781, - "dst" : 780, - "label" : "REACHING_DEF" + "src": 781, + "dst": 780, + "label": "REACHING_DEF" }, { - "src" : 1097, - "dst" : 1100, - "label" : "REACHING_DEF" + "src": 1097, + "dst": 1100, + "label": "REACHING_DEF" }, { - "src" : 503, - "dst" : 501, - "label" : "REACHING_DEF" + "src": 503, + "dst": 501, + "label": "REACHING_DEF" }, { - "src" : 1054, - "dst" : 1050, - "label" : "POST_DOMINATE" + "src": 1054, + "dst": 1050, + "label": "POST_DOMINATE" }, { - "src" : 503, - "dst" : 502, - "label" : "POST_DOMINATE" + "src": 503, + "dst": 502, + "label": "POST_DOMINATE" }, { - "src" : 349, - "dst" : 350, - "label" : "DOMINATE" + "src": 349, + "dst": 350, + "label": "DOMINATE" }, { - "src" : 1002, - "dst" : 1003, - "label" : "AST" + "src": 1002, + "dst": 1003, + "label": "AST" }, { - "src" : 1052, - "dst" : 996, - "label" : "REF" + "src": 1052, + "dst": 996, + "label": "REF" }, { - "src" : 1011, - "dst" : 1012, - "label" : "RECEIVER" + "src": 1011, + "dst": 1012, + "label": "RECEIVER" }, { - "src" : 371, - "dst" : 374, - "label" : "CFG" + "src": 371, + "dst": 374, + "label": "CFG" }, { - "src" : 997, - "dst" : 1018, - "label" : "REACHING_DEF" + "src": 997, + "dst": 1018, + "label": "REACHING_DEF" }, { - "src" : 318, - "dst" : 319, - "label" : "REACHING_DEF" + "src": 318, + "dst": 319, + "label": "REACHING_DEF" }, { - "src" : 369, - "dst" : 377, - "label" : "REACHING_DEF" + "src": 369, + "dst": 377, + "label": "REACHING_DEF" }, { - "src" : 1049, - "dst" : 1054, - "label" : "AST" + "src": 1049, + "dst": 1054, + "label": "AST" }, { - "src" : 1011, - "dst" : 1012, - "label" : "ARGUMENT" + "src": 1011, + "dst": 1012, + "label": "ARGUMENT" }, { - "src" : 744, - "dst" : 743, - "label" : "REACHING_DEF" + "src": 744, + "dst": 743, + "label": "REACHING_DEF" }, { - "src" : 670, - "dst" : 681, - "label" : "REACHING_DEF" + "src": 670, + "dst": 681, + "label": "REACHING_DEF" }, { - "src" : 1003, - "dst" : 996, - "label" : "REF" + "src": 1003, + "dst": 996, + "label": "REF" }, { - "src" : 1031, - "dst" : 997, - "label" : "REF" + "src": 1031, + "dst": 997, + "label": "REF" }, { - "src" : 1199, - "dst" : 1198, - "label" : "POST_DOMINATE" + "src": 1199, + "dst": 1198, + "label": "POST_DOMINATE" }, { - "src" : 350, - "dst" : 349, - "label" : "REACHING_DEF" + "src": 350, + "dst": 349, + "label": "REACHING_DEF" }, { - "src" : 1102, - "dst" : 1100, - "label" : "REACHING_DEF" + "src": 1102, + "dst": 1100, + "label": "REACHING_DEF" }, { - "src" : 536, - "dst" : 535, - "label" : "POST_DOMINATE" + "src": 536, + "dst": 535, + "label": "POST_DOMINATE" }, { - "src" : 1051, - "dst" : 1053, - "label" : "DOMINATE" + "src": 1051, + "dst": 1053, + "label": "DOMINATE" }, { - "src" : 1100, - "dst" : 1097, - "label" : "REF" + "src": 1100, + "dst": 1097, + "label": "REF" }, { - "src" : 319, - "dst" : 317, - "label" : "REACHING_DEF" + "src": 319, + "dst": 317, + "label": "REACHING_DEF" }, { - "src" : 1038, - "dst" : 1037, - "label" : "POST_DOMINATE" + "src": 1038, + "dst": 1037, + "label": "POST_DOMINATE" }, { - "src" : 370, - "dst" : 371, - "label" : "ARGUMENT" + "src": 370, + "dst": 371, + "label": "ARGUMENT" }, { - "src" : 1173, - "dst" : 1174, - "label" : "CFG" + "src": 1173, + "dst": 1174, + "label": "CFG" }, { - "src" : 1038, - "dst" : 1037, - "label" : "REACHING_DEF" + "src": 1038, + "dst": 1037, + "label": "REACHING_DEF" }, { - "src" : 469, - "dst" : 484, - "label" : "REACHING_DEF" + "src": 469, + "dst": 484, + "label": "REACHING_DEF" }, { - "src" : 1008, - "dst" : 1007, - "label" : "REACHING_DEF" + "src": 1008, + "dst": 1007, + "label": "REACHING_DEF" }, { - "src" : 1173, - "dst" : 1174, - "label" : "DOMINATE" + "src": 1173, + "dst": 1174, + "label": "DOMINATE" }, { - "src" : 681, - "dst" : 682, - "label" : "DOMINATE" + "src": 681, + "dst": 682, + "label": "DOMINATE" }, { - "src" : 1003, - "dst" : 1002, - "label" : "CFG" + "src": 1003, + "dst": 1002, + "label": "CFG" }, { - "src" : 1033, - "dst" : 1043, - "label" : "REACHING_DEF" + "src": 1033, + "dst": 1043, + "label": "REACHING_DEF" }, { - "src" : 346, - "dst" : 347, - "label" : "DOMINATE" + "src": 346, + "dst": 347, + "label": "DOMINATE" }, { - "src" : 1189, - "dst" : 1188, - "label" : "POST_DOMINATE" + "src": 1189, + "dst": 1188, + "label": "POST_DOMINATE" }, { - "src" : 1002, - "dst" : 1001, - "label" : "REACHING_DEF" + "src": 1002, + "dst": 1001, + "label": "REACHING_DEF" }, { - "src" : 1050, - "dst" : 1054, - "label" : "CFG" + "src": 1050, + "dst": 1054, + "label": "CFG" }, { - "src" : 157, - "dst" : 156, - "label" : "DOMINATE" + "src": 157, + "dst": 156, + "label": "DOMINATE" }, { - "src" : 153, - "dst" : 156, - "label" : "REACHING_DEF" + "src": 153, + "dst": 156, + "label": "REACHING_DEF" }, { - "src" : 254, - "dst" : 255, - "label" : "DOMINATE" + "src": 254, + "dst": 255, + "label": "DOMINATE" }, { - "src" : 535, - "dst" : 519, - "label" : "REF" + "src": 535, + "dst": 519, + "label": "REF" }, { - "src" : 1050, - "dst" : 1051, - "label" : "RECEIVER" + "src": 1050, + "dst": 1051, + "label": "RECEIVER" }, { - "src" : 1007, - "dst" : 1008, - "label" : "DOMINATE" + "src": 1007, + "dst": 1008, + "label": "DOMINATE" }, { - "src" : 470, - "dst" : 469, - "label" : "REACHING_DEF" + "src": 470, + "dst": 469, + "label": "REACHING_DEF" }, { - "src" : 1032, - "dst" : 1031, - "label" : "REACHING_DEF" + "src": 1032, + "dst": 1031, + "label": "REACHING_DEF" }, { - "src" : 177, - "dst" : 1052, - "label" : "DOMINATE" + "src": 177, + "dst": 1052, + "label": "DOMINATE" }, { - "src" : 370, - "dst" : 369, - "label" : "REACHING_DEF" + "src": 370, + "dst": 369, + "label": "REACHING_DEF" }, { - "src" : 1012, - "dst" : 1027, - "label" : "REACHING_DEF" + "src": 1012, + "dst": 1027, + "label": "REACHING_DEF" }, { - "src" : 1051, - "dst" : 1050, - "label" : "REACHING_DEF" + "src": 1051, + "dst": 1050, + "label": "REACHING_DEF" }, { - "src" : 535, - "dst" : 536, - "label" : "CFG" + "src": 535, + "dst": 536, + "label": "CFG" }, { - "src" : 318, - "dst" : 319, - "label" : "DOMINATE" + "src": 318, + "dst": 319, + "label": "DOMINATE" }, { - "src" : 1037, - "dst" : 1038, - "label" : "CFG" + "src": 1037, + "dst": 1038, + "label": "CFG" }, { - "src" : 536, - "dst" : 535, - "label" : "REACHING_DEF" + "src": 536, + "dst": 535, + "label": "REACHING_DEF" }, { - "src" : 1192, - "dst" : 1164, - "label" : "REF" + "src": 1192, + "dst": 1164, + "label": "REF" }, { - "src" : 1043, - "dst" : 996, - "label" : "REF" + "src": 1043, + "dst": 996, + "label": "REF" }, { - "src" : 1031, - "dst" : 1054, - "label" : "REACHING_DEF" + "src": 1031, + "dst": 1054, + "label": "REACHING_DEF" }, { - "src" : 1010, - "dst" : 1013, - "label" : "DOMINATE" + "src": 1010, + "dst": 1013, + "label": "DOMINATE" }, { - "src" : 1042, - "dst" : 1043, - "label" : "ARGUMENT" + "src": 1042, + "dst": 1043, + "label": "ARGUMENT" }, { - "src" : 350, - "dst" : 349, - "label" : "POST_DOMINATE" + "src": 350, + "dst": 349, + "label": "POST_DOMINATE" }, { - "src" : 1050, - "dst" : 1049, - "label" : "REACHING_DEF" + "src": 1050, + "dst": 1049, + "label": "REACHING_DEF" }, { - "src" : 718, - "dst" : 719, - "label" : "CFG" + "src": 718, + "dst": 719, + "label": "CFG" }, { - "src" : 317, - "dst" : 319, - "label" : "REACHING_DEF" + "src": 317, + "dst": 319, + "label": "REACHING_DEF" }, { - "src" : 485, - "dst" : 484, - "label" : "REACHING_DEF" + "src": 485, + "dst": 484, + "label": "REACHING_DEF" }, { - "src" : 898, - "dst" : 670, - "label" : "REF" + "src": 898, + "dst": 670, + "label": "REF" }, { - "src" : 1003, - "dst" : 1027, - "label" : "REACHING_DEF" + "src": 1003, + "dst": 1027, + "label": "REACHING_DEF" }, { - "src" : 1174, - "dst" : 1165, - "label" : "REF" + "src": 1174, + "dst": 1165, + "label": "REF" }, { - "src" : 370, - "dst" : 371, - "label" : "RECEIVER" + "src": 370, + "dst": 371, + "label": "RECEIVER" }, { - "src" : 177, - "dst" : 1048, - "label" : "POST_DOMINATE" + "src": 177, + "dst": 1048, + "label": "POST_DOMINATE" }, { - "src" : 1188, - "dst" : 1167, - "label" : "REF" + "src": 1188, + "dst": 1167, + "label": "REF" }, { - "src" : 781, - "dst" : 782, - "label" : "CFG" + "src": 781, + "dst": 782, + "label": "CFG" }, { - "src" : 1200, - "dst" : 1199, - "label" : "POST_DOMINATE" + "src": 1200, + "dst": 1199, + "label": "POST_DOMINATE" }, { - "src" : 719, - "dst" : 718, - "label" : "POST_DOMINATE" + "src": 719, + "dst": 718, + "label": "POST_DOMINATE" }, { - "src" : 153, - "dst" : 157, - "label" : "CFG" + "src": 153, + "dst": 157, + "label": "CFG" }, { - "src" : 531, - "dst" : 519, - "label" : "REF" + "src": 531, + "dst": 519, + "label": "REF" }, { - "src" : 1011, - "dst" : 1010, - "label" : "CFG" + "src": 1011, + "dst": 1010, + "label": "CFG" }, { - "src" : 743, - "dst" : 659, - "label" : "REF" + "src": 743, + "dst": 659, + "label": "REF" }, { - "src" : 743, - "dst" : 744, - "label" : "CFG" + "src": 743, + "dst": 744, + "label": "CFG" }, { - "src" : 149, - "dst" : 157, - "label" : "REACHING_DEF" + "src": 149, + "dst": 157, + "label": "REACHING_DEF" }, { - "src" : 1050, - "dst" : 1053, - "label" : "ARGUMENT" + "src": 1050, + "dst": 1053, + "label": "ARGUMENT" }, { - "src" : 1052, - "dst" : 1051, - "label" : "REACHING_DEF" + "src": 1052, + "dst": 1051, + "label": "REACHING_DEF" }, { - "src" : 1037, - "dst" : 1040, - "label" : "REACHING_DEF" + "src": 1037, + "dst": 1040, + "label": "REACHING_DEF" }, { - "src" : 1012, - "dst" : 1011, - "label" : "DOMINATE" + "src": 1012, + "dst": 1011, + "label": "DOMINATE" }, { - "src" : 682, - "dst" : 681, - "label" : "REACHING_DEF" + "src": 682, + "dst": 681, + "label": "REACHING_DEF" }, { - "src" : 393, - "dst" : 396, - "label" : "REACHING_DEF" + "src": 393, + "dst": 396, + "label": "REACHING_DEF" }, { - "src" : 1193, - "dst" : 1194, - "label" : "DOMINATE" + "src": 1193, + "dst": 1194, + "label": "DOMINATE" }, { - "src" : 1050, - "dst" : 1053, - "label" : "AST" + "src": 1050, + "dst": 1053, + "label": "AST" }, { - "src" : 1013, - "dst" : 1010, - "label" : "POST_DOMINATE" + "src": 1013, + "dst": 1010, + "label": "POST_DOMINATE" }, { - "src" : 302, - "dst" : 303, - "label" : "CFG" + "src": 302, + "dst": 303, + "label": "CFG" }, { - "src" : 1192, - "dst" : 1193, - "label" : "CFG" + "src": 1192, + "dst": 1193, + "label": "CFG" }, { - "src" : 1049, - "dst" : 1048, - "label" : "REACHING_DEF" + "src": 1049, + "dst": 1048, + "label": "REACHING_DEF" }, { - "src" : 502, - "dst" : 503, - "label" : "CFG" + "src": 502, + "dst": 503, + "label": "CFG" }, { - "src" : 1057, - "dst" : 1056, - "label" : "REACHING_DEF" + "src": 1057, + "dst": 1056, + "label": "REACHING_DEF" }, { - "src" : 1049, - "dst" : 1050, - "label" : "AST" + "src": 1049, + "dst": 1050, + "label": "AST" }, { - "src" : 396, - "dst" : 393, - "label" : "REF" + "src": 396, + "dst": 393, + "label": "REF" }, { - "src" : 370, - "dst" : 374, - "label" : "AST" + "src": 370, + "dst": 374, + "label": "AST" }, { - "src" : 1053, - "dst" : 1051, - "label" : "REACHING_DEF" + "src": 1053, + "dst": 1051, + "label": "REACHING_DEF" }, { - "src" : 318, - "dst" : 319, - "label" : "CFG" + "src": 318, + "dst": 319, + "label": "CFG" }, { - "src" : 535, - "dst" : 536, - "label" : "DOMINATE" + "src": 535, + "dst": 536, + "label": "DOMINATE" }, { - "src" : 1054, - "dst" : 1049, - "label" : "REACHING_DEF" + "src": 1054, + "dst": 1049, + "label": "REACHING_DEF" }, { - "src" : 1031, - "dst" : 1056, - "label" : "REACHING_DEF" + "src": 1031, + "dst": 1056, + "label": "REACHING_DEF" }, { - "src" : 255, - "dst" : 254, - "label" : "REACHING_DEF" + "src": 255, + "dst": 254, + "label": "REACHING_DEF" }, { - "src" : 426, - "dst" : 427, - "label" : "DOMINATE" + "src": 426, + "dst": 427, + "label": "DOMINATE" }, { - "src" : 484, - "dst" : 485, - "label" : "DOMINATE" + "src": 484, + "dst": 485, + "label": "DOMINATE" }, { - "src" : 1010, - "dst" : 1013, - "label" : "CFG" + "src": 1010, + "dst": 1013, + "label": "CFG" }, { - "src" : 347, - "dst" : 346, - "label" : "REACHING_DEF" + "src": 347, + "dst": 346, + "label": "REACHING_DEF" }, { - "src" : 1193, - "dst" : 1194, - "label" : "CFG" + "src": 1193, + "dst": 1194, + "label": "CFG" }, { - "src" : 1043, - "dst" : 1042, - "label" : "REACHING_DEF" + "src": 1043, + "dst": 1042, + "label": "REACHING_DEF" }, { - "src" : 1048, - "dst" : 177, - "label" : "DOMINATE" + "src": 1048, + "dst": 177, + "label": "DOMINATE" }, { - "src" : 1043, - "dst" : 1040, - "label" : "POST_DOMINATE" + "src": 1043, + "dst": 1040, + "label": "POST_DOMINATE" }, { - "src" : 255, - "dst" : 254, - "label" : "POST_DOMINATE" + "src": 255, + "dst": 254, + "label": "POST_DOMINATE" }, { - "src" : 1101, - "dst" : 1100, - "label" : "REACHING_DEF" + "src": 1101, + "dst": 1100, + "label": "REACHING_DEF" }, { - "src" : 1027, - "dst" : 1043, - "label" : "REACHING_DEF" + "src": 1027, + "dst": 1043, + "label": "REACHING_DEF" }, { - "src" : 1049, - "dst" : 1050, - "label" : "ARGUMENT" + "src": 1049, + "dst": 1050, + "label": "ARGUMENT" }, { - "src" : 1050, - "dst" : 1053, - "label" : "POST_DOMINATE" + "src": 1050, + "dst": 1053, + "label": "POST_DOMINATE" }, { - "src" : 634, - "dst" : 635, - "label" : "DOMINATE" + "src": 634, + "dst": 635, + "label": "DOMINATE" }, { - "src" : 1003, - "dst" : 1002, - "label" : "REACHING_DEF" + "src": 1003, + "dst": 1002, + "label": "REACHING_DEF" }, { - "src" : 1002, - "dst" : 1003, - "label" : "ARGUMENT" + "src": 1002, + "dst": 1003, + "label": "ARGUMENT" }, { - "src" : 996, - "dst" : 1003, - "label" : "REACHING_DEF" + "src": 996, + "dst": 1003, + "label": "REACHING_DEF" }, { - "src" : 1193, - "dst" : 1192, - "label" : "POST_DOMINATE" + "src": 1193, + "dst": 1192, + "label": "POST_DOMINATE" }, { - "src" : 485, - "dst" : 484, - "label" : "POST_DOMINATE" + "src": 485, + "dst": 484, + "label": "POST_DOMINATE" }, { - "src" : 1011, - "dst" : 1010, - "label" : "REACHING_DEF" + "src": 1011, + "dst": 1010, + "label": "REACHING_DEF" }, { - "src" : 152, - "dst" : 156, - "label" : "REACHING_DEF" + "src": 152, + "dst": 156, + "label": "REACHING_DEF" }, { - "src" : 1012, - "dst" : 1011, - "label" : "CFG" + "src": 1012, + "dst": 1011, + "label": "CFG" }, { - "src" : 1011, - "dst" : 1012, - "label" : "AST" + "src": 1011, + "dst": 1012, + "label": "AST" }, { - "src" : 371, - "dst" : 374, - "label" : "REACHING_DEF" + "src": 371, + "dst": 374, + "label": "REACHING_DEF" }, { - "src" : 616, - "dst" : 634, - "label" : "REACHING_DEF" + "src": 616, + "dst": 634, + "label": "REACHING_DEF" }, { - "src" : 681, - "dst" : 682, - "label" : "CFG" + "src": 681, + "dst": 682, + "label": "CFG" }, { - "src" : 1018, - "dst" : 1054, - "label" : "REACHING_DEF" + "src": 1018, + "dst": 1054, + "label": "REACHING_DEF" }, { - "src" : 634, - "dst" : 616, - "label" : "REF" + "src": 634, + "dst": 616, + "label": "REF" }, { - "src" : 530, - "dst" : 531, - "label" : "CFG" + "src": 530, + "dst": 531, + "label": "CFG" }, { - "src" : 1018, - "dst" : 1031, - "label" : "REACHING_DEF" + "src": 1018, + "dst": 1031, + "label": "REACHING_DEF" }, { - "src" : 634, - "dst" : 635, - "label" : "CFG" + "src": 634, + "dst": 635, + "label": "CFG" }, { - "src" : 530, - "dst" : 531, - "label" : "REACHING_DEF" + "src": 530, + "dst": 531, + "label": "REACHING_DEF" }, { - "src" : 1165, - "dst" : 1174, - "label" : "REACHING_DEF" + "src": 1165, + "dst": 1174, + "label": "REACHING_DEF" }, { - "src" : 339, - "dst" : 371, - "label" : "REACHING_DEF" + "src": 339, + "dst": 371, + "label": "REACHING_DEF" }, { - "src" : 1018, - "dst" : 1056, - "label" : "REACHING_DEF" + "src": 1018, + "dst": 1056, + "label": "REACHING_DEF" }, { - "src" : 317, - "dst" : 281, - "label" : "REF" + "src": 317, + "dst": 281, + "label": "REF" }, { - "src" : 1037, - "dst" : 1038, - "label" : "DOMINATE" + "src": 1037, + "dst": 1038, + "label": "DOMINATE" }, { - "src" : 719, - "dst" : 718, - "label" : "REACHING_DEF" + "src": 719, + "dst": 718, + "label": "REACHING_DEF" }, { - "src" : 1033, - "dst" : 1032, - "label" : "CFG" + "src": 1033, + "dst": 1032, + "label": "CFG" }, { - "src" : 171, - "dst" : 302, - "label" : "DOMINATE" + "src": 171, + "dst": 302, + "label": "DOMINATE" }, { - "src" : 1056, - "dst" : 997, - "label" : "REF" + "src": 1056, + "dst": 997, + "label": "REF" }, { - "src" : 152, - "dst" : 153, - "label" : "REACHING_DEF" + "src": 152, + "dst": 153, + "label": "REACHING_DEF" }, { - "src" : 1027, - "dst" : 1033, - "label" : "REACHING_DEF" + "src": 1027, + "dst": 1033, + "label": "REACHING_DEF" }, { - "src" : 340, - "dst" : 346, - "label" : "REACHING_DEF" + "src": 340, + "dst": 346, + "label": "REACHING_DEF" }, { - "src" : 1032, - "dst" : 1033, - "label" : "ARGUMENT" + "src": 1032, + "dst": 1033, + "label": "ARGUMENT" }, { - "src" : 370, - "dst" : 374, - "label" : "POST_DOMINATE" + "src": 370, + "dst": 374, + "label": "POST_DOMINATE" }, { - "src" : 718, - "dst" : 670, - "label" : "REF" + "src": 718, + "dst": 670, + "label": "REF" }, { - "src" : 1043, - "dst" : 1042, - "label" : "CFG" + "src": 1043, + "dst": 1042, + "label": "CFG" }, { - "src" : 1031, - "dst" : 1032, - "label" : "REACHING_DEF" + "src": 1031, + "dst": 1032, + "label": "REACHING_DEF" }, { - "src" : 1043, - "dst" : 1052, - "label" : "REACHING_DEF" + "src": 1043, + "dst": 1052, + "label": "REACHING_DEF" }, { - "src" : 282, - "dst" : 302, - "label" : "REACHING_DEF" + "src": 282, + "dst": 302, + "label": "REACHING_DEF" }, { - "src" : 358, - "dst" : 357, - "label" : "REACHING_DEF" + "src": 358, + "dst": 357, + "label": "REACHING_DEF" }, { - "src" : 317, - "dst" : 318, - "label" : "DOMINATE" + "src": 317, + "dst": 318, + "label": "DOMINATE" }, { - "src" : 408, - "dst" : 426, - "label" : "REACHING_DEF" + "src": 408, + "dst": 426, + "label": "REACHING_DEF" }, { - "src" : 1194, - "dst" : 1192, - "label" : "REACHING_DEF" + "src": 1194, + "dst": 1192, + "label": "REACHING_DEF" }, { - "src" : 374, - "dst" : 370, - "label" : "DOMINATE" + "src": 374, + "dst": 370, + "label": "DOMINATE" }, { - "src" : 899, - "dst" : 900, - "label" : "DOMINATE" + "src": 899, + "dst": 900, + "label": "DOMINATE" }, { - "src" : 319, - "dst" : 318, - "label" : "POST_DOMINATE" + "src": 319, + "dst": 318, + "label": "POST_DOMINATE" }, { - "src" : 501, - "dst" : 451, - "label" : "REF" + "src": 501, + "dst": 451, + "label": "REF" }, { - "src" : 1164, - "dst" : 1198, - "label" : "REACHING_DEF" + "src": 1164, + "dst": 1198, + "label": "REACHING_DEF" }, { - "src" : 1053, - "dst" : 1045, - "label" : "REACHING_DEF" + "src": 1053, + "dst": 1045, + "label": "REACHING_DEF" }, { - "src" : 1041, - "dst" : 1042, - "label" : "RECEIVER" + "src": 1041, + "dst": 1042, + "label": "RECEIVER" }, { - "src" : 370, - "dst" : 371, - "label" : "AST" + "src": 370, + "dst": 371, + "label": "AST" }, { - "src" : 1101, - "dst" : 1100, - "label" : "POST_DOMINATE" + "src": 1101, + "dst": 1100, + "label": "POST_DOMINATE" }, { - "src" : 156, - "dst" : 157, - "label" : "ARGUMENT" + "src": 156, + "dst": 157, + "label": "ARGUMENT" }, { - "src" : 1002, - "dst" : 1003, - "label" : "RECEIVER" + "src": 1002, + "dst": 1003, + "label": "RECEIVER" }, { - "src" : 682, - "dst" : 683, - "label" : "DOMINATE" + "src": 682, + "dst": 683, + "label": "DOMINATE" }, { - "src" : 1019, - "dst" : 1018, - "label" : "REACHING_DEF" + "src": 1019, + "dst": 1018, + "label": "REACHING_DEF" }, { - "src" : 303, - "dst" : 290, - "label" : "REF" + "src": 303, + "dst": 290, + "label": "REF" }, { - "src" : 378, - "dst" : 377, - "label" : "POST_DOMINATE" + "src": 378, + "dst": 377, + "label": "POST_DOMINATE" }, { - "src" : 1041, - "dst" : 1040, - "label" : "REACHING_DEF" + "src": 1041, + "dst": 1040, + "label": "REACHING_DEF" }, { - "src" : 1027, - "dst" : 996, - "label" : "REF" + "src": 1027, + "dst": 996, + "label": "REF" }, { - "src" : 1050, - "dst" : 1051, - "label" : "AST" + "src": 1050, + "dst": 1051, + "label": "AST" }, { - "src" : 469, - "dst" : 470, - "label" : "DOMINATE" + "src": 469, + "dst": 470, + "label": "DOMINATE" }, { - "src" : 635, - "dst" : 634, - "label" : "REACHING_DEF" + "src": 635, + "dst": 634, + "label": "REACHING_DEF" }, { - "src" : 427, - "dst" : 426, - "label" : "REACHING_DEF" + "src": 427, + "dst": 426, + "label": "REACHING_DEF" }, { - "src" : 427, - "dst" : 426, - "label" : "POST_DOMINATE" + "src": 427, + "dst": 426, + "label": "POST_DOMINATE" }, { - "src" : 1102, - "dst" : 1101, - "label" : "POST_DOMINATE" + "src": 1102, + "dst": 1101, + "label": "POST_DOMINATE" }, { - "src" : 1052, - "dst" : 1043, - "label" : "REACHING_DEF" + "src": 1052, + "dst": 1043, + "label": "REACHING_DEF" }, { - "src" : 378, - "dst" : 377, - "label" : "REACHING_DEF" + "src": 378, + "dst": 377, + "label": "REACHING_DEF" }, { - "src" : 1198, - "dst" : 1199, - "label" : "CFG" + "src": 1198, + "dst": 1199, + "label": "CFG" }, { - "src" : 347, - "dst" : 346, - "label" : "POST_DOMINATE" + "src": 347, + "dst": 346, + "label": "POST_DOMINATE" }, { - "src" : 502, - "dst" : 501, - "label" : "REACHING_DEF" + "src": 502, + "dst": 501, + "label": "REACHING_DEF" }, { - "src" : 1164, - "dst" : 1192, - "label" : "REACHING_DEF" + "src": 1164, + "dst": 1192, + "label": "REACHING_DEF" }, { - "src" : 1188, - "dst" : 1189, - "label" : "DOMINATE" + "src": 1188, + "dst": 1189, + "label": "DOMINATE" }, { - "src" : 484, - "dst" : 485, - "label" : "CFG" + "src": 484, + "dst": 485, + "label": "CFG" }, { - "src" : 781, - "dst" : 780, - "label" : "POST_DOMINATE" + "src": 781, + "dst": 780, + "label": "POST_DOMINATE" }, { - "src" : 1003, - "dst" : 1012, - "label" : "REACHING_DEF" + "src": 1003, + "dst": 1012, + "label": "REACHING_DEF" }, { - "src" : 357, - "dst" : 374, - "label" : "REACHING_DEF" + "src": 357, + "dst": 374, + "label": "REACHING_DEF" }, { - "src" : 782, - "dst" : 781, - "label" : "POST_DOMINATE" + "src": 782, + "dst": 781, + "label": "POST_DOMINATE" }, { - "src" : 469, - "dst" : 470, - "label" : "CFG" + "src": 469, + "dst": 470, + "label": "CFG" }, { - "src" : 1053, - "dst" : 1051, - "label" : "POST_DOMINATE" + "src": 1053, + "dst": 1051, + "label": "POST_DOMINATE" }, { - "src" : 1049, - "dst" : 177, - "label" : "RECEIVER" + "src": 1049, + "dst": 177, + "label": "RECEIVER" }, { - "src" : 1052, - "dst" : 177, - "label" : "POST_DOMINATE" + "src": 1052, + "dst": 177, + "label": "POST_DOMINATE" }, { - "src" : 1003, - "dst" : 1001, - "label" : "POST_DOMINATE" + "src": 1003, + "dst": 1001, + "label": "POST_DOMINATE" }, { - "src" : 1041, - "dst" : 1042, - "label" : "ARGUMENT" + "src": 1041, + "dst": 1042, + "label": "ARGUMENT" }, { - "src" : 157, - "dst" : 156, - "label" : "CFG" + "src": 157, + "dst": 156, + "label": "CFG" }, { - "src" : 1033, - "dst" : 1032, - "label" : "REACHING_DEF" + "src": 1033, + "dst": 1032, + "label": "REACHING_DEF" }, { - "src" : 1041, - "dst" : 1042, - "label" : "POST_DOMINATE" + "src": 1041, + "dst": 1042, + "label": "POST_DOMINATE" }, { - "src" : 281, - "dst" : 317, - "label" : "REACHING_DEF" + "src": 281, + "dst": 317, + "label": "REACHING_DEF" }, { - "src" : 1041, - "dst" : 1042, - "label" : "AST" + "src": 1041, + "dst": 1042, + "label": "AST" }, { - "src" : 1050, - "dst" : 1054, - "label" : "DOMINATE" + "src": 1050, + "dst": 1054, + "label": "DOMINATE" }, { - "src" : 157, - "dst" : 156, - "label" : "REACHING_DEF" + "src": 157, + "dst": 156, + "label": "REACHING_DEF" }, { - "src" : 302, - "dst" : 171, - "label" : "POST_DOMINATE" + "src": 302, + "dst": 171, + "label": "POST_DOMINATE" }, { - "src" : 682, - "dst" : 681, - "label" : "POST_DOMINATE" + "src": 682, + "dst": 681, + "label": "POST_DOMINATE" }, { - "src" : 1124, - "dst" : 1123, - "label" : "POST_DOMINATE" + "src": 1124, + "dst": 1123, + "label": "POST_DOMINATE" }, { - "src" : 1100, - "dst" : 1101, - "label" : "CFG" + "src": 1100, + "dst": 1101, + "label": "CFG" }, { - "src" : 171, - "dst" : 172, - "label" : "REF" + "src": 171, + "dst": 172, + "label": "REF" }, { - "src" : 1033, - "dst" : 1032, - "label" : "DOMINATE" + "src": 1033, + "dst": 1032, + "label": "DOMINATE" }, { - "src" : 171, - "dst" : 302, - "label" : "CFG" + "src": 171, + "dst": 302, + "label": "CFG" }, { - "src" : 371, - "dst" : 370, - "label" : "REACHING_DEF" + "src": 371, + "dst": 370, + "label": "REACHING_DEF" }, { - "src" : 1100, - "dst" : 1101, - "label" : "DOMINATE" + "src": 1100, + "dst": 1101, + "label": "DOMINATE" }, { - "src" : 1042, - "dst" : 1041, - "label" : "DOMINATE" + "src": 1042, + "dst": 1041, + "label": "DOMINATE" }, { - "src" : 114, - "dst" : 115, - "label" : "REACHING_DEF" + "src": 114, + "dst": 115, + "label": "REACHING_DEF" }, { - "src" : 1048, - "dst" : 1056, - "label" : "REACHING_DEF" + "src": 1048, + "dst": 1056, + "label": "REACHING_DEF" }, { - "src" : 445, - "dst" : 469, - "label" : "REACHING_DEF" + "src": 445, + "dst": 469, + "label": "REACHING_DEF" }, { - "src" : 1045, - "dst" : 1040, - "label" : "REACHING_DEF" + "src": 1045, + "dst": 1040, + "label": "REACHING_DEF" }, { - "src" : 1049, - "dst" : 177, - "label" : "AST" + "src": 1049, + "dst": 177, + "label": "AST" }, { - "src" : 1032, - "dst" : 1033, - "label" : "AST" + "src": 1032, + "dst": 1033, + "label": "AST" }, { - "src" : 531, - "dst" : 535, - "label" : "REACHING_DEF" + "src": 531, + "dst": 535, + "label": "REACHING_DEF" }, { - "src" : 1194, - "dst" : 1193, - "label" : "POST_DOMINATE" + "src": 1194, + "dst": 1193, + "label": "POST_DOMINATE" }, { - "src" : 341, - "dst" : 349, - "label" : "REACHING_DEF" + "src": 341, + "dst": 349, + "label": "REACHING_DEF" }, { - "src" : 659, - "dst" : 743, - "label" : "REACHING_DEF" + "src": 659, + "dst": 743, + "label": "REACHING_DEF" }, { - "src" : 900, - "dst" : 899, - "label" : "POST_DOMINATE" + "src": 900, + "dst": 899, + "label": "POST_DOMINATE" }, { - "src" : 683, - "dst" : 682, - "label" : "POST_DOMINATE" + "src": 683, + "dst": 682, + "label": "POST_DOMINATE" }, { - "src" : 1054, - "dst" : 997, - "label" : "REF" + "src": 1054, + "dst": 997, + "label": "REF" }, { - "src" : 670, - "dst" : 780, - "label" : "REACHING_DEF" + "src": 670, + "dst": 780, + "label": "REACHING_DEF" }, { - "src" : 290, - "dst" : 303, - "label" : "REACHING_DEF" + "src": 290, + "dst": 303, + "label": "REACHING_DEF" }, { - "src" : 1042, - "dst" : 1041, - "label" : "REACHING_DEF" + "src": 1042, + "dst": 1041, + "label": "REACHING_DEF" }, { - "src" : 470, - "dst" : 469, - "label" : "POST_DOMINATE" + "src": 470, + "dst": 469, + "label": "POST_DOMINATE" }, { - "src" : 780, - "dst" : 781, - "label" : "DOMINATE" + "src": 780, + "dst": 781, + "label": "DOMINATE" }, { - "src" : 1033, - "dst" : 1031, - "label" : "POST_DOMINATE" + "src": 1033, + "dst": 1031, + "label": "POST_DOMINATE" }, { - "src" : 502, - "dst" : 503, - "label" : "DOMINATE" + "src": 502, + "dst": 503, + "label": "DOMINATE" }, { - "src" : 720, - "dst" : 719, - "label" : "POST_DOMINATE" + "src": 720, + "dst": 719, + "label": "POST_DOMINATE" }, { - "src" : 670, - "dst" : 718, - "label" : "REACHING_DEF" + "src": 670, + "dst": 718, + "label": "REACHING_DEF" }, { - "src" : 1199, - "dst" : 1200, - "label" : "DOMINATE" + "src": 1199, + "dst": 1200, + "label": "DOMINATE" }, { - "src" : 1123, - "dst" : 1114, - "label" : "REF" + "src": 1123, + "dst": 1114, + "label": "REF" }, { - "src" : 1042, - "dst" : 1043, - "label" : "POST_DOMINATE" + "src": 1042, + "dst": 1043, + "label": "POST_DOMINATE" }, { - "src" : 1042, - "dst" : 1041, - "label" : "CFG" + "src": 1042, + "dst": 1041, + "label": "CFG" }, { - "src" : 1048, - "dst" : 997, - "label" : "REF" + "src": 1048, + "dst": 997, + "label": "REF" }, { - "src" : 1192, - "dst" : 1193, - "label" : "DOMINATE" + "src": 1192, + "dst": 1193, + "label": "DOMINATE" }, { - "src" : 501, - "dst" : 502, - "label" : "CFG" + "src": 501, + "dst": 502, + "label": "CFG" }, { - "src" : 670, - "dst" : 898, - "label" : "REACHING_DEF" + "src": 670, + "dst": 898, + "label": "REACHING_DEF" }, { - "src" : 1032, - "dst" : 1033, - "label" : "POST_DOMINATE" + "src": 1032, + "dst": 1033, + "label": "POST_DOMINATE" }, { - "src" : 374, - "dst" : 370, - "label" : "REACHING_DEF" + "src": 374, + "dst": 370, + "label": "REACHING_DEF" }, { - "src" : 1011, - "dst" : 1012, - "label" : "POST_DOMINATE" + "src": 1011, + "dst": 1012, + "label": "POST_DOMINATE" }, { - "src" : 349, - "dst" : 341, - "label" : "REF" + "src": 349, + "dst": 341, + "label": "REF" }, { - "src" : 1010, - "dst" : 1011, - "label" : "AST" + "src": 1010, + "dst": 1011, + "label": "AST" }, { - "src" : 177, - "dst" : 1052, - "label" : "CFG" + "src": 177, + "dst": 1052, + "label": "CFG" }, { - "src" : 1032, - "dst" : 1033, - "label" : "RECEIVER" + "src": 1032, + "dst": 1033, + "label": "RECEIVER" }, { - "src" : 1298, - "dst" : 1305, - "label" : "REACHING_DEF" + "src": 1298, + "dst": 1305, + "label": "REACHING_DEF" }, { - "src" : 303, - "dst" : 302, - "label" : "POST_DOMINATE" + "src": 303, + "dst": 302, + "label": "POST_DOMINATE" }, { - "src" : 1101, - "dst" : 1102, - "label" : "DOMINATE" + "src": 1101, + "dst": 1102, + "label": "DOMINATE" }, { - "src" : 156, - "dst" : 157, - "label" : "POST_DOMINATE" + "src": 156, + "dst": 157, + "label": "POST_DOMINATE" }, { - "src" : 1033, - "dst" : 996, - "label" : "REF" + "src": 1033, + "dst": 996, + "label": "REF" }, { - "src" : 377, - "dst" : 378, - "label" : "DOMINATE" + "src": 377, + "dst": 378, + "label": "DOMINATE" }, { - "src" : 1043, - "dst" : 1042, - "label" : "DOMINATE" + "src": 1043, + "dst": 1042, + "label": "DOMINATE" }, { - "src" : 782, - "dst" : 780, - "label" : "REACHING_DEF" + "src": 782, + "dst": 780, + "label": "REACHING_DEF" }, { - "src" : 1010, - "dst" : 1011, - "label" : "RECEIVER" + "src": 1010, + "dst": 1011, + "label": "RECEIVER" }, { - "src" : 1167, - "dst" : 1188, - "label" : "REACHING_DEF" + "src": 1167, + "dst": 1188, + "label": "REACHING_DEF" }, { - "src" : 377, - "dst" : 378, - "label" : "CFG" + "src": 377, + "dst": 378, + "label": "CFG" }, { - "src" : 1040, - "dst" : 1053, - "label" : "REACHING_DEF" + "src": 1040, + "dst": 1053, + "label": "REACHING_DEF" }, { - "src" : 157, - "dst" : 153, - "label" : "POST_DOMINATE" + "src": 157, + "dst": 153, + "label": "POST_DOMINATE" }, { - "src" : 501, - "dst" : 502, - "label" : "DOMINATE" + "src": 501, + "dst": 502, + "label": "DOMINATE" }, { - "src" : 1013, - "dst" : 1010, - "label" : "REACHING_DEF" + "src": 1013, + "dst": 1010, + "label": "REACHING_DEF" }, { - "src" : 156, - "dst" : 157, - "label" : "AST" + "src": 156, + "dst": 157, + "label": "AST" }, { - "src" : 1040, - "dst" : 1043, - "label" : "CFG" + "src": 1040, + "dst": 1043, + "label": "CFG" }, { - "src" : 318, - "dst" : 317, - "label" : "REACHING_DEF" + "src": 318, + "dst": 317, + "label": "REACHING_DEF" }, { - "src" : 1031, - "dst" : 1033, - "label" : "CFG" + "src": 1031, + "dst": 1033, + "label": "CFG" }, { - "src" : 1031, - "dst" : 1033, - "label" : "DOMINATE" + "src": 1031, + "dst": 1033, + "label": "DOMINATE" }, { - "src" : 1123, - "dst" : 1124, - "label" : "DOMINATE" + "src": 1123, + "dst": 1124, + "label": "DOMINATE" }, { - "src" : 1001, - "dst" : 1003, - "label" : "DOMINATE" + "src": 1001, + "dst": 1003, + "label": "DOMINATE" }, { - "src" : 302, - "dst" : 303, - "label" : "DOMINATE" + "src": 302, + "dst": 303, + "label": "DOMINATE" }, { - "src" : 1053, - "dst" : 1050, - "label" : "DOMINATE" + "src": 1053, + "dst": 1050, + "label": "DOMINATE" }, { - "src" : 1018, - "dst" : 1019, - "label" : "REACHING_DEF" + "src": 1018, + "dst": 1019, + "label": "REACHING_DEF" }, { - "src" : 374, - "dst" : 370, - "label" : "CFG" + "src": 374, + "dst": 370, + "label": "CFG" }, { - "src" : 1124, - "dst" : 1123, - "label" : "REACHING_DEF" + "src": 1124, + "dst": 1123, + "label": "REACHING_DEF" }, { - "src" : 1199, - "dst" : 1198, - "label" : "REACHING_DEF" + "src": 1199, + "dst": 1198, + "label": "REACHING_DEF" }, { - "src" : 744, - "dst" : 743, - "label" : "POST_DOMINATE" + "src": 744, + "dst": 743, + "label": "POST_DOMINATE" }, { - "src" : 177, - "dst" : 178, - "label" : "REF" + "src": 177, + "dst": 178, + "label": "REF" }, { - "src" : 371, - "dst" : 374, - "label" : "DOMINATE" + "src": 371, + "dst": 374, + "label": "DOMINATE" }, { - "src" : 502, - "dst" : 501, - "label" : "POST_DOMINATE" + "src": 502, + "dst": 501, + "label": "POST_DOMINATE" }, { - "src" : 1051, - "dst" : 1052, - "label" : "RECEIVER" + "src": 1051, + "dst": 1052, + "label": "RECEIVER" }, { - "src" : 370, - "dst" : 374, - "label" : "ARGUMENT" + "src": 370, + "dst": 374, + "label": "ARGUMENT" }, { - "src" : 1007, - "dst" : 1008, - "label" : "CFG" + "src": 1007, + "dst": 1008, + "label": "CFG" }, { - "src" : 1008, - "dst" : 1007, - "label" : "POST_DOMINATE" + "src": 1008, + "dst": 1007, + "label": "POST_DOMINATE" }, { - "src" : 484, - "dst" : 445, - "label" : "REF" + "src": 484, + "dst": 445, + "label": "REF" }, { - "src" : 254, - "dst" : 248, - "label" : "REF" + "src": 254, + "dst": 248, + "label": "REF" }, { - "src" : 1173, - "dst" : 1174, - "label" : "REACHING_DEF" + "src": 1173, + "dst": 1174, + "label": "REACHING_DEF" }, { - "src" : 1040, - "dst" : 1043, - "label" : "DOMINATE" + "src": 1040, + "dst": 1043, + "label": "DOMINATE" }, { - "src" : 1010, - "dst" : 1011, - "label" : "POST_DOMINATE" + "src": 1010, + "dst": 1011, + "label": "POST_DOMINATE" }, { - "src" : 681, - "dst" : 670, - "label" : "REF" + "src": 681, + "dst": 670, + "label": "REF" }, { - "src" : 719, - "dst" : 720, - "label" : "CFG" + "src": 719, + "dst": 720, + "label": "CFG" }, { - "src" : 1011, - "dst" : 1010, - "label" : "DOMINATE" + "src": 1011, + "dst": 1010, + "label": "DOMINATE" }, { - "src" : 374, - "dst" : 371, - "label" : "REACHING_DEF" + "src": 374, + "dst": 371, + "label": "REACHING_DEF" }, { - "src" : 346, - "dst" : 340, - "label" : "REF" + "src": 346, + "dst": 340, + "label": "REF" }, { - "src" : 349, - "dst" : 350, - "label" : "CFG" + "src": 349, + "dst": 350, + "label": "CFG" }, { - "src" : 1054, - "dst" : 1049, - "label" : "CFG" + "src": 1054, + "dst": 1049, + "label": "CFG" }, { - "src" : 1001, - "dst" : 1003, - "label" : "CFG" + "src": 1001, + "dst": 1003, + "label": "CFG" }, { - "src" : 1048, - "dst" : 177, - "label" : "CFG" + "src": 1048, + "dst": 177, + "label": "CFG" }, { - "src" : 899, - "dst" : 898, - "label" : "POST_DOMINATE" + "src": 899, + "dst": 898, + "label": "POST_DOMINATE" }, { - "src" : 1101, - "dst" : 1102, - "label" : "CFG" + "src": 1101, + "dst": 1102, + "label": "CFG" }, { - "src" : 1189, - "dst" : 1188, - "label" : "REACHING_DEF" + "src": 1189, + "dst": 1188, + "label": "REACHING_DEF" }, { - "src" : 1040, - "dst" : 1041, - "label" : "REACHING_DEF" + "src": 1040, + "dst": 1041, + "label": "REACHING_DEF" } ] }, - "paths" : [ + "paths": [ + [1123, 1114], + [254, 248], + [1053, 1051, 1050, 1049, 1048, 1056, 997, 1018, 1031, 1032], + [1037, 1040, 1053, 1051, 1050, 1049, 1048, 997, 1018, 1054], + [1038, 1037, 1040, 1053, 1045], + [781, 780, 670, 718], + [502, 501, 451], + [374, 370, 369, 377], + [1045, 1040, 1041], + [996, 1003, 1012, 1027, 1033, 1043, 1042, 1041, 1040, 1053, 1045], + [1043, 1042, 1041, 1040, 1053, 1051, 1050, 1049, 1048, 997, 1018, 1054], + [1173, 1174, 1165], + [743, 659], + [781, 780, 670, 681], + [1003, 1012, 1027, 1033, 1043, 1052, 1051, 1053, 1045, 1040, 1041], + [1003, 1012, 1027, 1033, 1032, 1031, 1056, 997, 1018, 1054, 1049, 1048], + [720, 718, 670, 681], + [1037, 1040, 1053, 1051, 1050, 1049, 1048, 1056, 997, 1018, 1031, 1032], + [341, 349], + [1048, 997, 1018, 1031, 1054, 1049], + [1114, 1123], + [1056, 997, 1018, 1031, 1054, 1049, 1048], + [1013, 1010], [ - 1123, - 1114 + 1012, 996, 1003, 1027, 1033, 1043, 1042, 1041, 1040, 1053, 1051, 1050, + 1049, 1048, 997, 1018, 1031, 1032 ], + [484, 445, 469], + [535, 519, 531], + [1051, 1053, 1050, 1049, 1048, 997, 1018, 1031, 1032], [ - 254, - 248 + 1033, 996, 1003, 1012, 1027, 1043, 1042, 1041, 1040, 1053, 1051, 1050, + 1049, 1048, 997, 1018, 1031, 1032 ], + [445, 469, 484], + [1164, 1192], + [531, 519], + [1101, 1100, 1097], + [290, 303], + [634, 616], + [1051, 1050, 1049, 1048, 1056, 997, 1018, 1054], + [157, 149], + [1124, 1123, 1114], + [1102, 1100, 1097], [ - 1053, - 1051, - 1050, - 1049, - 1048, - 1056, - 997, - 1018, - 1031, - 1032 - ], - [ - 1037, - 1040, - 1053, - 1051, - 1050, - 1049, - 1048, - 997, - 1018, - 1054 - ], - [ - 1038, - 1037, - 1040, - 1053, - 1045 - ], - [ - 781, - 780, - 670, - 718 - ], - [ - 502, - 501, - 451 - ], - [ - 374, - 370, - 369, - 377 - ], - [ - 1045, - 1040, - 1041 - ], - [ - 996, - 1003, - 1012, - 1027, - 1033, - 1043, - 1042, - 1041, - 1040, - 1053, - 1045 - ], - [ - 1043, - 1042, - 1041, - 1040, - 1053, - 1051, - 1050, - 1049, - 1048, - 997, - 1018, - 1054 - ], - [ - 1173, - 1174, - 1165 - ], - [ - 743, - 659 - ], - [ - 781, - 780, - 670, - 681 - ], - [ - 1003, - 1012, - 1027, - 1033, - 1043, - 1052, - 1051, - 1053, - 1045, - 1040, - 1041 - ], - [ - 1003, - 1012, - 1027, - 1033, - 1032, - 1031, - 1056, - 997, - 1018, - 1054, - 1049, - 1048 - ], - [ - 720, - 718, - 670, - 681 - ], - [ - 1037, - 1040, - 1053, - 1051, - 1050, - 1049, - 1048, - 1056, - 997, - 1018, - 1031, - 1032 - ], - [ - 341, - 349 - ], - [ - 1048, - 997, - 1018, - 1031, - 1054, - 1049 - ], - [ - 1114, - 1123 - ], - [ - 1056, - 997, - 1018, - 1031, - 1054, - 1049, - 1048 - ], - [ - 1013, - 1010 - ], - [ - 1012, - 996, - 1003, - 1027, - 1033, - 1043, - 1042, - 1041, - 1040, - 1053, - 1051, - 1050, - 1049, - 1048, - 997, - 1018, - 1031, - 1032 - ], - [ - 484, - 445, - 469 - ], - [ - 535, - 519, - 531 - ], - [ - 1051, - 1053, - 1050, - 1049, - 1048, - 997, - 1018, - 1031, - 1032 - ], - [ - 1033, - 996, - 1003, - 1012, - 1027, - 1043, - 1042, - 1041, - 1040, - 1053, - 1051, - 1050, - 1049, - 1048, - 997, - 1018, - 1031, - 1032 - ], - [ - 445, - 469, - 484 - ], - [ - 1164, - 1192 - ], - [ - 531, - 519 - ], - [ - 1101, - 1100, - 1097 - ], - [ - 290, - 303 - ], - [ - 634, - 616 - ], - [ - 1051, - 1050, - 1049, - 1048, - 1056, - 997, - 1018, - 1054 - ], - [ - 157, - 149 - ], - [ - 1124, - 1123, - 1114 - ], - [ - 1102, - 1100, - 1097 - ], - [ - 996, - 1003, - 1012, - 1027, - 1033, - 1043, - 1042, - 1041, - 1040, - 1053, - 1051, - 1050, - 1049, - 1048, - 997, - 1018, - 1031, - 1032 - ], - [ - 451, - 501 - ], - [ - 1041, - 1040, - 1053, - 1051, - 1050, - 1049, - 1048, - 1056, - 997, - 1018, - 1031, - 1032 - ], - [ - 1003, - 1012, - 1027, - 1033, - 1043, - 1042, - 1041, - 1040, - 1053, - 1051, - 1050, - 1049, - 1048, - 997, - 1018, - 1031, - 1032 - ], - [ - 1012, - 996, - 1003, - 1027, - 1033, - 1032, - 1031, - 1056, - 997, - 1018, - 1054, - 1049, - 1048 - ], - [ - 720, - 718, - 670, - 780 - ], - [ - 1198, - 1164, - 1192 - ], - [ - 1003, - 1012, - 1027, - 1033, - 1043, - 1042, - 1041, - 1040, - 1053, - 1051, - 1050, - 1049, - 1048, - 997, - 1018, - 1031, - 1054 - ], - [ - 1049, - 1048, - 1054, - 997, - 1018, - 1031, - 1032 - ], - [ - 1043, - 996, - 1003, - 1002, - 1001, - 1007 - ], - [ - 1045, - 1040, - 1053, - 1050, - 1049, - 1048, - 997, - 1018, - 1031, - 1032 - ], - [ - 1042, - 1041, - 1040, - 1053, - 1051, - 1050, - 1049, - 1048, - 1054, - 997, - 1018, - 1031, - 1032 - ], - [ - 530, - 531, - 535, - 519 - ], - [ - 1012, - 996, - 1003, - 1002, - 1001, - 1007 - ], - [ - 1012, - 996, - 1003, - 1027, - 1033, - 1043, - 1052, - 1051, - 1053, - 1045, - 1040, - 1041 - ], - [ - 1003, - 1012, - 996 - ], - [ - 317, - 281 - ], - [ - 1018, - 997 - ], - [ - 408, - 426 - ], - [ - 1188, - 1167 - ], - [ - 1041, - 1040, - 1053, - 1051, - 1050, - 1049, - 1048, - 997, - 1018, - 1054 - ], - [ - 1003, - 1002, - 1001, - 1007 - ], - [ - 519, - 531, - 535 - ], - [ - 393, - 396 - ], - [ - 781, - 780, - 670, - 898 - ], - [ - 255, - 254, - 248 - ], - [ - 1012, - 996, - 1003, - 1027, - 1033, - 1043, - 1042, - 1041, - 1040, - 1053, - 1051, - 1050, - 1049, - 1048, - 997, - 1018, - 1031, - 1054 - ], - [ - 1053, - 1051, - 1050, - 1049, - 1048, - 997, - 1018, - 1054 - ], - [ - 1033, - 996, - 1003, - 1012, - 1011, - 1010 - ], - [ - 1043, - 1042, - 1041, - 1040, - 1053, - 1051, - 1050, - 1049, - 1048, - 1056, - 997, - 1018, - 1031, - 1032 - ], - [ - 1033, - 1043, - 996, - 1003, - 1012, - 1027 - ], - [ - 303, - 290 - ], - [ - 1012, - 996, - 1003, - 1027, - 1033, - 1043, - 1042, - 1041, - 1040, - 1053, - 1045 - ], - [ - 681, - 670, - 898 - ], - [ - 1043, - 996, - 1003, - 1012, - 1027, - 1033, - 1032, - 1031, - 1056, - 997, - 1018, - 1054, - 1049, - 1048 - ], - [ - 681, - 670, - 780 - ], - [ - 248, - 254 - ], - [ - 396, - 393 + 996, 1003, 1012, 1027, 1033, 1043, 1042, 1041, 1040, 1053, 1051, 1050, + 1049, 1048, 997, 1018, 1031, 1032 ], + [451, 501], + [1041, 1040, 1053, 1051, 1050, 1049, 1048, 1056, 997, 1018, 1031, 1032], [ - 1298, - 1305 + 1003, 1012, 1027, 1033, 1043, 1042, 1041, 1040, 1053, 1051, 1050, 1049, + 1048, 997, 1018, 1031, 1032 ], [ - 1003, - 1012, - 1011, - 1010 + 1012, 996, 1003, 1027, 1033, 1032, 1031, 1056, 997, 1018, 1054, 1049, 1048 ], + [720, 718, 670, 780], + [1198, 1164, 1192], [ - 1033, - 996, - 1003, - 1012, - 1027, - 1043, - 1042, - 1041, - 1040, - 1053, - 1051, - 1050, - 1049, - 1048, - 997, - 1018, - 1031, - 1054 - ], - [ - 1033, - 996, - 1003, - 1002, - 1001, - 1007 - ], - [ - 659, - 743 - ], - [ - 1032, - 1031, - 1056, - 997, - 1018, - 1054, - 1049, - 1048 - ], - [ - 1200, - 1198, - 1164, - 1192 - ], - [ - 1033, - 996, - 1003, - 1012, - 1027, - 1043, - 1052, - 1051, - 1053, - 1045, - 1040, - 1041 - ], - [ - 426, - 408 - ], - [ - 1038, - 1037, - 1040, - 1053, - 1051, - 1050, - 1049, - 1048, - 997, - 1018, - 1031, - 1054 - ], - [ - 1043, - 996, - 1003, - 1012, - 1011, - 1010 - ], - [ - 1038, - 1037, - 1040, - 1041 - ], - [ - 1033, - 996, - 1003, - 1012, - 1027, - 1043, - 1042, - 1041, - 1040, - 1053, - 1045 - ], - [ - 378, - 377 + 1003, 1012, 1027, 1033, 1043, 1042, 1041, 1040, 1053, 1051, 1050, 1049, + 1048, 997, 1018, 1031, 1054 ], + [1049, 1048, 1054, 997, 1018, 1031, 1032], + [1043, 996, 1003, 1002, 1001, 1007], + [1045, 1040, 1053, 1050, 1049, 1048, 997, 1018, 1031, 1032], [ - 1038, - 1037, - 1040, - 1053, - 1051, - 1050, - 1049, - 1048, - 997, - 1018, - 1031, + 1042, 1041, 1040, 1053, 1051, 1050, 1049, 1048, 1054, 997, 1018, 1031, 1032 ], + [530, 531, 535, 519], + [1012, 996, 1003, 1002, 1001, 1007], + [1012, 996, 1003, 1027, 1033, 1043, 1052, 1051, 1053, 1045, 1040, 1041], + [1003, 1012, 996], + [317, 281], + [1018, 997], + [408, 426], + [1188, 1167], + [1041, 1040, 1053, 1051, 1050, 1049, 1048, 997, 1018, 1054], + [1003, 1002, 1001, 1007], + [519, 531, 535], + [393, 396], + [781, 780, 670, 898], + [255, 254, 248], [ - 1193, - 1192, - 1164, - 1198 + 1012, 996, 1003, 1027, 1033, 1043, 1042, 1041, 1040, 1053, 1051, 1050, + 1049, 1048, 997, 1018, 1031, 1054 ], + [1053, 1051, 1050, 1049, 1048, 997, 1018, 1054], + [1033, 996, 1003, 1012, 1011, 1010], [ - 1165, - 1174 + 1043, 1042, 1041, 1040, 1053, 1051, 1050, 1049, 1048, 1056, 997, 1018, + 1031, 1032 ], + [1033, 1043, 996, 1003, 1012, 1027], + [303, 290], + [1012, 996, 1003, 1027, 1033, 1043, 1042, 1041, 1040, 1053, 1045], + [681, 670, 898], [ - 1167, - 1188 + 1043, 996, 1003, 1012, 1027, 1033, 1032, 1031, 1056, 997, 1018, 1054, + 1049, 1048 ], + [681, 670, 780], + [248, 254], + [396, 393], + [1298, 1305], + [1003, 1012, 1011, 1010], [ - 282, - 302 + 1033, 996, 1003, 1012, 1027, 1043, 1042, 1041, 1040, 1053, 1051, 1050, + 1049, 1048, 997, 1018, 1031, 1054 ], + [1033, 996, 1003, 1002, 1001, 1007], + [659, 743], + [1032, 1031, 1056, 997, 1018, 1054, 1049, 1048], + [1200, 1198, 1164, 1192], + [1033, 996, 1003, 1012, 1027, 1043, 1052, 1051, 1053, 1045, 1040, 1041], + [426, 408], + [1038, 1037, 1040, 1053, 1051, 1050, 1049, 1048, 997, 1018, 1031, 1054], + [1043, 996, 1003, 1012, 1011, 1010], + [1038, 1037, 1040, 1041], + [1033, 996, 1003, 1012, 1027, 1043, 1042, 1041, 1040, 1053, 1045], + [378, 377], + [1038, 1037, 1040, 1053, 1051, 1050, 1049, 1048, 997, 1018, 1031, 1032], + [1193, 1192, 1164, 1198], + [1165, 1174], + [1167, 1188], + [282, 302], + [1045, 1040, 1053, 1050, 1049, 1048, 997, 1018, 1031, 1054], + [1097, 1100], + [1008, 1007], + [1194, 1192, 1164, 1198], [ - 1045, - 1040, - 1053, - 1050, - 1049, - 1048, - 997, - 1018, - 1031, + 1042, 1041, 1040, 1053, 1051, 1050, 1049, 1048, 1056, 997, 1018, 1031, 1054 ], + [1049, 1048, 1056, 997, 1018, 1031, 1054], + [350, 349, 341], + [616, 634], + [346, 340], + [720, 718, 670, 898], + [681, 670, 718], + [302, 282], [ - 1097, - 1100 - ], - [ - 1008, - 1007 - ], - [ - 1194, - 1192, - 1164, - 1198 + 996, 1003, 1012, 1027, 1033, 1043, 1042, 1041, 1040, 1053, 1051, 1050, + 1049, 1048, 997, 1018, 1031, 1054 ], - [ - 1042, - 1041, - 1040, - 1053, - 1051, - 1050, - 1049, - 1048, - 1056, - 997, - 1018, - 1031, - 1054 - ], - [ - 1049, - 1048, - 1056, - 997, - 1018, - 1031, - 1054 - ], - [ - 350, - 349, - 341 - ], - [ - 616, - 634 - ], - [ - 346, - 340 - ], - [ - 720, - 718, - 670, - 898 - ], - [ - 681, - 670, - 718 - ], - [ - 302, - 282 - ], - [ - 996, - 1003, - 1012, - 1027, - 1033, - 1043, - 1042, - 1041, - 1040, - 1053, - 1051, - 1050, - 1049, - 1048, - 997, - 1018, - 1031, - 1054 - ], - [ - 469, - 445 - ], - [ - 340, - 346 - ], - [ - 1003, - 1012, - 1027, - 1033, - 1043, - 1042, - 1041, - 1040, - 1053, - 1045 - ] + [469, 445], + [340, 346], + [1003, 1012, 1027, 1033, 1043, 1042, 1041, 1040, 1053, 1045] ] -} \ No newline at end of file +} diff --git a/test/data/jt-sbom.json b/test/data/jt-sbom.json index 9bce88297..c28b3f4ae 100644 --- a/test/data/jt-sbom.json +++ b/test/data/jt-sbom.json @@ -2806,9 +2806,7 @@ }, { "ref": "pkg:maven/com.squareup.okio/okio@3.2.0?type=jar", - "dependsOn": [ - "pkg:maven/com.squareup.okio/okio-jvm@3.2.0?type=jar" - ] + "dependsOn": ["pkg:maven/com.squareup.okio/okio-jvm@3.2.0?type=jar"] }, { "ref": "pkg:maven/com.squareup.okio/okio-jvm@3.2.0?type=jar", @@ -2868,9 +2866,7 @@ }, { "ref": "pkg:maven/io.prometheus/simpleclient_common@0.16.0?type=jar", - "dependsOn": [ - "pkg:maven/io.prometheus/simpleclient@0.16.0?type=jar" - ] + "dependsOn": ["pkg:maven/io.prometheus/simpleclient@0.16.0?type=jar"] }, { "ref": "pkg:maven/io.prometheus/simpleclient@0.16.0?type=jar", @@ -2927,9 +2923,7 @@ }, { "ref": "pkg:maven/org.springframework/spring-core@6.0.8?type=jar", - "dependsOn": [ - "pkg:maven/org.springframework/spring-jcl@6.0.8?type=jar" - ] + "dependsOn": ["pkg:maven/org.springframework/spring-jcl@6.0.8?type=jar"] }, { "ref": "pkg:maven/org.springframework/spring-jcl@6.0.8?type=jar", @@ -2944,9 +2938,7 @@ }, { "ref": "pkg:maven/org.springframework/spring-aop@6.0.8?type=jar", - "dependsOn": [ - "pkg:maven/org.springframework/spring-beans@6.0.8?type=jar" - ] + "dependsOn": ["pkg:maven/org.springframework/spring-beans@6.0.8?type=jar"] }, { "ref": "pkg:maven/org.springframework/spring-beans@6.0.8?type=jar", @@ -2980,9 +2972,7 @@ }, { "ref": "pkg:maven/org.slf4j/jul-to-slf4j@2.0.7?type=jar", - "dependsOn": [ - "pkg:maven/org.slf4j/slf4j-api@2.0.7?type=jar" - ] + "dependsOn": ["pkg:maven/org.slf4j/slf4j-api@2.0.7?type=jar"] }, { "ref": "pkg:maven/jakarta.annotation/jakarta.annotation-api@2.1.1?type=jar", @@ -3268,15 +3258,11 @@ }, { "ref": "pkg:maven/net.minidev/json-smart@2.4.10?type=jar", - "dependsOn": [ - "pkg:maven/net.minidev/accessors-smart@2.4.9?type=jar" - ] + "dependsOn": ["pkg:maven/net.minidev/accessors-smart@2.4.9?type=jar"] }, { "ref": "pkg:maven/net.minidev/accessors-smart@2.4.9?type=jar", - "dependsOn": [ - "pkg:maven/org.ow2.asm/asm@9.3?type=jar" - ] + "dependsOn": ["pkg:maven/org.ow2.asm/asm@9.3?type=jar"] }, { "ref": "pkg:maven/org.ow2.asm/asm@9.3?type=jar", @@ -3294,9 +3280,7 @@ }, { "ref": "pkg:maven/org.assertj/assertj-core@3.24.2?type=jar", - "dependsOn": [ - "pkg:maven/net.bytebuddy/byte-buddy@1.12.23?type=jar" - ] + "dependsOn": ["pkg:maven/net.bytebuddy/byte-buddy@1.12.23?type=jar"] }, { "ref": "pkg:maven/net.bytebuddy/byte-buddy@1.12.23?type=jar", @@ -3338,15 +3322,11 @@ }, { "ref": "pkg:maven/org.junit.jupiter/junit-jupiter-params@5.10.0-M1?type=jar", - "dependsOn": [ - "pkg:maven/org.apiguardian/apiguardian-api@1.1.2?type=jar" - ] + "dependsOn": ["pkg:maven/org.apiguardian/apiguardian-api@1.1.2?type=jar"] }, { "ref": "pkg:maven/org.junit.platform/junit-platform-commons@1.9.2?type=jar", - "dependsOn": [ - "pkg:maven/org.apiguardian/apiguardian-api@1.1.2?type=jar" - ] + "dependsOn": ["pkg:maven/org.apiguardian/apiguardian-api@1.1.2?type=jar"] }, { "ref": "pkg:maven/org.opentest4j/opentest4j@1.2.0?type=jar", @@ -3427,9 +3407,7 @@ }, { "ref": "pkg:maven/io.grpc/grpc-protobuf-lite@1.55.1?type=jar", - "dependsOn": [ - "pkg:maven/com.google.code.findbugs/jsr305@3.0.2?type=jar" - ] + "dependsOn": ["pkg:maven/com.google.code.findbugs/jsr305@3.0.2?type=jar"] }, { "ref": "pkg:maven/io.grpc/grpc-stub@1.55.1?type=jar", @@ -3473,9 +3451,7 @@ }, { "ref": "pkg:maven/io.netty/netty-buffer@4.1.91.Final?type=jar", - "dependsOn": [ - "pkg:maven/io.netty/netty-common@4.1.91.Final?type=jar" - ] + "dependsOn": ["pkg:maven/io.netty/netty-common@4.1.91.Final?type=jar"] }, { "ref": "pkg:maven/io.netty/netty-transport@4.1.91.Final?type=jar", @@ -3486,15 +3462,11 @@ }, { "ref": "pkg:maven/io.netty/netty-resolver@4.1.91.Final?type=jar", - "dependsOn": [ - "pkg:maven/io.netty/netty-common@4.1.91.Final?type=jar" - ] + "dependsOn": ["pkg:maven/io.netty/netty-common@4.1.91.Final?type=jar"] }, { "ref": "pkg:maven/io.netty/netty-codec@4.1.91.Final?type=jar", - "dependsOn": [ - "pkg:maven/io.netty/netty-common@4.1.91.Final?type=jar" - ] + "dependsOn": ["pkg:maven/io.netty/netty-common@4.1.91.Final?type=jar"] }, { "ref": "pkg:maven/io.netty/netty-handler@4.1.91.Final?type=jar", @@ -3505,21 +3477,15 @@ }, { "ref": "pkg:maven/io.netty/netty-transport-native-unix-common@4.1.91.Final?type=jar", - "dependsOn": [ - "pkg:maven/io.netty/netty-common@4.1.91.Final?type=jar" - ] + "dependsOn": ["pkg:maven/io.netty/netty-common@4.1.91.Final?type=jar"] }, { "ref": "pkg:maven/io.netty/netty-codec-http@4.1.91.Final?type=jar", - "dependsOn": [ - "pkg:maven/io.netty/netty-common@4.1.91.Final?type=jar" - ] + "dependsOn": ["pkg:maven/io.netty/netty-common@4.1.91.Final?type=jar"] }, { "ref": "pkg:maven/org.awaitility/awaitility@4.2.0?type=jar", - "dependsOn": [ - "pkg:maven/org.hamcrest/hamcrest@2.2?type=jar" - ] + "dependsOn": ["pkg:maven/org.hamcrest/hamcrest@2.2?type=jar"] }, { "ref": "pkg:maven/org.junit.jupiter/junit-jupiter-engine@5.10.0-M1?type=jar", @@ -3529,9 +3495,7 @@ }, { "ref": "pkg:maven/org.junit.platform/junit-platform-engine@1.9.2?type=jar", - "dependsOn": [ - "pkg:maven/org.opentest4j/opentest4j@1.2.0?type=jar" - ] + "dependsOn": ["pkg:maven/org.opentest4j/opentest4j@1.2.0?type=jar"] }, { "ref": "pkg:maven/org.objenesis/objenesis@3.2?type=jar", @@ -3572,9 +3536,7 @@ }, { "ref": "pkg:maven/io.netty/netty-codec-socks@4.1.91.Final?type=jar", - "dependsOn": [ - "pkg:maven/io.netty/netty-common@4.1.91.Final?type=jar" - ] + "dependsOn": ["pkg:maven/io.netty/netty-common@4.1.91.Final?type=jar"] }, { "ref": "pkg:maven/org.junit.jupiter/junit-jupiter-engine@5.9.2?type=jar", @@ -3583,4 +3545,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/test/data/openapi/openapi-spec.json b/test/data/openapi/openapi-spec.json index 96f71227d..339b7c4b2 100644 --- a/test/data/openapi/openapi-spec.json +++ b/test/data/openapi/openapi-spec.json @@ -1,45 +1,47 @@ { - "openapi" : "3.0.1", - "info" : { - "title" : "OWASP crAPI API", - "version" : "1-oas3" + "openapi": "3.0.1", + "info": { + "title": "OWASP crAPI API", + "version": "1-oas3" }, - "externalDocs" : { - "description" : "Completely Ridiculous API (crAPI)", - "url" : "https://github.com/OWASP/crAPI" + "externalDocs": { + "description": "Completely Ridiculous API (crAPI)", + "url": "https://github.com/OWASP/crAPI" }, - "servers" : [ { - "url" : "http://localhost:8888" - } ], - "paths" : { - "/identity/api/auth/signup" : { - "post" : { - "operationId" : "signup", - "summary" : "Sign up", - "description" : "Used to create an account", - "tags" : [ "Identity / Auth" ], - "security" : [ ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "required" : [ "email", "name", "number", "password" ], - "properties" : { - "email" : { - "type" : "string", + "servers": [ + { + "url": "http://localhost:8888" + } + ], + "paths": { + "/identity/api/auth/signup": { + "post": { + "operationId": "signup", + "summary": "Sign up", + "description": "Used to create an account", + "tags": ["Identity / Auth"], + "security": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "required": ["email", "name", "number", "password"], + "properties": { + "email": { + "type": "string", "example": "Cristobal.Weissnat@example.com" }, - "name" : { - "type" : "string", + "name": { + "type": "string", "example": "Cristobal.Weissnat" }, - "number" : { - "type" : "string", + "number": { + "type": "string", "example": "6915656974" }, - "password" : { - "type" : "string", + "password": { + "type": "string", "example": "5hmb0gvyC__hVQg" } } @@ -47,60 +49,60 @@ } } }, - "responses" : { - "200" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/CRAPIResponse" + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CRAPIResponse" } } }, - "description" : "User successfully registered" + "description": "User successfully registered" }, - "403" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/CRAPIResponse" + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CRAPIResponse" } } }, - "description" : "" + "description": "" }, - "500" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/CRAPIResponse" + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CRAPIResponse" } } }, - "description" : "" + "description": "" } } }, - "parameters" : [ ] + "parameters": [] }, - "/identity/api/auth/login" : { - "post" : { - "operationId" : "login", - "summary" : "Login", - "tags" : [ "Identity / Auth" ], - "security" : [ ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "required" : [ "email", "password" ], - "properties" : { - "email" : { - "type" : "string", + "/identity/api/auth/login": { + "post": { + "operationId": "login", + "summary": "Login", + "tags": ["Identity / Auth"], + "security": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "required": ["email", "password"], + "properties": { + "email": { + "type": "string", "example": "test@example.com" }, - "password" : { - "type" : "string", + "password": { + "type": "string", "example": "Test!123" } } @@ -108,47 +110,47 @@ } } }, - "responses" : { - "200" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/JwtResponse" + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/JwtResponse" } } }, - "description" : "" + "description": "" }, - "500" : { - "content" : { - "text/plain" : { - "schema" : { - "type" : "string" + "500": { + "content": { + "text/plain": { + "schema": { + "type": "string" } } }, - "description" : "" + "description": "" } } }, - "parameters" : [ ] + "parameters": [] }, - "/identity/api/auth/forget-password" : { - "post" : { - "operationId" : "forgot_password", - "summary" : "Forgot Password", - "description" : "Sends an OTP to email to reset password", - "tags" : [ "Identity / Auth" ], - "security" : [ ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "required" : [ "email" ], - "properties" : { - "email" : { - "type" : "string", + "/identity/api/auth/forget-password": { + "post": { + "operationId": "forgot_password", + "summary": "Forgot Password", + "description": "Sends an OTP to email to reset password", + "tags": ["Identity / Auth"], + "security": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "required": ["email"], + "properties": { + "email": { + "type": "string", "example": "adam007@example.com" } } @@ -156,116 +158,116 @@ } } }, - "responses" : { - "200" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/CRAPIResponse" + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CRAPIResponse" } } }, - "description" : "Successfully send OTP" + "description": "Successfully send OTP" }, - "404" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/CRAPIResponse" + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CRAPIResponse" } } }, - "description" : "Email address not registered" + "description": "Email address not registered" } } }, - "parameters" : [ ] + "parameters": [] }, - "/identity/api/auth/v3/check-otp" : { - "post" : { - "operationId" : "check_otp_v3", - "summary" : "Check OTP - Version 3", - "description" : "To validate the One-Time-Password sent using `forgot password`", - "tags" : [ "Identity / Auth" ], - "security" : [ ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/OtpForm" + "/identity/api/auth/v3/check-otp": { + "post": { + "operationId": "check_otp_v3", + "summary": "Check OTP - Version 3", + "description": "To validate the One-Time-Password sent using `forgot password`", + "tags": ["Identity / Auth"], + "security": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/OtpForm" } } } }, - "responses" : { - "200" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/CRAPIResponse" + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CRAPIResponse" } } }, - "description" : "OTP successfully verified" + "description": "OTP successfully verified" }, - "500" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/CRAPIResponse" + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CRAPIResponse" } } }, - "description" : "Invalid OTP" + "description": "Invalid OTP" }, - "503" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/CRAPIResponse" + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CRAPIResponse" } } }, - "description" : "Number of attempts exceeded" + "description": "Number of attempts exceeded" } } }, - "parameters" : [ ] + "parameters": [] }, - "/identity/api/auth/v2/check-otp" : { - "post" : { - "operationId" : "check_otp_v2", - "summary" : "Check OTP - Version 2", - "description" : "To validate the One-Time-Password sent using `forgot password`", - "tags" : [ "Identity / Auth" ], - "security" : [ ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/OtpForm" + "/identity/api/auth/v2/check-otp": { + "post": { + "operationId": "check_otp_v2", + "summary": "Check OTP - Version 2", + "description": "To validate the One-Time-Password sent using `forgot password`", + "tags": ["Identity / Auth"], + "security": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/OtpForm" } } }, - "required" : true + "required": true }, - "responses" : { - "200" : { - "description" : "OTP verified successfully", - "content" : { - "*/*" : { - "schema" : { - "$ref" : "#/components/schemas/CRAPIResponse" + "responses": { + "200": { + "description": "OTP verified successfully", + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/CRAPIResponse" } } } }, - "500" : { - "description" : "Invalid OTP", - "content" : { - "*/*" : { - "schema" : { - "$ref" : "#/components/schemas/CRAPIResponse" + "500": { + "description": "Invalid OTP", + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/CRAPIResponse" } } } @@ -273,39 +275,39 @@ } } }, - "/identity/api/auth/v4.0/user/login-with-token" : { - "post" : { - "operationId" : "login_with_token", - "summary" : "Login with email token", - "tags" : [ "Identity / Auth" ], - "security" : [ ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/LoginWithEmailToken" + "/identity/api/auth/v4.0/user/login-with-token": { + "post": { + "operationId": "login_with_token", + "summary": "Login with email token", + "tags": ["Identity / Auth"], + "security": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LoginWithEmailToken" } } }, - "required" : true + "required": true }, - "responses" : { - "400" : { - "description" : "Email or Password missing", - "content" : { - "*/*" : { - "schema" : { - "$ref" : "#/components/schemas/CRAPIResponse" + "responses": { + "400": { + "description": "Email or Password missing", + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/CRAPIResponse" } } } }, - "403" : { - "description" : "Forbidden", - "content" : { - "*/*" : { - "schema" : { - "$ref" : "#/components/schemas/CRAPIResponse" + "403": { + "description": "Forbidden", + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/CRAPIResponse" } } } @@ -313,29 +315,29 @@ } } }, - "/identity/api/auth/v2.7/user/login-with-token" : { - "post" : { - "operationId" : "login_with_token_v2_7", - "summary" : "Login with email token - v2.7", - "tags" : [ "Identity / Auth" ], - "security" : [ ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/LoginWithEmailToken" + "/identity/api/auth/v2.7/user/login-with-token": { + "post": { + "operationId": "login_with_token_v2_7", + "summary": "Login with email token - v2.7", + "tags": ["Identity / Auth"], + "security": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LoginWithEmailToken" } } }, - "required" : true + "required": true }, - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "*/*" : { - "schema" : { - "$ref" : "#/components/schemas/JwtResponse" + "responses": { + "200": { + "description": "OK", + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/JwtResponse" } } } @@ -343,79 +345,83 @@ } } }, - "/identity/api/v2/user/reset-password" : { - "post" : { - "operationId" : "reset_password", - "summary" : "Reset Password", - "description" : "Reset user password using JWT token", - "tags" : [ "Identity / User" ], - "security" : [ { - "bearerAuth" : [ ] - } ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "properties" : { - "email" : { - "type" : "string" + "/identity/api/v2/user/reset-password": { + "post": { + "operationId": "reset_password", + "summary": "Reset Password", + "description": "Reset user password using JWT token", + "tags": ["Identity / User"], + "security": [ + { + "bearerAuth": [] + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "email": { + "type": "string" }, - "password" : { - "type" : "string" + "password": { + "type": "string" } } } } } }, - "responses" : { - "200" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/CRAPIResponse" + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CRAPIResponse" } } }, - "description" : "" + "description": "" }, - "500" : { - "content" : { - "text/plain" : { - "schema" : { - "type" : "string" + "500": { + "content": { + "text/plain": { + "schema": { + "type": "string" } } }, - "description" : "" + "description": "" } } }, - "parameters" : [ ] + "parameters": [] }, - "/identity/api/v2/user/change-email" : { - "post" : { - "operationId" : "change_email", - "summary" : "Change user email", - "description" : "Sends token to new email", - "tags" : [ "Identity / User" ], - "security" : [ { - "bearerAuth" : [ ] - } ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "required" : [ "new_email", "old_email" ], - "properties" : { - "new_email" : { - "type" : "string", + "/identity/api/v2/user/change-email": { + "post": { + "operationId": "change_email", + "summary": "Change user email", + "description": "Sends token to new email", + "tags": ["Identity / User"], + "security": [ + { + "bearerAuth": [] + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "required": ["new_email", "old_email"], + "properties": { + "new_email": { + "type": "string", "example": "Sofia.Predovic@example.com" }, - "old_email" : { - "type" : "string", + "old_email": { + "type": "string", "example": "Cristobal.Weissnat@example.com" } } @@ -423,47 +429,49 @@ } } }, - "responses" : { - "200" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/CRAPIResponse" + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CRAPIResponse" } } }, - "description" : "" + "description": "" } } }, - "parameters" : [ ] + "parameters": [] }, - "/identity/api/v2/user/verify-email-token" : { - "post" : { - "operationId" : "verify_email_token", - "summary" : "Verify Email Token", - "description" : "Verify token sent for changing email", - "tags" : [ "Identity / User" ], - "security" : [ { - "bearerAuth" : [ ] - } ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "required" : [ "old_email", "new_email", "token" ], - "properties" : { - "old_email" : { - "type" : "string", - "example" : "Einar.Swaniawski@example.com" + "/identity/api/v2/user/verify-email-token": { + "post": { + "operationId": "verify_email_token", + "summary": "Verify Email Token", + "description": "Verify token sent for changing email", + "tags": ["Identity / User"], + "security": [ + { + "bearerAuth": [] + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "required": ["old_email", "new_email", "token"], + "properties": { + "old_email": { + "type": "string", + "example": "Einar.Swaniawski@example.com" }, - "new_email" : { - "type" : "string", + "new_email": { + "type": "string", "example": "Danielle.Ankunding@example.com" }, - "token" : { - "type" : "string", + "token": { + "type": "string", "example": "T9O2s6i3C7o2E8l7X5Y4" } } @@ -471,363 +479,403 @@ } } }, - "responses" : { - "200" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/CRAPIResponse" + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CRAPIResponse" } } }, - "description" : "" + "description": "" } } }, - "parameters" : [ ] + "parameters": [] }, - "/identity/api/v2/user/dashboard" : { - "get" : { - "operationId" : "get_dashboard", - "summary" : "Get user dashboard data", - "tags" : [ "Identity / User" ], - "security" : [ { - "bearerAuth" : [ ] - } ], - "responses" : { - "200" : { - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "required" : [ "available_credit", "email", "id", "name", "number", "picture_url", "role", "video_id", "video_name", "video_url" ], - "properties" : { - "id" : { - "type" : "number" + "/identity/api/v2/user/dashboard": { + "get": { + "operationId": "get_dashboard", + "summary": "Get user dashboard data", + "tags": ["Identity / User"], + "security": [ + { + "bearerAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "available_credit", + "email", + "id", + "name", + "number", + "picture_url", + "role", + "video_id", + "video_name", + "video_url" + ], + "properties": { + "id": { + "type": "number" }, - "name" : { - "type" : "string" + "name": { + "type": "string" }, - "email" : { - "type" : "string" + "email": { + "type": "string" }, - "number" : { - "type" : "string" + "number": { + "type": "string" }, - "role" : { - "type" : "string" + "role": { + "type": "string" }, - "available_credit" : { - "type" : "number" + "available_credit": { + "type": "number" }, - "video_id" : { - "type" : "number" + "video_id": { + "type": "number" }, - "video_name" : { }, - "video_url" : { }, - "picture_url" : { } + "video_name": {}, + "video_url": {}, + "picture_url": {} } } } }, - "description" : "" + "description": "" }, - "404" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/CRAPIResponse" + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CRAPIResponse" } } }, - "description" : "Email not registered" + "description": "Email not registered" } } }, - "parameters" : [ ] + "parameters": [] }, - "/identity/api/v2/user/pictures" : { - "post" : { - "operationId" : "update_profile_pic", - "summary" : "Update user profile picture", - "tags" : [ "Identity / User" ], - "security" : [ { - "bearerAuth" : [ ] - } ], - "requestBody" : { - "content" : { - "multipart/form-data" : { - "schema" : { - "type" : "object", - "properties" : { - "file" : { - "type" : "string", - "format" : "binary" + "/identity/api/v2/user/pictures": { + "post": { + "operationId": "update_profile_pic", + "summary": "Update user profile picture", + "tags": ["Identity / User"], + "security": [ + { + "bearerAuth": [] + } + ], + "requestBody": { + "content": { + "multipart/form-data": { + "schema": { + "type": "object", + "properties": { + "file": { + "type": "string", + "format": "binary" } } } } } }, - "responses" : { - "200" : { - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "required" : [ "available_credit", "id", "name", "picture", "status", "user" ], - "properties" : { - "name" : { - "type" : "string" + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "available_credit", + "id", + "name", + "picture", + "status", + "user" + ], + "properties": { + "name": { + "type": "string" }, - "available_credit" : { - "type" : "number" + "available_credit": { + "type": "number" }, - "id" : { - "type" : "number" + "id": { + "type": "number" }, - "status" : { - "type" : "string" + "status": { + "type": "string" }, - "picture" : { - "type" : "string" + "picture": { + "type": "string" }, - "user" : { } + "user": {} } } } }, - "description" : "" + "description": "" }, - "500" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/CRAPIResponse" + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CRAPIResponse" } } }, - "description" : "Internal Server Error" + "description": "Internal Server Error" } } }, - "parameters" : [ ] + "parameters": [] }, - "/identity/api/v2/user/videos" : { - "post" : { - "summary" : "Upload User profile video", - "operationId" : "upload_profile_video", - "tags" : [ "Identity / User" ], - "security" : [ { - "bearerAuth" : [ ] - } ], - "requestBody" : { - "content" : { - "multipart/form-data" : { - "schema" : { - "required" : [ "file" ], - "type" : "object", - "properties" : { - "file" : { - "type" : "string", - "format" : "binary" + "/identity/api/v2/user/videos": { + "post": { + "summary": "Upload User profile video", + "operationId": "upload_profile_video", + "tags": ["Identity / User"], + "security": [ + { + "bearerAuth": [] + } + ], + "requestBody": { + "content": { + "multipart/form-data": { + "schema": { + "required": ["file"], + "type": "object", + "properties": { + "file": { + "type": "string", + "format": "binary" } } } } } }, - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ProfileVideo" + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProfileVideo" } } } }, - "500" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/CRAPIResponse" + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CRAPIResponse" } } }, - "description" : "Internal Server Error" + "description": "Internal Server Error" } } } }, - "/identity/api/v2/user/videos/{video_id}" : { - "get" : { - "operationId" : "get_profile_video", - "summary" : "Get User Profile Video", - "description" : "Get the video associated with the user's profile.", - "tags" : [ "Identity / User" ], - "security" : [ { - "bearerAuth" : [ ] - } ], - "parameters" : [ { - "name" : "video_id", - "in" : "path", - "required" : true, - "schema" : { - "type" : "integer", - "format" : "int64" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ProfileVideo" + "/identity/api/v2/user/videos/{video_id}": { + "get": { + "operationId": "get_profile_video", + "summary": "Get User Profile Video", + "description": "Get the video associated with the user's profile.", + "tags": ["Identity / User"], + "security": [ + { + "bearerAuth": [] + } + ], + "parameters": [ + { + "name": "video_id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProfileVideo" } } } }, - "204" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/CRAPIResponse" + "204": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CRAPIResponse" } } }, - "description" : "Video not found" + "description": "Video not found" } } }, - "put" : { - "summary" : "Update User Profile Video by video_id", - "description" : "Update the video identified by video_id in this user's profile.", - "operationId" : "update_profile_video", - "tags" : [ "Identity / User" ], - "security" : [ { - "bearerAuth" : [ ] - } ], - "parameters" : [ { - "name" : "video_id", - "in" : "path", - "required" : true, - "schema" : { - "type" : "integer", - "format" : "int64" - } - } ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/VideoForm" + "put": { + "summary": "Update User Profile Video by video_id", + "description": "Update the video identified by video_id in this user's profile.", + "operationId": "update_profile_video", + "tags": ["Identity / User"], + "security": [ + { + "bearerAuth": [] + } + ], + "parameters": [ + { + "name": "video_id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VideoForm" } } }, - "required" : true + "required": true }, - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ProfileVideo" + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProfileVideo" } } } }, - "204" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/CRAPIResponse" + "204": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CRAPIResponse" } } }, - "description" : "Video not found" + "description": "Video not found" } } }, - "delete" : { - "summary" : "Delete Profile Video by video_id", - "description" : "Delete the video identified by video_id from this user's profile.", - "operationId" : "delete_profile_video", - "tags" : [ "Identity / User" ], - "security" : [ { - "bearerAuth" : [ ] - } ], - "parameters" : [ { - "name" : "video_id", - "in" : "path", - "required" : true, - "schema" : { - "type" : "integer", - "format" : "int64" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "*/*" : { - "schema" : { - "type" : "object" + "delete": { + "summary": "Delete Profile Video by video_id", + "description": "Delete the video identified by video_id from this user's profile.", + "operationId": "delete_profile_video", + "tags": ["Identity / User"], + "security": [ + { + "bearerAuth": [] + } + ], + "parameters": [ + { + "name": "video_id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "*/*": { + "schema": { + "type": "object" } } } }, - "403" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/CRAPIResponse" + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CRAPIResponse" } } }, - "description" : "Forbidden" + "description": "Forbidden" }, - "404" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/CRAPIResponse" + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CRAPIResponse" } } }, - "description" : "Video not found" + "description": "Video not found" } } } }, - "/identity/api/v2/user/videos/convert_video" : { - "get" : { - "summary" : "Convert Profile Video", - "description" : "Convert the format for the specified video.", - "operationId" : "convert_profile_video", - "tags" : [ "Identity / User" ], - "security" : [ { - "bearerAuth" : [ ] - } ], - "parameters" : [ { - "name" : "video_id", - "in" : "query", - "required" : false, - "schema" : { - "type" : "integer", - "format" : "int64" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "*/*" : { - "schema" : { - "type" : "object" + "/identity/api/v2/user/videos/convert_video": { + "get": { + "summary": "Convert Profile Video", + "description": "Convert the format for the specified video.", + "operationId": "convert_profile_video", + "tags": ["Identity / User"], + "security": [ + { + "bearerAuth": [] + } + ], + "parameters": [ + { + "name": "video_id", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "*/*": { + "schema": { + "type": "object" } } } @@ -835,139 +883,161 @@ } } }, - "/identity/api/v2/admin/videos/{video_id}" : { - "delete" : { - "summary" : "Delete Profile Video Admin", - "description" : "Delete profile video of other users by video_id as admin", - "operationId" : "admin_delete_profile_video", - "tags" : [ "Identity / Admin" ], - "security" : [ { - "bearerAuth" : [ ] - } ], - "parameters" : [ { - "name" : "video_id", - "in" : "path", - "required" : true, - "schema" : { - "type" : "integer", - "format" : "int64" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/CRAPIResponse" + "/identity/api/v2/admin/videos/{video_id}": { + "delete": { + "summary": "Delete Profile Video Admin", + "description": "Delete profile video of other users by video_id as admin", + "operationId": "admin_delete_profile_video", + "tags": ["Identity / Admin"], + "security": [ + { + "bearerAuth": [] + } + ], + "parameters": [ + { + "name": "video_id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CRAPIResponse" } } } }, - "403" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/CRAPIResponse" + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CRAPIResponse" } } }, - "description" : "Forbidden" + "description": "Forbidden" }, - "404" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/CRAPIResponse" + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CRAPIResponse" } } }, - "description" : "Video not found" + "description": "Video not found" } } } }, - "/identity/api/v2/vehicle/vehicles" : { - "get" : { - "operationId" : "get_vehicles", - "summary" : "Get user vehicles", - "tags" : [ "Identity / Vehicle" ], - "security" : [ { - "bearerAuth" : [ ] - } ], - "responses" : { - "200" : { - "content" : { - "application/json" : { - "schema" : { - "type" : "array", - "items" : { - "type" : "object", - "required" : [ "id", "model", "owner", "pincode", "status", "uuid", "vehicleLocation", "vin", "year" ], - "properties" : { - "id" : { - "type" : "number" + "/identity/api/v2/vehicle/vehicles": { + "get": { + "operationId": "get_vehicles", + "summary": "Get user vehicles", + "tags": ["Identity / Vehicle"], + "security": [ + { + "bearerAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "object", + "required": [ + "id", + "model", + "owner", + "pincode", + "status", + "uuid", + "vehicleLocation", + "vin", + "year" + ], + "properties": { + "id": { + "type": "number" }, - "uuid" : { - "type" : "string" + "uuid": { + "type": "string" }, - "year" : { - "type" : "number" + "year": { + "type": "number" }, - "status" : { - "type" : "string" + "status": { + "type": "string" }, - "vin" : { - "type" : "string" + "vin": { + "type": "string" }, - "pincode" : { - "type" : "string" + "pincode": { + "type": "string" }, - "owner" : { - "$ref" : "#/components/schemas/User" + "owner": { + "$ref": "#/components/schemas/User" }, - "model" : { - "type" : "object", - "required" : [ "fuel_type", "id", "model", "vehicle_img", "vehiclecompany" ], - "properties" : { - "model" : { - "type" : "string" + "model": { + "type": "object", + "required": [ + "fuel_type", + "id", + "model", + "vehicle_img", + "vehiclecompany" + ], + "properties": { + "model": { + "type": "string" }, - "fuel_type" : { - "type" : "string" + "fuel_type": { + "type": "string" }, - "vehicle_img" : { - "type" : "string" + "vehicle_img": { + "type": "string" }, - "id" : { - "type" : "number" + "id": { + "type": "number" }, - "vehiclecompany" : { - "type" : "object", - "required" : [ "id", "name" ], - "properties" : { - "id" : { - "type" : "number" + "vehiclecompany": { + "type": "object", + "required": ["id", "name"], + "properties": { + "id": { + "type": "number" }, - "name" : { - "type" : "string" + "name": { + "type": "string" } } } } }, - "vehicleLocation" : { - "type" : "object", - "required" : [ "id", "latitude", "longitude" ], - "properties" : { - "id" : { - "type" : "number" + "vehicleLocation": { + "type": "object", + "required": ["id", "latitude", "longitude"], + "properties": { + "id": { + "type": "number" }, - "latitude" : { - "type" : "string" + "latitude": { + "type": "string" }, - "longitude" : { - "type" : "string" + "longitude": { + "type": "string" } } } @@ -976,43 +1046,45 @@ } } }, - "description" : "" + "description": "" }, - "500" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/CRAPIResponse" + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CRAPIResponse" } } }, - "description" : "Internal Server Error" + "description": "Internal Server Error" } } }, - "parameters" : [ ] + "parameters": [] }, - "/identity/api/v2/vehicle/add_vehicle" : { - "post" : { - "operationId" : "add_vehicle", - "summary" : "Add the user vehicle", - "tags" : [ "Identity / Vehicle" ], - "security" : [ { - "bearerAuth" : [ ] - } ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "required" : [ "pincode", "vin" ], - "properties" : { - "pincode" : { - "type" : "string", + "/identity/api/v2/vehicle/add_vehicle": { + "post": { + "operationId": "add_vehicle", + "summary": "Add the user vehicle", + "tags": ["Identity / Vehicle"], + "security": [ + { + "bearerAuth": [] + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "required": ["pincode", "vin"], + "properties": { + "pincode": { + "type": "string", "example": "9896" }, - "vin" : { - "type" : "string", + "vin": { + "type": "string", "example": "0IOJO38SMVL663989" } } @@ -1020,66 +1092,68 @@ } } }, - "responses" : { - "200" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/CRAPIResponse" + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CRAPIResponse" } } }, - "description" : "" + "description": "" }, - "403" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/CRAPIResponse" + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CRAPIResponse" } } }, - "description" : "" + "description": "" } } }, - "parameters" : [ ] + "parameters": [] }, - "/identity/api/v2/vehicle/{vehicleId}/location" : { - "get" : { - "operationId" : "get_location", - "summary" : "Get Vehicle Location", - "description" : "Get user's vehicle location", - "tags" : [ "Identity / Vehicle" ], - "security" : [ { - "bearerAuth" : [ ] - } ], - "responses" : { - "200" : { - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "required" : [ "carId", "fullName", "vehicleLocation" ], - "properties" : { - "carId" : { - "type" : "string" + "/identity/api/v2/vehicle/{vehicleId}/location": { + "get": { + "operationId": "get_location", + "summary": "Get Vehicle Location", + "description": "Get user's vehicle location", + "tags": ["Identity / Vehicle"], + "security": [ + { + "bearerAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "type": "object", + "required": ["carId", "fullName", "vehicleLocation"], + "properties": { + "carId": { + "type": "string" }, - "fullName" : { - "type" : "string" + "fullName": { + "type": "string" }, - "vehicleLocation" : { - "type" : "object", - "required" : [ "id", "latitude", "longitude" ], - "properties" : { - "id" : { - "type" : "number" + "vehicleLocation": { + "type": "object", + "required": ["id", "latitude", "longitude"], + "properties": { + "id": { + "type": "number" }, - "latitude" : { - "type" : "string" + "latitude": { + "type": "string" }, - "longitude" : { - "type" : "string" + "longitude": { + "type": "string" } } } @@ -1087,118 +1161,128 @@ } } }, - "description" : "" + "description": "" }, - "404" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/CRAPIResponse" + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CRAPIResponse" } } }, - "description" : "Invalid vehicle_id for User" + "description": "Invalid vehicle_id for User" } } }, - "parameters" : [ { - "in" : "path", - "name" : "vehicleId", - "required" : true, - "schema" : { - "type" : "string", - "format" : "uuid", - "example": "0be319f0-f0dd-44aa-af0b-af927f3a383f" + "parameters": [ + { + "in": "path", + "name": "vehicleId", + "required": true, + "schema": { + "type": "string", + "format": "uuid", + "example": "0be319f0-f0dd-44aa-af0b-af927f3a383f" + } } - } ] + ] }, - "/identity/api/v2/vehicle/resend_email" : { - "post" : { - "operationId" : "vehicle_resend_email", - "summary" : "Resend Vehicle Details Email", - "description" : "Resend vehicles details to be added to the user dashboard", - "tags" : [ "Identity / Vehicle" ], - "security" : [ { - "bearerAuth" : [ ] - } ], - "responses" : { - "200" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/CRAPIResponse" + "/identity/api/v2/vehicle/resend_email": { + "post": { + "operationId": "vehicle_resend_email", + "summary": "Resend Vehicle Details Email", + "description": "Resend vehicles details to be added to the user dashboard", + "tags": ["Identity / Vehicle"], + "security": [ + { + "bearerAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CRAPIResponse" } } }, - "description" : "OK" + "description": "OK" }, - "500" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/CRAPIResponse" + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CRAPIResponse" } } }, - "description" : "" + "description": "" } } }, - "parameters" : [ ] + "parameters": [] }, - "/community/api/v2/community/posts/{postId}" : { - "get" : { - "operationId" : "get_post", - "summary" : "Get Post", - "description" : "Used to get a specific post in the forum", - "tags" : [ "Community / Posts" ], - "security" : [ { - "bearerAuth" : [ ] - } ], - "responses" : { - "200" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/Post" + "/community/api/v2/community/posts/{postId}": { + "get": { + "operationId": "get_post", + "summary": "Get Post", + "description": "Used to get a specific post in the forum", + "tags": ["Community / Posts"], + "security": [ + { + "bearerAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Post" } } }, - "description" : "" + "description": "" } } }, - "parameters" : [ { - "in" : "path", - "name" : "postId", - "required" : true, - "schema" : { - "type" : "string", - "example": "tiSTSUzh4BwtvYSLWPsqu9" + "parameters": [ + { + "in": "path", + "name": "postId", + "required": true, + "schema": { + "type": "string", + "example": "tiSTSUzh4BwtvYSLWPsqu9" + } } - } ] + ] }, - "/community/api/v2/community/posts" : { - "post" : { - "operationId" : "create_post", - "summary" : "Create Post", - "description" : "Used to create a new post in the forum", - "tags" : [ "Community / Posts" ], - "security" : [ { - "bearerAuth" : [ ] - } ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "properties" : { - "content" : { - "type" : "string", + "/community/api/v2/community/posts": { + "post": { + "operationId": "create_post", + "summary": "Create Post", + "description": "Used to create a new post in the forum", + "tags": ["Community / Posts"], + "security": [ + { + "bearerAuth": [] + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "content": { + "type": "string", "example": "Est maiores voluptas velit. Necessitatibus vero veniam quos nobis." }, - "title" : { - "type" : "string", + "title": { + "type": "string", "example": "Velit quia minima." } } @@ -1206,82 +1290,98 @@ } } }, - "responses" : { - "200" : { - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "required" : [ "CreatedAt", "author", "authorid", "comments", "content", "id", "title" ], - "properties" : { - "author" : { - "type" : "object", - "required" : [ "created_at", "email", "nickname", "profile_pic_url", "vehicleid" ], - "properties" : { - "vehicleid" : { - "type" : "string", - "format" : "uuid" + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "CreatedAt", + "author", + "authorid", + "comments", + "content", + "id", + "title" + ], + "properties": { + "author": { + "type": "object", + "required": [ + "created_at", + "email", + "nickname", + "profile_pic_url", + "vehicleid" + ], + "properties": { + "vehicleid": { + "type": "string", + "format": "uuid" }, - "email" : { - "type" : "string" + "email": { + "type": "string" }, - "created_at" : { - "type" : "string" + "created_at": { + "type": "string" }, - "profile_pic_url" : { - "type" : "string" + "profile_pic_url": { + "type": "string" }, - "nickname" : { - "type" : "string" + "nickname": { + "type": "string" } } }, - "id" : { - "type" : "string" + "id": { + "type": "string" }, - "authorid" : { - "type" : "number" + "authorid": { + "type": "number" }, - "content" : { - "type" : "string" + "content": { + "type": "string" }, - "CreatedAt" : { - "type" : "string" + "CreatedAt": { + "type": "string" }, - "title" : { - "type" : "string" + "title": { + "type": "string" }, - "comments" : { - "type" : "array", - "items" : { } + "comments": { + "type": "array", + "items": {} } } } } }, - "description" : "" + "description": "" } } }, - "parameters" : [ ] + "parameters": [] }, - "/community/api/v2/community/posts/{postId}/comment" : { - "post" : { - "operationId" : "post_comment", - "summary" : "Post Comment", - "description" : "Used to add a comment to an existing post in the forum", - "tags" : [ "Community / Posts" ], - "security" : [ { - "bearerAuth" : [ ] - } ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "properties" : { - "content" : { - "type" : "string", + "/community/api/v2/community/posts/{postId}/comment": { + "post": { + "operationId": "post_comment", + "summary": "Post Comment", + "description": "Used to add a comment to an existing post in the forum", + "tags": ["Community / Posts"], + "security": [ + { + "bearerAuth": [] + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "content": { + "type": "string", "example": "Porro aut ratione et." } } @@ -1289,87 +1389,107 @@ } } }, - "responses" : { - "200" : { - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "required" : [ "CreatedAt", "author", "authorid", "comments", "content", "id", "title" ], - "properties" : { - "author" : { - "type" : "object", - "required" : [ "created_at", "email", "nickname", "profile_pic_url", "vehicleid" ], - "properties" : { - "vehicleid" : { - "type" : "string", - "format" : "uuid" + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "CreatedAt", + "author", + "authorid", + "comments", + "content", + "id", + "title" + ], + "properties": { + "author": { + "type": "object", + "required": [ + "created_at", + "email", + "nickname", + "profile_pic_url", + "vehicleid" + ], + "properties": { + "vehicleid": { + "type": "string", + "format": "uuid" }, - "email" : { - "type" : "string" + "email": { + "type": "string" }, - "created_at" : { - "type" : "string" + "created_at": { + "type": "string" }, - "profile_pic_url" : { - "type" : "string" + "profile_pic_url": { + "type": "string" }, - "nickname" : { - "type" : "string" + "nickname": { + "type": "string" } } }, - "id" : { - "type" : "string" + "id": { + "type": "string" }, - "authorid" : { - "type" : "number" + "authorid": { + "type": "number" }, - "content" : { - "type" : "string" + "content": { + "type": "string" }, - "CreatedAt" : { - "type" : "string" + "CreatedAt": { + "type": "string" }, - "title" : { - "type" : "string" + "title": { + "type": "string" }, - "comments" : { - "type" : "array", - "items" : { - "type" : "object", - "required" : [ "CreatedAt", "author", "content", "id" ], - "properties" : { - "CreatedAt" : { - "type" : "string" + "comments": { + "type": "array", + "items": { + "type": "object", + "required": ["CreatedAt", "author", "content", "id"], + "properties": { + "CreatedAt": { + "type": "string" }, - "author" : { - "type" : "object", - "required" : [ "created_at", "email", "nickname", "profile_pic_url", "vehicleid" ], - "properties" : { - "vehicleid" : { - "type" : "string", - "format" : "uuid" + "author": { + "type": "object", + "required": [ + "created_at", + "email", + "nickname", + "profile_pic_url", + "vehicleid" + ], + "properties": { + "vehicleid": { + "type": "string", + "format": "uuid" }, - "email" : { - "type" : "string" + "email": { + "type": "string" }, - "created_at" : { - "type" : "string" + "created_at": { + "type": "string" }, - "profile_pic_url" : { - "type" : "string" + "profile_pic_url": { + "type": "string" }, - "nickname" : { - "type" : "string" + "nickname": { + "type": "string" } } }, - "content" : { - "type" : "string" + "content": { + "type": "string" }, - "id" : { - "type" : "string" + "id": { + "type": "string" } } } @@ -1378,183 +1498,193 @@ } } }, - "description" : "" + "description": "" } } }, - "parameters" : [ { - "in" : "path", - "name" : "postId", - "required" : true, - "schema" : { - "type" : "string", - "example": "tiSTSUzh4BwtvYSLWPsqu9" + "parameters": [ + { + "in": "path", + "name": "postId", + "required": true, + "schema": { + "type": "string", + "example": "tiSTSUzh4BwtvYSLWPsqu9" + } } - } ] + ] }, - "/community/api/v2/community/posts/recent" : { - "get" : { - "operationId" : "get_recent_posts", - "summary" : "Get Recent Posts", - "description" : "Used to fetch the most recent posts in the forum.", - "tags" : [ "Community / Posts" ], - "security" : [ { - "bearerAuth" : [ ] - } ], - "responses" : { - "200" : { - "description" : "OK", - "headers" : { - "Transfer-Encoding" : { - "content" : { - "text/plain" : { - "schema" : { - "type" : "string", - "example" : "chunked" + "/community/api/v2/community/posts/recent": { + "get": { + "operationId": "get_recent_posts", + "summary": "Get Recent Posts", + "description": "Used to fetch the most recent posts in the forum.", + "tags": ["Community / Posts"], + "security": [ + { + "bearerAuth": [] + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "Transfer-Encoding": { + "content": { + "text/plain": { + "schema": { + "type": "string", + "example": "chunked" }, - "example" : "chunked" + "example": "chunked" } } }, - "Access-Control-Allow-Headers" : { - "content" : { - "text/plain" : { - "schema" : { - "type" : "string", - "example" : "Accept, Content-Type, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization" + "Access-Control-Allow-Headers": { + "content": { + "text/plain": { + "schema": { + "type": "string", + "example": "Accept, Content-Type, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization" }, - "example" : "Accept, Content-Type, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization" + "example": "Accept, Content-Type, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization" } } }, - "Access-Control-Allow-Methods" : { - "content" : { - "text/plain" : { - "schema" : { - "type" : "string", - "example" : "POST, GET, OPTIONS, PUT, DELETE" + "Access-Control-Allow-Methods": { + "content": { + "text/plain": { + "schema": { + "type": "string", + "example": "POST, GET, OPTIONS, PUT, DELETE" }, - "example" : "POST, GET, OPTIONS, PUT, DELETE" + "example": "POST, GET, OPTIONS, PUT, DELETE" } } }, - "Access-Control-Allow-Origin" : { - "content" : { - "text/plain" : { - "schema" : { - "type" : "string", - "example" : "*" + "Access-Control-Allow-Origin": { + "content": { + "text/plain": { + "schema": { + "type": "string", + "example": "*" }, - "example" : "*" + "example": "*" } } } }, - "content" : { - "application/json" : { - "schema" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/Post" + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Post" }, - "description" : "Array of forum posts" + "description": "Array of forum posts" }, - "example" : [ { - "id" : "ConZLXacq3MqhbLQDrbNLf", - "title" : "Title 3", - "content" : "Hello world 3", - "author" : { - "nickname" : "Hacker", - "email" : "hacker@darkweb.com", - "vehicleid" : "abac4018-5a38-466c-ab7f-361908afeab6", - "profile_pic_url" : "", - "created_at" : "2021-09-16T01:46:32.432Z" - }, - "comments" : [ ], - "authorid" : 3, - "CreatedAt" : "2021-09-16T01:46:32.432Z" - }, { - "id" : "rj2md2VVDBjYUGNG6LmQ9e", - "title" : "Title 2", - "content" : "Hello world 2", - "author" : { - "nickname" : "Victim Two", - "email" : "victim.two@example.com", - "vehicleid" : "8b9edbde-d74d-4773-8c9f-adb65c6056fc", - "profile_pic_url" : "", - "created_at" : "2021-09-16T01:46:32.429Z" + "example": [ + { + "id": "ConZLXacq3MqhbLQDrbNLf", + "title": "Title 3", + "content": "Hello world 3", + "author": { + "nickname": "Hacker", + "email": "hacker@darkweb.com", + "vehicleid": "abac4018-5a38-466c-ab7f-361908afeab6", + "profile_pic_url": "", + "created_at": "2021-09-16T01:46:32.432Z" + }, + "comments": [], + "authorid": 3, + "CreatedAt": "2021-09-16T01:46:32.432Z" }, - "comments" : [ ], - "authorid" : 2, - "CreatedAt" : "2021-09-16T01:46:32.429Z" - }, { - "id" : "C68Hgjaow2jieF59LWzqTH", - "title" : "Title 1", - "content" : "Hello world 1", - "author" : { - "nickname" : "Victim One", - "email" : "victim.one@example.com", - "vehicleid" : "649acfac-10ea-43b3-907f-752e86eff2b6", - "profile_pic_url" : "", - "created_at" : "2021-09-16T01:46:32.413Z" + { + "id": "rj2md2VVDBjYUGNG6LmQ9e", + "title": "Title 2", + "content": "Hello world 2", + "author": { + "nickname": "Victim Two", + "email": "victim.two@example.com", + "vehicleid": "8b9edbde-d74d-4773-8c9f-adb65c6056fc", + "profile_pic_url": "", + "created_at": "2021-09-16T01:46:32.429Z" + }, + "comments": [], + "authorid": 2, + "CreatedAt": "2021-09-16T01:46:32.429Z" }, - "comments" : [ ], - "authorid" : 1, - "CreatedAt" : "2021-09-16T01:46:32.413Z" - } ] + { + "id": "C68Hgjaow2jieF59LWzqTH", + "title": "Title 1", + "content": "Hello world 1", + "author": { + "nickname": "Victim One", + "email": "victim.one@example.com", + "vehicleid": "649acfac-10ea-43b3-907f-752e86eff2b6", + "profile_pic_url": "", + "created_at": "2021-09-16T01:46:32.413Z" + }, + "comments": [], + "authorid": 1, + "CreatedAt": "2021-09-16T01:46:32.413Z" + } + ] } } } } } }, - "/community/api/v2/coupon/new-coupon" : { - "post" : { - "operationId" : "add_new_coupon", - "summary" : "Add a New Coupon", - "description" : "Used to add a new coupon to the shop database", - "tags" : [ "Community / Coupon" ], - "security" : [ { - "bearerAuth" : [ ] - } ], - "requestBody" : { - "description" : "Coupon", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/Coupon" + "/community/api/v2/coupon/new-coupon": { + "post": { + "operationId": "add_new_coupon", + "summary": "Add a New Coupon", + "description": "Used to add a new coupon to the shop database", + "tags": ["Community / Coupon"], + "security": [ + { + "bearerAuth": [] + } + ], + "requestBody": { + "description": "Coupon", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Coupon" } } }, - "required" : true + "required": true }, - "responses" : { - "200" : { - "description" : "Coupon Added in database", - "content" : { - "application/json" : { - "schema" : { - "type" : "string" + "responses": { + "200": { + "description": "Coupon Added in database", + "content": { + "application/json": { + "schema": { + "type": "string" } } } }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "type" : "string" + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "type": "string" } } } }, - "500" : { - "description" : "Internal Server Error", - "content" : { - "application/json" : { - "schema" : { - "type" : "string" + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "type": "string" } } } @@ -1562,24 +1692,26 @@ } } }, - "/community/api/v2/coupon/validate-coupon" : { - "post" : { - "operationId" : "validate_coupon", - "summary" : "Validate Coupon - Version 2", - "description" : "Used to validate the provided discount coupon code", - "tags" : [ "Community / Coupon" ], - "security" : [ { - "bearerAuth" : [ ] - } ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "required" : [ "coupon_code" ], - "properties" : { - "coupon_code" : { - "type" : "string", + "/community/api/v2/coupon/validate-coupon": { + "post": { + "operationId": "validate_coupon", + "summary": "Validate Coupon - Version 2", + "description": "Used to validate the provided discount coupon code", + "tags": ["Community / Coupon"], + "security": [ + { + "bearerAuth": [] + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "required": ["coupon_code"], + "properties": { + "coupon_code": { + "type": "string", "example": "TRAC075" } } @@ -1587,99 +1719,103 @@ } } }, - "responses" : { - "200" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/Coupon" + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Coupon" } } }, - "description" : "" + "description": "" }, - "500" : { - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "properties" : { } + "500": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": {} } } }, - "description" : "" + "description": "" } } } }, - "/workshop/api/shop/products" : { - "parameters" : [ ], - "get" : { - "operationId" : "get_products", - "summary" : "Get Products", - "description" : "Used to get products for the shop", - "tags" : [ "Workshop / Shop" ], - "security" : [ { - "bearerAuth" : [ ] - } ], - "responses" : { - "200" : { - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "required" : [ "credit", "products" ], - "properties" : { - "credit" : { - "type" : "number" + "/workshop/api/shop/products": { + "parameters": [], + "get": { + "operationId": "get_products", + "summary": "Get Products", + "description": "Used to get products for the shop", + "tags": ["Workshop / Shop"], + "security": [ + { + "bearerAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "type": "object", + "required": ["credit", "products"], + "properties": { + "credit": { + "type": "number" }, - "products" : { - "$ref" : "#/components/schemas/Product" + "products": { + "$ref": "#/components/schemas/Product" } } } } }, - "description" : "OK" + "description": "OK" } } }, - "post" : { - "operationId" : "add_new_product", - "summary" : "Add A New Product", - "description" : "Used to add the specified product to the product catalog.", - "tags" : [ "Workshop / Shop" ], - "security" : [ { - "bearerAuth" : [ ] - } ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/NewProduct" + "post": { + "operationId": "add_new_product", + "summary": "Add A New Product", + "description": "Used to add the specified product to the product catalog.", + "tags": ["Workshop / Shop"], + "security": [ + { + "bearerAuth": [] + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NewProduct" } } }, - "required" : true + "required": true }, - "responses" : { - "200" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/Product" + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Product" } } }, - "description" : "OK" + "description": "OK" }, - "400" : { - "description" : "Bad Request!", - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "additionalProperties" : true + "400": { + "description": "Bad Request!", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": true } } } @@ -1687,272 +1823,291 @@ } } }, - "/workshop/api/shop/orders" : { - "post" : { - "operationId" : "create_order", - "summary" : "Create Order", - "description" : "Used to create a new order for a product in the shop.", - "tags" : [ "Workshop / Shop" ], - "security" : [ { - "bearerAuth" : [ ] - } ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ProductQuantity" + "/workshop/api/shop/orders": { + "post": { + "operationId": "create_order", + "summary": "Create Order", + "description": "Used to create a new order for a product in the shop.", + "tags": ["Workshop / Shop"], + "security": [ + { + "bearerAuth": [] + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProductQuantity" } } }, - "required" : true + "required": true }, - "responses" : { - "200" : { - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "required" : [ "id", "message", "credit" ], - "properties" : { - "id" : { - "type" : "integer" + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "type": "object", + "required": ["id", "message", "credit"], + "properties": { + "id": { + "type": "integer" }, - "message" : { - "type" : "string" + "message": { + "type": "string" }, - "credit" : { - "type" : "number", - "format" : "float" + "credit": { + "type": "number", + "format": "float" } } } } }, - "description" : "OK" - }, - "400" : { - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "required" : [ "message" ], - "properties" : { - "message" : { - "type" : "string" + "description": "OK" + }, + "400": { + "content": { + "application/json": { + "schema": { + "type": "object", + "required": ["message"], + "properties": { + "message": { + "type": "string" } }, - "example" : { - "message" : "Insufficient Balance. Please apply coupons to get more\nbalance!" + "example": { + "message": "Insufficient Balance. Please apply coupons to get more\nbalance!" } } } }, - "description" : "Bad Request!" + "description": "Bad Request!" } } } }, - "/workshop/api/shop/orders/{order_id}" : { - "put" : { - "operationId" : "update_order", - "summary" : "Update Order", - "description" : "Used to update the order specified by the order_id.", - "tags" : [ "Workshop / Shop" ], - "security" : [ { - "bearerAuth" : [ ] - } ], - "parameters" : [ { - "in" : "path", - "name" : "order_id", - "schema" : { - "type" : "integer" - }, - "required" : true - } ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ProductQuantity" + "/workshop/api/shop/orders/{order_id}": { + "put": { + "operationId": "update_order", + "summary": "Update Order", + "description": "Used to update the order specified by the order_id.", + "tags": ["Workshop / Shop"], + "security": [ + { + "bearerAuth": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "order_id", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProductQuantity" } } }, - "required" : true + "required": true }, - "responses" : { - "200" : { - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "required" : [ "orders" ], - "properties" : { - "orders" : { - "$ref" : "#/components/schemas/Order" + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "type": "object", + "required": ["orders"], + "properties": { + "orders": { + "$ref": "#/components/schemas/Order" } } } } }, - "description" : "OK" - }, - "400" : { - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "required" : [ "message" ], - "properties" : { - "message" : { - "type" : "string" + "description": "OK" + }, + "400": { + "content": { + "application/json": { + "schema": { + "type": "object", + "required": ["message"], + "properties": { + "message": { + "type": "string" } }, - "example" : { - "message" : "The value of 'status' has to be 'delivered', 'return pending' or 'returned'" + "example": { + "message": "The value of 'status' has to be 'delivered', 'return pending' or 'returned'" } } } }, - "description" : "Bad Request!" - }, - "403" : { - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "required" : [ "message" ], - "properties" : { - "message" : { - "type" : "string" + "description": "Bad Request!" + }, + "403": { + "content": { + "application/json": { + "schema": { + "type": "object", + "required": ["message"], + "properties": { + "message": { + "type": "string" } }, - "example" : { - "message" : "You are not allowed to access this resource!'" + "example": { + "message": "You are not allowed to access this resource!'" } } } }, - "description" : "Forbidden!" + "description": "Forbidden!" } } }, - "get" : { - "operationId" : "get_order_byID", - "summary" : "Get Order Based on ID", - "description" : "Used to get the order details for order identified by order_id.", - "tags" : [ "Workshop / Shop" ], - "security" : [ { - "bearerAuth" : [ ] - } ], - "parameters" : [ { - "in" : "path", - "name" : "order_id", - "schema" : { - "type" : "integer" - }, - "required" : true - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "required" : [ "orders" ], - "properties" : { - "orders" : { - "$ref" : "#/components/schemas/Order" + "get": { + "operationId": "get_order_byID", + "summary": "Get Order Based on ID", + "description": "Used to get the order details for order identified by order_id.", + "tags": ["Workshop / Shop"], + "security": [ + { + "bearerAuth": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "order_id", + "schema": { + "type": "integer" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": ["orders"], + "properties": { + "orders": { + "$ref": "#/components/schemas/Order" } } } } } }, - "403" : { - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "required" : [ "message" ], - "properties" : { - "message" : { - "type" : "string" + "403": { + "content": { + "application/json": { + "schema": { + "type": "object", + "required": ["message"], + "properties": { + "message": { + "type": "string" } }, - "example" : { - "message" : "You are not allowed to access this resource!'" + "example": { + "message": "You are not allowed to access this resource!'" } } } }, - "description" : "Forbidden!" + "description": "Forbidden!" } } } }, - "/workshop/api/shop/orders/all" : { - "get" : { - "operationId" : "get_orders", - "summary" : "Get Orders", - "description" : "Used to get user's past orders", - "tags" : [ "Workshop / Shop" ], - "security" : [ { - "bearerAuth" : [ ] - } ], - "responses" : { - "200" : { - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "required" : [ "orders" ], - "properties" : { - "orders" : { - "type" : "array", - "items" : { - "type" : "object", - "required" : [ "created_on", "id", "product", "quantity", "status", "user" ], - "properties" : { - "quantity" : { - "type" : "number" + "/workshop/api/shop/orders/all": { + "get": { + "operationId": "get_orders", + "summary": "Get Orders", + "description": "Used to get user's past orders", + "tags": ["Workshop / Shop"], + "security": [ + { + "bearerAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "type": "object", + "required": ["orders"], + "properties": { + "orders": { + "type": "array", + "items": { + "type": "object", + "required": [ + "created_on", + "id", + "product", + "quantity", + "status", + "user" + ], + "properties": { + "quantity": { + "type": "number" }, - "id" : { - "type" : "number" + "id": { + "type": "number" }, - "status" : { - "type" : "string" + "status": { + "type": "string" }, - "created_on" : { - "type" : "string" + "created_on": { + "type": "string" }, - "user" : { - "type" : "object", - "required" : [ "email", "number" ], - "properties" : { - "email" : { - "type" : "string" + "user": { + "type": "object", + "required": ["email", "number"], + "properties": { + "email": { + "type": "string" }, - "number" : { - "type" : "string" + "number": { + "type": "string" } } }, - "product" : { - "type" : "object", - "required" : [ "id", "image_url", "name", "price" ], - "properties" : { - "id" : { - "type" : "number" + "product": { + "type": "object", + "required": ["id", "image_url", "name", "price"], + "properties": { + "id": { + "type": "number" }, - "image_url" : { - "type" : "string" + "image_url": { + "type": "string" }, - "name" : { - "type" : "string" + "name": { + "type": "string" }, - "price" : { - "type" : "string" + "price": { + "type": "string" } } } @@ -1963,117 +2118,123 @@ } } }, - "description" : "" + "description": "" } } }, - "parameters" : [ ] + "parameters": [] }, - "/workshop/api/shop/orders/return_order" : { - "post" : { - "operationId" : "return_order", - "summary" : "Return Order", - "description" : "Used to return order specified by the order_id", - "tags" : [ "Workshop / Shop" ], - "security" : [ { - "bearerAuth" : [ ] - } ], - "parameters" : [ { - "in" : "query", - "name" : "order_id", - "schema" : { - "type" : "integer", - "example": 33 - }, - "required" : true - } ], - "responses" : { - "200" : { - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "required" : [ "message", "order", "qr_code_url" ], - "properties" : { - "message" : { - "type" : "string" + "/workshop/api/shop/orders/return_order": { + "post": { + "operationId": "return_order", + "summary": "Return Order", + "description": "Used to return order specified by the order_id", + "tags": ["Workshop / Shop"], + "security": [ + { + "bearerAuth": [] + } + ], + "parameters": [ + { + "in": "query", + "name": "order_id", + "schema": { + "type": "integer", + "example": 33 + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "type": "object", + "required": ["message", "order", "qr_code_url"], + "properties": { + "message": { + "type": "string" }, - "order" : { - "$ref" : "#/components/schemas/Order" + "order": { + "$ref": "#/components/schemas/Order" }, - "qr_code_url" : { - "type" : "string", - "format" : "url" + "qr_code_url": { + "type": "string", + "format": "url" } } } } }, - "description" : "OK" - }, - "400" : { - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "required" : [ "message" ], - "properties" : { - "message" : { - "type" : "string" + "description": "OK" + }, + "400": { + "content": { + "application/json": { + "schema": { + "type": "object", + "required": ["message"], + "properties": { + "message": { + "type": "string" } }, - "example" : { - "message" : "This order has already been returned!" + "example": { + "message": "This order has already been returned!" } } } }, - "description" : "Bad Request!" - }, - "403" : { - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "required" : [ "message" ], - "properties" : { - "message" : { - "type" : "string" + "description": "Bad Request!" + }, + "403": { + "content": { + "application/json": { + "schema": { + "type": "object", + "required": ["message"], + "properties": { + "message": { + "type": "string" } }, - "example" : { - "message" : "You are not allowed to access this resource!'" + "example": { + "message": "You are not allowed to access this resource!'" } } } }, - "description" : "Forbidden!" + "description": "Forbidden!" } } } }, - "/workshop/api/shop/apply_coupon" : { - "post" : { - "operationId" : "apply_coupon", - "summary" : "Apply Coupon", - "description" : "Used to apply the coupon for the current user.", - "tags" : [ "Workshop / Shop" ], - "security" : [ { - "bearerAuth" : [ ] - } ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "required" : [ "amount", "coupon_code" ], - "properties" : { - "amount" : { - "type" : "number", + "/workshop/api/shop/apply_coupon": { + "post": { + "operationId": "apply_coupon", + "summary": "Apply Coupon", + "description": "Used to apply the coupon for the current user.", + "tags": ["Workshop / Shop"], + "security": [ + { + "bearerAuth": [] + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "required": ["amount", "coupon_code"], + "properties": { + "amount": { + "type": "number", "example": 75 }, - "coupon_code" : { - "type" : "string", + "coupon_code": { + "type": "string", "example": "TRAC075" } } @@ -2081,130 +2242,134 @@ } } }, - "responses" : { - "200" : { - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "required" : [ "credit", "message" ], - "properties" : { - "credit" : { - "type" : "number" + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "type": "object", + "required": ["credit", "message"], + "properties": { + "credit": { + "type": "number" }, - "message" : { - "type" : "string" + "message": { + "type": "string" } } } } }, - "description" : "" - }, - "400" : { - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "required" : [ "message" ], - "properties" : { - "message" : { - "type" : "string" + "description": "" + }, + "400": { + "content": { + "application/json": { + "schema": { + "type": "object", + "required": ["message"], + "properties": { + "message": { + "type": "string" } } } } }, - "description" : "" + "description": "" } } }, - "parameters" : [ ] + "parameters": [] }, - "/workshop/api/shop/return_qr_code" : { - "get" : { - "operationId" : "get_workshop_qr_code", - "summary" : "Get Workshop", - "description" : "Used to get the return qr code image for UPS shipments.", - "tags" : [ "Workshop / Shop" ], - "security" : [ { } ], - "parameters" : [ { - "name" : "Accept", - "in" : "header", - "description" : "The server doesn't like image/png in accept!", - "required" : true, - "style" : "simple", - "schema" : { - "type" : "string", - "example" : "*/*" - } - } ], - "responses" : { - "200" : { - "content" : { - "" : { - "schema" : { - "type" : "string", - "format" : "binary" + "/workshop/api/shop/return_qr_code": { + "get": { + "operationId": "get_workshop_qr_code", + "summary": "Get Workshop", + "description": "Used to get the return qr code image for UPS shipments.", + "tags": ["Workshop / Shop"], + "security": [{}], + "parameters": [ + { + "name": "Accept", + "in": "header", + "description": "The server doesn't like image/png in accept!", + "required": true, + "style": "simple", + "schema": { + "type": "string", + "example": "*/*" + } + } + ], + "responses": { + "200": { + "content": { + "": { + "schema": { + "type": "string", + "format": "binary" } } }, - "description" : "QR Code PNG Image" + "description": "QR Code PNG Image" } } } }, - "/workshop/api/mechanic/" : { - "get" : { - "operationId" : "get_mechanics", - "summary" : "Get Mechanics", - "description" : "Used to get all the available mechanics", - "tags" : [ "Workshop / Mechanic" ], - "security" : [ { - "bearerAuth" : [ ] - } ], - "responses" : { - "200" : { - "description" : "OK", - "headers" : { - "Transfer-Encoding" : { - "content" : { - "text/plain" : { - "schema" : { - "type" : "string" + "/workshop/api/mechanic/": { + "get": { + "operationId": "get_mechanics", + "summary": "Get Mechanics", + "description": "Used to get all the available mechanics", + "tags": ["Workshop / Mechanic"], + "security": [ + { + "bearerAuth": [] + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "Transfer-Encoding": { + "content": { + "text/plain": { + "schema": { + "type": "string" }, - "example" : "chunked" + "example": "chunked" } } } }, - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "required" : [ "mechanics" ], - "properties" : { - "mechanics" : { - "type" : "array", - "items" : { - "type" : "object", - "required" : [ "id", "mechanic_code", "user" ], - "properties" : { - "id" : { - "type" : "number" + "content": { + "application/json": { + "schema": { + "type": "object", + "required": ["mechanics"], + "properties": { + "mechanics": { + "type": "array", + "items": { + "type": "object", + "required": ["id", "mechanic_code", "user"], + "properties": { + "id": { + "type": "number" }, - "mechanic_code" : { - "type" : "string" + "mechanic_code": { + "type": "string" }, - "user" : { - "type" : "object", - "required" : [ "email", "number" ], - "properties" : { - "email" : { - "type" : "string" + "user": { + "type": "object", + "required": ["email", "number"], + "properties": { + "email": { + "type": "string" }, - "number" : { - "type" : "string" + "number": { + "type": "string" } } } @@ -2213,218 +2378,234 @@ } } }, - "example" : { - "mechanics" : [ { - "id" : 1, - "mechanic_code" : "TRAC_MECH1", - "user" : { - "email" : "mechanic.one@example.com", - "number" : "" - } - }, { - "id" : 2, - "mechanic_code" : "TRAC_MECH2", - "user" : { - "email" : "mechanic.two@example.com", - "number" : "" + "example": { + "mechanics": [ + { + "id": 1, + "mechanic_code": "TRAC_MECH1", + "user": { + "email": "mechanic.one@example.com", + "number": "" + } + }, + { + "id": 2, + "mechanic_code": "TRAC_MECH2", + "user": { + "email": "mechanic.two@example.com", + "number": "" + } } - } ] + ] } } } } } }, - "parameters" : [ ] + "parameters": [] }, - "/workshop/api/merchant/contact_mechanic" : { - "post" : { - "operationId" : "contact_mechanic", - "summary" : "Contact Mechanic", - "description" : "Used to contact a mechanic for a service request on your vehicle", - "tags" : [ "Workshop / Mechanic" ], - "security" : [ { - "bearerAuth" : [ ] - } ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "required" : [ "mechanic_api", "mechanic_code", "number_of_repeats", "problem_details", "repeat_request_if_failed", "vin" ], - "properties" : { - "number_of_repeats" : { - "type" : "number" + "/workshop/api/merchant/contact_mechanic": { + "post": { + "operationId": "contact_mechanic", + "summary": "Contact Mechanic", + "description": "Used to contact a mechanic for a service request on your vehicle", + "tags": ["Workshop / Mechanic"], + "security": [ + { + "bearerAuth": [] + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "mechanic_api", + "mechanic_code", + "number_of_repeats", + "problem_details", + "repeat_request_if_failed", + "vin" + ], + "properties": { + "number_of_repeats": { + "type": "number" }, - "mechanic_api" : { - "type" : "string" + "mechanic_api": { + "type": "string" }, - "vin" : { - "type" : "string" + "vin": { + "type": "string" }, - "repeat_request_if_failed" : { - "type" : "boolean" + "repeat_request_if_failed": { + "type": "boolean" }, - "problem_details" : { - "type" : "string" + "problem_details": { + "type": "string" }, - "mechanic_code" : { - "type" : "string" + "mechanic_code": { + "type": "string" } } }, - "example" : { - "mechanic_api" : "http://localhost:8000/workshop/api/mechanic/receive_report", - "mechanic_code" : "TRAC_JHN", - "number_of_repeats" : 1, - "repeat_request_if_failed" : false, - "problem_details" : "Hi Jhon", - "vin" : "8UOLV89RGKL908077" + "example": { + "mechanic_api": "http://localhost:8000/workshop/api/mechanic/receive_report", + "mechanic_code": "TRAC_JHN", + "number_of_repeats": 1, + "repeat_request_if_failed": false, + "problem_details": "Hi Jhon", + "vin": "8UOLV89RGKL908077" } } } }, - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "required" : [ "response_from_mechanic_api", "status" ], - "properties" : { - "response_from_mechanic_api" : { - "type" : "object", - "required" : [ "id", "sent", "report_link" ], - "properties" : { - "id" : { - "type" : "integer", - "format" : "int32" + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": ["response_from_mechanic_api", "status"], + "properties": { + "response_from_mechanic_api": { + "type": "object", + "required": ["id", "sent", "report_link"], + "properties": { + "id": { + "type": "integer", + "format": "int32" }, - "sent" : { - "type" : "boolean" + "sent": { + "type": "boolean" }, - "report_link" : { - "type" : "string" + "report_link": { + "type": "string" } } }, - "status" : { - "type" : "integer", - "format" : "int32" + "status": { + "type": "integer", + "format": "int32" } } }, - "example" : { - "response_from_mechanic_api" : { - "id" : 17, - "sent" : true, - "report_link" : "http://localhost:8888/workshop/api/mechanic/mechanic_report?report_id=17" + "example": { + "response_from_mechanic_api": { + "id": 17, + "sent": true, + "report_link": "http://localhost:8888/workshop/api/mechanic/mechanic_report?report_id=17" }, - "status" : 200 + "status": 200 } } } }, - "400" : { - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "required" : [ "message" ], - "properties" : { - "message" : { - "type" : "string" + "400": { + "content": { + "application/json": { + "schema": { + "type": "object", + "required": ["message"], + "properties": { + "message": { + "type": "string" } } } } }, - "description" : "Bad Request!" - }, - "503" : { - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "required" : [ "message" ], - "properties" : { - "message" : { - "type" : "string" + "description": "Bad Request!" + }, + "503": { + "content": { + "application/json": { + "schema": { + "type": "object", + "required": ["message"], + "properties": { + "message": { + "type": "string" } } } } }, - "description" : "Service Unavailable" + "description": "Service Unavailable" } } }, - "parameters" : [ ] + "parameters": [] }, - "/workshop/api/mechanic/receive_report" : { - "get" : { - "operationId" : "create_service_report", - "summary" : "Create and Assign a Service Report", - "description" : "Used to create the service report and assign to the mechanic", - "tags" : [ "Workshop / Mechanic" ], - "security" : [ ], - "parameters" : [ { - "name" : "mechanic_code", - "in" : "query", - "required" : true, - "schema" : { - "type" : "string", - "example" : "TRAC_MECH1" - } - }, { - "name" : "problem_details", - "in" : "query", - "required" : true, - "schema" : { - "type" : "string", - "example" : "My car has engine trouble, and I need urgent help!" - } - }, { - "name" : "vin", - "in" : "query", - "required" : true, - "schema" : { - "type" : "string", - "example" : "0BZCX25UTBJ987271" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "required" : [ "id", "sent", "report_link" ], - "properties" : { - "id" : { - "type" : "integer" + "/workshop/api/mechanic/receive_report": { + "get": { + "operationId": "create_service_report", + "summary": "Create and Assign a Service Report", + "description": "Used to create the service report and assign to the mechanic", + "tags": ["Workshop / Mechanic"], + "security": [], + "parameters": [ + { + "name": "mechanic_code", + "in": "query", + "required": true, + "schema": { + "type": "string", + "example": "TRAC_MECH1" + } + }, + { + "name": "problem_details", + "in": "query", + "required": true, + "schema": { + "type": "string", + "example": "My car has engine trouble, and I need urgent help!" + } + }, + { + "name": "vin", + "in": "query", + "required": true, + "schema": { + "type": "string", + "example": "0BZCX25UTBJ987271" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": ["id", "sent", "report_link"], + "properties": { + "id": { + "type": "integer" }, - "sent" : { - "type" : "string" + "sent": { + "type": "string" }, - "report_link" : { - "type" : "string", - "format" : "url" + "report_link": { + "type": "string", + "format": "url" } } } } } }, - "400" : { - "description" : "Bad Request!", - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "additionalProperties" : true + "400": { + "description": "Bad Request!", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": true } } } @@ -2432,182 +2613,193 @@ } } }, - "/workshop/api/mechanic/mechanic_report" : { - "get" : { - "operationId" : "get_report_byID", - "summary" : "Get Service Report", - "description" : "Used to get the service report specified by the report_id", - "tags" : [ "Workshop / Mechanic" ], - "security" : [ { - "bearerAuth" : [ ] - } ], - "parameters" : [ { - "name" : "report_id", - "in" : "query", - "description" : "", - "required" : true, - "style" : "form", - "explode" : true, - "schema" : { - "type" : "integer", - "format" : "int32", - "example" : 2 - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "headers" : { - "Server" : { - "content" : { - "text/plain" : { - "schema" : { - "type" : "string" + "/workshop/api/mechanic/mechanic_report": { + "get": { + "operationId": "get_report_byID", + "summary": "Get Service Report", + "description": "Used to get the service report specified by the report_id", + "tags": ["Workshop / Mechanic"], + "security": [ + { + "bearerAuth": [] + } + ], + "parameters": [ + { + "name": "report_id", + "in": "query", + "description": "", + "required": true, + "style": "form", + "explode": true, + "schema": { + "type": "integer", + "format": "int32", + "example": 2 + } + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "Server": { + "content": { + "text/plain": { + "schema": { + "type": "string" }, - "example" : "openresty/1.17.8.2" + "example": "openresty/1.17.8.2" } } }, - "Date" : { - "content" : { - "text/plain" : { - "schema" : { - "type" : "string" + "Date": { + "content": { + "text/plain": { + "schema": { + "type": "string" }, - "example" : "Tue, 21 Sep 2021 22:33:37 GMT" + "example": "Tue, 21 Sep 2021 22:33:37 GMT" } } }, - "Transfer-Encoding" : { - "content" : { - "text/plain" : { - "schema" : { - "type" : "string" + "Transfer-Encoding": { + "content": { + "text/plain": { + "schema": { + "type": "string" }, - "example" : "chunked" + "example": "chunked" } } }, - "Allow" : { - "content" : { - "text/plain" : { - "schema" : { - "type" : "string" + "Allow": { + "content": { + "text/plain": { + "schema": { + "type": "string" }, - "example" : "GET, HEAD, OPTIONS" + "example": "GET, HEAD, OPTIONS" } } }, - "Vary" : { - "content" : { - "text/plain" : { - "schema" : { - "type" : "string" + "Vary": { + "content": { + "text/plain": { + "schema": { + "type": "string" }, - "example" : "Origin, Cookie" + "example": "Origin, Cookie" } } }, - "X-Frame-Options" : { - "content" : { - "text/plain" : { - "schema" : { - "type" : "string" + "X-Frame-Options": { + "content": { + "text/plain": { + "schema": { + "type": "string" }, - "example" : "SAMEORIGIN" + "example": "SAMEORIGIN" } } } }, - "content" : { - "application/json" : { - "schema" : { - "title" : "Service Request", - "required" : [ "id", "mechanic", "vehicle", "problem_details", "status", "created_on" ], - "type" : "object", - "properties" : { - "id" : { - "type" : "integer", - "format" : "int32" + "content": { + "application/json": { + "schema": { + "title": "Service Request", + "required": [ + "id", + "mechanic", + "vehicle", + "problem_details", + "status", + "created_on" + ], + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" }, - "mechanic" : { - "title" : "Mechanic", - "required" : [ "id", "mechanic_code", "user" ], - "type" : "object", - "properties" : { - "id" : { - "type" : "integer", - "format" : "int32" + "mechanic": { + "title": "Mechanic", + "required": ["id", "mechanic_code", "user"], + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" }, - "mechanic_code" : { - "type" : "string" + "mechanic_code": { + "type": "string" }, - "user" : { - "title" : "user", - "required" : [ "email", "number" ], - "type" : "object", - "properties" : { - "email" : { - "type" : "string" + "user": { + "title": "user", + "required": ["email", "number"], + "type": "object", + "properties": { + "email": { + "type": "string" }, - "number" : { - "type" : "string" + "number": { + "type": "string" } } } }, - "example" : { - "id" : 1, - "mechanic_code" : "TRAC_MECH1", - "user" : { - "email" : "mechanic.one@example.com", - "number" : "415-654-3212" + "example": { + "id": 1, + "mechanic_code": "TRAC_MECH1", + "user": { + "email": "mechanic.one@example.com", + "number": "415-654-3212" } } }, - "vehicle" : { - "title" : "vehicle", - "required" : [ "id", "vin", "owner" ], - "type" : "object", - "properties" : { - "id" : { - "type" : "integer", - "format" : "int32" + "vehicle": { + "title": "vehicle", + "required": ["id", "vin", "owner"], + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" }, - "vin" : { - "type" : "string" + "vin": { + "type": "string" }, - "owner" : { - "title" : "owner", - "required" : [ "email", "number" ], - "type" : "object", - "properties" : { - "email" : { - "type" : "string" + "owner": { + "title": "owner", + "required": ["email", "number"], + "type": "object", + "properties": { + "email": { + "type": "string" }, - "number" : { - "type" : "string" + "number": { + "type": "string" } } } }, - "example" : { - "id" : 23, - "vin" : "0FOPP90TFEE927859", - "owner" : { - "email" : "victim.one@example.com", - "number" : "4156895423" + "example": { + "id": 23, + "vin": "0FOPP90TFEE927859", + "owner": { + "email": "victim.one@example.com", + "number": "4156895423" } } }, - "problem_details" : { - "type" : "string" + "problem_details": { + "type": "string" }, - "status" : { - "type" : "string" + "status": { + "type": "string" }, - "created_on" : { - "type" : "string" + "created_on": { + "type": "string" } } } @@ -2617,48 +2809,50 @@ } } }, - "/workshop/api/mechanic/service_requests" : { - "get" : { - "operationId" : "get_service_requests_for_mechanic", - "summary" : "Get Service Reports for a Mechanic", - "description" : "Fetch all service requests assigned to this specific mechanic.", - "tags" : [ "Workshop / Mechanic" ], - "security" : [ { - "bearerAuth" : [ ] - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ServiceRequests" + "/workshop/api/mechanic/service_requests": { + "get": { + "operationId": "get_service_requests_for_mechanic", + "summary": "Get Service Reports for a Mechanic", + "description": "Fetch all service requests assigned to this specific mechanic.", + "tags": ["Workshop / Mechanic"], + "security": [ + { + "bearerAuth": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServiceRequests" } } } }, - "401" : { - "description" : "Unauthorized", - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "properties" : { - "message" : { - "type" : "string" + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string" } }, - "required" : [ "message" ] + "required": ["message"] } } } }, - "403" : { - "description" : "Forbidden", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ServiceRequests" + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServiceRequests" } } } @@ -2666,462 +2860,487 @@ } } }, - "/workshop/api/mechanic/signup" : { - "post" : { - "operationId" : "mechanic_signup", - "summary" : "New Mechanic Signup", - "description" : "Used to register a new mechanic in the workshop.", - "tags" : [ "Workshop / Mechanic" ], - "security" : [ ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "properties" : { - "name" : { - "type" : "string" + "/workshop/api/mechanic/signup": { + "post": { + "operationId": "mechanic_signup", + "summary": "New Mechanic Signup", + "description": "Used to register a new mechanic in the workshop.", + "tags": ["Workshop / Mechanic"], + "security": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string" }, - "email" : { - "type" : "string", - "format" : "email" + "email": { + "type": "string", + "format": "email" }, - "number" : { - "type" : "string" + "number": { + "type": "string" }, - "password" : { - "type" : "string" + "password": { + "type": "string" }, - "mechanic_code" : { - "type" : "string" + "mechanic_code": { + "type": "string" } }, - "required" : [ "email", "mechanic_code", "name", "number", "password" ] + "required": [ + "email", + "mechanic_code", + "name", + "number", + "password" + ] } } }, - "required" : true + "required": true }, - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "required" : [ "message" ], - "properties" : { - "message" : { - "type" : "string" + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": ["message"], + "properties": { + "message": { + "type": "string" } }, - "example" : { - "message" : "Mechanic created with email: john@workshop.com" + "example": { + "message": "Mechanic created with email: john@workshop.com" } } } } }, - "400" : { - "content" : { - "application/json" : { - "schema" : { - "type" : "object", - "required" : [ "message" ], - "properties" : { - "message" : { - "type" : "string" + "400": { + "content": { + "application/json": { + "schema": { + "type": "object", + "required": ["message"], + "properties": { + "message": { + "type": "string" } }, - "example" : { - "message" : "Mechanic code already exists!'" + "example": { + "message": "Mechanic code already exists!'" } } } }, - "description" : "Bad Request!" + "description": "Bad Request!" } } } } }, - "components" : { - "schemas" : { - "Order" : { - "type" : "object", - "properties" : { - "id" : { - "type" : "integer", - "readOnly" : true + "components": { + "schemas": { + "Order": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "readOnly": true }, - "user" : { - "$ref" : "#/components/schemas/User" + "user": { + "$ref": "#/components/schemas/User" }, - "product" : { - "$ref" : "#/components/schemas/Product" + "product": { + "$ref": "#/components/schemas/Product" }, - "quantity" : { - "type" : "integer" + "quantity": { + "type": "integer" }, - "status" : { - "$ref" : "#/components/schemas/OrderStatusEnum" + "status": { + "$ref": "#/components/schemas/OrderStatusEnum" }, - "created_on" : { - "type" : "string", - "format" : "date-time" + "created_on": { + "type": "string", + "format": "date-time" } }, - "required" : [ "created_on", "id", "product", "user" ] + "required": ["created_on", "id", "product", "user"] }, - "User" : { - "type" : "object", - "properties" : { - "email" : { - "type" : "string" + "User": { + "type": "object", + "properties": { + "email": { + "type": "string" }, - "number" : { - "type" : "string", - "nullable" : true + "number": { + "type": "string", + "nullable": true } }, - "required" : [ "email" ] + "required": ["email"] }, - "NewProduct" : { - "type" : "object", - "properties" : { - "name" : { - "type" : "string" + "NewProduct": { + "type": "object", + "properties": { + "name": { + "type": "string" }, - "price" : { - "type" : "string", - "format" : "decimal", - "pattern" : "^\\d{0,18}(\\.\\d{0,2})?$" + "price": { + "type": "string", + "format": "decimal", + "pattern": "^\\d{0,18}(\\.\\d{0,2})?$" }, - "image_url" : { - "type" : "string", - "format" : "url" + "image_url": { + "type": "string", + "format": "url" } }, - "required" : [ "image_url", "name", "price" ] + "required": ["image_url", "name", "price"] }, - "Product" : { - "type" : "object", - "properties" : { - "id" : { - "type" : "integer", - "readOnly" : true + "Product": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "readOnly": true }, - "name" : { - "type" : "string" + "name": { + "type": "string" }, - "price" : { - "type" : "string", - "format" : "decimal", - "pattern" : "^\\d{0,18}(\\.\\d{0,2})?$" + "price": { + "type": "string", + "format": "decimal", + "pattern": "^\\d{0,18}(\\.\\d{0,2})?$" }, - "image_url" : { - "type" : "string", - "format" : "url" + "image_url": { + "type": "string", + "format": "url" } }, - "required" : [ "id", "image_url", "name", "price" ] + "required": ["id", "image_url", "name", "price"] }, - "OrderStatusEnum" : { - "enum" : [ "delivered", "return pending", "returned" ], - "type" : "string" + "OrderStatusEnum": { + "enum": ["delivered", "return pending", "returned"], + "type": "string" }, - "ProductQuantity" : { - "type" : "object", - "properties" : { - "product_id" : { - "type" : "integer", + "ProductQuantity": { + "type": "object", + "properties": { + "product_id": { + "type": "integer", "example": 1 }, - "quantity" : { - "type" : "integer", + "quantity": { + "type": "integer", "example": 1 } }, - "required" : [ "product_id", "quantity" ] + "required": ["product_id", "quantity"] }, - "Post" : { - "title" : "Post", - "required" : [ "id", "title", "content", "author", "comments", "authorid", "CreatedAt" ], - "type" : "object", - "properties" : { - "id" : { - "type" : "string" - }, - "title" : { - "type" : "string" - }, - "content" : { - "type" : "string" - }, - "author" : { - "$ref" : "#/components/schemas/Author" - }, - "comments" : { - "type" : "array", - "items" : { - "type" : "string" + "Post": { + "title": "Post", + "required": [ + "id", + "title", + "content", + "author", + "comments", + "authorid", + "CreatedAt" + ], + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "title": { + "type": "string" + }, + "content": { + "type": "string" + }, + "author": { + "$ref": "#/components/schemas/Author" + }, + "comments": { + "type": "array", + "items": { + "type": "string" }, - "description" : "" + "description": "" }, - "authorid" : { - "type" : "integer", - "format" : "int32" + "authorid": { + "type": "integer", + "format": "int32" }, - "CreatedAt" : { - "type" : "string" + "CreatedAt": { + "type": "string" } }, - "example" : { - "id" : "ConZLXacq3MqhbLQDrbNLf", - "title" : "Title 3", - "content" : "Hello world 3", - "author" : { - "nickname" : "Hacker", - "email" : "hacker@darkweb.com", - "vehicleid" : "abac4018-5a38-466c-ab7f-361908afeab6", - "profile_pic_url" : "", - "created_at" : "2021-09-16T01:46:32.432Z" - }, - "comments" : [ ], - "authorid" : 3, - "CreatedAt" : "2021-09-16T01:46:32.432Z" + "example": { + "id": "ConZLXacq3MqhbLQDrbNLf", + "title": "Title 3", + "content": "Hello world 3", + "author": { + "nickname": "Hacker", + "email": "hacker@darkweb.com", + "vehicleid": "abac4018-5a38-466c-ab7f-361908afeab6", + "profile_pic_url": "", + "created_at": "2021-09-16T01:46:32.432Z" + }, + "comments": [], + "authorid": 3, + "CreatedAt": "2021-09-16T01:46:32.432Z" } }, - "Author" : { - "title" : "Author", - "required" : [ "nickname", "email", "vehicleid", "profile_pic_url", "created_at" ], - "type" : "object", - "properties" : { - "nickname" : { - "type" : "string" - }, - "email" : { - "type" : "string" - }, - "vehicleid" : { - "type" : "string" - }, - "profile_pic_url" : { - "type" : "string" - }, - "created_at" : { - "type" : "string" + "Author": { + "title": "Author", + "required": [ + "nickname", + "email", + "vehicleid", + "profile_pic_url", + "created_at" + ], + "type": "object", + "properties": { + "nickname": { + "type": "string" + }, + "email": { + "type": "string" + }, + "vehicleid": { + "type": "string" + }, + "profile_pic_url": { + "type": "string" + }, + "created_at": { + "type": "string" } }, - "example" : { - "nickname" : "Hacker", - "email" : "hacker@darkweb.com", - "vehicleid" : "abac4018-5a38-466c-ab7f-361908afeab6", - "profile_pic_url" : "", - "created_at" : "2021-09-16T01:46:32.432Z" + "example": { + "nickname": "Hacker", + "email": "hacker@darkweb.com", + "vehicleid": "abac4018-5a38-466c-ab7f-361908afeab6", + "profile_pic_url": "", + "created_at": "2021-09-16T01:46:32.432Z" } }, - "VideoForm" : { - "type" : "object", - "properties" : { - "id" : { - "type" : "integer", - "format" : "int64" + "VideoForm": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64" }, - "videoName" : { - "type" : "string" + "videoName": { + "type": "string" }, - "video_url" : { - "type" : "string" + "video_url": { + "type": "string" }, - "conversion_params" : { - "type" : "string" + "conversion_params": { + "type": "string" } } }, - "CRAPIResponse" : { - "type" : "object", - "properties" : { - "message" : { - "type" : "string" + "CRAPIResponse": { + "type": "object", + "properties": { + "message": { + "type": "string" }, - "status" : { - "type" : "integer", - "format" : "int32" + "status": { + "type": "integer", + "format": "int32" } } }, - "OtpForm" : { - "required" : [ "email", "otp", "password" ], - "type" : "object", - "properties" : { - "otp" : { - "maxLength" : 4, - "minLength" : 3, - "type" : "string", + "OtpForm": { + "required": ["email", "otp", "password"], + "type": "object", + "properties": { + "otp": { + "maxLength": 4, + "minLength": 3, + "type": "string", "example": "9969" }, - "password" : { - "maxLength" : 30, - "minLength" : 5, - "type" : "string", + "password": { + "maxLength": 30, + "minLength": 5, + "type": "string", "example": "5hmb0gvyC__hVQg" }, - "email" : { - "maxLength" : 30, - "minLength" : 5, - "type" : "string", - "example": "Cristobal.Weissnat@example.com" + "email": { + "maxLength": 30, + "minLength": 5, + "type": "string", + "example": "Cristobal.Weissnat@example.com" } } }, - "JwtResponse" : { - "type" : "object", - "properties" : { - "token" : { - "type" : "string" - }, - "type" : { - "type" : "string" - }, - "message" : { - "type" : "string" - }, - "role" : { - "type" : "string", - "enum" : [ "ROLE_UNDEFINED", "ROLE_USER", "ROLE_MECHANIC", "ROLE_ADMIN" ] + "JwtResponse": { + "type": "object", + "properties": { + "token": { + "type": "string" + }, + "type": { + "type": "string" + }, + "message": { + "type": "string" + }, + "role": { + "type": "string", + "enum": [ + "ROLE_UNDEFINED", + "ROLE_USER", + "ROLE_MECHANIC", + "ROLE_ADMIN" + ] } } }, - "LoginWithEmailToken" : { - "required" : [ "email", "token" ], - "type" : "object", - "properties" : { - "email" : { - "maxLength" : 60, - "minLength" : 3, - "type" : "string" - }, - "token" : { - "maxLength" : 60, - "minLength" : 3, - "type" : "string" + "LoginWithEmailToken": { + "required": ["email", "token"], + "type": "object", + "properties": { + "email": { + "maxLength": 60, + "minLength": 3, + "type": "string" + }, + "token": { + "maxLength": 60, + "minLength": 3, + "type": "string" } } }, - "ProfileVideo" : { - "type" : "object", - "required" : [ "id", "video_name", "converstion_params", "video", "user" ], - "properties" : { - "id" : { - "type" : "number" + "ProfileVideo": { + "type": "object", + "required": ["id", "video_name", "converstion_params", "video", "user"], + "properties": { + "id": { + "type": "number" }, - "video_name" : { - "type" : "string" + "video_name": { + "type": "string" }, - "conversion_params" : { - "type" : "string" + "conversion_params": { + "type": "string" }, - "video" : { - "type" : "string" + "video": { + "type": "string" }, - "user" : { - "$ref" : "#/components/schemas/User" + "user": { + "$ref": "#/components/schemas/User" } } }, - "Coupon" : { - "type" : "object", - "properties" : { - "amount" : { - "type" : "string" + "Coupon": { + "type": "object", + "properties": { + "amount": { + "type": "string" }, - "coupon_code" : { - "type" : "string" + "coupon_code": { + "type": "string" }, - "createdAt" : { - "type" : "string" + "createdAt": { + "type": "string" } }, - "required" : [ "amount", "coupon_code" ] + "required": ["amount", "coupon_code"] }, - "ServiceRequests" : { - "title" : "Service Requests", - "type" : "object", - "required" : [ "service_requests" ], - "properties" : { - "service_requests" : { - "type" : "array", - "items" : { - "type" : "object", - "required" : [ "created_on", "id", "mechanic", "vehicle" ], - "properties" : { - "id" : { - "type" : "integer", - "readOnly" : true + "ServiceRequests": { + "title": "Service Requests", + "type": "object", + "required": ["service_requests"], + "properties": { + "service_requests": { + "type": "array", + "items": { + "type": "object", + "required": ["created_on", "id", "mechanic", "vehicle"], + "properties": { + "id": { + "type": "integer", + "readOnly": true }, - "mechanic" : { - "type" : "object", - "required" : [ "id", "mechanic_code", "user" ], - "properties" : { - "id" : { - "type" : "integer", - "readOnly" : true + "mechanic": { + "type": "object", + "required": ["id", "mechanic_code", "user"], + "properties": { + "id": { + "type": "integer", + "readOnly": true }, - "mechanic_code" : { - "type" : "string" + "mechanic_code": { + "type": "string" }, - "user" : { - "type" : "object", - "required" : [ "email" ], - "properties" : { - "email" : { - "type" : "string" + "user": { + "type": "object", + "required": ["email"], + "properties": { + "email": { + "type": "string" }, - "number" : { - "type" : "string", - "nullable" : true + "number": { + "type": "string", + "nullable": true } } } } }, - "vehicle" : { - "type" : "object", - "properties" : { - "id" : { - "type" : "integer", - "readOnly" : true + "vehicle": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "readOnly": true }, - "vin" : { - "type" : "string" + "vin": { + "type": "string" }, - "owner" : { - "type" : "object", - "properties" : { - "email" : { - "type" : "string" + "owner": { + "type": "object", + "properties": { + "email": { + "type": "string" }, - "number" : { - "type" : "string", - "nullable" : true + "number": { + "type": "string", + "nullable": true } }, - "required" : [ "email" ] + "required": ["email"] } }, - "required" : [ "id", "owner", "vin" ] + "required": ["id", "owner", "vin"] }, - "problem_details" : { - "type" : "string" + "problem_details": { + "type": "string" }, - "status" : { - "enum" : [ "Pending", "Finished" ], - "type" : "string" + "status": { + "enum": ["Pending", "Finished"], + "type": "string" }, - "created_on" : { - "type" : "string", - "format" : "date-time" + "created_on": { + "type": "string", + "format": "date-time" } } } @@ -3129,11 +3348,11 @@ } } }, - "securitySchemes" : { - "bearerAuth" : { - "type" : "http", - "scheme" : "bearer", - "bearerFormat" : "JWT" + "securitySchemes": { + "bearerAuth": { + "type": "http", + "scheme": "bearer", + "bearerFormat": "JWT" } } } diff --git a/test/data/package-json/v2-workspace/package.json b/test/data/package-json/v2-workspace/package.json index d7179508b..3346a76d1 100644 --- a/test/data/package-json/v2-workspace/package.json +++ b/test/data/package-json/v2-workspace/package.json @@ -5,11 +5,7 @@ "packageManager": "yarn@4.0.0-rc.50", "type": "module", "license": "MIT", - "workspaces": [ - "app", - "edge", - "scripts" - ], + "workspaces": ["app", "edge", "scripts"], "scripts": { "postinstall": "husky install && node ./scripts/postinstall.js", "update-schema": "node ./scripts/update-schema.js", diff --git a/test/data/package-json/v2/package.json b/test/data/package-json/v2/package.json index 8a4da0068..52b6dfcb5 100644 --- a/test/data/package-json/v2/package.json +++ b/test/data/package-json/v2/package.json @@ -9,10 +9,7 @@ "shopify": "cd shopify && shopify theme dev", "install-theme": "ts-node scripts/install-theme.ts --repo=https://github.com/Shopify/dawn.git" }, - "keywords": [ - "Shopify Theme", - "Online Store 2.0" - ], + "keywords": ["Shopify Theme", "Online Store 2.0"], "author": "Wessel van Ree ", "license": "MIT", "devDependencies": { diff --git a/test/data/package-json/v3/package.json b/test/data/package-json/v3/package.json index 0ea85329a..fb9521f63 100644 --- a/test/data/package-json/v3/package.json +++ b/test/data/package-json/v3/package.json @@ -1,23 +1,23 @@ { - "name": "clase-21---jwt", - "version": "1.0.0", - "description": "", - "main": "index.js", - "type": "module", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": "", - "license": "ISC", - "dependencies": { - "connect-mongo": "^5.0.0", - "express": "^4.18.2", - "express-handlebars": "^7.0.7", - "express-session": "^1.17.3", - "jsonwebtoken": "^9.0.0", - "mongoose": "^7.3.1", - "passport": "^0.6.0", - "passport-github2": "^0.1.12" - } + "name": "clase-21---jwt", + "version": "1.0.0", + "description": "", + "main": "index.js", + "type": "module", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": "", + "license": "ISC", + "dependencies": { + "connect-mongo": "^5.0.0", + "express": "^4.18.2", + "express-handlebars": "^7.0.7", + "express-session": "^1.17.3", + "jsonwebtoken": "^9.0.0", + "mongoose": "^7.3.1", + "passport": "^0.6.0", + "passport-github2": "^0.1.12" + } } diff --git a/test/data/package-lock-v3.json b/test/data/package-lock-v3.json index 553ebde70..8930a7e9d 100644 --- a/test/data/package-lock-v3.json +++ b/test/data/package-lock-v3.json @@ -3968,9 +3968,7 @@ "dev": true, "hasInstallScript": true, "optional": true, - "os": [ - "darwin" - ], + "os": ["darwin"], "engines": { "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } diff --git a/test/data/package-lock2.json b/test/data/package-lock2.json index 059c7b22c..08fa7f895 100644 --- a/test/data/package-lock2.json +++ b/test/data/package-lock2.json @@ -1,6 +1,6 @@ { - "name": "MyProject", - "lockfileVersion": 2, - "requires": true, - "packages": {} + "name": "MyProject", + "lockfileVersion": 2, + "requires": true, + "packages": {} } diff --git a/test/data/packages.lock.json b/test/data/packages.lock.json index 3e14dde15..9feefa1da 100644 --- a/test/data/packages.lock.json +++ b/test/data/packages.lock.json @@ -1,91 +1,91 @@ -{ - "version": 1, - "dependencies": { - "Any,Version=v0.0": { - "Antlr": { - "type": "Direct", - "requested": "[3.5.0.2, 3.5.0.2]", - "resolved": "3.5.0.2", - "contentHash": "CSfrVuDVMx3OrQhT84zed+tOdM1clljyRLWWlQM22fJsmG836RVDGQlE6tzysXh8X8p9UjkHbLr6OqEIVhtdEA==" - }, - "bootstrap": { - "type": "Direct", - "requested": "[3.4.1, 3.4.1]", - "resolved": "3.4.1", - "contentHash": "rnqnZV4sFAgB240hnLRwqoUaV2DfzrYsc6PbsYzRTObrrucLZyvb+8F1yTVT1sDbXMi/NXlyRmiL6wF+d4ZJMA==" - }, - "jQuery": { - "type": "Direct", - "requested": "[3.4.1, 3.4.1]", - "resolved": "3.4.1", - "contentHash": "vDD5O2nuVN2rF0rTASFSJNM5ef50niEP5HsXDQyXPPZH1rBaAaLtCutHG5wvXOPmrQw+MEZHOcOk9kYmdnL/Xw==" - }, - "jQuery.Validation": { - "type": "Direct", - "requested": "[1.17.0, 1.17.0]", - "resolved": "1.17.0", - "contentHash": "pzCKw7J9XugWLBCQCPa2qBVS57vbe3OkuEGgbMGWf+66Tyjanyy6qwC9/6Z+tt2PMtkQqNt+BexNDVkTnE8egw==" - }, - "Microsoft.AspNet.Mvc": { - "type": "Direct", - "requested": "[5.2.7, 5.2.7]", - "resolved": "5.2.7", - "contentHash": "m3hUsn48k6Qb5El9A8naTwGTLCdSQKGSpGweqIfiVKltGJzAJJxuXvhhaQQtLCGg3i5V88iGjz0JG72/tlFKlg==" - }, - "Microsoft.AspNet.Razor": { - "type": "Direct", - "requested": "[3.2.7, 3.2.7]", - "resolved": "3.2.7", - "contentHash": "BpWEZ+Ys7g9VAkbAfpG5jr5A1fKcmadCCXv3fYfps5YfTVABJIGV4uc9yvmXKxsNsjL+BzDld2gs+xtgT2gg1g==" - }, - "Microsoft.AspNet.Web.Optimization": { - "type": "Direct", - "requested": "[1.1.3, 1.1.3]", - "resolved": "1.1.3", - "contentHash": "TWKKpTWEdB8jXp2Vl2TXNKW30GBQg6nnh0y8iZWmGY5c1XY4f649vfDslNHsCsvk9JZxc1Rkm/UGDdfq4gjWRQ==" - }, - "Microsoft.AspNet.WebPages": { - "type": "Direct", - "requested": "[3.2.7, 3.2.7]", - "resolved": "3.2.7", - "contentHash": "2jwZFB7PvY+tbdz0ZP4iEo7gMrJxkCQUzoGLh6swUc6ZXl6DoKyDslmGcC/j9PFmJXCRMVIqtRorlPSMU2DuRA==" - }, - "Microsoft.CodeDom.Providers.DotNetCompilerPlatform": { - "type": "Direct", - "requested": "[2.0.1, 2.0.1]", - "resolved": "2.0.1", - "contentHash": "pn7IMmDyYRwFE316nnMs27GmedPAnjmOfWalWTO+pJkt6JMwdNDQ3yNbWTYG+7zmUU8P4JxhODhXQygDNGvCWQ==" - }, - "Microsoft.jQuery.Unobtrusive.Validation": { - "type": "Direct", - "requested": "[3.2.11, 3.2.11]", - "resolved": "3.2.11", - "contentHash": "8qGe1q3vV5Fwbpb0OSI8SxSiIBeFt9sgAvFvPwgZuuL+PZ+z0VsPB5yeqT+SrvPKpyVpN33MLhgvSW5Zf07IsQ==" - }, - "Microsoft.Web.Infrastructure": { - "type": "Direct", - "requested": "[1.0.0, 1.0.0]", - "resolved": "1.0.0", - "contentHash": "FNmvLn5m2LTU/Rs2KWVo0SIIh9Ek+U0ojex7xeDaSHw/zgEP77A8vY5cVWgUtBGS8MJfDGNn8rpXJWEIQaPwTg==" - }, - "Modernizr": { - "type": "Direct", - "requested": "[2.8.3, 2.8.3]", - "resolved": "2.8.3", - "contentHash": "OiV7LzwGvejI0lxQAx7HaAA+H6xC3FL6Pgv23Qo5O+5fKp5bt2zj0qz7ZmF+jtWmm9dcQkoTInO7eTFH1JtXEQ==" - }, - "Newtonsoft.Json": { - "type": "Direct", - "requested": "[12.0.2, 12.0.2]", - "resolved": "12.0.2", - "contentHash": "rTK0s2EKlfHsQsH6Yx2smvcTCeyoDNgCW7FEYyV01drPlh2T243PR2DiDXqtC5N4GDm4Ma/lkxfW5a/4793vbA==" - }, - "WebGrease": { - "type": "Direct", - "requested": "[1.6.0, 1.6.0]", - "resolved": "1.6.0", - "contentHash": "1d29edoh4IZPLig82coowiPBS1ltxT97PwEIkOk0dHqtJwD9v5C7gPm6Ot1hKHT86otKm04oDQ00x5c+PyVyxw==" - } - } - } -} \ No newline at end of file +{ + "version": 1, + "dependencies": { + "Any,Version=v0.0": { + "Antlr": { + "type": "Direct", + "requested": "[3.5.0.2, 3.5.0.2]", + "resolved": "3.5.0.2", + "contentHash": "CSfrVuDVMx3OrQhT84zed+tOdM1clljyRLWWlQM22fJsmG836RVDGQlE6tzysXh8X8p9UjkHbLr6OqEIVhtdEA==" + }, + "bootstrap": { + "type": "Direct", + "requested": "[3.4.1, 3.4.1]", + "resolved": "3.4.1", + "contentHash": "rnqnZV4sFAgB240hnLRwqoUaV2DfzrYsc6PbsYzRTObrrucLZyvb+8F1yTVT1sDbXMi/NXlyRmiL6wF+d4ZJMA==" + }, + "jQuery": { + "type": "Direct", + "requested": "[3.4.1, 3.4.1]", + "resolved": "3.4.1", + "contentHash": "vDD5O2nuVN2rF0rTASFSJNM5ef50niEP5HsXDQyXPPZH1rBaAaLtCutHG5wvXOPmrQw+MEZHOcOk9kYmdnL/Xw==" + }, + "jQuery.Validation": { + "type": "Direct", + "requested": "[1.17.0, 1.17.0]", + "resolved": "1.17.0", + "contentHash": "pzCKw7J9XugWLBCQCPa2qBVS57vbe3OkuEGgbMGWf+66Tyjanyy6qwC9/6Z+tt2PMtkQqNt+BexNDVkTnE8egw==" + }, + "Microsoft.AspNet.Mvc": { + "type": "Direct", + "requested": "[5.2.7, 5.2.7]", + "resolved": "5.2.7", + "contentHash": "m3hUsn48k6Qb5El9A8naTwGTLCdSQKGSpGweqIfiVKltGJzAJJxuXvhhaQQtLCGg3i5V88iGjz0JG72/tlFKlg==" + }, + "Microsoft.AspNet.Razor": { + "type": "Direct", + "requested": "[3.2.7, 3.2.7]", + "resolved": "3.2.7", + "contentHash": "BpWEZ+Ys7g9VAkbAfpG5jr5A1fKcmadCCXv3fYfps5YfTVABJIGV4uc9yvmXKxsNsjL+BzDld2gs+xtgT2gg1g==" + }, + "Microsoft.AspNet.Web.Optimization": { + "type": "Direct", + "requested": "[1.1.3, 1.1.3]", + "resolved": "1.1.3", + "contentHash": "TWKKpTWEdB8jXp2Vl2TXNKW30GBQg6nnh0y8iZWmGY5c1XY4f649vfDslNHsCsvk9JZxc1Rkm/UGDdfq4gjWRQ==" + }, + "Microsoft.AspNet.WebPages": { + "type": "Direct", + "requested": "[3.2.7, 3.2.7]", + "resolved": "3.2.7", + "contentHash": "2jwZFB7PvY+tbdz0ZP4iEo7gMrJxkCQUzoGLh6swUc6ZXl6DoKyDslmGcC/j9PFmJXCRMVIqtRorlPSMU2DuRA==" + }, + "Microsoft.CodeDom.Providers.DotNetCompilerPlatform": { + "type": "Direct", + "requested": "[2.0.1, 2.0.1]", + "resolved": "2.0.1", + "contentHash": "pn7IMmDyYRwFE316nnMs27GmedPAnjmOfWalWTO+pJkt6JMwdNDQ3yNbWTYG+7zmUU8P4JxhODhXQygDNGvCWQ==" + }, + "Microsoft.jQuery.Unobtrusive.Validation": { + "type": "Direct", + "requested": "[3.2.11, 3.2.11]", + "resolved": "3.2.11", + "contentHash": "8qGe1q3vV5Fwbpb0OSI8SxSiIBeFt9sgAvFvPwgZuuL+PZ+z0VsPB5yeqT+SrvPKpyVpN33MLhgvSW5Zf07IsQ==" + }, + "Microsoft.Web.Infrastructure": { + "type": "Direct", + "requested": "[1.0.0, 1.0.0]", + "resolved": "1.0.0", + "contentHash": "FNmvLn5m2LTU/Rs2KWVo0SIIh9Ek+U0ojex7xeDaSHw/zgEP77A8vY5cVWgUtBGS8MJfDGNn8rpXJWEIQaPwTg==" + }, + "Modernizr": { + "type": "Direct", + "requested": "[2.8.3, 2.8.3]", + "resolved": "2.8.3", + "contentHash": "OiV7LzwGvejI0lxQAx7HaAA+H6xC3FL6Pgv23Qo5O+5fKp5bt2zj0qz7ZmF+jtWmm9dcQkoTInO7eTFH1JtXEQ==" + }, + "Newtonsoft.Json": { + "type": "Direct", + "requested": "[12.0.2, 12.0.2]", + "resolved": "12.0.2", + "contentHash": "rTK0s2EKlfHsQsH6Yx2smvcTCeyoDNgCW7FEYyV01drPlh2T243PR2DiDXqtC5N4GDm4Ma/lkxfW5a/4793vbA==" + }, + "WebGrease": { + "type": "Direct", + "requested": "[1.6.0, 1.6.0]", + "resolved": "1.6.0", + "contentHash": "1d29edoh4IZPLig82coowiPBS1ltxT97PwEIkOk0dHqtJwD9v5C7gPm6Ot1hKHT86otKm04oDQ00x5c+PyVyxw==" + } + } + } +} diff --git a/test/data/packages2.lock.json b/test/data/packages2.lock.json index 6e2b7e4b3..3454bb4f5 100644 --- a/test/data/packages2.lock.json +++ b/test/data/packages2.lock.json @@ -1,341 +1,341 @@ { - "version": 1, - "dependencies": { - "net6.0": { - "McMaster.Extensions.Hosting.CommandLine": { - "type": "Direct", - "requested": "[4.0.1, )", - "resolved": "4.0.1", - "contentHash": "pZJF/zeXT3OC+3GUNO9ZicpCO9I7wYLmj0E2qPR8CRA6iUs0kGu6SCkmraB1sITx4elcVjMLiZDGMsBVMqaPhg==", - "dependencies": { - "McMaster.Extensions.CommandLineUtils": "4.0.1", - "Microsoft.Extensions.Hosting.Abstractions": "6.0.0", - "Microsoft.Extensions.Logging.Abstractions": "6.0.0" - } - }, - "Microsoft.Extensions.Hosting": { - "type": "Direct", - "requested": "[6.0.1, )", - "resolved": "6.0.1", - "contentHash": "hbmizc9KPWOacLU8Z8YMaBG6KWdZFppczYV/KwnPGU/8xebWxQxdDeJmLOgg968prb7g2oQgnp6JVLX6lgby8g==", - "dependencies": { - "Microsoft.Extensions.Configuration": "6.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", - "Microsoft.Extensions.Configuration.Binder": "6.0.0", - "Microsoft.Extensions.Configuration.CommandLine": "6.0.0", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", - "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", - "Microsoft.Extensions.Configuration.Json": "6.0.0", - "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", - "Microsoft.Extensions.DependencyInjection": "6.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", - "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", - "Microsoft.Extensions.FileProviders.Physical": "6.0.0", - "Microsoft.Extensions.Hosting.Abstractions": "6.0.0", - "Microsoft.Extensions.Logging": "6.0.0", - "Microsoft.Extensions.Logging.Abstractions": "6.0.0", - "Microsoft.Extensions.Logging.Configuration": "6.0.0", - "Microsoft.Extensions.Logging.Console": "6.0.0", - "Microsoft.Extensions.Logging.Debug": "6.0.0", - "Microsoft.Extensions.Logging.EventLog": "6.0.0", - "Microsoft.Extensions.Logging.EventSource": "6.0.0", - "Microsoft.Extensions.Options": "6.0.0" - } - }, - "Microsoft.Extensions.Options.DataAnnotations": { - "type": "Direct", - "requested": "[6.0.0, )", - "resolved": "6.0.0", - "contentHash": "Fvs4plZYQT/iF/JsYwP/pppQRvQC211enBjCoIu/355M+aunlzSyzN/n3wPibyY76794MFLkLVT47JCBc3porg==", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", - "Microsoft.Extensions.Options": "6.0.0", - "System.ComponentModel.Annotations": "5.0.0" - } - }, - "McMaster.Extensions.CommandLineUtils": { - "type": "Transitive", - "resolved": "4.0.1", - "contentHash": "nqKyjpNB37t3xYYTkst8r5dU5Cxj3HWirR1H6U5iiSRrUJLBeJQHogHk/HsnDqVnq0+jrzSxYw8lJ02GsTRcrw==", - "dependencies": { - "System.ComponentModel.Annotations": "5.0.0" - } - }, - "Microsoft.Extensions.Configuration": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "tq2wXyh3fL17EMF2bXgRhU7JrbO3on93MRKYxzz4JzzvuGSA1l0W3GI9/tl8EO89TH+KWEymP7bcFway6z9fXg==", - "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", - "Microsoft.Extensions.Primitives": "6.0.0" - } - }, - "Microsoft.Extensions.Configuration.Abstractions": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "qWzV9o+ZRWq+pGm+1dF+R7qTgTYoXvbyowRoBxQJGfqTpqDun2eteerjRQhq5PQ/14S+lqto3Ft4gYaRyl4rdQ==", - "dependencies": { - "Microsoft.Extensions.Primitives": "6.0.0" - } - }, - "Microsoft.Extensions.Configuration.Binder": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "b3ErKzND8LIC7o08QAVlKfaEIYEvLJbtmVbFZVBRXeu9YkKfSSzLZfR1SUfQPBIy9mKLhEtJgGYImkcMNaKE0A==", - "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" - } - }, - "Microsoft.Extensions.Configuration.CommandLine": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "3nL1qCkZ1Oxx14ZTzgo4MmlO7tso7F+TtMZAY2jUAtTLyAcDp+EDjk3RqafoKiNaePyPvvlleEcBxh3b2Hzl1g==", - "dependencies": { - "Microsoft.Extensions.Configuration": "6.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" - } - }, - "Microsoft.Extensions.Configuration.EnvironmentVariables": { - "type": "Transitive", - "resolved": "6.0.1", - "contentHash": "pnyXV1LFOsYjGveuC07xp0YHIyGq7jRq5Ncb5zrrIieMLWVwgMyYxcOH0jTnBedDT4Gh1QinSqsjqzcieHk1og==", - "dependencies": { - "Microsoft.Extensions.Configuration": "6.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" - } - }, - "Microsoft.Extensions.Configuration.FileExtensions": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "V4Dth2cYMZpw3HhGw9XUDIijpI6gN+22LDt0AhufIgOppCUfpWX4483OmN+dFXRJkJLc8Tv0Q8QK+1ingT2+KQ==", - "dependencies": { - "Microsoft.Extensions.Configuration": "6.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", - "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", - "Microsoft.Extensions.FileProviders.Physical": "6.0.0", - "Microsoft.Extensions.Primitives": "6.0.0" - } - }, - "Microsoft.Extensions.Configuration.Json": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "GJGery6QytCzS/BxJ96klgG9in3uH26KcUBbiVG/coNDXCRq6LGVVlUT4vXq34KPuM+R2av+LeYdX9h4IZOCUg==", - "dependencies": { - "Microsoft.Extensions.Configuration": "6.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", - "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", - "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", - "System.Text.Json": "6.0.0" - } - }, - "Microsoft.Extensions.Configuration.UserSecrets": { - "type": "Transitive", - "resolved": "6.0.1", - "contentHash": "Fy8yr4V6obi7ZxvKYI1i85jqtwMq8tqyxQVZpRSkgeA8enqy/KvBIMdcuNdznlxQMZa72mvbHqb7vbg4Pyx95w==", - "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", - "Microsoft.Extensions.Configuration.Json": "6.0.0", - "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", - "Microsoft.Extensions.FileProviders.Physical": "6.0.0" - } - }, - "Microsoft.Extensions.DependencyInjection": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "k6PWQMuoBDGGHOQTtyois2u4AwyVcIwL2LaSLlTZQm2CYcJ1pxbt6jfAnpWmzENA/wfrYRI/X9DTLoUkE4AsLw==", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", - "System.Runtime.CompilerServices.Unsafe": "6.0.0" - } - }, - "Microsoft.Extensions.DependencyInjection.Abstractions": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "xlzi2IYREJH3/m6+lUrQlujzX8wDitm4QGnUu6kUXTQAWPuZY8i+ticFJbzfqaetLA6KR/rO6Ew/HuYD+bxifg==" - }, - "Microsoft.Extensions.FileProviders.Abstractions": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "0pd4/fho0gC12rQswaGQxbU34jOS1TPS8lZPpkFCH68ppQjHNHYle9iRuHeev1LhrJ94YPvzcRd8UmIuFk23Qw==", - "dependencies": { - "Microsoft.Extensions.Primitives": "6.0.0" - } - }, - "Microsoft.Extensions.FileProviders.Physical": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "QvkL7l0nM8udt3gfyu0Vw8bbCXblxaKOl7c2oBfgGy4LCURRaL9XWZX1FWJrQc43oMokVneVxH38iz+bY1sbhg==", - "dependencies": { - "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", - "Microsoft.Extensions.FileSystemGlobbing": "6.0.0", - "Microsoft.Extensions.Primitives": "6.0.0" - } - }, - "Microsoft.Extensions.FileSystemGlobbing": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "ip8jnL1aPiaPeKINCqaTEbvBFDmVx9dXQEBZ2HOBRXPD1eabGNqP/bKlsIcp7U2lGxiXd5xIhoFcmY8nM4Hdiw==" - }, - "Microsoft.Extensions.Hosting.Abstractions": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "GcT5l2CYXL6Sa27KCSh0TixsRfADUgth+ojQSD5EkzisZxmGFh7CwzkcYuGwvmXLjr27uWRNrJ2vuuEjMhU05Q==", - "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", - "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0" - } - }, - "Microsoft.Extensions.Logging": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "eIbyj40QDg1NDz0HBW0S5f3wrLVnKWnDJ/JtZ+yJDFnDj90VoPuoPmFkeaXrtu+0cKm5GRAwoDf+dBWXK0TUdg==", - "dependencies": { - "Microsoft.Extensions.DependencyInjection": "6.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", - "Microsoft.Extensions.Logging.Abstractions": "6.0.0", - "Microsoft.Extensions.Options": "6.0.0", - "System.Diagnostics.DiagnosticSource": "6.0.0" - } - }, - "Microsoft.Extensions.Logging.Abstractions": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "/HggWBbTwy8TgebGSX5DBZ24ndhzi93sHUBDvP1IxbZD7FDokYzdAr6+vbWGjw2XAfR2EJ1sfKUotpjHnFWPxA==" - }, - "Microsoft.Extensions.Logging.Configuration": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "ZDskjagmBAbv+K8rYW9VhjPplhbOE63xUD0DiuydZJwt15dRyoqicYklLd86zzeintUc7AptDkHn+YhhYkYo8A==", - "dependencies": { - "Microsoft.Extensions.Configuration": "6.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", - "Microsoft.Extensions.Configuration.Binder": "6.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", - "Microsoft.Extensions.Logging": "6.0.0", - "Microsoft.Extensions.Logging.Abstractions": "6.0.0", - "Microsoft.Extensions.Options": "6.0.0", - "Microsoft.Extensions.Options.ConfigurationExtensions": "6.0.0" - } - }, - "Microsoft.Extensions.Logging.Console": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "gsqKzOEdsvq28QiXFxagmn1oRB9GeI5GgYCkoybZtQA0IUb7QPwf1WmN3AwJeNIsadTvIFQCiVK0OVIgKfOBGg==", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", - "Microsoft.Extensions.Logging": "6.0.0", - "Microsoft.Extensions.Logging.Abstractions": "6.0.0", - "Microsoft.Extensions.Logging.Configuration": "6.0.0", - "Microsoft.Extensions.Options": "6.0.0", - "System.Text.Json": "6.0.0" - } - }, - "Microsoft.Extensions.Logging.Debug": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "M9g/JixseSZATJE9tcMn9uzoD4+DbSglivFqVx8YkRJ7VVPmnvCEbOZ0AAaxsL1EKyI4cz07DXOOJExxNsUOHw==", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", - "Microsoft.Extensions.Logging": "6.0.0", - "Microsoft.Extensions.Logging.Abstractions": "6.0.0" - } - }, - "Microsoft.Extensions.Logging.EventLog": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "rlo0RxlMd0WtLG3CHI0qOTp6fFn7MvQjlrCjucA31RqmiMFCZkF8CHNbe8O7tbBIyyoLGWB1he9CbaA5iyHthg==", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", - "Microsoft.Extensions.Logging": "6.0.0", - "Microsoft.Extensions.Logging.Abstractions": "6.0.0", - "Microsoft.Extensions.Options": "6.0.0", - "System.Diagnostics.EventLog": "6.0.0" - } - }, - "Microsoft.Extensions.Logging.EventSource": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "BeDyyqt7nkm/nr+Gdk+L8n1tUT/u33VkbXAOesgYSNsxDM9hJ1NOBGoZfj9rCbeD2+9myElI6JOVVFmnzgeWQA==", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", - "Microsoft.Extensions.Logging": "6.0.0", - "Microsoft.Extensions.Logging.Abstractions": "6.0.0", - "Microsoft.Extensions.Options": "6.0.0", - "Microsoft.Extensions.Primitives": "6.0.0", - "System.Runtime.CompilerServices.Unsafe": "6.0.0", - "System.Text.Json": "6.0.0" - } - }, - "Microsoft.Extensions.Options": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "dzXN0+V1AyjOe2xcJ86Qbo233KHuLEY0njf/P2Kw8SfJU+d45HNS2ctJdnEnrWbM9Ye2eFgaC5Mj9otRMU6IsQ==", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", - "Microsoft.Extensions.Primitives": "6.0.0" - } - }, - "Microsoft.Extensions.Options.ConfigurationExtensions": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "bXWINbTn0vC0FYc9GaQTISbxhQLAMrvtbuvD9N6JelEaIS/Pr62wUCinrq5bf1WRBGczt1v4wDhxFtVFNcMdUQ==", - "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", - "Microsoft.Extensions.Configuration.Binder": "6.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", - "Microsoft.Extensions.Options": "6.0.0", - "Microsoft.Extensions.Primitives": "6.0.0" - } - }, - "Microsoft.Extensions.Primitives": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "9+PnzmQFfEFNR9J2aDTfJGGupShHjOuGw4VUv+JB044biSHrnmCIMD+mJHmb2H7YryrfBEXDurxQ47gJZdCKNQ==", - "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "6.0.0" - } - }, - "System.ComponentModel.Annotations": { - "type": "Transitive", - "resolved": "5.0.0", - "contentHash": "dMkqfy2el8A8/I76n2Hi1oBFEbG1SfxD2l5nhwXV3XjlnOmwxJlQbYpJH4W51odnU9sARCSAgv7S3CyAFMkpYg==" - }, - "System.Diagnostics.DiagnosticSource": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "frQDfv0rl209cKm1lnwTgFPzNigy2EKk1BS3uAvHvlBVKe5cymGyHO+Sj+NLv5VF/AhHsqPIUUwya5oV4CHMUw==", - "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "6.0.0" - } - }, - "System.Diagnostics.EventLog": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "lcyUiXTsETK2ALsZrX+nWuHSIQeazhqPphLfaRxzdGaG93+0kELqpgEHtwWOlQe7+jSFnKwaCAgL4kjeZCQJnw==" - }, - "System.Runtime.CompilerServices.Unsafe": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==" - }, - "System.Text.Encodings.Web": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "Vg8eB5Tawm1IFqj4TVK1czJX89rhFxJo9ELqc/Eiq0eXy13RK00eubyU6TJE6y+GQXjyV5gSfiewDUZjQgSE0w==", - "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "6.0.0" - } - }, - "System.Text.Json": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "zaJsHfESQvJ11vbXnNlkrR46IaMULk/gHxYsJphzSF+07kTjPHv+Oc14w6QEOfo3Q4hqLJgStUaYB9DBl0TmWg==", - "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "6.0.0", - "System.Text.Encodings.Web": "6.0.0" - } + "version": 1, + "dependencies": { + "net6.0": { + "McMaster.Extensions.Hosting.CommandLine": { + "type": "Direct", + "requested": "[4.0.1, )", + "resolved": "4.0.1", + "contentHash": "pZJF/zeXT3OC+3GUNO9ZicpCO9I7wYLmj0E2qPR8CRA6iUs0kGu6SCkmraB1sITx4elcVjMLiZDGMsBVMqaPhg==", + "dependencies": { + "McMaster.Extensions.CommandLineUtils": "4.0.1", + "Microsoft.Extensions.Hosting.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Hosting": { + "type": "Direct", + "requested": "[6.0.1, )", + "resolved": "6.0.1", + "contentHash": "hbmizc9KPWOacLU8Z8YMaBG6KWdZFppczYV/KwnPGU/8xebWxQxdDeJmLOgg968prb7g2oQgnp6JVLX6lgby8g==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.Binder": "6.0.0", + "Microsoft.Extensions.Configuration.CommandLine": "6.0.0", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", + "Microsoft.Extensions.Configuration.Json": "6.0.0", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Physical": "6.0.0", + "Microsoft.Extensions.Hosting.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Configuration": "6.0.0", + "Microsoft.Extensions.Logging.Console": "6.0.0", + "Microsoft.Extensions.Logging.Debug": "6.0.0", + "Microsoft.Extensions.Logging.EventLog": "6.0.0", + "Microsoft.Extensions.Logging.EventSource": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0" + } + }, + "Microsoft.Extensions.Options.DataAnnotations": { + "type": "Direct", + "requested": "[6.0.0, )", + "resolved": "6.0.0", + "contentHash": "Fvs4plZYQT/iF/JsYwP/pppQRvQC211enBjCoIu/355M+aunlzSyzN/n3wPibyY76794MFLkLVT47JCBc3porg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "System.ComponentModel.Annotations": "5.0.0" + } + }, + "McMaster.Extensions.CommandLineUtils": { + "type": "Transitive", + "resolved": "4.0.1", + "contentHash": "nqKyjpNB37t3xYYTkst8r5dU5Cxj3HWirR1H6U5iiSRrUJLBeJQHogHk/HsnDqVnq0+jrzSxYw8lJ02GsTRcrw==", + "dependencies": { + "System.ComponentModel.Annotations": "5.0.0" + } + }, + "Microsoft.Extensions.Configuration": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "tq2wXyh3fL17EMF2bXgRhU7JrbO3on93MRKYxzz4JzzvuGSA1l0W3GI9/tl8EO89TH+KWEymP7bcFway6z9fXg==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "qWzV9o+ZRWq+pGm+1dF+R7qTgTYoXvbyowRoBxQJGfqTpqDun2eteerjRQhq5PQ/14S+lqto3Ft4gYaRyl4rdQ==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.Binder": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "b3ErKzND8LIC7o08QAVlKfaEIYEvLJbtmVbFZVBRXeu9YkKfSSzLZfR1SUfQPBIy9mKLhEtJgGYImkcMNaKE0A==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.CommandLine": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "3nL1qCkZ1Oxx14ZTzgo4MmlO7tso7F+TtMZAY2jUAtTLyAcDp+EDjk3RqafoKiNaePyPvvlleEcBxh3b2Hzl1g==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.EnvironmentVariables": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "pnyXV1LFOsYjGveuC07xp0YHIyGq7jRq5Ncb5zrrIieMLWVwgMyYxcOH0jTnBedDT4Gh1QinSqsjqzcieHk1og==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.FileExtensions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "V4Dth2cYMZpw3HhGw9XUDIijpI6gN+22LDt0AhufIgOppCUfpWX4483OmN+dFXRJkJLc8Tv0Q8QK+1ingT2+KQ==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Physical": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.Json": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "GJGery6QytCzS/BxJ96klgG9in3uH26KcUBbiVG/coNDXCRq6LGVVlUT4vXq34KPuM+R2av+LeYdX9h4IZOCUg==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "System.Text.Json": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.UserSecrets": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "Fy8yr4V6obi7ZxvKYI1i85jqtwMq8tqyxQVZpRSkgeA8enqy/KvBIMdcuNdznlxQMZa72mvbHqb7vbg4Pyx95w==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.Json": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Physical": "6.0.0" + } + }, + "Microsoft.Extensions.DependencyInjection": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "k6PWQMuoBDGGHOQTtyois2u4AwyVcIwL2LaSLlTZQm2CYcJ1pxbt6jfAnpWmzENA/wfrYRI/X9DTLoUkE4AsLw==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "xlzi2IYREJH3/m6+lUrQlujzX8wDitm4QGnUu6kUXTQAWPuZY8i+ticFJbzfqaetLA6KR/rO6Ew/HuYD+bxifg==" + }, + "Microsoft.Extensions.FileProviders.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "0pd4/fho0gC12rQswaGQxbU34jOS1TPS8lZPpkFCH68ppQjHNHYle9iRuHeev1LhrJ94YPvzcRd8UmIuFk23Qw==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.FileProviders.Physical": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "QvkL7l0nM8udt3gfyu0Vw8bbCXblxaKOl7c2oBfgGy4LCURRaL9XWZX1FWJrQc43oMokVneVxH38iz+bY1sbhg==", + "dependencies": { + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "Microsoft.Extensions.FileSystemGlobbing": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.FileSystemGlobbing": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "ip8jnL1aPiaPeKINCqaTEbvBFDmVx9dXQEBZ2HOBRXPD1eabGNqP/bKlsIcp7U2lGxiXd5xIhoFcmY8nM4Hdiw==" + }, + "Microsoft.Extensions.Hosting.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "GcT5l2CYXL6Sa27KCSh0TixsRfADUgth+ojQSD5EkzisZxmGFh7CwzkcYuGwvmXLjr27uWRNrJ2vuuEjMhU05Q==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Logging": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "eIbyj40QDg1NDz0HBW0S5f3wrLVnKWnDJ/JtZ+yJDFnDj90VoPuoPmFkeaXrtu+0cKm5GRAwoDf+dBWXK0TUdg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "System.Diagnostics.DiagnosticSource": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "/HggWBbTwy8TgebGSX5DBZ24ndhzi93sHUBDvP1IxbZD7FDokYzdAr6+vbWGjw2XAfR2EJ1sfKUotpjHnFWPxA==" + }, + "Microsoft.Extensions.Logging.Configuration": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "ZDskjagmBAbv+K8rYW9VhjPplhbOE63xUD0DiuydZJwt15dRyoqicYklLd86zzeintUc7AptDkHn+YhhYkYo8A==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.Binder": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Microsoft.Extensions.Options.ConfigurationExtensions": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.Console": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "gsqKzOEdsvq28QiXFxagmn1oRB9GeI5GgYCkoybZtQA0IUb7QPwf1WmN3AwJeNIsadTvIFQCiVK0OVIgKfOBGg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Configuration": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "System.Text.Json": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.Debug": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "M9g/JixseSZATJE9tcMn9uzoD4+DbSglivFqVx8YkRJ7VVPmnvCEbOZ0AAaxsL1EKyI4cz07DXOOJExxNsUOHw==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.EventLog": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "rlo0RxlMd0WtLG3CHI0qOTp6fFn7MvQjlrCjucA31RqmiMFCZkF8CHNbe8O7tbBIyyoLGWB1he9CbaA5iyHthg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "System.Diagnostics.EventLog": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.EventSource": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "BeDyyqt7nkm/nr+Gdk+L8n1tUT/u33VkbXAOesgYSNsxDM9hJ1NOBGoZfj9rCbeD2+9myElI6JOVVFmnzgeWQA==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0", + "System.Runtime.CompilerServices.Unsafe": "6.0.0", + "System.Text.Json": "6.0.0" + } + }, + "Microsoft.Extensions.Options": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "dzXN0+V1AyjOe2xcJ86Qbo233KHuLEY0njf/P2Kw8SfJU+d45HNS2ctJdnEnrWbM9Ye2eFgaC5Mj9otRMU6IsQ==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Options.ConfigurationExtensions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "bXWINbTn0vC0FYc9GaQTISbxhQLAMrvtbuvD9N6JelEaIS/Pr62wUCinrq5bf1WRBGczt1v4wDhxFtVFNcMdUQ==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.Binder": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Primitives": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "9+PnzmQFfEFNR9J2aDTfJGGupShHjOuGw4VUv+JB044biSHrnmCIMD+mJHmb2H7YryrfBEXDurxQ47gJZdCKNQ==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.ComponentModel.Annotations": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "dMkqfy2el8A8/I76n2Hi1oBFEbG1SfxD2l5nhwXV3XjlnOmwxJlQbYpJH4W51odnU9sARCSAgv7S3CyAFMkpYg==" + }, + "System.Diagnostics.DiagnosticSource": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "frQDfv0rl209cKm1lnwTgFPzNigy2EKk1BS3uAvHvlBVKe5cymGyHO+Sj+NLv5VF/AhHsqPIUUwya5oV4CHMUw==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.Diagnostics.EventLog": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "lcyUiXTsETK2ALsZrX+nWuHSIQeazhqPphLfaRxzdGaG93+0kELqpgEHtwWOlQe7+jSFnKwaCAgL4kjeZCQJnw==" + }, + "System.Runtime.CompilerServices.Unsafe": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==" + }, + "System.Text.Encodings.Web": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "Vg8eB5Tawm1IFqj4TVK1czJX89rhFxJo9ELqc/Eiq0eXy13RK00eubyU6TJE6y+GQXjyV5gSfiewDUZjQgSE0w==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.Text.Json": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "zaJsHfESQvJ11vbXnNlkrR46IaMULk/gHxYsJphzSF+07kTjPHv+Oc14w6QEOfo3Q4hqLJgStUaYB9DBl0TmWg==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0", + "System.Text.Encodings.Web": "6.0.0" } } } } +} diff --git a/test/data/packages3.lock.json b/test/data/packages3.lock.json index 75f2f9de5..dd3ab0724 100644 --- a/test/data/packages3.lock.json +++ b/test/data/packages3.lock.json @@ -1,115 +1,115 @@ { - "version": 1, - "dependencies": { - ".NETCoreApp,Version=v2.1": { - "Argu": { - "type": "Direct", - "requested": "[4.0.0, )", - "resolved": "4.0.0", - "contentHash": "VsQvXISvWVusc4EU/iGEx2H2C3jcMRfwl7XIpt30guaBP5R2yIuEEGHtPrQsmAvEneFUC0FcXQG0t2ecV+HfFQ==", - "dependencies": { - "FSharp.Core": "4.2.1" - } - }, - "FSharp.Core": { - "type": "Direct", - "requested": "[4.5.2, )", - "resolved": "4.5.2", - "contentHash": "apbdQOjzsjQ637kTWQuW29jqwY18jsHMyNC5A+TPJZKFEIE2cIfQWf3V7+mXrxlbX69BueYkv293/g70wuXuRw==" - }, - "Microsoft.NETCore.App": { - "type": "Direct", - "requested": "[2.1.0, )", - "resolved": "2.1.0", - "contentHash": "JNHhG+j5eIhG26+H721IDmwswGUznTwwSuJMFe/08h0X2YarHvA15sVAvUkA/2Sp3W0ENNm48t+J7KTPRqEpfA==", - "dependencies": { - "Microsoft.NETCore.DotNetHostPolicy": "2.1.0", - "Microsoft.NETCore.Platforms": "2.1.0", - "Microsoft.NETCore.Targets": "2.1.0", - "NETStandard.Library": "2.0.3" - } - }, - "Microsoft.SourceLink.GitHub": { - "type": "Direct", - "requested": "[1.0.0-beta-63127-02, )", - "resolved": "1.0.0-beta-63127-02", - "contentHash": "KLR4K9dCNjyKyrzuj+gM5L/TDkQe3Eu0Amp118j6he5Mzjeb84tUBtNjLGrJtyOjqgGiShTrk/XT4g4luWzkCQ==", - "dependencies": { - "Microsoft.Build.Tasks.Git": "1.0.0-beta-63127-02", - "Microsoft.SourceLink.Common": "1.0.0-beta-63127-02" - } - }, - "Nerdbank.GitVersioning": { - "type": "Direct", - "requested": "[2.3.138, )", - "resolved": "2.3.138", - "contentHash": "1fdu4Vx9XydB0z18FU5GhtqhAurwxrfR9z/2tVgMCdjqzTwJdzcQUl0hy6jL/gqcFNBtlv6/lTn8G1Lx+lBOFA==" - }, - "FParsec": { - "type": "Transitive", - "resolved": "1.0.3", - "contentHash": "0VoZapcSUHsNCixYawx8RFZHJMRVykaKsks5OOUXRP0bZCpr7UCP6kIjbVFGHIqqBGPtICUMy7j521sH0ZcmrQ==", - "dependencies": { - "FSharp.Core": "4.2.3", - "NETStandard.Library": "1.6.1" - } - }, - "Microsoft.Build.Tasks.Git": { - "type": "Transitive", - "resolved": "1.0.0-beta-63127-02", - "contentHash": "SDC7lMeyUEBTWDrhvAwb1wK5ujIhI5cc2s9ugTwWyDfXC7H07/7lkc9DP1Q6kjv4qTL3eoWrd3HQuZmA7J4DJQ==" - }, - "Microsoft.NETCore.DotNetAppHost": { - "type": "Transitive", - "resolved": "2.1.0", - "contentHash": "vMn8V3GOp/SPOG2oE8WxswzAWZ/GZmc8EPiB3vc2EZ6us14ehXhsvUFXndYopGNSjCa9OdqC6L6xStF1KyUZnw==" - }, - "Microsoft.NETCore.DotNetHostPolicy": { - "type": "Transitive", - "resolved": "2.1.0", - "contentHash": "vBUwNihtLUVS2HhO6WocYfAktRmfFihm6JB8/sJ53caVW+AelvbnYpfiGzaZDpkWjN6vA3xzOKPu9Vu8Zz3p8Q==", - "dependencies": { - "Microsoft.NETCore.DotNetHostResolver": "2.1.0" - } - }, - "Microsoft.NETCore.DotNetHostResolver": { - "type": "Transitive", - "resolved": "2.1.0", - "contentHash": "o0PRql5qOHFEY3d1WvzE+T7cMFKtOsWLMg8L1oTeGNnI4u5AzOj8o6AdZT3y2GxFA1DAx7AQ9qZjpCO2/bgZRw==", - "dependencies": { - "Microsoft.NETCore.DotNetAppHost": "2.1.0" - } - }, - "Microsoft.NETCore.Platforms": { - "type": "Transitive", - "resolved": "2.1.0", - "contentHash": "ok+RPAtESz/9MUXeIEz6Lv5XAGQsaNmEYXMsgVALj4D7kqC8gveKWXWXbufLySR2fWrwZf8smyN5RmHu0e4BHA==" - }, - "Microsoft.NETCore.Targets": { - "type": "Transitive", - "resolved": "2.1.0", - "contentHash": "x188gIZXOwFXkPXyGavEcPGcR6RGvjFOES2QzskN4gERZjWPN34qhRsZVMC0CLJfQLGSButarcgWxPPM4vmg0w==" - }, - "Microsoft.SourceLink.Common": { - "type": "Transitive", - "resolved": "1.0.0-beta-63127-02", - "contentHash": "zLqiAhXjJSKPmFTvE9W0NtOpdy3E72VETj7qUkzK85nTgQiqlNWmMHr36SBcJfpo8sizJ72kFzi2alnI2/kqog==" - }, - "NETStandard.Library": { - "type": "Transitive", - "resolved": "2.0.3", - "contentHash": "st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0" - } - }, - "Froto.Parser": { - "type": "Project", - "dependencies": { - "FParsec": "1.0.3", - "FSharp.Core": "4.5.2" - } + "version": 1, + "dependencies": { + ".NETCoreApp,Version=v2.1": { + "Argu": { + "type": "Direct", + "requested": "[4.0.0, )", + "resolved": "4.0.0", + "contentHash": "VsQvXISvWVusc4EU/iGEx2H2C3jcMRfwl7XIpt30guaBP5R2yIuEEGHtPrQsmAvEneFUC0FcXQG0t2ecV+HfFQ==", + "dependencies": { + "FSharp.Core": "4.2.1" + } + }, + "FSharp.Core": { + "type": "Direct", + "requested": "[4.5.2, )", + "resolved": "4.5.2", + "contentHash": "apbdQOjzsjQ637kTWQuW29jqwY18jsHMyNC5A+TPJZKFEIE2cIfQWf3V7+mXrxlbX69BueYkv293/g70wuXuRw==" + }, + "Microsoft.NETCore.App": { + "type": "Direct", + "requested": "[2.1.0, )", + "resolved": "2.1.0", + "contentHash": "JNHhG+j5eIhG26+H721IDmwswGUznTwwSuJMFe/08h0X2YarHvA15sVAvUkA/2Sp3W0ENNm48t+J7KTPRqEpfA==", + "dependencies": { + "Microsoft.NETCore.DotNetHostPolicy": "2.1.0", + "Microsoft.NETCore.Platforms": "2.1.0", + "Microsoft.NETCore.Targets": "2.1.0", + "NETStandard.Library": "2.0.3" + } + }, + "Microsoft.SourceLink.GitHub": { + "type": "Direct", + "requested": "[1.0.0-beta-63127-02, )", + "resolved": "1.0.0-beta-63127-02", + "contentHash": "KLR4K9dCNjyKyrzuj+gM5L/TDkQe3Eu0Amp118j6he5Mzjeb84tUBtNjLGrJtyOjqgGiShTrk/XT4g4luWzkCQ==", + "dependencies": { + "Microsoft.Build.Tasks.Git": "1.0.0-beta-63127-02", + "Microsoft.SourceLink.Common": "1.0.0-beta-63127-02" + } + }, + "Nerdbank.GitVersioning": { + "type": "Direct", + "requested": "[2.3.138, )", + "resolved": "2.3.138", + "contentHash": "1fdu4Vx9XydB0z18FU5GhtqhAurwxrfR9z/2tVgMCdjqzTwJdzcQUl0hy6jL/gqcFNBtlv6/lTn8G1Lx+lBOFA==" + }, + "FParsec": { + "type": "Transitive", + "resolved": "1.0.3", + "contentHash": "0VoZapcSUHsNCixYawx8RFZHJMRVykaKsks5OOUXRP0bZCpr7UCP6kIjbVFGHIqqBGPtICUMy7j521sH0ZcmrQ==", + "dependencies": { + "FSharp.Core": "4.2.3", + "NETStandard.Library": "1.6.1" + } + }, + "Microsoft.Build.Tasks.Git": { + "type": "Transitive", + "resolved": "1.0.0-beta-63127-02", + "contentHash": "SDC7lMeyUEBTWDrhvAwb1wK5ujIhI5cc2s9ugTwWyDfXC7H07/7lkc9DP1Q6kjv4qTL3eoWrd3HQuZmA7J4DJQ==" + }, + "Microsoft.NETCore.DotNetAppHost": { + "type": "Transitive", + "resolved": "2.1.0", + "contentHash": "vMn8V3GOp/SPOG2oE8WxswzAWZ/GZmc8EPiB3vc2EZ6us14ehXhsvUFXndYopGNSjCa9OdqC6L6xStF1KyUZnw==" + }, + "Microsoft.NETCore.DotNetHostPolicy": { + "type": "Transitive", + "resolved": "2.1.0", + "contentHash": "vBUwNihtLUVS2HhO6WocYfAktRmfFihm6JB8/sJ53caVW+AelvbnYpfiGzaZDpkWjN6vA3xzOKPu9Vu8Zz3p8Q==", + "dependencies": { + "Microsoft.NETCore.DotNetHostResolver": "2.1.0" + } + }, + "Microsoft.NETCore.DotNetHostResolver": { + "type": "Transitive", + "resolved": "2.1.0", + "contentHash": "o0PRql5qOHFEY3d1WvzE+T7cMFKtOsWLMg8L1oTeGNnI4u5AzOj8o6AdZT3y2GxFA1DAx7AQ9qZjpCO2/bgZRw==", + "dependencies": { + "Microsoft.NETCore.DotNetAppHost": "2.1.0" + } + }, + "Microsoft.NETCore.Platforms": { + "type": "Transitive", + "resolved": "2.1.0", + "contentHash": "ok+RPAtESz/9MUXeIEz6Lv5XAGQsaNmEYXMsgVALj4D7kqC8gveKWXWXbufLySR2fWrwZf8smyN5RmHu0e4BHA==" + }, + "Microsoft.NETCore.Targets": { + "type": "Transitive", + "resolved": "2.1.0", + "contentHash": "x188gIZXOwFXkPXyGavEcPGcR6RGvjFOES2QzskN4gERZjWPN34qhRsZVMC0CLJfQLGSButarcgWxPPM4vmg0w==" + }, + "Microsoft.SourceLink.Common": { + "type": "Transitive", + "resolved": "1.0.0-beta-63127-02", + "contentHash": "zLqiAhXjJSKPmFTvE9W0NtOpdy3E72VETj7qUkzK85nTgQiqlNWmMHr36SBcJfpo8sizJ72kFzi2alnI2/kqog==" + }, + "NETStandard.Library": { + "type": "Transitive", + "resolved": "2.0.3", + "contentHash": "st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0" + } + }, + "Froto.Parser": { + "type": "Project", + "dependencies": { + "FParsec": "1.0.3", + "FSharp.Core": "4.5.2" } } } - } \ No newline at end of file + } +} diff --git a/test/data/privado.json b/test/data/privado.json index 6189ad5b0..da876e859 100755 --- a/test/data/privado.json +++ b/test/data/privado.json @@ -1,567 +1,555 @@ { - "privadoCoreVersion" : "1.1.8", - "privadoCLIVersion" : "v2.2.0", - "privadoMainVersion" : "1.3.0\n", - "createdAt" : 1673303653890, - "repoName" : "crAPI", - "gitMetadata" : { - "branchName" : "develop", - "commitId" : "bf2d18277f95532818c14beedb2ca5f929d81c0d", - "remoteUrl" : "git@github.com:OWASP/crAPI.git" + "privadoCoreVersion": "1.1.8", + "privadoCLIVersion": "v2.2.0", + "privadoMainVersion": "1.3.0\n", + "createdAt": 1673303653890, + "repoName": "crAPI", + "gitMetadata": { + "branchName": "develop", + "commitId": "bf2d18277f95532818c14beedb2ca5f929d81c0d", + "remoteUrl": "git@github.com:OWASP/crAPI.git" }, - "localScanPath" : "/Volumes/Work/sandbox/crAPI", - "sources" : [ + "localScanPath": "/Volumes/Work/sandbox/crAPI", + "sources": [ { - "sourceType" : "Data Element", - "id" : "Data.Sensitive.LocationData.PreciseLocation", - "name" : "Precise Location", - "category" : "Location Data", - "sensitivity" : "high", - "isSensitive" : false, - "tags" : { - "law" : "GDPR" + "sourceType": "Data Element", + "id": "Data.Sensitive.LocationData.PreciseLocation", + "name": "Precise Location", + "category": "Location Data", + "sensitivity": "high", + "isSensitive": false, + "tags": { + "law": "GDPR" } }, { - "sourceType" : "Data Element", - "id" : "Data.Sensitive.PersonalIdentification.FirstName", - "name" : "First Name", - "category" : "Personal Identification", - "sensitivity" : "low", - "isSensitive" : false, - "tags" : { - "law" : "GDPR" + "sourceType": "Data Element", + "id": "Data.Sensitive.PersonalIdentification.FirstName", + "name": "First Name", + "category": "Personal Identification", + "sensitivity": "low", + "isSensitive": false, + "tags": { + "law": "GDPR" } }, { - "sourceType" : "Data Element", - "id" : "Data.Sensitive.AccountData.AccountPassword", - "name" : "Account Password", - "category" : "Account Data", - "sensitivity" : "high", - "isSensitive" : false, - "tags" : { - "law" : "GDPR" + "sourceType": "Data Element", + "id": "Data.Sensitive.AccountData.AccountPassword", + "name": "Account Password", + "category": "Account Data", + "sensitivity": "high", + "isSensitive": false, + "tags": { + "law": "GDPR" } }, { - "sourceType" : "Data Element", - "id" : "Data.Sensitive.ContactData.Address", - "name" : "Address", - "category" : "Contact Data", - "sensitivity" : "medium", - "isSensitive" : false, - "tags" : { - "law" : "GDPR" + "sourceType": "Data Element", + "id": "Data.Sensitive.ContactData.Address", + "name": "Address", + "category": "Contact Data", + "sensitivity": "medium", + "isSensitive": false, + "tags": { + "law": "GDPR" } }, { - "sourceType" : "Data Element", - "id" : "Data.Sensitive.ContactData.EmailAddress", - "name" : "Email Address", - "category" : "Contact Data", - "sensitivity" : "medium", - "isSensitive" : false, - "tags" : { - "law" : "GDPR" + "sourceType": "Data Element", + "id": "Data.Sensitive.ContactData.EmailAddress", + "name": "Email Address", + "category": "Contact Data", + "sensitivity": "medium", + "isSensitive": false, + "tags": { + "law": "GDPR" } }, { - "sourceType" : "Data Element", - "id" : "Data.Sensitive.PersonalIdentification.Age", - "name" : "Age", - "category" : "Personal Identification", - "sensitivity" : "low", - "isSensitive" : false, - "tags" : { - "law" : "GDPR" + "sourceType": "Data Element", + "id": "Data.Sensitive.PersonalIdentification.Age", + "name": "Age", + "category": "Personal Identification", + "sensitivity": "low", + "isSensitive": false, + "tags": { + "law": "GDPR" } }, { - "sourceType" : "Data Element", - "id" : "Data.Sensitive.AccountData.AccountName", - "name" : "Account Name", - "category" : "Account Data", - "sensitivity" : "medium", - "isSensitive" : false, - "tags" : { - "law" : "GDPR" + "sourceType": "Data Element", + "id": "Data.Sensitive.AccountData.AccountName", + "name": "Account Name", + "category": "Account Data", + "sensitivity": "medium", + "isSensitive": false, + "tags": { + "law": "GDPR" } } ], - "processing" : [ + "processing": [ { - "sourceId" : "Data.Sensitive.AccountData.AccountPassword", - "occurrences" : [ + "sourceId": "Data.Sensitive.AccountData.AccountPassword", + "occurrences": [ { - "sample" : "user", - "lineNumber" : 143, - "columnNumber" : 10, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " * @param email by email user details and update token\n */\n @Transactional\n @Override\n public void updateUserToken(String jwt, String email) {\n User user = userRepository.findByEmail(email); /* <=== com.crapi.entity.User */ \n if (user != null) {\n user.setJwtToken(jwt);\n userRepository.saveAndFlush(user);\n }\n }" + "sample": "user", + "lineNumber": 143, + "columnNumber": 10, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " * @param email by email user details and update token\n */\n @Transactional\n @Override\n public void updateUserToken(String jwt, String email) {\n User user = userRepository.findByEmail(email); /* <=== com.crapi.entity.User */ \n if (user != null) {\n user.setJwtToken(jwt);\n userRepository.saveAndFlush(user);\n }\n }" }, { - "sample" : "$obj1", - "lineNumber" : -1, - "columnNumber" : -1, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/UserPrinciple.java", - "excerpt" : "" + "sample": "$obj1", + "lineNumber": -1, + "columnNumber": -1, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/UserPrinciple.java", + "excerpt": "" }, { - "sample" : "forgetPassword", - "lineNumber" : 141, - "columnNumber" : 39, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " CRAPIResponse forgetPasswordResponse = null;\n OTPGenerator otpGenerator = new OTPGenerator();\n Otp checkOtpEnteryForUser = null;\n User user = null;\n String otp = \"\";\n user = userRepository.findByEmail(forgetPassword.getEmail()); /* <=== com.crapi.model.ForgetPassword */ \n if (user != null) {\n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database." + "sample": "forgetPassword", + "lineNumber": 141, + "columnNumber": 39, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " CRAPIResponse forgetPasswordResponse = null;\n OTPGenerator otpGenerator = new OTPGenerator();\n Otp checkOtpEnteryForUser = null;\n User user = null;\n String otp = \"\";\n user = userRepository.findByEmail(forgetPassword.getEmail()); /* <=== com.crapi.model.ForgetPassword */ \n if (user != null) {\n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database." }, { - "sample" : "signUpRequest", - "lineNumber" : 76, - "columnNumber" : 79, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/controller/AuthController.java", - "excerpt" : " * @return success and failure message after user registration.\n */\n @PostMapping(\"/signup\")\n public ResponseEntity registerUser(@Valid @RequestBody SignUpForm signUpRequest) {\n // Creating user's account\n CRAPIResponse registerUserResponse = userRegistrationService.registerUser(signUpRequest); /* <=== com.crapi.model.SignUpForm */ \n if (registerUserResponse != null && registerUserResponse.getStatus() == 200) {\n return ResponseEntity.status(HttpStatus.OK).body(registerUserResponse);\n } else if (registerUserResponse != null && registerUserResponse.getStatus() == 403) {\n return ResponseEntity.status(HttpStatus.FORBIDDEN).body(registerUserResponse);\n } else {" + "sample": "signUpRequest", + "lineNumber": 76, + "columnNumber": 79, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/controller/AuthController.java", + "excerpt": " * @return success and failure message after user registration.\n */\n @PostMapping(\"/signup\")\n public ResponseEntity registerUser(@Valid @RequestBody SignUpForm signUpRequest) {\n // Creating user's account\n CRAPIResponse registerUserResponse = userRegistrationService.registerUser(signUpRequest); /* <=== com.crapi.model.SignUpForm */ \n if (registerUserResponse != null && registerUserResponse.getStatus() == 200) {\n return ResponseEntity.status(HttpStatus.OK).body(registerUserResponse);\n } else if (registerUserResponse != null && registerUserResponse.getStatus() == 403) {\n return ResponseEntity.status(HttpStatus.FORBIDDEN).body(registerUserResponse);\n } else {" }, { - "sample" : "UserPrinciple", - "lineNumber" : 43, - "columnNumber" : 14, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserDetailsServiceImpl.java", - "excerpt" : " @Override\n public UserDetails loadUserByUsername(String email) {\n try {\n User user = userRepository.findByEmail(email);\n System.out.println(user);\n return UserPrinciple.build(user); /* <=== com.crapi.entity.UserPrinciple */ \n } catch (Exception e) {\n throw new UsernameNotFoundException(\"User does not exist with Email :\" + email);\n }\n }\n}" + "sample": "UserPrinciple", + "lineNumber": 43, + "columnNumber": 14, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserDetailsServiceImpl.java", + "excerpt": " @Override\n public UserDetails loadUserByUsername(String email) {\n try {\n User user = userRepository.findByEmail(email);\n System.out.println(user);\n return UserPrinciple.build(user); /* <=== com.crapi.entity.UserPrinciple */ \n } catch (Exception e) {\n throw new UsernameNotFoundException(\"User does not exist with Email :\" + email);\n }\n }\n}" } ] }, { - "sourceId" : "Data.Sensitive.AccountData.AccountName", - "occurrences" : [ + "sourceId": "Data.Sensitive.AccountData.AccountName", + "occurrences": [ { - "sample" : "username", - "lineNumber" : 318, - "columnNumber" : 14, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " @Override\n public User getUserFromTokenWithoutValidation(HttpServletRequest request) {\n User user = null;\n try {\n String jwt = jwtAuthTokenFilter.getJwt(request);\n String username = jwtProvider.getUserNameFromJwtToken(jwt); /* <=== java.lang.String */ \n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n\n if (user != null) {" + "sample": "username", + "lineNumber": 318, + "columnNumber": 14, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " @Override\n public User getUserFromTokenWithoutValidation(HttpServletRequest request) {\n User user = null;\n try {\n String jwt = jwtAuthTokenFilter.getJwt(request);\n String username = jwtProvider.getUserNameFromJwtToken(jwt); /* <=== java.lang.String */ \n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n\n if (user != null) {" } ] }, { - "sourceId" : "Data.Sensitive.PersonalIdentification.FirstName", - "occurrences" : [ + "sourceId": "Data.Sensitive.PersonalIdentification.FirstName", + "occurrences": [ { - "sample" : "vehicleDetails", - "lineNumber" : 88, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/controller/VehicleController.java", - "excerpt" : " * @return VehicleDetails on given car_id.\n */\n @GetMapping(\"/vehicle/{carId}/location\")\n public ResponseEntity getLocationBOLA(@PathVariable(\"carId\") UUID carId) {\n VehicleLocationResponse vehicleDetails = vehicleService.getVehicleLocation(carId);\n if (vehicleDetails != null) return ResponseEntity.ok().body(vehicleDetails); /* <=== com.crapi.model.VehicleLocationResponse */ \n else\n return ResponseEntity.status(HttpStatus.NOT_FOUND)\n .body(new CRAPIResponse(UserMessage.DID_NOT_GET_VEHICLE_FOR_USER));\n }\n}" + "sample": "vehicleDetails", + "lineNumber": 88, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/controller/VehicleController.java", + "excerpt": " * @return VehicleDetails on given car_id.\n */\n @GetMapping(\"/vehicle/{carId}/location\")\n public ResponseEntity getLocationBOLA(@PathVariable(\"carId\") UUID carId) {\n VehicleLocationResponse vehicleDetails = vehicleService.getVehicleLocation(carId);\n if (vehicleDetails != null) return ResponseEntity.ok().body(vehicleDetails); /* <=== com.crapi.model.VehicleLocationResponse */ \n else\n return ResponseEntity.status(HttpStatus.NOT_FOUND)\n .body(new CRAPIResponse(UserMessage.DID_NOT_GET_VEHICLE_FOR_USER));\n }\n}" }, { - "sample" : "this.fullName", - "lineNumber" : 32, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/model/VehicleLocationResponse.java", - "excerpt" : "\n public VehicleLocationResponse() {}\n\n public VehicleLocationResponse(UUID id, String name, VehicleLocation vehicleLocation) {\n this.carId = id;\n this.fullName = name; /* <=== */ \n this.vehicleLocation = vehicleLocation;\n }\n}" + "sample": "this.fullName", + "lineNumber": 32, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/model/VehicleLocationResponse.java", + "excerpt": "\n public VehicleLocationResponse() {}\n\n public VehicleLocationResponse(UUID id, String name, VehicleLocation vehicleLocation) {\n this.carId = id;\n this.fullName = name; /* <=== */ \n this.vehicleLocation = vehicleLocation;\n }\n}" }, { - "sample" : "vehicleLocationForm", - "lineNumber" : 149, - "columnNumber" : 29, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " */\n @Transactional\n @Override\n public VehicleLocationResponse getVehicleLocation(UUID carId) {\n VehicleDetails vehicleDetails = null;\n VehicleLocationResponse vehicleLocationForm = null; /* <=== com.crapi.model.VehicleLocationResponse */ \n UserDetails userDetails = null;\n Random random = new Random();\n try {\n vehicleDetails = vehicleDetailsRepository.findByUuid(carId);\n if (vehicleDetails != null) {" + "sample": "vehicleLocationForm", + "lineNumber": 149, + "columnNumber": 29, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " */\n @Transactional\n @Override\n public VehicleLocationResponse getVehicleLocation(UUID carId) {\n VehicleDetails vehicleDetails = null;\n VehicleLocationResponse vehicleLocationForm = null; /* <=== com.crapi.model.VehicleLocationResponse */ \n UserDetails userDetails = null;\n Random random = new Random();\n try {\n vehicleDetails = vehicleDetailsRepository.findByUuid(carId);\n if (vehicleDetails != null) {" } ] }, { - "sourceId" : "Data.Sensitive.PersonalIdentification.Age", - "occurrences" : [ + "sourceId": "Data.Sensitive.PersonalIdentification.Age", + "occurrences": [ { - "sample" : "UserMessage", - "lineNumber" : 157, - "columnNumber" : 37, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " ? videoForm.getConversion_params()\n : profileVideo.getConversion_params()));\n profileVideoRepository.save(profileVideo);\n return profileVideo;\n }\n throw new CRAPIExceptionHandler(UserMessage.SORRY_DIDNT_GET_PROFILE + user.getEmail(), 404); /* <=== com.crapi.constant.UserMessage */ \n }\n\n /**\n * @param videoId\n * @param request" + "sample": "UserMessage", + "lineNumber": 157, + "columnNumber": 37, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " ? videoForm.getConversion_params()\n : profileVideo.getConversion_params()));\n profileVideoRepository.save(profileVideo);\n return profileVideo;\n }\n throw new CRAPIExceptionHandler(UserMessage.SORRY_DIDNT_GET_PROFILE + user.getEmail(), 404); /* <=== com.crapi.constant.UserMessage */ \n }\n\n /**\n * @param videoId\n * @param request" } ] }, { - "sourceId" : "Data.Sensitive.ContactData.Address", - "occurrences" : [ + "sourceId": "Data.Sensitive.ContactData.Address", + "occurrences": [ { - "sample" : "checkVehicle", - "lineNumber" : 185, - "columnNumber" : 33, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " public CRAPIResponse checkVehicle(VehicleForm vehicleForm, HttpServletRequest request) {\n VehicleDetails checkVehicle = null;\n User user = null;\n checkVehicle = vehicleDetailsRepository.findByVin(vehicleForm.getVin());\n user = userService.getUserFromToken(request);\n if (checkVehicle != null && checkVehicle.getOwner() == null) { /* <=== com.crapi.entity.VehicleDetails */ \n if (checkVehicle.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n checkVehicle.setOwner(user);\n checkVehicle.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(checkVehicle);\n logger.info(\"Success Owner updated in vehicle details\");" + "sample": "checkVehicle", + "lineNumber": 185, + "columnNumber": 33, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " public CRAPIResponse checkVehicle(VehicleForm vehicleForm, HttpServletRequest request) {\n VehicleDetails checkVehicle = null;\n User user = null;\n checkVehicle = vehicleDetailsRepository.findByVin(vehicleForm.getVin());\n user = userService.getUserFromToken(request);\n if (checkVehicle != null && checkVehicle.getOwner() == null) { /* <=== com.crapi.entity.VehicleDetails */ \n if (checkVehicle.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n checkVehicle.setOwner(user);\n checkVehicle.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(checkVehicle);\n logger.info(\"Success Owner updated in vehicle details\");" }, { - "sample" : "pincode", - "lineNumber" : 54, - "columnNumber" : 20, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/VehicleDetails.java", - "excerpt" : " @JoinColumn(name = \"owner_id\")\n private User owner;\n\n public VehicleDetails(String pincode, String vin) {\n\n this.pincode = pincode; /* <=== java.lang.String */ \n this.vin = vin;\n this.status = EStatus.ACTIVE;\n this.year = LocalDate.now().getYear();\n }\n" + "sample": "pincode", + "lineNumber": 54, + "columnNumber": 20, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/VehicleDetails.java", + "excerpt": " @JoinColumn(name = \"owner_id\")\n private User owner;\n\n public VehicleDetails(String pincode, String vin) {\n\n this.pincode = pincode; /* <=== java.lang.String */ \n this.vin = vin;\n this.status = EStatus.ACTIVE;\n this.year = LocalDate.now().getYear();\n }\n" }, { - "sample" : "this.pincode", - "lineNumber" : 27, - "columnNumber" : 12, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/utils/GenerateVIN.java", - "excerpt" : " String pincode = \"\";\n\n /** @return random generate pin code for add vehicle */\n public String generatePincode() {\n pincode += getNum(3);\n return pincode; /* <=== */ \n }\n\n /** @return rendom generate VIN for vehicle */\n public String generateVIN() {\n vin += getNum(0) + getChar(3) + getNum(1) + getChar(3) + getNum(5);" + "sample": "this.pincode", + "lineNumber": 27, + "columnNumber": 12, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/utils/GenerateVIN.java", + "excerpt": " String pincode = \"\";\n\n /** @return random generate pin code for add vehicle */\n public String generatePincode() {\n pincode += getNum(3);\n return pincode; /* <=== */ \n }\n\n /** @return rendom generate VIN for vehicle */\n public String generateVIN() {\n vin += getNum(0) + getChar(3) + getNum(1) + getChar(3) + getNum(5);" }, { - "sample" : "VehicleDetails", - "lineNumber" : 120, - "columnNumber" : 11, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", - "excerpt" : " : \"\")),\n \"Welcome to crAPI\");\n return new CRAPIResponse(UserMessage.SIGN_UP_SUCCESS_MESSAGE, 200);\n }\n throw new EntityNotFoundException(\n VehicleDetails.class, UserMessage.ERROR, signUpRequest.getName()); /* <=== com.crapi.entity.VehicleDetails */ \n }\n logger.info(\"User registration failed {}\", signUpRequest.getEmail());\n return new CRAPIResponse(UserMessage.SIGN_UP_FAILED + signUpRequest.getEmail(), 400);\n }\n}" + "sample": "VehicleDetails", + "lineNumber": 120, + "columnNumber": 11, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", + "excerpt": " : \"\")),\n \"Welcome to crAPI\");\n return new CRAPIResponse(UserMessage.SIGN_UP_SUCCESS_MESSAGE, 200);\n }\n throw new EntityNotFoundException(\n VehicleDetails.class, UserMessage.ERROR, signUpRequest.getName()); /* <=== com.crapi.entity.VehicleDetails */ \n }\n logger.info(\"User registration failed {}\", signUpRequest.getEmail());\n return new CRAPIResponse(UserMessage.SIGN_UP_FAILED + signUpRequest.getEmail(), 400);\n }\n}" } ] }, { - "sourceId" : "Data.Sensitive.ContactData.EmailAddress", - "occurrences" : [ + "sourceId": "Data.Sensitive.ContactData.EmailAddress", + "occurrences": [ { - "sample" : "loginForm", - "lineNumber" : 100, - "columnNumber" : 41, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " LOG4J_LOGGER.error(\"Log4j Exploit Success With Email: {}\", loginForm.getEmail());\n } else {\n logger.info(\"Log4j is disabled\");\n }\n }\n user = userRepository.findByEmail(loginForm.getEmail()); /* <=== com.crapi.model.LoginForm */ \n if (user == null) {\n jwtResponse.setMessage(UserMessage.EMAIL_NOT_REGISTERED);\n } else {\n authentication =\n authenticationManager.authenticate(" + "sample": "loginForm", + "lineNumber": 100, + "columnNumber": 41, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " LOG4J_LOGGER.error(\"Log4j Exploit Success With Email: {}\", loginForm.getEmail());\n } else {\n logger.info(\"Log4j is disabled\");\n }\n }\n user = userRepository.findByEmail(loginForm.getEmail()); /* <=== com.crapi.model.LoginForm */ \n if (user == null) {\n jwtResponse.setMessage(UserMessage.EMAIL_NOT_REGISTERED);\n } else {\n authentication =\n authenticationManager.authenticate(" }, { - "sample" : "user", - "lineNumber" : 210, - "columnNumber" : 55, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " User user;\n UserDetails userDetails;\n VehicleDetails vehicleDetails = null;\n List vehicleDetailList = null;\n user = userService.getUserFromToken(request);\n userDetails = userDetailsRepository.findByUser_id(user.getId()); /* <=== com.crapi.entity.User */ \n vehicleDetailList = vehicleDetailsRepository.findAll();\n for (VehicleDetails vehicleDetail : vehicleDetailList) {\n if (vehicleDetail.getOwner() == null) {\n vehicleDetails = vehicleDetail;\n break;" + "sample": "user", + "lineNumber": 210, + "columnNumber": 55, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " User user;\n UserDetails userDetails;\n VehicleDetails vehicleDetails = null;\n List vehicleDetailList = null;\n user = userService.getUserFromToken(request);\n userDetails = userDetailsRepository.findByUser_id(user.getId()); /* <=== com.crapi.entity.User */ \n vehicleDetailList = vehicleDetailsRepository.findAll();\n for (VehicleDetails vehicleDetail : vehicleDetailList) {\n if (vehicleDetail.getOwner() == null) {\n vehicleDetails = vehicleDetail;\n break;" }, { - "sample" : "this.newEmail", - "lineNumber" : 46, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/ChangeEmailRequest.java", - "excerpt" : " @OneToOne private User user;\n\n public ChangeEmailRequest() {}\n\n public ChangeEmailRequest(String new_email, String oldEmail, String token, User user) {\n this.newEmail = new_email; /* <=== */ \n this.emailToken = token;\n this.oldEmail = oldEmail;\n this.user = user;\n this.status = EStatus.ACTIVE.toString();\n }" + "sample": "this.newEmail", + "lineNumber": 46, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/ChangeEmailRequest.java", + "excerpt": " @OneToOne private User user;\n\n public ChangeEmailRequest() {}\n\n public ChangeEmailRequest(String new_email, String oldEmail, String token, User user) {\n this.newEmail = new_email; /* <=== */ \n this.emailToken = token;\n this.oldEmail = oldEmail;\n this.user = user;\n this.status = EStatus.ACTIVE.toString();\n }" }, { - "sample" : "$obj1", - "lineNumber" : -1, - "columnNumber" : -1, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/UserPrinciple.java", - "excerpt" : "" + "sample": "$obj1", + "lineNumber": -1, + "columnNumber": -1, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/UserPrinciple.java", + "excerpt": "" }, { - "sample" : "forgetPassword", - "lineNumber" : 141, - "columnNumber" : 39, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " CRAPIResponse forgetPasswordResponse = null;\n OTPGenerator otpGenerator = new OTPGenerator();\n Otp checkOtpEnteryForUser = null;\n User user = null;\n String otp = \"\";\n user = userRepository.findByEmail(forgetPassword.getEmail()); /* <=== com.crapi.model.ForgetPassword */ \n if (user != null) {\n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database." + "sample": "forgetPassword", + "lineNumber": 141, + "columnNumber": 39, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " CRAPIResponse forgetPasswordResponse = null;\n OTPGenerator otpGenerator = new OTPGenerator();\n Otp checkOtpEnteryForUser = null;\n User user = null;\n String otp = \"\";\n user = userRepository.findByEmail(forgetPassword.getEmail()); /* <=== com.crapi.model.ForgetPassword */ \n if (user != null) {\n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database." }, { - "sample" : "signUpRequest", - "lineNumber" : 76, - "columnNumber" : 79, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/controller/AuthController.java", - "excerpt" : " * @return success and failure message after user registration.\n */\n @PostMapping(\"/signup\")\n public ResponseEntity registerUser(@Valid @RequestBody SignUpForm signUpRequest) {\n // Creating user's account\n CRAPIResponse registerUserResponse = userRegistrationService.registerUser(signUpRequest); /* <=== com.crapi.model.SignUpForm */ \n if (registerUserResponse != null && registerUserResponse.getStatus() == 200) {\n return ResponseEntity.status(HttpStatus.OK).body(registerUserResponse);\n } else if (registerUserResponse != null && registerUserResponse.getStatus() == 403) {\n return ResponseEntity.status(HttpStatus.FORBIDDEN).body(registerUserResponse);\n } else {" + "sample": "signUpRequest", + "lineNumber": 76, + "columnNumber": 79, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/controller/AuthController.java", + "excerpt": " * @return success and failure message after user registration.\n */\n @PostMapping(\"/signup\")\n public ResponseEntity registerUser(@Valid @RequestBody SignUpForm signUpRequest) {\n // Creating user's account\n CRAPIResponse registerUserResponse = userRegistrationService.registerUser(signUpRequest); /* <=== com.crapi.model.SignUpForm */ \n if (registerUserResponse != null && registerUserResponse.getStatus() == 200) {\n return ResponseEntity.status(HttpStatus.OK).body(registerUserResponse);\n } else if (registerUserResponse != null && registerUserResponse.getStatus() == 403) {\n return ResponseEntity.status(HttpStatus.FORBIDDEN).body(registerUserResponse);\n } else {" }, { - "sample" : "userData", - "lineNumber" : 47, - "columnNumber" : 56, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/controller/UserController.java", - "excerpt" : " */\n @GetMapping(\"/dashboard\")\n public ResponseEntity dashboard(HttpServletRequest request) {\n DashboardResponse userData = userService.getUserByRequestToken(request);\n if (userData != null) {\n return ResponseEntity.status(HttpStatus.OK).body(userData); /* <=== com.crapi.model.DashboardResponse */ \n } else\n return ResponseEntity.status(HttpStatus.NOT_FOUND)\n .body(new CRAPIResponse(UserMessage.EMAIL_NOT_REGISTERED, 404));\n }\n" + "sample": "userData", + "lineNumber": 47, + "columnNumber": 56, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/controller/UserController.java", + "excerpt": " */\n @GetMapping(\"/dashboard\")\n public ResponseEntity dashboard(HttpServletRequest request) {\n DashboardResponse userData = userService.getUserByRequestToken(request);\n if (userData != null) {\n return ResponseEntity.status(HttpStatus.OK).body(userData); /* <=== com.crapi.model.DashboardResponse */ \n } else\n return ResponseEntity.status(HttpStatus.NOT_FOUND)\n .body(new CRAPIResponse(UserMessage.EMAIL_NOT_REGISTERED, 404));\n }\n" }, { - "sample" : "this.email", - "lineNumber" : 64, - "columnNumber" : 74, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/config/MailConfiguration.java", - "excerpt" : " props.put(\"mail.smtp.host\", host);\n props.put(\"mail.smtp.port\", port);\n\n if (email.isEmpty() || password.isEmpty()) {\n throw new EntityNotFoundException(\n ChangeEmailRequest.class, \"email and Password not configure \", email + \" \" + password); /* <=== */ \n }\n\n Session session =\n Session.getInstance(\n props," + "sample": "this.email", + "lineNumber": 64, + "columnNumber": 74, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/config/MailConfiguration.java", + "excerpt": " props.put(\"mail.smtp.host\", host);\n props.put(\"mail.smtp.port\", port);\n\n if (email.isEmpty() || password.isEmpty()) {\n throw new EntityNotFoundException(\n ChangeEmailRequest.class, \"email and Password not configure \", email + \" \" + password); /* <=== */ \n }\n\n Session session =\n Session.getInstance(\n props," }, { - "sample" : "emailAddress", - "lineNumber" : 55, - "columnNumber" : -1, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/utils/SMTPMailServer.java", - "excerpt" : " if (mailConfiguration.getHost().trim().endsWith(mhogDomain)) {\n logger.info(\n \"SMTP host matches MailHog host. Using MailHog Configuration for sending emails\");\n useMailHog = true;\n }\n for (InternetAddress emailAddress : emails) { /* <=== javax.mail.internet.InternetAddress */ \n String email = emailAddress.toString();\n String domain = email.substring(email.indexOf(\"@\") + 1).trim();\n logger.debug(\n \"sendMail mhogDomain: {}, email: {}, domain: {}\", mhogDomain, email, domain);\n if (mhogDomain.trim().equals(domain)) {" + "sample": "emailAddress", + "lineNumber": 55, + "columnNumber": -1, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/utils/SMTPMailServer.java", + "excerpt": " if (mailConfiguration.getHost().trim().endsWith(mhogDomain)) {\n logger.info(\n \"SMTP host matches MailHog host. Using MailHog Configuration for sending emails\");\n useMailHog = true;\n }\n for (InternetAddress emailAddress : emails) { /* <=== javax.mail.internet.InternetAddress */ \n String email = emailAddress.toString();\n String domain = email.substring(email.indexOf(\"@\") + 1).trim();\n logger.debug(\n \"sendMail mhogDomain: {}, email: {}, domain: {}\", mhogDomain, email, domain);\n if (mhogDomain.trim().equals(domain)) {" }, { - "sample" : "UserPrinciple", - "lineNumber" : 43, - "columnNumber" : 14, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserDetailsServiceImpl.java", - "excerpt" : " @Override\n public UserDetails loadUserByUsername(String email) {\n try {\n User user = userRepository.findByEmail(email);\n System.out.println(user);\n return UserPrinciple.build(user); /* <=== com.crapi.entity.UserPrinciple */ \n } catch (Exception e) {\n throw new UsernameNotFoundException(\"User does not exist with Email :\" + email);\n }\n }\n}" + "sample": "UserPrinciple", + "lineNumber": 43, + "columnNumber": 14, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserDetailsServiceImpl.java", + "excerpt": " @Override\n public UserDetails loadUserByUsername(String email) {\n try {\n User user = userRepository.findByEmail(email);\n System.out.println(user);\n return UserPrinciple.build(user); /* <=== com.crapi.entity.UserPrinciple */ \n } catch (Exception e) {\n throw new UsernameNotFoundException(\"User does not exist with Email :\" + email);\n }\n }\n}" } ] }, { - "sourceId" : "Data.Sensitive.LocationData.PreciseLocation", - "occurrences" : [ + "sourceId": "Data.Sensitive.LocationData.PreciseLocation", + "occurrences": [ { - "sample" : "$obj1", - "lineNumber" : -1, - "columnNumber" : -1, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/utils/VehicleLocationData.java", - "excerpt" : "" + "sample": "$obj1", + "lineNumber": -1, + "columnNumber": -1, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/utils/VehicleLocationData.java", + "excerpt": "" }, { - "sample" : "latitude", - "lineNumber" : 33, - "columnNumber" : 21, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/VehicleLocation.java", - "excerpt" : "\n private String latitude;\n private String longitude;\n\n public VehicleLocation(String latitude, String longitude) {\n this.latitude = latitude; /* <=== java.lang.String */ \n this.longitude = longitude;\n }\n\n public VehicleLocation() {}\n}" + "sample": "latitude", + "lineNumber": 33, + "columnNumber": 21, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/VehicleLocation.java", + "excerpt": "\n private String latitude;\n private String longitude;\n\n public VehicleLocation(String latitude, String longitude) {\n this.latitude = latitude; /* <=== java.lang.String */ \n this.longitude = longitude;\n }\n\n public VehicleLocation() {}\n}" }, { - "sample" : "vehicleLocations", - "lineNumber" : 97, - "columnNumber" : 30, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " GenerateVIN generateVIN = new GenerateVIN();\n VehicleLocation vehicleLocations = null;\n Random random = new Random();\n modelList = vehicleModelRepository.findAll();\n vehicleLocations = getVehicleLocationList();\n if (modelList != null && vehicleLocations != null) { /* <=== com.crapi.entity.VehicleLocation */ \n vin = generateVIN.generateVIN();\n pincode = generateVIN.generatePincode();\n VehicleDetails vehicleDetails = new VehicleDetails(pincode, vin);\n vehicleDetails.setModel(modelList.get(random.nextInt(modelList.size())));\n vehicleDetails.setVehicleLocation(vehicleLocations);" + "sample": "vehicleLocations", + "lineNumber": 97, + "columnNumber": 30, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " GenerateVIN generateVIN = new GenerateVIN();\n VehicleLocation vehicleLocations = null;\n Random random = new Random();\n modelList = vehicleModelRepository.findAll();\n vehicleLocations = getVehicleLocationList();\n if (modelList != null && vehicleLocations != null) { /* <=== com.crapi.entity.VehicleLocation */ \n vin = generateVIN.generateVIN();\n pincode = generateVIN.generatePincode();\n VehicleDetails vehicleDetails = new VehicleDetails(pincode, vin);\n vehicleDetails.setModel(modelList.get(random.nextInt(modelList.size())));\n vehicleDetails.setVehicleLocation(vehicleLocations);" } ] } ], - "sinks" : [ + "sinks": [ { - "sourceType" : "Sinks", - "sinkType" : "storages", - "id" : "Storages.SpringFramework.Jdbc.Read", - "name" : "Java Database Connector(Read)", - "domains" : [ - "oracle.com" - ], - "apiUrl" : [ - ], - "databaseDetails" : { - "dbName" : "${DB_NAME}", - "dbVendor" : "postgresql", - "dbLocation" : "${DB_HOST}:${DB_PORT}", - "dbOperation" : "Read" + "sourceType": "Sinks", + "sinkType": "storages", + "id": "Storages.SpringFramework.Jdbc.Read", + "name": "Java Database Connector(Read)", + "domains": ["oracle.com"], + "apiUrl": [], + "databaseDetails": { + "dbName": "${DB_NAME}", + "dbVendor": "postgresql", + "dbLocation": "${DB_HOST}:${DB_PORT}", + "dbOperation": "Read" } }, { - "sourceType" : "Sinks", - "sinkType" : "storages", - "id" : "Sinks.Database.JPA.Read", - "name" : "JPA Repository(Read)", - "domains" : [ - "springframework.org" - ], - "apiUrl" : [ - ], - "databaseDetails" : { - "dbName" : "${DB_NAME}", - "dbVendor" : "postgresql", - "dbLocation" : "${DB_HOST}:${DB_PORT}", - "dbOperation" : "Read" + "sourceType": "Sinks", + "sinkType": "storages", + "id": "Sinks.Database.JPA.Read", + "name": "JPA Repository(Read)", + "domains": ["springframework.org"], + "apiUrl": [], + "databaseDetails": { + "dbName": "${DB_NAME}", + "dbVendor": "postgresql", + "dbLocation": "${DB_HOST}:${DB_PORT}", + "dbOperation": "Read" } }, { - "sourceType" : "Sinks", - "sinkType" : "storages", - "id" : "Storages.SpringFramework.Jdbc.Write", - "name" : "Java Database Connector(Write)", - "domains" : [ - "oracle.com" - ], - "apiUrl" : [ - ], - "databaseDetails" : { - "dbName" : "${DB_NAME}", - "dbVendor" : "postgresql", - "dbLocation" : "${DB_HOST}:${DB_PORT}", - "dbOperation" : "Write" + "sourceType": "Sinks", + "sinkType": "storages", + "id": "Storages.SpringFramework.Jdbc.Write", + "name": "Java Database Connector(Write)", + "domains": ["oracle.com"], + "apiUrl": [], + "databaseDetails": { + "dbName": "${DB_NAME}", + "dbVendor": "postgresql", + "dbLocation": "${DB_HOST}:${DB_PORT}", + "dbOperation": "Write" } }, { - "sourceType" : "Sinks", - "sinkType" : "storages", - "id" : "Sinks.Database.JPA.Write", - "name" : "JPA Repository(Write)", - "domains" : [ - "springframework.org" - ], - "apiUrl" : [ - ], - "databaseDetails" : { - "dbName" : "${DB_NAME}", - "dbVendor" : "postgresql", - "dbLocation" : "${DB_HOST}:${DB_PORT}", - "dbOperation" : "Write" + "sourceType": "Sinks", + "sinkType": "storages", + "id": "Sinks.Database.JPA.Write", + "name": "JPA Repository(Write)", + "domains": ["springframework.org"], + "apiUrl": [], + "databaseDetails": { + "dbName": "${DB_NAME}", + "dbVendor": "postgresql", + "dbLocation": "${DB_HOST}:${DB_PORT}", + "dbOperation": "Write" } } ], - "sinkProcessing" : [ + "sinkProcessing": [ { - "sinkId" : "Storages.SpringFramework.Jdbc.Write", - "occurrences" : [ + "sinkId": "Storages.SpringFramework.Jdbc.Write", + "occurrences": [ { - "sample" : "saveAll(vehicleLocationData.getVehicleLocationData())", - "lineNumber" : 59, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", - "excerpt" : " @Autowired PasswordEncoder encoder;\n\n public void addLocation() {\n if (CollectionUtils.isEmpty(vehicleLocationRepository.findAll())) {\n VehicleLocationData vehicleLocationData = new VehicleLocationData();\n vehicleLocationRepository.saveAll(vehicleLocationData.getVehicleLocationData()); /* <=== com.crapi.repository.VehicleLocationRepository.saveAll */ \n }\n }\n\n public void addVehicleModel() {\n if (CollectionUtils.isEmpty(vehicleModelRepository.findAll())) {" + "sample": "saveAll(vehicleLocationData.getVehicleLocationData())", + "lineNumber": 59, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", + "excerpt": " @Autowired PasswordEncoder encoder;\n\n public void addLocation() {\n if (CollectionUtils.isEmpty(vehicleLocationRepository.findAll())) {\n VehicleLocationData vehicleLocationData = new VehicleLocationData();\n vehicleLocationRepository.saveAll(vehicleLocationData.getVehicleLocationData()); /* <=== com.crapi.repository.VehicleLocationRepository.saveAll */ \n }\n }\n\n public void addVehicleModel() {\n if (CollectionUtils.isEmpty(vehicleModelRepository.findAll())) {" }, { - "sample" : "profileVideoRepository.delete(profileVideo)", - "lineNumber" : 192, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " optionalProfileVideo = profileVideoRepository.findById(videoId);\n User user = userService.getUserFromToken(request);\n if (optionalProfileVideo.isPresent()) {\n profileVideo = optionalProfileVideo.get();\n profileVideo.setUser(null);\n profileVideoRepository.delete(profileVideo); /* <=== com.crapi.repository.ProfileVideoRepository.delete */ \n return new CRAPIResponse(UserMessage.VIDEO_DELETED_SUCCESS_MESSAGE, 200);\n }\n throw new CRAPIExceptionHandler(UserMessage.SORRY_DIDNT_GET_PROFILE, 404);\n }\n" + "sample": "profileVideoRepository.delete(profileVideo)", + "lineNumber": 192, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " optionalProfileVideo = profileVideoRepository.findById(videoId);\n User user = userService.getUserFromToken(request);\n if (optionalProfileVideo.isPresent()) {\n profileVideo = optionalProfileVideo.get();\n profileVideo.setUser(null);\n profileVideoRepository.delete(profileVideo); /* <=== com.crapi.repository.ProfileVideoRepository.delete */ \n return new CRAPIResponse(UserMessage.VIDEO_DELETED_SUCCESS_MESSAGE, 200);\n }\n throw new CRAPIExceptionHandler(UserMessage.SORRY_DIDNT_GET_PROFILE, 404);\n }\n" }, { - "sample" : "vehicleDetailsRepository.save(checkVehicle)", - "lineNumber" : 189, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " user = userService.getUserFromToken(request);\n if (checkVehicle != null && checkVehicle.getOwner() == null) {\n if (checkVehicle.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n checkVehicle.setOwner(user);\n checkVehicle.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(checkVehicle); /* <=== com.crapi.repository.VehicleDetailsRepository.save */ \n logger.info(\"Success Owner updated in vehicle details\");\n return new CRAPIResponse(UserMessage.VEHICLE_SAVED_SUCCESSFULLY, 200);\n }\n }\n return new CRAPIResponse(UserMessage.VEHICLE_ALREADY_CREATED, 403);" + "sample": "vehicleDetailsRepository.save(checkVehicle)", + "lineNumber": 189, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " user = userService.getUserFromToken(request);\n if (checkVehicle != null && checkVehicle.getOwner() == null) {\n if (checkVehicle.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n checkVehicle.setOwner(user);\n checkVehicle.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(checkVehicle); /* <=== com.crapi.repository.VehicleDetailsRepository.save */ \n logger.info(\"Success Owner updated in vehicle details\");\n return new CRAPIResponse(UserMessage.VEHICLE_SAVED_SUCCESSFULLY, 200);\n }\n }\n return new CRAPIResponse(UserMessage.VEHICLE_ALREADY_CREATED, 403);" }, { - "sample" : "otpRepository.save(otp)", - "lineNumber" : 123, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " invalidateOtp(otp);\n } else {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);\n }\n otpRepository.save(otp); /* <=== com.crapi.repository.OtpRepository.save */ \n return validateOTPResponse;\n }\n throw new EntityNotFoundException(User.class, \"userEmail\", otpForm.getEmail());\n }\n" + "sample": "otpRepository.save(otp)", + "lineNumber": 123, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " invalidateOtp(otp);\n } else {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);\n }\n otpRepository.save(otp); /* <=== com.crapi.repository.OtpRepository.save */ \n return validateOTPResponse;\n }\n throw new EntityNotFoundException(User.class, \"userEmail\", otpForm.getEmail());\n }\n" }, { - "sample" : "userRepository.saveAndFlush(user)", - "lineNumber" : 146, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " @Override\n public void updateUserToken(String jwt, String email) {\n User user = userRepository.findByEmail(email);\n if (user != null) {\n user.setJwtToken(jwt);\n userRepository.saveAndFlush(user); /* <=== com.crapi.repository.UserRepository.saveAndFlush */ \n }\n }\n\n /**\n * @param loginForm Contains user email, password and number" + "sample": "userRepository.saveAndFlush(user)", + "lineNumber": 146, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " @Override\n public void updateUserToken(String jwt, String email) {\n User user = userRepository.findByEmail(email);\n if (user != null) {\n user.setJwtToken(jwt);\n userRepository.saveAndFlush(user); /* <=== com.crapi.repository.UserRepository.saveAndFlush */ \n }\n }\n\n /**\n * @param loginForm Contains user email, password and number" } ] }, { - "sinkId" : "Storages.SpringFramework.Jdbc.Read", - "occurrences" : [ + "sinkId": "Storages.SpringFramework.Jdbc.Read", + "occurrences": [ { - "sample" : "changeEmailRepository.findByUser(user)", - "lineNumber" : 233, - "columnNumber" : 26, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " UserMessage.EMAIL_NOT_REGISTERED + changeEmailForm.getOld_email(), 404);\n }\n token = emailTokenGenerator.generateRandom(10);\n user = getUserFromToken(request);\n // fetching ChangeEmail Data for user\n changeEmailRequest = changeEmailRepository.findByUser(user); /* <=== com.crapi.repository.ChangeEmailRepository.findByUser */ \n if (changeEmailRequest == null) {\n // Creating new object if changeEmail data for user is not in database\n changeEmailRequest =\n new ChangeEmailRequest(\n changeEmailForm.getNew_email(), changeEmailForm.getOld_email(), token, user);" + "sample": "changeEmailRepository.findByUser(user)", + "lineNumber": 233, + "columnNumber": 26, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " UserMessage.EMAIL_NOT_REGISTERED + changeEmailForm.getOld_email(), 404);\n }\n token = emailTokenGenerator.generateRandom(10);\n user = getUserFromToken(request);\n // fetching ChangeEmail Data for user\n changeEmailRequest = changeEmailRepository.findByUser(user); /* <=== com.crapi.repository.ChangeEmailRepository.findByUser */ \n if (changeEmailRequest == null) {\n // Creating new object if changeEmail data for user is not in database\n changeEmailRequest =\n new ChangeEmailRequest(\n changeEmailForm.getNew_email(), changeEmailForm.getOld_email(), token, user);" }, { - "sample" : "findAll()", - "lineNumber" : 57, - "columnNumber" : 33, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", - "excerpt" : " @Autowired VehicleService vehicleService;\n\n @Autowired PasswordEncoder encoder;\n\n public void addLocation() {\n if (CollectionUtils.isEmpty(vehicleLocationRepository.findAll())) { /* <=== com.crapi.repository.VehicleLocationRepository.findAll */ \n VehicleLocationData vehicleLocationData = new VehicleLocationData();\n vehicleLocationRepository.saveAll(vehicleLocationData.getVehicleLocationData());\n }\n }\n" + "sample": "findAll()", + "lineNumber": 57, + "columnNumber": 33, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", + "excerpt": " @Autowired VehicleService vehicleService;\n\n @Autowired PasswordEncoder encoder;\n\n public void addLocation() {\n if (CollectionUtils.isEmpty(vehicleLocationRepository.findAll())) { /* <=== com.crapi.repository.VehicleLocationRepository.findAll */ \n VehicleLocationData vehicleLocationData = new VehicleLocationData();\n vehicleLocationRepository.saveAll(vehicleLocationData.getVehicleLocationData());\n }\n }\n" }, { - "sample" : "otpRepository.findByUser(user)", - "lineNumber" : 105, - "columnNumber" : 13, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user); /* <=== com.crapi.repository.OtpRepository.findByUser */ \n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);" + "sample": "otpRepository.findByUser(user)", + "lineNumber": 105, + "columnNumber": 13, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user); /* <=== com.crapi.repository.OtpRepository.findByUser */ \n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);" }, { - "sample" : "findByVin(vehicleForm.getVin())", - "lineNumber" : 183, - "columnNumber" : 20, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " @Transactional\n @Override\n public CRAPIResponse checkVehicle(VehicleForm vehicleForm, HttpServletRequest request) {\n VehicleDetails checkVehicle = null;\n User user = null;\n checkVehicle = vehicleDetailsRepository.findByVin(vehicleForm.getVin()); /* <=== com.crapi.repository.VehicleDetailsRepository.findByVin */ \n user = userService.getUserFromToken(request);\n if (checkVehicle != null && checkVehicle.getOwner() == null) {\n if (checkVehicle.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n checkVehicle.setOwner(user);\n checkVehicle.setStatus(EStatus.INACTIVE);" + "sample": "findByVin(vehicleForm.getVin())", + "lineNumber": 183, + "columnNumber": 20, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " @Transactional\n @Override\n public CRAPIResponse checkVehicle(VehicleForm vehicleForm, HttpServletRequest request) {\n VehicleDetails checkVehicle = null;\n User user = null;\n checkVehicle = vehicleDetailsRepository.findByVin(vehicleForm.getVin()); /* <=== com.crapi.repository.VehicleDetailsRepository.findByVin */ \n user = userService.getUserFromToken(request);\n if (checkVehicle != null && checkVehicle.getOwner() == null) {\n if (checkVehicle.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n checkVehicle.setOwner(user);\n checkVehicle.setStatus(EStatus.INACTIVE);" }, { - "sample" : "profileVideoRepository.findById(videoId)", - "lineNumber" : 170, - "columnNumber" : 28, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " @Transactional\n @Override\n public CRAPIResponse deleteProfileVideo(Long videoId, HttpServletRequest request) {\n Optional optionalProfileVideo;\n ProfileVideo profileVideo;\n optionalProfileVideo = profileVideoRepository.findById(videoId); /* <=== com.crapi.repository.ProfileVideoRepository.findById */ \n if (optionalProfileVideo.isPresent()) {\n return new CRAPIResponse(UserMessage.THIS_IS_ADMIN_FUNCTION, 403);\n }\n throw new CRAPIExceptionHandler(UserMessage.SORRY_DIDNT_GET_PROFILE, 404);\n }" + "sample": "profileVideoRepository.findById(videoId)", + "lineNumber": 170, + "columnNumber": 28, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " @Transactional\n @Override\n public CRAPIResponse deleteProfileVideo(Long videoId, HttpServletRequest request) {\n Optional optionalProfileVideo;\n ProfileVideo profileVideo;\n optionalProfileVideo = profileVideoRepository.findById(videoId); /* <=== com.crapi.repository.ProfileVideoRepository.findById */ \n if (optionalProfileVideo.isPresent()) {\n return new CRAPIResponse(UserMessage.THIS_IS_ADMIN_FUNCTION, 403);\n }\n throw new CRAPIExceptionHandler(UserMessage.SORRY_DIDNT_GET_PROFILE, 404);\n }" }, { - "sample" : "userRepository.findByEmail(email)", - "lineNumber" : 41, - "columnNumber" : 19, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserDetailsServiceImpl.java", - "excerpt" : " */\n @Transactional\n @Override\n public UserDetails loadUserByUsername(String email) {\n try {\n User user = userRepository.findByEmail(email); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n System.out.println(user);\n return UserPrinciple.build(user);\n } catch (Exception e) {\n throw new UsernameNotFoundException(\"User does not exist with Email :\" + email);\n }" + "sample": "userRepository.findByEmail(email)", + "lineNumber": 41, + "columnNumber": 19, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserDetailsServiceImpl.java", + "excerpt": " */\n @Transactional\n @Override\n public UserDetails loadUserByUsername(String email) {\n try {\n User user = userRepository.findByEmail(email); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n System.out.println(user);\n return UserPrinciple.build(user);\n } catch (Exception e) {\n throw new UsernameNotFoundException(\"User does not exist with Email :\" + email);\n }" } ] }, { - "sinkId" : "Sinks.Database.JPA.Read", - "occurrences" : [ + "sinkId": "Sinks.Database.JPA.Read", + "occurrences": [ { - "sample" : "changeEmailRepository.findByUser(user)", - "lineNumber" : 233, - "columnNumber" : 26, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " UserMessage.EMAIL_NOT_REGISTERED + changeEmailForm.getOld_email(), 404);\n }\n token = emailTokenGenerator.generateRandom(10);\n user = getUserFromToken(request);\n // fetching ChangeEmail Data for user\n changeEmailRequest = changeEmailRepository.findByUser(user); /* <=== com.crapi.repository.ChangeEmailRepository.findByUser */ \n if (changeEmailRequest == null) {\n // Creating new object if changeEmail data for user is not in database\n changeEmailRequest =\n new ChangeEmailRequest(\n changeEmailForm.getNew_email(), changeEmailForm.getOld_email(), token, user);" + "sample": "changeEmailRepository.findByUser(user)", + "lineNumber": 233, + "columnNumber": 26, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " UserMessage.EMAIL_NOT_REGISTERED + changeEmailForm.getOld_email(), 404);\n }\n token = emailTokenGenerator.generateRandom(10);\n user = getUserFromToken(request);\n // fetching ChangeEmail Data for user\n changeEmailRequest = changeEmailRepository.findByUser(user); /* <=== com.crapi.repository.ChangeEmailRepository.findByUser */ \n if (changeEmailRequest == null) {\n // Creating new object if changeEmail data for user is not in database\n changeEmailRequest =\n new ChangeEmailRequest(\n changeEmailForm.getNew_email(), changeEmailForm.getOld_email(), token, user);" }, { - "sample" : "findAll()", - "lineNumber" : 57, - "columnNumber" : 33, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", - "excerpt" : " @Autowired VehicleService vehicleService;\n\n @Autowired PasswordEncoder encoder;\n\n public void addLocation() {\n if (CollectionUtils.isEmpty(vehicleLocationRepository.findAll())) { /* <=== com.crapi.repository.VehicleLocationRepository.findAll */ \n VehicleLocationData vehicleLocationData = new VehicleLocationData();\n vehicleLocationRepository.saveAll(vehicleLocationData.getVehicleLocationData());\n }\n }\n" + "sample": "findAll()", + "lineNumber": 57, + "columnNumber": 33, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", + "excerpt": " @Autowired VehicleService vehicleService;\n\n @Autowired PasswordEncoder encoder;\n\n public void addLocation() {\n if (CollectionUtils.isEmpty(vehicleLocationRepository.findAll())) { /* <=== com.crapi.repository.VehicleLocationRepository.findAll */ \n VehicleLocationData vehicleLocationData = new VehicleLocationData();\n vehicleLocationRepository.saveAll(vehicleLocationData.getVehicleLocationData());\n }\n }\n" }, { - "sample" : "otpRepository.findByUser(user)", - "lineNumber" : 105, - "columnNumber" : 13, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user); /* <=== com.crapi.repository.OtpRepository.findByUser */ \n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);" + "sample": "otpRepository.findByUser(user)", + "lineNumber": 105, + "columnNumber": 13, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user); /* <=== com.crapi.repository.OtpRepository.findByUser */ \n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);" }, { - "sample" : "findByVin(vehicleForm.getVin())", - "lineNumber" : 183, - "columnNumber" : 20, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " @Transactional\n @Override\n public CRAPIResponse checkVehicle(VehicleForm vehicleForm, HttpServletRequest request) {\n VehicleDetails checkVehicle = null;\n User user = null;\n checkVehicle = vehicleDetailsRepository.findByVin(vehicleForm.getVin()); /* <=== com.crapi.repository.VehicleDetailsRepository.findByVin */ \n user = userService.getUserFromToken(request);\n if (checkVehicle != null && checkVehicle.getOwner() == null) {\n if (checkVehicle.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n checkVehicle.setOwner(user);\n checkVehicle.setStatus(EStatus.INACTIVE);" + "sample": "findByVin(vehicleForm.getVin())", + "lineNumber": 183, + "columnNumber": 20, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " @Transactional\n @Override\n public CRAPIResponse checkVehicle(VehicleForm vehicleForm, HttpServletRequest request) {\n VehicleDetails checkVehicle = null;\n User user = null;\n checkVehicle = vehicleDetailsRepository.findByVin(vehicleForm.getVin()); /* <=== com.crapi.repository.VehicleDetailsRepository.findByVin */ \n user = userService.getUserFromToken(request);\n if (checkVehicle != null && checkVehicle.getOwner() == null) {\n if (checkVehicle.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n checkVehicle.setOwner(user);\n checkVehicle.setStatus(EStatus.INACTIVE);" }, { - "sample" : "profileVideoRepository.findById(videoId)", - "lineNumber" : 170, - "columnNumber" : 28, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " @Transactional\n @Override\n public CRAPIResponse deleteProfileVideo(Long videoId, HttpServletRequest request) {\n Optional optionalProfileVideo;\n ProfileVideo profileVideo;\n optionalProfileVideo = profileVideoRepository.findById(videoId); /* <=== com.crapi.repository.ProfileVideoRepository.findById */ \n if (optionalProfileVideo.isPresent()) {\n return new CRAPIResponse(UserMessage.THIS_IS_ADMIN_FUNCTION, 403);\n }\n throw new CRAPIExceptionHandler(UserMessage.SORRY_DIDNT_GET_PROFILE, 404);\n }" + "sample": "profileVideoRepository.findById(videoId)", + "lineNumber": 170, + "columnNumber": 28, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " @Transactional\n @Override\n public CRAPIResponse deleteProfileVideo(Long videoId, HttpServletRequest request) {\n Optional optionalProfileVideo;\n ProfileVideo profileVideo;\n optionalProfileVideo = profileVideoRepository.findById(videoId); /* <=== com.crapi.repository.ProfileVideoRepository.findById */ \n if (optionalProfileVideo.isPresent()) {\n return new CRAPIResponse(UserMessage.THIS_IS_ADMIN_FUNCTION, 403);\n }\n throw new CRAPIExceptionHandler(UserMessage.SORRY_DIDNT_GET_PROFILE, 404);\n }" }, { - "sample" : "userRepository.findByEmail(email)", - "lineNumber" : 41, - "columnNumber" : 19, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserDetailsServiceImpl.java", - "excerpt" : " */\n @Transactional\n @Override\n public UserDetails loadUserByUsername(String email) {\n try {\n User user = userRepository.findByEmail(email); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n System.out.println(user);\n return UserPrinciple.build(user);\n } catch (Exception e) {\n throw new UsernameNotFoundException(\"User does not exist with Email :\" + email);\n }" + "sample": "userRepository.findByEmail(email)", + "lineNumber": 41, + "columnNumber": 19, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserDetailsServiceImpl.java", + "excerpt": " */\n @Transactional\n @Override\n public UserDetails loadUserByUsername(String email) {\n try {\n User user = userRepository.findByEmail(email); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n System.out.println(user);\n return UserPrinciple.build(user);\n } catch (Exception e) {\n throw new UsernameNotFoundException(\"User does not exist with Email :\" + email);\n }" } ] }, { - "sinkId" : "Sinks.Database.JPA.Write", - "occurrences" : [ + "sinkId": "Sinks.Database.JPA.Write", + "occurrences": [ { - "sample" : "saveAll(vehicleLocationData.getVehicleLocationData())", - "lineNumber" : 59, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", - "excerpt" : " @Autowired PasswordEncoder encoder;\n\n public void addLocation() {\n if (CollectionUtils.isEmpty(vehicleLocationRepository.findAll())) {\n VehicleLocationData vehicleLocationData = new VehicleLocationData();\n vehicleLocationRepository.saveAll(vehicleLocationData.getVehicleLocationData()); /* <=== com.crapi.repository.VehicleLocationRepository.saveAll */ \n }\n }\n\n public void addVehicleModel() {\n if (CollectionUtils.isEmpty(vehicleModelRepository.findAll())) {" + "sample": "saveAll(vehicleLocationData.getVehicleLocationData())", + "lineNumber": 59, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", + "excerpt": " @Autowired PasswordEncoder encoder;\n\n public void addLocation() {\n if (CollectionUtils.isEmpty(vehicleLocationRepository.findAll())) {\n VehicleLocationData vehicleLocationData = new VehicleLocationData();\n vehicleLocationRepository.saveAll(vehicleLocationData.getVehicleLocationData()); /* <=== com.crapi.repository.VehicleLocationRepository.saveAll */ \n }\n }\n\n public void addVehicleModel() {\n if (CollectionUtils.isEmpty(vehicleModelRepository.findAll())) {" }, { - "sample" : "profileVideoRepository.delete(profileVideo)", - "lineNumber" : 192, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " optionalProfileVideo = profileVideoRepository.findById(videoId);\n User user = userService.getUserFromToken(request);\n if (optionalProfileVideo.isPresent()) {\n profileVideo = optionalProfileVideo.get();\n profileVideo.setUser(null);\n profileVideoRepository.delete(profileVideo); /* <=== com.crapi.repository.ProfileVideoRepository.delete */ \n return new CRAPIResponse(UserMessage.VIDEO_DELETED_SUCCESS_MESSAGE, 200);\n }\n throw new CRAPIExceptionHandler(UserMessage.SORRY_DIDNT_GET_PROFILE, 404);\n }\n" + "sample": "profileVideoRepository.delete(profileVideo)", + "lineNumber": 192, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " optionalProfileVideo = profileVideoRepository.findById(videoId);\n User user = userService.getUserFromToken(request);\n if (optionalProfileVideo.isPresent()) {\n profileVideo = optionalProfileVideo.get();\n profileVideo.setUser(null);\n profileVideoRepository.delete(profileVideo); /* <=== com.crapi.repository.ProfileVideoRepository.delete */ \n return new CRAPIResponse(UserMessage.VIDEO_DELETED_SUCCESS_MESSAGE, 200);\n }\n throw new CRAPIExceptionHandler(UserMessage.SORRY_DIDNT_GET_PROFILE, 404);\n }\n" }, { - "sample" : "vehicleDetailsRepository.save(checkVehicle)", - "lineNumber" : 189, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " user = userService.getUserFromToken(request);\n if (checkVehicle != null && checkVehicle.getOwner() == null) {\n if (checkVehicle.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n checkVehicle.setOwner(user);\n checkVehicle.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(checkVehicle); /* <=== com.crapi.repository.VehicleDetailsRepository.save */ \n logger.info(\"Success Owner updated in vehicle details\");\n return new CRAPIResponse(UserMessage.VEHICLE_SAVED_SUCCESSFULLY, 200);\n }\n }\n return new CRAPIResponse(UserMessage.VEHICLE_ALREADY_CREATED, 403);" + "sample": "vehicleDetailsRepository.save(checkVehicle)", + "lineNumber": 189, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " user = userService.getUserFromToken(request);\n if (checkVehicle != null && checkVehicle.getOwner() == null) {\n if (checkVehicle.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n checkVehicle.setOwner(user);\n checkVehicle.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(checkVehicle); /* <=== com.crapi.repository.VehicleDetailsRepository.save */ \n logger.info(\"Success Owner updated in vehicle details\");\n return new CRAPIResponse(UserMessage.VEHICLE_SAVED_SUCCESSFULLY, 200);\n }\n }\n return new CRAPIResponse(UserMessage.VEHICLE_ALREADY_CREATED, 403);" }, { - "sample" : "otpRepository.save(otp)", - "lineNumber" : 123, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " invalidateOtp(otp);\n } else {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);\n }\n otpRepository.save(otp); /* <=== com.crapi.repository.OtpRepository.save */ \n return validateOTPResponse;\n }\n throw new EntityNotFoundException(User.class, \"userEmail\", otpForm.getEmail());\n }\n" + "sample": "otpRepository.save(otp)", + "lineNumber": 123, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " invalidateOtp(otp);\n } else {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);\n }\n otpRepository.save(otp); /* <=== com.crapi.repository.OtpRepository.save */ \n return validateOTPResponse;\n }\n throw new EntityNotFoundException(User.class, \"userEmail\", otpForm.getEmail());\n }\n" }, { - "sample" : "userRepository.saveAndFlush(user)", - "lineNumber" : 146, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " @Override\n public void updateUserToken(String jwt, String email) {\n User user = userRepository.findByEmail(email);\n if (user != null) {\n user.setJwtToken(jwt);\n userRepository.saveAndFlush(user); /* <=== com.crapi.repository.UserRepository.saveAndFlush */ \n }\n }\n\n /**\n * @param loginForm Contains user email, password and number" + "sample": "userRepository.saveAndFlush(user)", + "lineNumber": 146, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " @Override\n public void updateUserToken(String jwt, String email) {\n User user = userRepository.findByEmail(email);\n if (user != null) {\n user.setJwtToken(jwt);\n userRepository.saveAndFlush(user); /* <=== com.crapi.repository.UserRepository.saveAndFlush */ \n }\n }\n\n /**\n * @param loginForm Contains user email, password and number" } ] } ], - "probableSinks" : [ + "probableSinks": [ "com.crapi.entity.VehicleDetails.setOwner", "com.crapi.enums.EStatus.toString", "com.nimbusds.jose.jwk.JWKSet.load", @@ -726,729 +714,719 @@ "com.crapi.model.VehicleForm.setPincode", "com.crapi.model.VehicleForm.setVin" ], - "dataFlow" : { - "storages" : [ + "dataFlow": { + "storages": [ { - "sourceId" : "Data.Sensitive.AccountData.AccountName", - "sinks" : [ + "sourceId": "Data.Sensitive.AccountData.AccountName", + "sinks": [ { - "sinkType" : "storages", - "id" : "Storages.SpringFramework.Jdbc.Write", - "name" : "Java Database Connector(Write)", - "category" : "", - "domains" : [ - "oracle.com" - ], - "sensitivity" : "", - "isSensitive" : false, - "tags" : { - - }, - "apiUrl" : [ - ], - "databaseDetails" : { - "dbName" : "${DB_NAME}", - "dbVendor" : "postgresql", - "dbLocation" : "${DB_HOST}:${DB_PORT}", - "dbOperation" : "Write" + "sinkType": "storages", + "id": "Storages.SpringFramework.Jdbc.Write", + "name": "Java Database Connector(Write)", + "category": "", + "domains": ["oracle.com"], + "sensitivity": "", + "isSensitive": false, + "tags": {}, + "apiUrl": [], + "databaseDetails": { + "dbName": "${DB_NAME}", + "dbVendor": "postgresql", + "dbLocation": "${DB_HOST}:${DB_PORT}", + "dbOperation": "Write" }, - "paths" : [ + "paths": [ { - "pathId" : "9005-9017-9013-9012-9020-9023-9067-8795-8794-8803-8799-8798-8806-8823-8826-8830-8840-8836", - "path" : [ + "pathId": "9005-9017-9013-9012-9020-9023-9067-8795-8794-8803-8799-8798-8806-8823-8826-8830-8840-8836", + "path": [ { - "sample" : "username", - "lineNumber" : 298, - "columnNumber" : 32, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " public User getUserFromToken(HttpServletRequest request) {\n User user = null;\n String username = null;\n try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) { /* <=== java.lang.String */ \n user = userRepository.findByEmail(username);\n }\n if (user != null) {\n return user;\n } else {" + "sample": "username", + "lineNumber": 298, + "columnNumber": 32, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " public User getUserFromToken(HttpServletRequest request) {\n User user = null;\n String username = null;\n try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) { /* <=== java.lang.String */ \n user = userRepository.findByEmail(username);\n }\n if (user != null) {\n return user;\n } else {" }, { - "sample" : "username", - "lineNumber" : 299, - "columnNumber" : 43, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " User user = null;\n String username = null;\n try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username); /* <=== java.lang.String */ \n }\n if (user != null) {\n return user;\n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);" + "sample": "username", + "lineNumber": 299, + "columnNumber": 43, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " User user = null;\n String username = null;\n try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username); /* <=== java.lang.String */ \n }\n if (user != null) {\n return user;\n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);" }, { - "sample" : "userRepository.findByEmail(username)", - "lineNumber" : 299, - "columnNumber" : 16, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " User user = null;\n String username = null;\n try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n }\n if (user != null) {\n return user;\n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);" + "sample": "userRepository.findByEmail(username)", + "lineNumber": 299, + "columnNumber": 16, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " User user = null;\n String username = null;\n try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n }\n if (user != null) {\n return user;\n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);" }, { - "sample" : "user", - "lineNumber" : 299, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " User user = null;\n String username = null;\n try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username); /* <=== com.crapi.entity.User */ \n }\n if (user != null) {\n return user;\n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);" + "sample": "user", + "lineNumber": 299, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " User user = null;\n String username = null;\n try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username); /* <=== com.crapi.entity.User */ \n }\n if (user != null) {\n return user;\n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);" }, { - "sample" : "user", - "lineNumber" : 301, - "columnNumber" : 11, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n if (user != null) { /* <=== com.crapi.entity.User */ \n return user;\n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {" + "sample": "user", + "lineNumber": 301, + "columnNumber": 11, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n if (user != null) { /* <=== com.crapi.entity.User */ \n return user;\n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {" }, { - "sample" : "return user;", - "lineNumber" : 302, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n if (user != null) {\n return user; /* <=== */ \n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {\n logger.error(\"fail to get username from token -> Message:%d\", exception);" + "sample": "return user;", + "lineNumber": 302, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n if (user != null) {\n return user; /* <=== */ \n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {\n logger.error(\"fail to get username from token -> Message:%d\", exception);" }, { - "sample" : "com.crapi.entity.User", - "lineNumber" : 293, - "columnNumber" : 10, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " * @param request request getting jwt token for user from request header\n * @return User object from token throw entity not found if user not found.\n */\n @Transactional\n @Override\n public User getUserFromToken(HttpServletRequest request) { /* <=== */ \n User user = null;\n String username = null;\n try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {" + "sample": "com.crapi.entity.User", + "lineNumber": 293, + "columnNumber": 10, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " * @param request request getting jwt token for user from request header\n * @return User object from token throw entity not found if user not found.\n */\n @Transactional\n @Override\n public User getUserFromToken(HttpServletRequest request) { /* <=== */ \n User user = null;\n String username = null;\n try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {" }, { - "sample" : "this.getUserFromToken(request)", - "lineNumber" : 231, - "columnNumber" : 12, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " if (!userRepository.existsByEmail(changeEmailForm.getOld_email())) {\n return new CRAPIResponse(\n UserMessage.EMAIL_NOT_REGISTERED + changeEmailForm.getOld_email(), 404);\n }\n token = emailTokenGenerator.generateRandom(10);\n user = getUserFromToken(request); /* <=== com.crapi.service.Impl.UserServiceImpl.getUserFromToken */ \n // fetching ChangeEmail Data for user\n changeEmailRequest = changeEmailRepository.findByUser(user);\n if (changeEmailRequest == null) {\n // Creating new object if changeEmail data for user is not in database\n changeEmailRequest =" + "sample": "this.getUserFromToken(request)", + "lineNumber": 231, + "columnNumber": 12, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " if (!userRepository.existsByEmail(changeEmailForm.getOld_email())) {\n return new CRAPIResponse(\n UserMessage.EMAIL_NOT_REGISTERED + changeEmailForm.getOld_email(), 404);\n }\n token = emailTokenGenerator.generateRandom(10);\n user = getUserFromToken(request); /* <=== com.crapi.service.Impl.UserServiceImpl.getUserFromToken */ \n // fetching ChangeEmail Data for user\n changeEmailRequest = changeEmailRepository.findByUser(user);\n if (changeEmailRequest == null) {\n // Creating new object if changeEmail data for user is not in database\n changeEmailRequest =" }, { - "sample" : "user", - "lineNumber" : 231, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " if (!userRepository.existsByEmail(changeEmailForm.getOld_email())) {\n return new CRAPIResponse(\n UserMessage.EMAIL_NOT_REGISTERED + changeEmailForm.getOld_email(), 404);\n }\n token = emailTokenGenerator.generateRandom(10);\n user = getUserFromToken(request); /* <=== com.crapi.entity.User */ \n // fetching ChangeEmail Data for user\n changeEmailRequest = changeEmailRepository.findByUser(user);\n if (changeEmailRequest == null) {\n // Creating new object if changeEmail data for user is not in database\n changeEmailRequest =" + "sample": "user", + "lineNumber": 231, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " if (!userRepository.existsByEmail(changeEmailForm.getOld_email())) {\n return new CRAPIResponse(\n UserMessage.EMAIL_NOT_REGISTERED + changeEmailForm.getOld_email(), 404);\n }\n token = emailTokenGenerator.generateRandom(10);\n user = getUserFromToken(request); /* <=== com.crapi.entity.User */ \n // fetching ChangeEmail Data for user\n changeEmailRequest = changeEmailRepository.findByUser(user);\n if (changeEmailRequest == null) {\n // Creating new object if changeEmail data for user is not in database\n changeEmailRequest =" }, { - "sample" : "user", - "lineNumber" : 233, - "columnNumber" : 59, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " UserMessage.EMAIL_NOT_REGISTERED + changeEmailForm.getOld_email(), 404);\n }\n token = emailTokenGenerator.generateRandom(10);\n user = getUserFromToken(request);\n // fetching ChangeEmail Data for user\n changeEmailRequest = changeEmailRepository.findByUser(user); /* <=== com.crapi.entity.User */ \n if (changeEmailRequest == null) {\n // Creating new object if changeEmail data for user is not in database\n changeEmailRequest =\n new ChangeEmailRequest(\n changeEmailForm.getNew_email(), changeEmailForm.getOld_email(), token, user);" + "sample": "user", + "lineNumber": 233, + "columnNumber": 59, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " UserMessage.EMAIL_NOT_REGISTERED + changeEmailForm.getOld_email(), 404);\n }\n token = emailTokenGenerator.generateRandom(10);\n user = getUserFromToken(request);\n // fetching ChangeEmail Data for user\n changeEmailRequest = changeEmailRepository.findByUser(user); /* <=== com.crapi.entity.User */ \n if (changeEmailRequest == null) {\n // Creating new object if changeEmail data for user is not in database\n changeEmailRequest =\n new ChangeEmailRequest(\n changeEmailForm.getNew_email(), changeEmailForm.getOld_email(), token, user);" }, { - "sample" : "changeEmailRepository.findByUser(user)", - "lineNumber" : 233, - "columnNumber" : 26, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " UserMessage.EMAIL_NOT_REGISTERED + changeEmailForm.getOld_email(), 404);\n }\n token = emailTokenGenerator.generateRandom(10);\n user = getUserFromToken(request);\n // fetching ChangeEmail Data for user\n changeEmailRequest = changeEmailRepository.findByUser(user); /* <=== com.crapi.repository.ChangeEmailRepository.findByUser */ \n if (changeEmailRequest == null) {\n // Creating new object if changeEmail data for user is not in database\n changeEmailRequest =\n new ChangeEmailRequest(\n changeEmailForm.getNew_email(), changeEmailForm.getOld_email(), token, user);" + "sample": "changeEmailRepository.findByUser(user)", + "lineNumber": 233, + "columnNumber": 26, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " UserMessage.EMAIL_NOT_REGISTERED + changeEmailForm.getOld_email(), 404);\n }\n token = emailTokenGenerator.generateRandom(10);\n user = getUserFromToken(request);\n // fetching ChangeEmail Data for user\n changeEmailRequest = changeEmailRepository.findByUser(user); /* <=== com.crapi.repository.ChangeEmailRepository.findByUser */ \n if (changeEmailRequest == null) {\n // Creating new object if changeEmail data for user is not in database\n changeEmailRequest =\n new ChangeEmailRequest(\n changeEmailForm.getNew_email(), changeEmailForm.getOld_email(), token, user);" }, { - "sample" : "changeEmailRequest", - "lineNumber" : 233, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " UserMessage.EMAIL_NOT_REGISTERED + changeEmailForm.getOld_email(), 404);\n }\n token = emailTokenGenerator.generateRandom(10);\n user = getUserFromToken(request);\n // fetching ChangeEmail Data for user\n changeEmailRequest = changeEmailRepository.findByUser(user); /* <=== com.crapi.entity.ChangeEmailRequest */ \n if (changeEmailRequest == null) {\n // Creating new object if changeEmail data for user is not in database\n changeEmailRequest =\n new ChangeEmailRequest(\n changeEmailForm.getNew_email(), changeEmailForm.getOld_email(), token, user);" + "sample": "changeEmailRequest", + "lineNumber": 233, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " UserMessage.EMAIL_NOT_REGISTERED + changeEmailForm.getOld_email(), 404);\n }\n token = emailTokenGenerator.generateRandom(10);\n user = getUserFromToken(request);\n // fetching ChangeEmail Data for user\n changeEmailRequest = changeEmailRepository.findByUser(user); /* <=== com.crapi.entity.ChangeEmailRequest */ \n if (changeEmailRequest == null) {\n // Creating new object if changeEmail data for user is not in database\n changeEmailRequest =\n new ChangeEmailRequest(\n changeEmailForm.getNew_email(), changeEmailForm.getOld_email(), token, user);" }, { - "sample" : "changeEmailRequest", - "lineNumber" : 234, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " }\n token = emailTokenGenerator.generateRandom(10);\n user = getUserFromToken(request);\n // fetching ChangeEmail Data for user\n changeEmailRequest = changeEmailRepository.findByUser(user);\n if (changeEmailRequest == null) { /* <=== com.crapi.entity.ChangeEmailRequest */ \n // Creating new object if changeEmail data for user is not in database\n changeEmailRequest =\n new ChangeEmailRequest(\n changeEmailForm.getNew_email(), changeEmailForm.getOld_email(), token, user);\n } else {" + "sample": "changeEmailRequest", + "lineNumber": 234, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " }\n token = emailTokenGenerator.generateRandom(10);\n user = getUserFromToken(request);\n // fetching ChangeEmail Data for user\n changeEmailRequest = changeEmailRepository.findByUser(user);\n if (changeEmailRequest == null) { /* <=== com.crapi.entity.ChangeEmailRequest */ \n // Creating new object if changeEmail data for user is not in database\n changeEmailRequest =\n new ChangeEmailRequest(\n changeEmailForm.getNew_email(), changeEmailForm.getOld_email(), token, user);\n } else {" }, { - "sample" : "changeEmailRequest", - "lineNumber" : 241, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " changeEmailRequest =\n new ChangeEmailRequest(\n changeEmailForm.getNew_email(), changeEmailForm.getOld_email(), token, user);\n } else {\n // updating the existing changeEmail data for user\n changeEmailRequest.setEmailToken(token); /* <=== com.crapi.entity.ChangeEmailRequest */ \n changeEmailRequest.setNewEmail(changeEmailForm.getNew_email());\n changeEmailRequest.setOldEmail(changeEmailForm.getOld_email());\n }\n changeEmailForm.setToken(token);\n changeEmailRepository.save(changeEmailRequest);" + "sample": "changeEmailRequest", + "lineNumber": 241, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " changeEmailRequest =\n new ChangeEmailRequest(\n changeEmailForm.getNew_email(), changeEmailForm.getOld_email(), token, user);\n } else {\n // updating the existing changeEmail data for user\n changeEmailRequest.setEmailToken(token); /* <=== com.crapi.entity.ChangeEmailRequest */ \n changeEmailRequest.setNewEmail(changeEmailForm.getNew_email());\n changeEmailRequest.setOldEmail(changeEmailForm.getOld_email());\n }\n changeEmailForm.setToken(token);\n changeEmailRepository.save(changeEmailRequest);" }, { - "sample" : "changeEmailRequest", - "lineNumber" : 242, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " new ChangeEmailRequest(\n changeEmailForm.getNew_email(), changeEmailForm.getOld_email(), token, user);\n } else {\n // updating the existing changeEmail data for user\n changeEmailRequest.setEmailToken(token);\n changeEmailRequest.setNewEmail(changeEmailForm.getNew_email()); /* <=== com.crapi.entity.ChangeEmailRequest */ \n changeEmailRequest.setOldEmail(changeEmailForm.getOld_email());\n }\n changeEmailForm.setToken(token);\n changeEmailRepository.save(changeEmailRequest);\n smtpMailServer.sendMail(" + "sample": "changeEmailRequest", + "lineNumber": 242, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " new ChangeEmailRequest(\n changeEmailForm.getNew_email(), changeEmailForm.getOld_email(), token, user);\n } else {\n // updating the existing changeEmail data for user\n changeEmailRequest.setEmailToken(token);\n changeEmailRequest.setNewEmail(changeEmailForm.getNew_email()); /* <=== com.crapi.entity.ChangeEmailRequest */ \n changeEmailRequest.setOldEmail(changeEmailForm.getOld_email());\n }\n changeEmailForm.setToken(token);\n changeEmailRepository.save(changeEmailRequest);\n smtpMailServer.sendMail(" }, { - "sample" : "changeEmailRequest", - "lineNumber" : 243, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " changeEmailForm.getNew_email(), changeEmailForm.getOld_email(), token, user);\n } else {\n // updating the existing changeEmail data for user\n changeEmailRequest.setEmailToken(token);\n changeEmailRequest.setNewEmail(changeEmailForm.getNew_email());\n changeEmailRequest.setOldEmail(changeEmailForm.getOld_email()); /* <=== com.crapi.entity.ChangeEmailRequest */ \n }\n changeEmailForm.setToken(token);\n changeEmailRepository.save(changeEmailRequest);\n smtpMailServer.sendMail(\n changeEmailForm.getNew_email()," + "sample": "changeEmailRequest", + "lineNumber": 243, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " changeEmailForm.getNew_email(), changeEmailForm.getOld_email(), token, user);\n } else {\n // updating the existing changeEmail data for user\n changeEmailRequest.setEmailToken(token);\n changeEmailRequest.setNewEmail(changeEmailForm.getNew_email());\n changeEmailRequest.setOldEmail(changeEmailForm.getOld_email()); /* <=== com.crapi.entity.ChangeEmailRequest */ \n }\n changeEmailForm.setToken(token);\n changeEmailRepository.save(changeEmailRequest);\n smtpMailServer.sendMail(\n changeEmailForm.getNew_email()," }, { - "sample" : "changeEmailRequest", - "lineNumber" : 246, - "columnNumber" : 32, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " changeEmailRequest.setEmailToken(token);\n changeEmailRequest.setNewEmail(changeEmailForm.getNew_email());\n changeEmailRequest.setOldEmail(changeEmailForm.getOld_email());\n }\n changeEmailForm.setToken(token);\n changeEmailRepository.save(changeEmailRequest); /* <=== com.crapi.entity.ChangeEmailRequest */ \n smtpMailServer.sendMail(\n changeEmailForm.getNew_email(),\n MailBody.changeMailBody(changeEmailForm),\n \"crAPI: Change Email Token\");\n return new CRAPIResponse(" + "sample": "changeEmailRequest", + "lineNumber": 246, + "columnNumber": 32, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " changeEmailRequest.setEmailToken(token);\n changeEmailRequest.setNewEmail(changeEmailForm.getNew_email());\n changeEmailRequest.setOldEmail(changeEmailForm.getOld_email());\n }\n changeEmailForm.setToken(token);\n changeEmailRepository.save(changeEmailRequest); /* <=== com.crapi.entity.ChangeEmailRequest */ \n smtpMailServer.sendMail(\n changeEmailForm.getNew_email(),\n MailBody.changeMailBody(changeEmailForm),\n \"crAPI: Change Email Token\");\n return new CRAPIResponse(" }, { - "sample" : "changeEmailRepository.save(changeEmailRequest)", - "lineNumber" : 246, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " changeEmailRequest.setEmailToken(token);\n changeEmailRequest.setNewEmail(changeEmailForm.getNew_email());\n changeEmailRequest.setOldEmail(changeEmailForm.getOld_email());\n }\n changeEmailForm.setToken(token);\n changeEmailRepository.save(changeEmailRequest); /* <=== com.crapi.repository.ChangeEmailRepository.save */ \n smtpMailServer.sendMail(\n changeEmailForm.getNew_email(),\n MailBody.changeMailBody(changeEmailForm),\n \"crAPI: Change Email Token\");\n return new CRAPIResponse(" + "sample": "changeEmailRepository.save(changeEmailRequest)", + "lineNumber": 246, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " changeEmailRequest.setEmailToken(token);\n changeEmailRequest.setNewEmail(changeEmailForm.getNew_email());\n changeEmailRequest.setOldEmail(changeEmailForm.getOld_email());\n }\n changeEmailForm.setToken(token);\n changeEmailRepository.save(changeEmailRequest); /* <=== com.crapi.repository.ChangeEmailRepository.save */ \n smtpMailServer.sendMail(\n changeEmailForm.getNew_email(),\n MailBody.changeMailBody(changeEmailForm),\n \"crAPI: Change Email Token\");\n return new CRAPIResponse(" } ] }, { - "pathId" : "9005-9017-9013-9012-9020-9023-9067-8887-8886-8897-8909-8913-8919-8915", - "path" : [ + "pathId": "9005-9017-9013-9012-9020-9023-9067-8887-8886-8897-8909-8913-8919-8915", + "path": [ { - "sample" : "username", - "lineNumber" : 298, - "columnNumber" : 32, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " public User getUserFromToken(HttpServletRequest request) {\n User user = null;\n String username = null;\n try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) { /* <=== java.lang.String */ \n user = userRepository.findByEmail(username);\n }\n if (user != null) {\n return user;\n } else {" + "sample": "username", + "lineNumber": 298, + "columnNumber": 32, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " public User getUserFromToken(HttpServletRequest request) {\n User user = null;\n String username = null;\n try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) { /* <=== java.lang.String */ \n user = userRepository.findByEmail(username);\n }\n if (user != null) {\n return user;\n } else {" }, { - "sample" : "username", - "lineNumber" : 299, - "columnNumber" : 43, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " User user = null;\n String username = null;\n try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username); /* <=== java.lang.String */ \n }\n if (user != null) {\n return user;\n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);" + "sample": "username", + "lineNumber": 299, + "columnNumber": 43, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " User user = null;\n String username = null;\n try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username); /* <=== java.lang.String */ \n }\n if (user != null) {\n return user;\n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);" }, { - "sample" : "userRepository.findByEmail(username)", - "lineNumber" : 299, - "columnNumber" : 16, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " User user = null;\n String username = null;\n try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n }\n if (user != null) {\n return user;\n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);" + "sample": "userRepository.findByEmail(username)", + "lineNumber": 299, + "columnNumber": 16, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " User user = null;\n String username = null;\n try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n }\n if (user != null) {\n return user;\n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);" }, { - "sample" : "user", - "lineNumber" : 299, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " User user = null;\n String username = null;\n try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username); /* <=== com.crapi.entity.User */ \n }\n if (user != null) {\n return user;\n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);" + "sample": "user", + "lineNumber": 299, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " User user = null;\n String username = null;\n try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username); /* <=== com.crapi.entity.User */ \n }\n if (user != null) {\n return user;\n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);" }, { - "sample" : "user", - "lineNumber" : 301, - "columnNumber" : 11, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n if (user != null) { /* <=== com.crapi.entity.User */ \n return user;\n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {" + "sample": "user", + "lineNumber": 301, + "columnNumber": 11, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n if (user != null) { /* <=== com.crapi.entity.User */ \n return user;\n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {" }, { - "sample" : "return user;", - "lineNumber" : 302, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n if (user != null) {\n return user; /* <=== */ \n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {\n logger.error(\"fail to get username from token -> Message:%d\", exception);" + "sample": "return user;", + "lineNumber": 302, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n if (user != null) {\n return user; /* <=== */ \n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {\n logger.error(\"fail to get username from token -> Message:%d\", exception);" }, { - "sample" : "com.crapi.entity.User", - "lineNumber" : 293, - "columnNumber" : 10, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " * @param request request getting jwt token for user from request header\n * @return User object from token throw entity not found if user not found.\n */\n @Transactional\n @Override\n public User getUserFromToken(HttpServletRequest request) { /* <=== */ \n User user = null;\n String username = null;\n try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {" + "sample": "com.crapi.entity.User", + "lineNumber": 293, + "columnNumber": 10, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " * @param request request getting jwt token for user from request header\n * @return User object from token throw entity not found if user not found.\n */\n @Transactional\n @Override\n public User getUserFromToken(HttpServletRequest request) { /* <=== */ \n User user = null;\n String username = null;\n try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {" }, { - "sample" : "this.getUserFromToken(request)", - "lineNumber" : 269, - "columnNumber" : 12, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " public CRAPIResponse verifyEmailToken(\n HttpServletRequest request, ChangeEmailForm changeEmailForm) {\n ChangeEmailRequest changeEmailRequest;\n User user;\n changeEmailRequest = changeEmailRepository.findByEmailToken(changeEmailForm.getToken());\n user = getUserFromToken(request); /* <=== com.crapi.service.Impl.UserServiceImpl.getUserFromToken */ \n if (changeEmailRequest != null) {\n if (user.getEmail().equalsIgnoreCase(changeEmailRequest.getOldEmail())) {\n if (changeEmailRequest.getNewEmail().equalsIgnoreCase(changeEmailForm.getNew_email())) {\n user.setEmail(changeEmailRequest.getNewEmail());\n user.setJwtToken(\"\");" + "sample": "this.getUserFromToken(request)", + "lineNumber": 269, + "columnNumber": 12, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " public CRAPIResponse verifyEmailToken(\n HttpServletRequest request, ChangeEmailForm changeEmailForm) {\n ChangeEmailRequest changeEmailRequest;\n User user;\n changeEmailRequest = changeEmailRepository.findByEmailToken(changeEmailForm.getToken());\n user = getUserFromToken(request); /* <=== com.crapi.service.Impl.UserServiceImpl.getUserFromToken */ \n if (changeEmailRequest != null) {\n if (user.getEmail().equalsIgnoreCase(changeEmailRequest.getOldEmail())) {\n if (changeEmailRequest.getNewEmail().equalsIgnoreCase(changeEmailForm.getNew_email())) {\n user.setEmail(changeEmailRequest.getNewEmail());\n user.setJwtToken(\"\");" }, { - "sample" : "user", - "lineNumber" : 269, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " public CRAPIResponse verifyEmailToken(\n HttpServletRequest request, ChangeEmailForm changeEmailForm) {\n ChangeEmailRequest changeEmailRequest;\n User user;\n changeEmailRequest = changeEmailRepository.findByEmailToken(changeEmailForm.getToken());\n user = getUserFromToken(request); /* <=== com.crapi.entity.User */ \n if (changeEmailRequest != null) {\n if (user.getEmail().equalsIgnoreCase(changeEmailRequest.getOldEmail())) {\n if (changeEmailRequest.getNewEmail().equalsIgnoreCase(changeEmailForm.getNew_email())) {\n user.setEmail(changeEmailRequest.getNewEmail());\n user.setJwtToken(\"\");" + "sample": "user", + "lineNumber": 269, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " public CRAPIResponse verifyEmailToken(\n HttpServletRequest request, ChangeEmailForm changeEmailForm) {\n ChangeEmailRequest changeEmailRequest;\n User user;\n changeEmailRequest = changeEmailRepository.findByEmailToken(changeEmailForm.getToken());\n user = getUserFromToken(request); /* <=== com.crapi.entity.User */ \n if (changeEmailRequest != null) {\n if (user.getEmail().equalsIgnoreCase(changeEmailRequest.getOldEmail())) {\n if (changeEmailRequest.getNewEmail().equalsIgnoreCase(changeEmailForm.getNew_email())) {\n user.setEmail(changeEmailRequest.getNewEmail());\n user.setJwtToken(\"\");" }, { - "sample" : "user", - "lineNumber" : 271, - "columnNumber" : 11, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " ChangeEmailRequest changeEmailRequest;\n User user;\n changeEmailRequest = changeEmailRepository.findByEmailToken(changeEmailForm.getToken());\n user = getUserFromToken(request);\n if (changeEmailRequest != null) {\n if (user.getEmail().equalsIgnoreCase(changeEmailRequest.getOldEmail())) { /* <=== com.crapi.entity.User */ \n if (changeEmailRequest.getNewEmail().equalsIgnoreCase(changeEmailForm.getNew_email())) {\n user.setEmail(changeEmailRequest.getNewEmail());\n user.setJwtToken(\"\");\n userRepository.save(user);\n return new CRAPIResponse(UserMessage.EMAIL_CHANGE_SUCCESSFUL, 200);" + "sample": "user", + "lineNumber": 271, + "columnNumber": 11, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " ChangeEmailRequest changeEmailRequest;\n User user;\n changeEmailRequest = changeEmailRepository.findByEmailToken(changeEmailForm.getToken());\n user = getUserFromToken(request);\n if (changeEmailRequest != null) {\n if (user.getEmail().equalsIgnoreCase(changeEmailRequest.getOldEmail())) { /* <=== com.crapi.entity.User */ \n if (changeEmailRequest.getNewEmail().equalsIgnoreCase(changeEmailForm.getNew_email())) {\n user.setEmail(changeEmailRequest.getNewEmail());\n user.setJwtToken(\"\");\n userRepository.save(user);\n return new CRAPIResponse(UserMessage.EMAIL_CHANGE_SUCCESSFUL, 200);" }, { - "sample" : "user", - "lineNumber" : 273, - "columnNumber" : 11, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " changeEmailRequest = changeEmailRepository.findByEmailToken(changeEmailForm.getToken());\n user = getUserFromToken(request);\n if (changeEmailRequest != null) {\n if (user.getEmail().equalsIgnoreCase(changeEmailRequest.getOldEmail())) {\n if (changeEmailRequest.getNewEmail().equalsIgnoreCase(changeEmailForm.getNew_email())) {\n user.setEmail(changeEmailRequest.getNewEmail()); /* <=== com.crapi.entity.User */ \n user.setJwtToken(\"\");\n userRepository.save(user);\n return new CRAPIResponse(UserMessage.EMAIL_CHANGE_SUCCESSFUL, 200);\n } else {\n return new CRAPIResponse(UserMessage.NEW_MAIL_DOES_NOT_BELONG, 500);" + "sample": "user", + "lineNumber": 273, + "columnNumber": 11, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " changeEmailRequest = changeEmailRepository.findByEmailToken(changeEmailForm.getToken());\n user = getUserFromToken(request);\n if (changeEmailRequest != null) {\n if (user.getEmail().equalsIgnoreCase(changeEmailRequest.getOldEmail())) {\n if (changeEmailRequest.getNewEmail().equalsIgnoreCase(changeEmailForm.getNew_email())) {\n user.setEmail(changeEmailRequest.getNewEmail()); /* <=== com.crapi.entity.User */ \n user.setJwtToken(\"\");\n userRepository.save(user);\n return new CRAPIResponse(UserMessage.EMAIL_CHANGE_SUCCESSFUL, 200);\n } else {\n return new CRAPIResponse(UserMessage.NEW_MAIL_DOES_NOT_BELONG, 500);" }, { - "sample" : "user", - "lineNumber" : 274, - "columnNumber" : 11, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " user = getUserFromToken(request);\n if (changeEmailRequest != null) {\n if (user.getEmail().equalsIgnoreCase(changeEmailRequest.getOldEmail())) {\n if (changeEmailRequest.getNewEmail().equalsIgnoreCase(changeEmailForm.getNew_email())) {\n user.setEmail(changeEmailRequest.getNewEmail());\n user.setJwtToken(\"\"); /* <=== com.crapi.entity.User */ \n userRepository.save(user);\n return new CRAPIResponse(UserMessage.EMAIL_CHANGE_SUCCESSFUL, 200);\n } else {\n return new CRAPIResponse(UserMessage.NEW_MAIL_DOES_NOT_BELONG, 500);\n }" + "sample": "user", + "lineNumber": 274, + "columnNumber": 11, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " user = getUserFromToken(request);\n if (changeEmailRequest != null) {\n if (user.getEmail().equalsIgnoreCase(changeEmailRequest.getOldEmail())) {\n if (changeEmailRequest.getNewEmail().equalsIgnoreCase(changeEmailForm.getNew_email())) {\n user.setEmail(changeEmailRequest.getNewEmail());\n user.setJwtToken(\"\"); /* <=== com.crapi.entity.User */ \n userRepository.save(user);\n return new CRAPIResponse(UserMessage.EMAIL_CHANGE_SUCCESSFUL, 200);\n } else {\n return new CRAPIResponse(UserMessage.NEW_MAIL_DOES_NOT_BELONG, 500);\n }" }, { - "sample" : "user", - "lineNumber" : 275, - "columnNumber" : 31, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " if (changeEmailRequest != null) {\n if (user.getEmail().equalsIgnoreCase(changeEmailRequest.getOldEmail())) {\n if (changeEmailRequest.getNewEmail().equalsIgnoreCase(changeEmailForm.getNew_email())) {\n user.setEmail(changeEmailRequest.getNewEmail());\n user.setJwtToken(\"\");\n userRepository.save(user); /* <=== com.crapi.entity.User */ \n return new CRAPIResponse(UserMessage.EMAIL_CHANGE_SUCCESSFUL, 200);\n } else {\n return new CRAPIResponse(UserMessage.NEW_MAIL_DOES_NOT_BELONG, 500);\n }\n } else {" + "sample": "user", + "lineNumber": 275, + "columnNumber": 31, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " if (changeEmailRequest != null) {\n if (user.getEmail().equalsIgnoreCase(changeEmailRequest.getOldEmail())) {\n if (changeEmailRequest.getNewEmail().equalsIgnoreCase(changeEmailForm.getNew_email())) {\n user.setEmail(changeEmailRequest.getNewEmail());\n user.setJwtToken(\"\");\n userRepository.save(user); /* <=== com.crapi.entity.User */ \n return new CRAPIResponse(UserMessage.EMAIL_CHANGE_SUCCESSFUL, 200);\n } else {\n return new CRAPIResponse(UserMessage.NEW_MAIL_DOES_NOT_BELONG, 500);\n }\n } else {" }, { - "sample" : "userRepository.save(user)", - "lineNumber" : 275, - "columnNumber" : 11, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " if (changeEmailRequest != null) {\n if (user.getEmail().equalsIgnoreCase(changeEmailRequest.getOldEmail())) {\n if (changeEmailRequest.getNewEmail().equalsIgnoreCase(changeEmailForm.getNew_email())) {\n user.setEmail(changeEmailRequest.getNewEmail());\n user.setJwtToken(\"\");\n userRepository.save(user); /* <=== com.crapi.repository.UserRepository.save */ \n return new CRAPIResponse(UserMessage.EMAIL_CHANGE_SUCCESSFUL, 200);\n } else {\n return new CRAPIResponse(UserMessage.NEW_MAIL_DOES_NOT_BELONG, 500);\n }\n } else {" + "sample": "userRepository.save(user)", + "lineNumber": 275, + "columnNumber": 11, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " if (changeEmailRequest != null) {\n if (user.getEmail().equalsIgnoreCase(changeEmailRequest.getOldEmail())) {\n if (changeEmailRequest.getNewEmail().equalsIgnoreCase(changeEmailForm.getNew_email())) {\n user.setEmail(changeEmailRequest.getNewEmail());\n user.setJwtToken(\"\");\n userRepository.save(user); /* <=== com.crapi.repository.UserRepository.save */ \n return new CRAPIResponse(UserMessage.EMAIL_CHANGE_SUCCESSFUL, 200);\n } else {\n return new CRAPIResponse(UserMessage.NEW_MAIL_DOES_NOT_BELONG, 500);\n }\n } else {" } ] }, { - "pathId" : "9005-9017-9013-9012-9020-9023-9067-8566-8565-8570-8574-8585-8581", - "path" : [ + "pathId": "9005-9017-9013-9012-9020-9023-9067-8566-8565-8570-8574-8585-8581", + "path": [ { - "sample" : "username", - "lineNumber" : 298, - "columnNumber" : 32, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " public User getUserFromToken(HttpServletRequest request) {\n User user = null;\n String username = null;\n try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) { /* <=== java.lang.String */ \n user = userRepository.findByEmail(username);\n }\n if (user != null) {\n return user;\n } else {" + "sample": "username", + "lineNumber": 298, + "columnNumber": 32, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " public User getUserFromToken(HttpServletRequest request) {\n User user = null;\n String username = null;\n try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) { /* <=== java.lang.String */ \n user = userRepository.findByEmail(username);\n }\n if (user != null) {\n return user;\n } else {" }, { - "sample" : "username", - "lineNumber" : 299, - "columnNumber" : 43, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " User user = null;\n String username = null;\n try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username); /* <=== java.lang.String */ \n }\n if (user != null) {\n return user;\n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);" + "sample": "username", + "lineNumber": 299, + "columnNumber": 43, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " User user = null;\n String username = null;\n try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username); /* <=== java.lang.String */ \n }\n if (user != null) {\n return user;\n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);" }, { - "sample" : "userRepository.findByEmail(username)", - "lineNumber" : 299, - "columnNumber" : 16, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " User user = null;\n String username = null;\n try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n }\n if (user != null) {\n return user;\n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);" + "sample": "userRepository.findByEmail(username)", + "lineNumber": 299, + "columnNumber": 16, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " User user = null;\n String username = null;\n try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n }\n if (user != null) {\n return user;\n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);" }, { - "sample" : "user", - "lineNumber" : 299, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " User user = null;\n String username = null;\n try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username); /* <=== com.crapi.entity.User */ \n }\n if (user != null) {\n return user;\n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);" + "sample": "user", + "lineNumber": 299, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " User user = null;\n String username = null;\n try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username); /* <=== com.crapi.entity.User */ \n }\n if (user != null) {\n return user;\n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);" }, { - "sample" : "user", - "lineNumber" : 301, - "columnNumber" : 11, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n if (user != null) { /* <=== com.crapi.entity.User */ \n return user;\n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {" + "sample": "user", + "lineNumber": 301, + "columnNumber": 11, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n if (user != null) { /* <=== com.crapi.entity.User */ \n return user;\n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {" }, { - "sample" : "return user;", - "lineNumber" : 302, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n if (user != null) {\n return user; /* <=== */ \n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {\n logger.error(\"fail to get username from token -> Message:%d\", exception);" + "sample": "return user;", + "lineNumber": 302, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n if (user != null) {\n return user; /* <=== */ \n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {\n logger.error(\"fail to get username from token -> Message:%d\", exception);" }, { - "sample" : "com.crapi.entity.User", - "lineNumber" : 293, - "columnNumber" : 10, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " * @param request request getting jwt token for user from request header\n * @return User object from token throw entity not found if user not found.\n */\n @Transactional\n @Override\n public User getUserFromToken(HttpServletRequest request) { /* <=== */ \n User user = null;\n String username = null;\n try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {" + "sample": "com.crapi.entity.User", + "lineNumber": 293, + "columnNumber": 10, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " * @param request request getting jwt token for user from request header\n * @return User object from token throw entity not found if user not found.\n */\n @Transactional\n @Override\n public User getUserFromToken(HttpServletRequest request) { /* <=== */ \n User user = null;\n String username = null;\n try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {" }, { - "sample" : "this.getUserFromToken(request)", - "lineNumber" : 158, - "columnNumber" : 17, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " * @return boolean for user reset password\n */\n @Transactional\n @Override\n public CRAPIResponse resetPassword(LoginForm loginForm, HttpServletRequest request) {\n User user = getUserFromToken(request); /* <=== com.crapi.service.Impl.UserServiceImpl.getUserFromToken */ \n if (user != null) {\n user.setPassword(encoder.encode(loginForm.getPassword()));\n userRepository.saveAndFlush(user);\n return new CRAPIResponse(UserMessage.PASSWORD_GOT_RESET, 200);\n }" + "sample": "this.getUserFromToken(request)", + "lineNumber": 158, + "columnNumber": 17, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " * @return boolean for user reset password\n */\n @Transactional\n @Override\n public CRAPIResponse resetPassword(LoginForm loginForm, HttpServletRequest request) {\n User user = getUserFromToken(request); /* <=== com.crapi.service.Impl.UserServiceImpl.getUserFromToken */ \n if (user != null) {\n user.setPassword(encoder.encode(loginForm.getPassword()));\n userRepository.saveAndFlush(user);\n return new CRAPIResponse(UserMessage.PASSWORD_GOT_RESET, 200);\n }" }, { - "sample" : "user", - "lineNumber" : 158, - "columnNumber" : 10, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " * @return boolean for user reset password\n */\n @Transactional\n @Override\n public CRAPIResponse resetPassword(LoginForm loginForm, HttpServletRequest request) {\n User user = getUserFromToken(request); /* <=== com.crapi.entity.User */ \n if (user != null) {\n user.setPassword(encoder.encode(loginForm.getPassword()));\n userRepository.saveAndFlush(user);\n return new CRAPIResponse(UserMessage.PASSWORD_GOT_RESET, 200);\n }" + "sample": "user", + "lineNumber": 158, + "columnNumber": 10, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " * @return boolean for user reset password\n */\n @Transactional\n @Override\n public CRAPIResponse resetPassword(LoginForm loginForm, HttpServletRequest request) {\n User user = getUserFromToken(request); /* <=== com.crapi.entity.User */ \n if (user != null) {\n user.setPassword(encoder.encode(loginForm.getPassword()));\n userRepository.saveAndFlush(user);\n return new CRAPIResponse(UserMessage.PASSWORD_GOT_RESET, 200);\n }" }, { - "sample" : "user", - "lineNumber" : 159, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " */\n @Transactional\n @Override\n public CRAPIResponse resetPassword(LoginForm loginForm, HttpServletRequest request) {\n User user = getUserFromToken(request);\n if (user != null) { /* <=== com.crapi.entity.User */ \n user.setPassword(encoder.encode(loginForm.getPassword()));\n userRepository.saveAndFlush(user);\n return new CRAPIResponse(UserMessage.PASSWORD_GOT_RESET, 200);\n }\n throw new EntityNotFoundException(User.class, UserMessage.ERROR, loginForm.getEmail());" + "sample": "user", + "lineNumber": 159, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " */\n @Transactional\n @Override\n public CRAPIResponse resetPassword(LoginForm loginForm, HttpServletRequest request) {\n User user = getUserFromToken(request);\n if (user != null) { /* <=== com.crapi.entity.User */ \n user.setPassword(encoder.encode(loginForm.getPassword()));\n userRepository.saveAndFlush(user);\n return new CRAPIResponse(UserMessage.PASSWORD_GOT_RESET, 200);\n }\n throw new EntityNotFoundException(User.class, UserMessage.ERROR, loginForm.getEmail());" }, { - "sample" : "user", - "lineNumber" : 160, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " @Transactional\n @Override\n public CRAPIResponse resetPassword(LoginForm loginForm, HttpServletRequest request) {\n User user = getUserFromToken(request);\n if (user != null) {\n user.setPassword(encoder.encode(loginForm.getPassword())); /* <=== com.crapi.entity.User */ \n userRepository.saveAndFlush(user);\n return new CRAPIResponse(UserMessage.PASSWORD_GOT_RESET, 200);\n }\n throw new EntityNotFoundException(User.class, UserMessage.ERROR, loginForm.getEmail());\n }" + "sample": "user", + "lineNumber": 160, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " @Transactional\n @Override\n public CRAPIResponse resetPassword(LoginForm loginForm, HttpServletRequest request) {\n User user = getUserFromToken(request);\n if (user != null) {\n user.setPassword(encoder.encode(loginForm.getPassword())); /* <=== com.crapi.entity.User */ \n userRepository.saveAndFlush(user);\n return new CRAPIResponse(UserMessage.PASSWORD_GOT_RESET, 200);\n }\n throw new EntityNotFoundException(User.class, UserMessage.ERROR, loginForm.getEmail());\n }" }, { - "sample" : "user", - "lineNumber" : 161, - "columnNumber" : 35, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " @Override\n public CRAPIResponse resetPassword(LoginForm loginForm, HttpServletRequest request) {\n User user = getUserFromToken(request);\n if (user != null) {\n user.setPassword(encoder.encode(loginForm.getPassword()));\n userRepository.saveAndFlush(user); /* <=== com.crapi.entity.User */ \n return new CRAPIResponse(UserMessage.PASSWORD_GOT_RESET, 200);\n }\n throw new EntityNotFoundException(User.class, UserMessage.ERROR, loginForm.getEmail());\n }\n" + "sample": "user", + "lineNumber": 161, + "columnNumber": 35, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " @Override\n public CRAPIResponse resetPassword(LoginForm loginForm, HttpServletRequest request) {\n User user = getUserFromToken(request);\n if (user != null) {\n user.setPassword(encoder.encode(loginForm.getPassword()));\n userRepository.saveAndFlush(user); /* <=== com.crapi.entity.User */ \n return new CRAPIResponse(UserMessage.PASSWORD_GOT_RESET, 200);\n }\n throw new EntityNotFoundException(User.class, UserMessage.ERROR, loginForm.getEmail());\n }\n" }, { - "sample" : "userRepository.saveAndFlush(user)", - "lineNumber" : 161, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " @Override\n public CRAPIResponse resetPassword(LoginForm loginForm, HttpServletRequest request) {\n User user = getUserFromToken(request);\n if (user != null) {\n user.setPassword(encoder.encode(loginForm.getPassword()));\n userRepository.saveAndFlush(user); /* <=== com.crapi.repository.UserRepository.saveAndFlush */ \n return new CRAPIResponse(UserMessage.PASSWORD_GOT_RESET, 200);\n }\n throw new EntityNotFoundException(User.class, UserMessage.ERROR, loginForm.getEmail());\n }\n" + "sample": "userRepository.saveAndFlush(user)", + "lineNumber": 161, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " @Override\n public CRAPIResponse resetPassword(LoginForm loginForm, HttpServletRequest request) {\n User user = getUserFromToken(request);\n if (user != null) {\n user.setPassword(encoder.encode(loginForm.getPassword()));\n userRepository.saveAndFlush(user); /* <=== com.crapi.repository.UserRepository.saveAndFlush */ \n return new CRAPIResponse(UserMessage.PASSWORD_GOT_RESET, 200);\n }\n throw new EntityNotFoundException(User.class, UserMessage.ERROR, loginForm.getEmail());\n }\n" } ] } ] }, { - "sinkType" : "storages", - "id" : "Storages.SpringFramework.Jdbc.Read", - "name" : "Java Database Connector(Read)", - "category" : "", - "domains" : [ - "oracle.com" - ], - "sensitivity" : "", - "isSensitive" : false, - "tags" : { - + "sinkType": "storages", + "id": "Storages.SpringFramework.Jdbc.Read", + "name": "Java Database Connector(Read)", + "category": "", + "domains": ["oracle.com"], + "sensitivity": "", + "isSensitive": false, + "tags": {}, + "apiUrl": [], + "databaseDetails": { + "dbName": "${DB_NAME}", + "dbVendor": "postgresql", + "dbLocation": "${DB_HOST}:${DB_PORT}", + "dbOperation": "Read" }, - "apiUrl" : [ - ], - "databaseDetails" : { - "dbName" : "${DB_NAME}", - "dbVendor" : "postgresql", - "dbLocation" : "${DB_HOST}:${DB_PORT}", - "dbOperation" : "Read" - }, - "paths" : [ + "paths": [ { - "pathId" : "9101-9113-9109", - "path" : [ + "pathId": "9101-9113-9109", + "path": [ { - "sample" : "username", - "lineNumber" : 319, - "columnNumber" : 32, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " public User getUserFromTokenWithoutValidation(HttpServletRequest request) {\n User user = null;\n try {\n String jwt = jwtAuthTokenFilter.getJwt(request);\n String username = jwtProvider.getUserNameFromJwtToken(jwt);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) { /* <=== java.lang.String */ \n user = userRepository.findByEmail(username);\n }\n\n if (user != null) {\n return user;" + "sample": "username", + "lineNumber": 319, + "columnNumber": 32, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " public User getUserFromTokenWithoutValidation(HttpServletRequest request) {\n User user = null;\n try {\n String jwt = jwtAuthTokenFilter.getJwt(request);\n String username = jwtProvider.getUserNameFromJwtToken(jwt);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) { /* <=== java.lang.String */ \n user = userRepository.findByEmail(username);\n }\n\n if (user != null) {\n return user;" }, { - "sample" : "username", - "lineNumber" : 320, - "columnNumber" : 43, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " User user = null;\n try {\n String jwt = jwtAuthTokenFilter.getJwt(request);\n String username = jwtProvider.getUserNameFromJwtToken(jwt);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username); /* <=== java.lang.String */ \n }\n\n if (user != null) {\n return user;\n } else {" + "sample": "username", + "lineNumber": 320, + "columnNumber": 43, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " User user = null;\n try {\n String jwt = jwtAuthTokenFilter.getJwt(request);\n String username = jwtProvider.getUserNameFromJwtToken(jwt);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username); /* <=== java.lang.String */ \n }\n\n if (user != null) {\n return user;\n } else {" }, { - "sample" : "userRepository.findByEmail(username)", - "lineNumber" : 320, - "columnNumber" : 16, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " User user = null;\n try {\n String jwt = jwtAuthTokenFilter.getJwt(request);\n String username = jwtProvider.getUserNameFromJwtToken(jwt);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n }\n\n if (user != null) {\n return user;\n } else {" + "sample": "userRepository.findByEmail(username)", + "lineNumber": 320, + "columnNumber": 16, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " User user = null;\n try {\n String jwt = jwtAuthTokenFilter.getJwt(request);\n String username = jwtProvider.getUserNameFromJwtToken(jwt);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n }\n\n if (user != null) {\n return user;\n } else {" } ] }, { - "pathId" : "9005-9017-9013-9012-9020-9023-9067-8795-8794-8803-8799", - "path" : [ + "pathId": "9005-9017-9013-9012-9020-9023-9067-8795-8794-8803-8799", + "path": [ { - "sample" : "username", - "lineNumber" : 298, - "columnNumber" : 32, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " public User getUserFromToken(HttpServletRequest request) {\n User user = null;\n String username = null;\n try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) { /* <=== java.lang.String */ \n user = userRepository.findByEmail(username);\n }\n if (user != null) {\n return user;\n } else {" + "sample": "username", + "lineNumber": 298, + "columnNumber": 32, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " public User getUserFromToken(HttpServletRequest request) {\n User user = null;\n String username = null;\n try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) { /* <=== java.lang.String */ \n user = userRepository.findByEmail(username);\n }\n if (user != null) {\n return user;\n } else {" }, { - "sample" : "username", - "lineNumber" : 299, - "columnNumber" : 43, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " User user = null;\n String username = null;\n try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username); /* <=== java.lang.String */ \n }\n if (user != null) {\n return user;\n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);" + "sample": "username", + "lineNumber": 299, + "columnNumber": 43, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " User user = null;\n String username = null;\n try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username); /* <=== java.lang.String */ \n }\n if (user != null) {\n return user;\n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);" }, { - "sample" : "userRepository.findByEmail(username)", - "lineNumber" : 299, - "columnNumber" : 16, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " User user = null;\n String username = null;\n try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n }\n if (user != null) {\n return user;\n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);" + "sample": "userRepository.findByEmail(username)", + "lineNumber": 299, + "columnNumber": 16, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " User user = null;\n String username = null;\n try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n }\n if (user != null) {\n return user;\n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);" }, { - "sample" : "user", - "lineNumber" : 299, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " User user = null;\n String username = null;\n try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username); /* <=== com.crapi.entity.User */ \n }\n if (user != null) {\n return user;\n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);" + "sample": "user", + "lineNumber": 299, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " User user = null;\n String username = null;\n try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username); /* <=== com.crapi.entity.User */ \n }\n if (user != null) {\n return user;\n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);" }, { - "sample" : "user", - "lineNumber" : 301, - "columnNumber" : 11, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n if (user != null) { /* <=== com.crapi.entity.User */ \n return user;\n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {" + "sample": "user", + "lineNumber": 301, + "columnNumber": 11, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n if (user != null) { /* <=== com.crapi.entity.User */ \n return user;\n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {" }, { - "sample" : "return user;", - "lineNumber" : 302, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n if (user != null) {\n return user; /* <=== */ \n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {\n logger.error(\"fail to get username from token -> Message:%d\", exception);" + "sample": "return user;", + "lineNumber": 302, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n if (user != null) {\n return user; /* <=== */ \n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {\n logger.error(\"fail to get username from token -> Message:%d\", exception);" }, { - "sample" : "com.crapi.entity.User", - "lineNumber" : 293, - "columnNumber" : 10, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " * @param request request getting jwt token for user from request header\n * @return User object from token throw entity not found if user not found.\n */\n @Transactional\n @Override\n public User getUserFromToken(HttpServletRequest request) { /* <=== */ \n User user = null;\n String username = null;\n try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {" + "sample": "com.crapi.entity.User", + "lineNumber": 293, + "columnNumber": 10, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " * @param request request getting jwt token for user from request header\n * @return User object from token throw entity not found if user not found.\n */\n @Transactional\n @Override\n public User getUserFromToken(HttpServletRequest request) { /* <=== */ \n User user = null;\n String username = null;\n try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {" }, { - "sample" : "this.getUserFromToken(request)", - "lineNumber" : 231, - "columnNumber" : 12, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " if (!userRepository.existsByEmail(changeEmailForm.getOld_email())) {\n return new CRAPIResponse(\n UserMessage.EMAIL_NOT_REGISTERED + changeEmailForm.getOld_email(), 404);\n }\n token = emailTokenGenerator.generateRandom(10);\n user = getUserFromToken(request); /* <=== com.crapi.service.Impl.UserServiceImpl.getUserFromToken */ \n // fetching ChangeEmail Data for user\n changeEmailRequest = changeEmailRepository.findByUser(user);\n if (changeEmailRequest == null) {\n // Creating new object if changeEmail data for user is not in database\n changeEmailRequest =" + "sample": "this.getUserFromToken(request)", + "lineNumber": 231, + "columnNumber": 12, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " if (!userRepository.existsByEmail(changeEmailForm.getOld_email())) {\n return new CRAPIResponse(\n UserMessage.EMAIL_NOT_REGISTERED + changeEmailForm.getOld_email(), 404);\n }\n token = emailTokenGenerator.generateRandom(10);\n user = getUserFromToken(request); /* <=== com.crapi.service.Impl.UserServiceImpl.getUserFromToken */ \n // fetching ChangeEmail Data for user\n changeEmailRequest = changeEmailRepository.findByUser(user);\n if (changeEmailRequest == null) {\n // Creating new object if changeEmail data for user is not in database\n changeEmailRequest =" }, { - "sample" : "user", - "lineNumber" : 231, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " if (!userRepository.existsByEmail(changeEmailForm.getOld_email())) {\n return new CRAPIResponse(\n UserMessage.EMAIL_NOT_REGISTERED + changeEmailForm.getOld_email(), 404);\n }\n token = emailTokenGenerator.generateRandom(10);\n user = getUserFromToken(request); /* <=== com.crapi.entity.User */ \n // fetching ChangeEmail Data for user\n changeEmailRequest = changeEmailRepository.findByUser(user);\n if (changeEmailRequest == null) {\n // Creating new object if changeEmail data for user is not in database\n changeEmailRequest =" + "sample": "user", + "lineNumber": 231, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " if (!userRepository.existsByEmail(changeEmailForm.getOld_email())) {\n return new CRAPIResponse(\n UserMessage.EMAIL_NOT_REGISTERED + changeEmailForm.getOld_email(), 404);\n }\n token = emailTokenGenerator.generateRandom(10);\n user = getUserFromToken(request); /* <=== com.crapi.entity.User */ \n // fetching ChangeEmail Data for user\n changeEmailRequest = changeEmailRepository.findByUser(user);\n if (changeEmailRequest == null) {\n // Creating new object if changeEmail data for user is not in database\n changeEmailRequest =" }, { - "sample" : "user", - "lineNumber" : 233, - "columnNumber" : 59, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " UserMessage.EMAIL_NOT_REGISTERED + changeEmailForm.getOld_email(), 404);\n }\n token = emailTokenGenerator.generateRandom(10);\n user = getUserFromToken(request);\n // fetching ChangeEmail Data for user\n changeEmailRequest = changeEmailRepository.findByUser(user); /* <=== com.crapi.entity.User */ \n if (changeEmailRequest == null) {\n // Creating new object if changeEmail data for user is not in database\n changeEmailRequest =\n new ChangeEmailRequest(\n changeEmailForm.getNew_email(), changeEmailForm.getOld_email(), token, user);" + "sample": "user", + "lineNumber": 233, + "columnNumber": 59, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " UserMessage.EMAIL_NOT_REGISTERED + changeEmailForm.getOld_email(), 404);\n }\n token = emailTokenGenerator.generateRandom(10);\n user = getUserFromToken(request);\n // fetching ChangeEmail Data for user\n changeEmailRequest = changeEmailRepository.findByUser(user); /* <=== com.crapi.entity.User */ \n if (changeEmailRequest == null) {\n // Creating new object if changeEmail data for user is not in database\n changeEmailRequest =\n new ChangeEmailRequest(\n changeEmailForm.getNew_email(), changeEmailForm.getOld_email(), token, user);" }, { - "sample" : "changeEmailRepository.findByUser(user)", - "lineNumber" : 233, - "columnNumber" : 26, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " UserMessage.EMAIL_NOT_REGISTERED + changeEmailForm.getOld_email(), 404);\n }\n token = emailTokenGenerator.generateRandom(10);\n user = getUserFromToken(request);\n // fetching ChangeEmail Data for user\n changeEmailRequest = changeEmailRepository.findByUser(user); /* <=== com.crapi.repository.ChangeEmailRepository.findByUser */ \n if (changeEmailRequest == null) {\n // Creating new object if changeEmail data for user is not in database\n changeEmailRequest =\n new ChangeEmailRequest(\n changeEmailForm.getNew_email(), changeEmailForm.getOld_email(), token, user);" + "sample": "changeEmailRepository.findByUser(user)", + "lineNumber": 233, + "columnNumber": 26, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " UserMessage.EMAIL_NOT_REGISTERED + changeEmailForm.getOld_email(), 404);\n }\n token = emailTokenGenerator.generateRandom(10);\n user = getUserFromToken(request);\n // fetching ChangeEmail Data for user\n changeEmailRequest = changeEmailRepository.findByUser(user); /* <=== com.crapi.repository.ChangeEmailRepository.findByUser */ \n if (changeEmailRequest == null) {\n // Creating new object if changeEmail data for user is not in database\n changeEmailRequest =\n new ChangeEmailRequest(\n changeEmailForm.getNew_email(), changeEmailForm.getOld_email(), token, user);" } ] }, { - "pathId" : "9005-9017-9013", - "path" : [ + "pathId": "9005-9017-9013", + "path": [ { - "sample" : "username", - "lineNumber" : 298, - "columnNumber" : 32, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " public User getUserFromToken(HttpServletRequest request) {\n User user = null;\n String username = null;\n try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) { /* <=== java.lang.String */ \n user = userRepository.findByEmail(username);\n }\n if (user != null) {\n return user;\n } else {" + "sample": "username", + "lineNumber": 298, + "columnNumber": 32, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " public User getUserFromToken(HttpServletRequest request) {\n User user = null;\n String username = null;\n try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) { /* <=== java.lang.String */ \n user = userRepository.findByEmail(username);\n }\n if (user != null) {\n return user;\n } else {" }, { - "sample" : "username", - "lineNumber" : 299, - "columnNumber" : 43, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " User user = null;\n String username = null;\n try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username); /* <=== java.lang.String */ \n }\n if (user != null) {\n return user;\n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);" + "sample": "username", + "lineNumber": 299, + "columnNumber": 43, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " User user = null;\n String username = null;\n try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username); /* <=== java.lang.String */ \n }\n if (user != null) {\n return user;\n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);" }, { - "sample" : "userRepository.findByEmail(username)", - "lineNumber" : 299, - "columnNumber" : 16, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " User user = null;\n String username = null;\n try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n }\n if (user != null) {\n return user;\n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);" + "sample": "userRepository.findByEmail(username)", + "lineNumber": 299, + "columnNumber": 16, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " User user = null;\n String username = null;\n try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n }\n if (user != null) {\n return user;\n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);" } ] }, { - "pathId" : "9101-9113-9109-9108-9116-9119-9162-8630-8629-8639-8647-8642", - "path" : [ + "pathId": "9101-9113-9109-9108-9116-9119-9162-8630-8629-8639-8647-8642", + "path": [ { - "sample" : "username", - "lineNumber" : 319, - "columnNumber" : 32, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " public User getUserFromTokenWithoutValidation(HttpServletRequest request) {\n User user = null;\n try {\n String jwt = jwtAuthTokenFilter.getJwt(request);\n String username = jwtProvider.getUserNameFromJwtToken(jwt);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) { /* <=== java.lang.String */ \n user = userRepository.findByEmail(username);\n }\n\n if (user != null) {\n return user;" + "sample": "username", + "lineNumber": 319, + "columnNumber": 32, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " public User getUserFromTokenWithoutValidation(HttpServletRequest request) {\n User user = null;\n try {\n String jwt = jwtAuthTokenFilter.getJwt(request);\n String username = jwtProvider.getUserNameFromJwtToken(jwt);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) { /* <=== java.lang.String */ \n user = userRepository.findByEmail(username);\n }\n\n if (user != null) {\n return user;" }, { - "sample" : "username", - "lineNumber" : 320, - "columnNumber" : 43, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " User user = null;\n try {\n String jwt = jwtAuthTokenFilter.getJwt(request);\n String username = jwtProvider.getUserNameFromJwtToken(jwt);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username); /* <=== java.lang.String */ \n }\n\n if (user != null) {\n return user;\n } else {" + "sample": "username", + "lineNumber": 320, + "columnNumber": 43, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " User user = null;\n try {\n String jwt = jwtAuthTokenFilter.getJwt(request);\n String username = jwtProvider.getUserNameFromJwtToken(jwt);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username); /* <=== java.lang.String */ \n }\n\n if (user != null) {\n return user;\n } else {" }, { - "sample" : "userRepository.findByEmail(username)", - "lineNumber" : 320, - "columnNumber" : 16, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " User user = null;\n try {\n String jwt = jwtAuthTokenFilter.getJwt(request);\n String username = jwtProvider.getUserNameFromJwtToken(jwt);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n }\n\n if (user != null) {\n return user;\n } else {" + "sample": "userRepository.findByEmail(username)", + "lineNumber": 320, + "columnNumber": 16, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " User user = null;\n try {\n String jwt = jwtAuthTokenFilter.getJwt(request);\n String username = jwtProvider.getUserNameFromJwtToken(jwt);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n }\n\n if (user != null) {\n return user;\n } else {" }, { - "sample" : "user", - "lineNumber" : 320, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " User user = null;\n try {\n String jwt = jwtAuthTokenFilter.getJwt(request);\n String username = jwtProvider.getUserNameFromJwtToken(jwt);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username); /* <=== com.crapi.entity.User */ \n }\n\n if (user != null) {\n return user;\n } else {" + "sample": "user", + "lineNumber": 320, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " User user = null;\n try {\n String jwt = jwtAuthTokenFilter.getJwt(request);\n String username = jwtProvider.getUserNameFromJwtToken(jwt);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username); /* <=== com.crapi.entity.User */ \n }\n\n if (user != null) {\n return user;\n } else {" }, { - "sample" : "user", - "lineNumber" : 323, - "columnNumber" : 11, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " String username = jwtProvider.getUserNameFromJwtToken(jwt);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n\n if (user != null) { /* <=== com.crapi.entity.User */ \n return user;\n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {" + "sample": "user", + "lineNumber": 323, + "columnNumber": 11, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " String username = jwtProvider.getUserNameFromJwtToken(jwt);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n\n if (user != null) { /* <=== com.crapi.entity.User */ \n return user;\n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {" }, { - "sample" : "return user;", - "lineNumber" : 324, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n\n if (user != null) {\n return user; /* <=== */ \n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {\n logger.error(\"fail to get username from token -> Message:%d\", exception);" + "sample": "return user;", + "lineNumber": 324, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n\n if (user != null) {\n return user; /* <=== */ \n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {\n logger.error(\"fail to get username from token -> Message:%d\", exception);" }, { - "sample" : "com.crapi.entity.User", - "lineNumber" : 314, - "columnNumber" : 10, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " }\n }\n\n @Transactional\n @Override\n public User getUserFromTokenWithoutValidation(HttpServletRequest request) { /* <=== */ \n User user = null;\n try {\n String jwt = jwtAuthTokenFilter.getJwt(request);\n String username = jwtProvider.getUserNameFromJwtToken(jwt);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {" + "sample": "com.crapi.entity.User", + "lineNumber": 314, + "columnNumber": 10, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " }\n }\n\n @Transactional\n @Override\n public User getUserFromTokenWithoutValidation(HttpServletRequest request) { /* <=== */ \n User user = null;\n try {\n String jwt = jwtAuthTokenFilter.getJwt(request);\n String username = jwtProvider.getUserNameFromJwtToken(jwt);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {" }, { - "sample" : "this.getUserFromTokenWithoutValidation(request)", - "lineNumber" : 181, - "columnNumber" : 14, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " DashboardResponse dashboardResponse;\n ProfileVideo profileVideo;\n try {\n // Invalid Signature vulnerability\n // Not Checking the validity of the token for this request\n user = getUserFromTokenWithoutValidation(request); /* <=== com.crapi.service.Impl.UserServiceImpl.getUserFromTokenWithoutValidation */ \n userDetails = userDetailsRepository.findByUser_id(user.getId());\n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n dashboardResponse =\n new DashboardResponse(\n user.getId()," + "sample": "this.getUserFromTokenWithoutValidation(request)", + "lineNumber": 181, + "columnNumber": 14, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " DashboardResponse dashboardResponse;\n ProfileVideo profileVideo;\n try {\n // Invalid Signature vulnerability\n // Not Checking the validity of the token for this request\n user = getUserFromTokenWithoutValidation(request); /* <=== com.crapi.service.Impl.UserServiceImpl.getUserFromTokenWithoutValidation */ \n userDetails = userDetailsRepository.findByUser_id(user.getId());\n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n dashboardResponse =\n new DashboardResponse(\n user.getId()," }, { - "sample" : "user", - "lineNumber" : 181, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " DashboardResponse dashboardResponse;\n ProfileVideo profileVideo;\n try {\n // Invalid Signature vulnerability\n // Not Checking the validity of the token for this request\n user = getUserFromTokenWithoutValidation(request); /* <=== com.crapi.entity.User */ \n userDetails = userDetailsRepository.findByUser_id(user.getId());\n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n dashboardResponse =\n new DashboardResponse(\n user.getId()," + "sample": "user", + "lineNumber": 181, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " DashboardResponse dashboardResponse;\n ProfileVideo profileVideo;\n try {\n // Invalid Signature vulnerability\n // Not Checking the validity of the token for this request\n user = getUserFromTokenWithoutValidation(request); /* <=== com.crapi.entity.User */ \n userDetails = userDetailsRepository.findByUser_id(user.getId());\n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n dashboardResponse =\n new DashboardResponse(\n user.getId()," }, { - "sample" : "user", - "lineNumber" : 182, - "columnNumber" : 57, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " ProfileVideo profileVideo;\n try {\n // Invalid Signature vulnerability\n // Not Checking the validity of the token for this request\n user = getUserFromTokenWithoutValidation(request);\n userDetails = userDetailsRepository.findByUser_id(user.getId()); /* <=== com.crapi.entity.User */ \n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n dashboardResponse =\n new DashboardResponse(\n user.getId(),\n (userDetails != null ? userDetails.getName() : \"\")," + "sample": "user", + "lineNumber": 182, + "columnNumber": 57, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " ProfileVideo profileVideo;\n try {\n // Invalid Signature vulnerability\n // Not Checking the validity of the token for this request\n user = getUserFromTokenWithoutValidation(request);\n userDetails = userDetailsRepository.findByUser_id(user.getId()); /* <=== com.crapi.entity.User */ \n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n dashboardResponse =\n new DashboardResponse(\n user.getId(),\n (userDetails != null ? userDetails.getName() : \"\")," }, { - "sample" : "user", - "lineNumber" : 183, - "columnNumber" : 59, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " try {\n // Invalid Signature vulnerability\n // Not Checking the validity of the token for this request\n user = getUserFromTokenWithoutValidation(request);\n userDetails = userDetailsRepository.findByUser_id(user.getId());\n profileVideo = profileVideoRepository.findByUser_id(user.getId()); /* <=== com.crapi.entity.User */ \n dashboardResponse =\n new DashboardResponse(\n user.getId(),\n (userDetails != null ? userDetails.getName() : \"\"),\n user.getEmail()," + "sample": "user", + "lineNumber": 183, + "columnNumber": 59, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " try {\n // Invalid Signature vulnerability\n // Not Checking the validity of the token for this request\n user = getUserFromTokenWithoutValidation(request);\n userDetails = userDetailsRepository.findByUser_id(user.getId());\n profileVideo = profileVideoRepository.findByUser_id(user.getId()); /* <=== com.crapi.entity.User */ \n dashboardResponse =\n new DashboardResponse(\n user.getId(),\n (userDetails != null ? userDetails.getName() : \"\"),\n user.getEmail()," }, { - "sample" : "findByUser_id(user.getId())", - "lineNumber" : 183, - "columnNumber" : 22, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " try {\n // Invalid Signature vulnerability\n // Not Checking the validity of the token for this request\n user = getUserFromTokenWithoutValidation(request);\n userDetails = userDetailsRepository.findByUser_id(user.getId());\n profileVideo = profileVideoRepository.findByUser_id(user.getId()); /* <=== com.crapi.repository.ProfileVideoRepository.findByUser_id */ \n dashboardResponse =\n new DashboardResponse(\n user.getId(),\n (userDetails != null ? userDetails.getName() : \"\"),\n user.getEmail()," + "sample": "findByUser_id(user.getId())", + "lineNumber": 183, + "columnNumber": 22, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " try {\n // Invalid Signature vulnerability\n // Not Checking the validity of the token for this request\n user = getUserFromTokenWithoutValidation(request);\n userDetails = userDetailsRepository.findByUser_id(user.getId());\n profileVideo = profileVideoRepository.findByUser_id(user.getId()); /* <=== com.crapi.repository.ProfileVideoRepository.findByUser_id */ \n dashboardResponse =\n new DashboardResponse(\n user.getId(),\n (userDetails != null ? userDetails.getName() : \"\"),\n user.getEmail()," } ] }, { - "pathId" : "9101-9113-9109-9108-9116-9119-9162-8630-8629-8639-8634", - "path" : [ + "pathId": "9101-9113-9109-9108-9116-9119-9162-8630-8629-8639-8634", + "path": [ { - "sample" : "username", - "lineNumber" : 319, - "columnNumber" : 32, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " public User getUserFromTokenWithoutValidation(HttpServletRequest request) {\n User user = null;\n try {\n String jwt = jwtAuthTokenFilter.getJwt(request);\n String username = jwtProvider.getUserNameFromJwtToken(jwt);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) { /* <=== java.lang.String */ \n user = userRepository.findByEmail(username);\n }\n\n if (user != null) {\n return user;" + "sample": "username", + "lineNumber": 319, + "columnNumber": 32, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " public User getUserFromTokenWithoutValidation(HttpServletRequest request) {\n User user = null;\n try {\n String jwt = jwtAuthTokenFilter.getJwt(request);\n String username = jwtProvider.getUserNameFromJwtToken(jwt);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) { /* <=== java.lang.String */ \n user = userRepository.findByEmail(username);\n }\n\n if (user != null) {\n return user;" }, { - "sample" : "username", - "lineNumber" : 320, - "columnNumber" : 43, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " User user = null;\n try {\n String jwt = jwtAuthTokenFilter.getJwt(request);\n String username = jwtProvider.getUserNameFromJwtToken(jwt);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username); /* <=== java.lang.String */ \n }\n\n if (user != null) {\n return user;\n } else {" + "sample": "username", + "lineNumber": 320, + "columnNumber": 43, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " User user = null;\n try {\n String jwt = jwtAuthTokenFilter.getJwt(request);\n String username = jwtProvider.getUserNameFromJwtToken(jwt);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username); /* <=== java.lang.String */ \n }\n\n if (user != null) {\n return user;\n } else {" }, { - "sample" : "userRepository.findByEmail(username)", - "lineNumber" : 320, - "columnNumber" : 16, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " User user = null;\n try {\n String jwt = jwtAuthTokenFilter.getJwt(request);\n String username = jwtProvider.getUserNameFromJwtToken(jwt);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n }\n\n if (user != null) {\n return user;\n } else {" + "sample": "userRepository.findByEmail(username)", + "lineNumber": 320, + "columnNumber": 16, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " User user = null;\n try {\n String jwt = jwtAuthTokenFilter.getJwt(request);\n String username = jwtProvider.getUserNameFromJwtToken(jwt);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n }\n\n if (user != null) {\n return user;\n } else {" }, { - "sample" : "user", - "lineNumber" : 320, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " User user = null;\n try {\n String jwt = jwtAuthTokenFilter.getJwt(request);\n String username = jwtProvider.getUserNameFromJwtToken(jwt);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username); /* <=== com.crapi.entity.User */ \n }\n\n if (user != null) {\n return user;\n } else {" + "sample": "user", + "lineNumber": 320, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " User user = null;\n try {\n String jwt = jwtAuthTokenFilter.getJwt(request);\n String username = jwtProvider.getUserNameFromJwtToken(jwt);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username); /* <=== com.crapi.entity.User */ \n }\n\n if (user != null) {\n return user;\n } else {" }, { - "sample" : "user", - "lineNumber" : 323, - "columnNumber" : 11, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " String username = jwtProvider.getUserNameFromJwtToken(jwt);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n\n if (user != null) { /* <=== com.crapi.entity.User */ \n return user;\n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {" + "sample": "user", + "lineNumber": 323, + "columnNumber": 11, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " String username = jwtProvider.getUserNameFromJwtToken(jwt);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n\n if (user != null) { /* <=== com.crapi.entity.User */ \n return user;\n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {" }, { - "sample" : "return user;", - "lineNumber" : 324, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n\n if (user != null) {\n return user; /* <=== */ \n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {\n logger.error(\"fail to get username from token -> Message:%d\", exception);" + "sample": "return user;", + "lineNumber": 324, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n\n if (user != null) {\n return user; /* <=== */ \n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {\n logger.error(\"fail to get username from token -> Message:%d\", exception);" }, { - "sample" : "com.crapi.entity.User", - "lineNumber" : 314, - "columnNumber" : 10, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " }\n }\n\n @Transactional\n @Override\n public User getUserFromTokenWithoutValidation(HttpServletRequest request) { /* <=== */ \n User user = null;\n try {\n String jwt = jwtAuthTokenFilter.getJwt(request);\n String username = jwtProvider.getUserNameFromJwtToken(jwt);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {" + "sample": "com.crapi.entity.User", + "lineNumber": 314, + "columnNumber": 10, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " }\n }\n\n @Transactional\n @Override\n public User getUserFromTokenWithoutValidation(HttpServletRequest request) { /* <=== */ \n User user = null;\n try {\n String jwt = jwtAuthTokenFilter.getJwt(request);\n String username = jwtProvider.getUserNameFromJwtToken(jwt);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {" }, { - "sample" : "this.getUserFromTokenWithoutValidation(request)", - "lineNumber" : 181, - "columnNumber" : 14, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " DashboardResponse dashboardResponse;\n ProfileVideo profileVideo;\n try {\n // Invalid Signature vulnerability\n // Not Checking the validity of the token for this request\n user = getUserFromTokenWithoutValidation(request); /* <=== com.crapi.service.Impl.UserServiceImpl.getUserFromTokenWithoutValidation */ \n userDetails = userDetailsRepository.findByUser_id(user.getId());\n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n dashboardResponse =\n new DashboardResponse(\n user.getId()," + "sample": "this.getUserFromTokenWithoutValidation(request)", + "lineNumber": 181, + "columnNumber": 14, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " DashboardResponse dashboardResponse;\n ProfileVideo profileVideo;\n try {\n // Invalid Signature vulnerability\n // Not Checking the validity of the token for this request\n user = getUserFromTokenWithoutValidation(request); /* <=== com.crapi.service.Impl.UserServiceImpl.getUserFromTokenWithoutValidation */ \n userDetails = userDetailsRepository.findByUser_id(user.getId());\n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n dashboardResponse =\n new DashboardResponse(\n user.getId()," }, { - "sample" : "user", - "lineNumber" : 181, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " DashboardResponse dashboardResponse;\n ProfileVideo profileVideo;\n try {\n // Invalid Signature vulnerability\n // Not Checking the validity of the token for this request\n user = getUserFromTokenWithoutValidation(request); /* <=== com.crapi.entity.User */ \n userDetails = userDetailsRepository.findByUser_id(user.getId());\n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n dashboardResponse =\n new DashboardResponse(\n user.getId()," + "sample": "user", + "lineNumber": 181, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " DashboardResponse dashboardResponse;\n ProfileVideo profileVideo;\n try {\n // Invalid Signature vulnerability\n // Not Checking the validity of the token for this request\n user = getUserFromTokenWithoutValidation(request); /* <=== com.crapi.entity.User */ \n userDetails = userDetailsRepository.findByUser_id(user.getId());\n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n dashboardResponse =\n new DashboardResponse(\n user.getId()," }, { - "sample" : "user", - "lineNumber" : 182, - "columnNumber" : 57, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " ProfileVideo profileVideo;\n try {\n // Invalid Signature vulnerability\n // Not Checking the validity of the token for this request\n user = getUserFromTokenWithoutValidation(request);\n userDetails = userDetailsRepository.findByUser_id(user.getId()); /* <=== com.crapi.entity.User */ \n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n dashboardResponse =\n new DashboardResponse(\n user.getId(),\n (userDetails != null ? userDetails.getName() : \"\")," + "sample": "user", + "lineNumber": 182, + "columnNumber": 57, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " ProfileVideo profileVideo;\n try {\n // Invalid Signature vulnerability\n // Not Checking the validity of the token for this request\n user = getUserFromTokenWithoutValidation(request);\n userDetails = userDetailsRepository.findByUser_id(user.getId()); /* <=== com.crapi.entity.User */ \n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n dashboardResponse =\n new DashboardResponse(\n user.getId(),\n (userDetails != null ? userDetails.getName() : \"\")," }, { - "sample" : "findByUser_id(user.getId())", - "lineNumber" : 182, - "columnNumber" : 21, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " ProfileVideo profileVideo;\n try {\n // Invalid Signature vulnerability\n // Not Checking the validity of the token for this request\n user = getUserFromTokenWithoutValidation(request);\n userDetails = userDetailsRepository.findByUser_id(user.getId()); /* <=== com.crapi.repository.UserDetailsRepository.findByUser_id */ \n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n dashboardResponse =\n new DashboardResponse(\n user.getId(),\n (userDetails != null ? userDetails.getName() : \"\")," + "sample": "findByUser_id(user.getId())", + "lineNumber": 182, + "columnNumber": 21, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " ProfileVideo profileVideo;\n try {\n // Invalid Signature vulnerability\n // Not Checking the validity of the token for this request\n user = getUserFromTokenWithoutValidation(request);\n userDetails = userDetailsRepository.findByUser_id(user.getId()); /* <=== com.crapi.repository.UserDetailsRepository.findByUser_id */ \n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n dashboardResponse =\n new DashboardResponse(\n user.getId(),\n (userDetails != null ? userDetails.getName() : \"\")," } ] }, { - "pathId" : "476-489-7907-7918-7914", - "path" : [ + "pathId": "476-489-7907-7918-7914", + "path": [ { - "sample" : "username", - "lineNumber" : 56, - "columnNumber" : 32, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/config/JwtAuthTokenFilter.java", - "excerpt" : " HttpServletRequest request, HttpServletResponse response, FilterChain filterChain)\n throws ServletException, IOException {\n\n try {\n String username = getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) { /* <=== java.lang.String */ \n UserDetails userDetails = userDetailsService.loadUserByUsername(username);\n UsernamePasswordAuthenticationToken authentication =\n new UsernamePasswordAuthenticationToken(\n userDetails, null, userDetails.getAuthorities());\n authentication.setDetails(new WebAuthenticationDetailsSource().buildDetails(request));" + "sample": "username", + "lineNumber": 56, + "columnNumber": 32, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/config/JwtAuthTokenFilter.java", + "excerpt": " HttpServletRequest request, HttpServletResponse response, FilterChain filterChain)\n throws ServletException, IOException {\n\n try {\n String username = getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) { /* <=== java.lang.String */ \n UserDetails userDetails = userDetailsService.loadUserByUsername(username);\n UsernamePasswordAuthenticationToken authentication =\n new UsernamePasswordAuthenticationToken(\n userDetails, null, userDetails.getAuthorities());\n authentication.setDetails(new WebAuthenticationDetailsSource().buildDetails(request));" }, { - "sample" : "username", - "lineNumber" : 57, - "columnNumber" : 73, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/config/JwtAuthTokenFilter.java", - "excerpt" : " throws ServletException, IOException {\n\n try {\n String username = getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n UserDetails userDetails = userDetailsService.loadUserByUsername(username); /* <=== java.lang.String */ \n UsernamePasswordAuthenticationToken authentication =\n new UsernamePasswordAuthenticationToken(\n userDetails, null, userDetails.getAuthorities());\n authentication.setDetails(new WebAuthenticationDetailsSource().buildDetails(request));\n SecurityContextHolder.getContext().setAuthentication(authentication);" + "sample": "username", + "lineNumber": 57, + "columnNumber": 73, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/config/JwtAuthTokenFilter.java", + "excerpt": " throws ServletException, IOException {\n\n try {\n String username = getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n UserDetails userDetails = userDetailsService.loadUserByUsername(username); /* <=== java.lang.String */ \n UsernamePasswordAuthenticationToken authentication =\n new UsernamePasswordAuthenticationToken(\n userDetails, null, userDetails.getAuthorities());\n authentication.setDetails(new WebAuthenticationDetailsSource().buildDetails(request));\n SecurityContextHolder.getContext().setAuthentication(authentication);" }, { - "sample" : "String email", - "lineNumber" : 39, - "columnNumber" : 41, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserDetailsServiceImpl.java", - "excerpt" : " * @return UserDatils after validating the user into database\n * @throws UsernameNotFoundException\n */\n @Transactional\n @Override\n public UserDetails loadUserByUsername(String email) { /* <=== */ \n try {\n User user = userRepository.findByEmail(email);\n System.out.println(user);\n return UserPrinciple.build(user);\n } catch (Exception e) {" + "sample": "String email", + "lineNumber": 39, + "columnNumber": 41, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserDetailsServiceImpl.java", + "excerpt": " * @return UserDatils after validating the user into database\n * @throws UsernameNotFoundException\n */\n @Transactional\n @Override\n public UserDetails loadUserByUsername(String email) { /* <=== */ \n try {\n User user = userRepository.findByEmail(email);\n System.out.println(user);\n return UserPrinciple.build(user);\n } catch (Exception e) {" }, { - "sample" : "email", - "lineNumber" : 41, - "columnNumber" : 46, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserDetailsServiceImpl.java", - "excerpt" : " */\n @Transactional\n @Override\n public UserDetails loadUserByUsername(String email) {\n try {\n User user = userRepository.findByEmail(email); /* <=== java.lang.String */ \n System.out.println(user);\n return UserPrinciple.build(user);\n } catch (Exception e) {\n throw new UsernameNotFoundException(\"User does not exist with Email :\" + email);\n }" + "sample": "email", + "lineNumber": 41, + "columnNumber": 46, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserDetailsServiceImpl.java", + "excerpt": " */\n @Transactional\n @Override\n public UserDetails loadUserByUsername(String email) {\n try {\n User user = userRepository.findByEmail(email); /* <=== java.lang.String */ \n System.out.println(user);\n return UserPrinciple.build(user);\n } catch (Exception e) {\n throw new UsernameNotFoundException(\"User does not exist with Email :\" + email);\n }" }, { - "sample" : "userRepository.findByEmail(email)", - "lineNumber" : 41, - "columnNumber" : 19, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserDetailsServiceImpl.java", - "excerpt" : " */\n @Transactional\n @Override\n public UserDetails loadUserByUsername(String email) {\n try {\n User user = userRepository.findByEmail(email); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n System.out.println(user);\n return UserPrinciple.build(user);\n } catch (Exception e) {\n throw new UsernameNotFoundException(\"User does not exist with Email :\" + email);\n }" + "sample": "userRepository.findByEmail(email)", + "lineNumber": 41, + "columnNumber": 19, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserDetailsServiceImpl.java", + "excerpt": " */\n @Transactional\n @Override\n public UserDetails loadUserByUsername(String email) {\n try {\n User user = userRepository.findByEmail(email); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n System.out.println(user);\n return UserPrinciple.build(user);\n } catch (Exception e) {\n throw new UsernameNotFoundException(\"User does not exist with Email :\" + email);\n }" } ] } @@ -1457,163 +1435,158 @@ ] }, { - "sourceId" : "Data.Sensitive.LocationData.PreciseLocation", - "sinks" : [ + "sourceId": "Data.Sensitive.LocationData.PreciseLocation", + "sinks": [ { - "sinkType" : "storages", - "id" : "Storages.SpringFramework.Jdbc.Write", - "name" : "Java Database Connector(Write)", - "category" : "", - "domains" : [ - "oracle.com" - ], - "sensitivity" : "", - "isSensitive" : false, - "tags" : { - - }, - "apiUrl" : [ - ], - "databaseDetails" : { - "dbName" : "${DB_NAME}", - "dbVendor" : "postgresql", - "dbLocation" : "${DB_HOST}:${DB_PORT}", - "dbOperation" : "Write" + "sinkType": "storages", + "id": "Storages.SpringFramework.Jdbc.Write", + "name": "Java Database Connector(Write)", + "category": "", + "domains": ["oracle.com"], + "sensitivity": "", + "isSensitive": false, + "tags": {}, + "apiUrl": [], + "databaseDetails": { + "dbName": "${DB_NAME}", + "dbVendor": "postgresql", + "dbLocation": "${DB_HOST}:${DB_PORT}", + "dbOperation": "Write" }, - "paths" : [ + "paths": [ { - "pathId" : "9484-9492-9521-9520-9526-9522", - "path" : [ + "pathId": "9484-9492-9521-9520-9526-9522", + "path": [ { - "sample" : "java.lang.String latitude", - "lineNumber" : 29, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/VehicleLocation.java", - "excerpt" : "\n @Id\n @GeneratedValue(strategy = GenerationType.AUTO)\n private long id;\n\n private String latitude; /* <=== 'latitude' is a member of 'com.crapi.entity.VehicleLocation' class */ \n private String longitude;\n\n public VehicleLocation(String latitude, String longitude) {\n this.latitude = latitude;\n this.longitude = longitude;" + "sample": "java.lang.String latitude", + "lineNumber": 29, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/VehicleLocation.java", + "excerpt": "\n @Id\n @GeneratedValue(strategy = GenerationType.AUTO)\n private long id;\n\n private String latitude; /* <=== 'latitude' is a member of 'com.crapi.entity.VehicleLocation' class */ \n private String longitude;\n\n public VehicleLocation(String latitude, String longitude) {\n this.latitude = latitude;\n this.longitude = longitude;" }, { - "sample" : "vehicleLocations", - "lineNumber" : 96, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " List modelList = null;\n GenerateVIN generateVIN = new GenerateVIN();\n VehicleLocation vehicleLocations = null;\n Random random = new Random();\n modelList = vehicleModelRepository.findAll();\n vehicleLocations = getVehicleLocationList(); /* <=== com.crapi.entity.VehicleLocation */ \n if (modelList != null && vehicleLocations != null) {\n vin = generateVIN.generateVIN();\n pincode = generateVIN.generatePincode();\n VehicleDetails vehicleDetails = new VehicleDetails(pincode, vin);\n vehicleDetails.setModel(modelList.get(random.nextInt(modelList.size())));" + "sample": "vehicleLocations", + "lineNumber": 96, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " List modelList = null;\n GenerateVIN generateVIN = new GenerateVIN();\n VehicleLocation vehicleLocations = null;\n Random random = new Random();\n modelList = vehicleModelRepository.findAll();\n vehicleLocations = getVehicleLocationList(); /* <=== com.crapi.entity.VehicleLocation */ \n if (modelList != null && vehicleLocations != null) {\n vin = generateVIN.generateVIN();\n pincode = generateVIN.generatePincode();\n VehicleDetails vehicleDetails = new VehicleDetails(pincode, vin);\n vehicleDetails.setModel(modelList.get(random.nextInt(modelList.size())));" }, { - "sample" : "vehicleLocations", - "lineNumber" : 97, - "columnNumber" : 30, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " GenerateVIN generateVIN = new GenerateVIN();\n VehicleLocation vehicleLocations = null;\n Random random = new Random();\n modelList = vehicleModelRepository.findAll();\n vehicleLocations = getVehicleLocationList();\n if (modelList != null && vehicleLocations != null) { /* <=== com.crapi.entity.VehicleLocation */ \n vin = generateVIN.generateVIN();\n pincode = generateVIN.generatePincode();\n VehicleDetails vehicleDetails = new VehicleDetails(pincode, vin);\n vehicleDetails.setModel(modelList.get(random.nextInt(modelList.size())));\n vehicleDetails.setVehicleLocation(vehicleLocations);" + "sample": "vehicleLocations", + "lineNumber": 97, + "columnNumber": 30, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " GenerateVIN generateVIN = new GenerateVIN();\n VehicleLocation vehicleLocations = null;\n Random random = new Random();\n modelList = vehicleModelRepository.findAll();\n vehicleLocations = getVehicleLocationList();\n if (modelList != null && vehicleLocations != null) { /* <=== com.crapi.entity.VehicleLocation */ \n vin = generateVIN.generateVIN();\n pincode = generateVIN.generatePincode();\n VehicleDetails vehicleDetails = new VehicleDetails(pincode, vin);\n vehicleDetails.setModel(modelList.get(random.nextInt(modelList.size())));\n vehicleDetails.setVehicleLocation(vehicleLocations);" }, { - "sample" : "vehicleLocations", - "lineNumber" : 102, - "columnNumber" : 41, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " if (modelList != null && vehicleLocations != null) {\n vin = generateVIN.generateVIN();\n pincode = generateVIN.generatePincode();\n VehicleDetails vehicleDetails = new VehicleDetails(pincode, vin);\n vehicleDetails.setModel(modelList.get(random.nextInt(modelList.size())));\n vehicleDetails.setVehicleLocation(vehicleLocations); /* <=== com.crapi.entity.VehicleLocation */ \n vehicleDetailsRepository.save(vehicleDetails);\n return vehicleDetails;\n }\n throw new CRAPIExceptionHandler(\n UserMessage.CUSTOM_IO_EXCEPTION," + "sample": "vehicleLocations", + "lineNumber": 102, + "columnNumber": 41, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " if (modelList != null && vehicleLocations != null) {\n vin = generateVIN.generateVIN();\n pincode = generateVIN.generatePincode();\n VehicleDetails vehicleDetails = new VehicleDetails(pincode, vin);\n vehicleDetails.setModel(modelList.get(random.nextInt(modelList.size())));\n vehicleDetails.setVehicleLocation(vehicleLocations); /* <=== com.crapi.entity.VehicleLocation */ \n vehicleDetailsRepository.save(vehicleDetails);\n return vehicleDetails;\n }\n throw new CRAPIExceptionHandler(\n UserMessage.CUSTOM_IO_EXCEPTION," }, { - "sample" : "vehicleDetails", - "lineNumber" : 102, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " if (modelList != null && vehicleLocations != null) {\n vin = generateVIN.generateVIN();\n pincode = generateVIN.generatePincode();\n VehicleDetails vehicleDetails = new VehicleDetails(pincode, vin);\n vehicleDetails.setModel(modelList.get(random.nextInt(modelList.size())));\n vehicleDetails.setVehicleLocation(vehicleLocations); /* <=== com.crapi.entity.VehicleDetails */ \n vehicleDetailsRepository.save(vehicleDetails);\n return vehicleDetails;\n }\n throw new CRAPIExceptionHandler(\n UserMessage.CUSTOM_IO_EXCEPTION," + "sample": "vehicleDetails", + "lineNumber": 102, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " if (modelList != null && vehicleLocations != null) {\n vin = generateVIN.generateVIN();\n pincode = generateVIN.generatePincode();\n VehicleDetails vehicleDetails = new VehicleDetails(pincode, vin);\n vehicleDetails.setModel(modelList.get(random.nextInt(modelList.size())));\n vehicleDetails.setVehicleLocation(vehicleLocations); /* <=== com.crapi.entity.VehicleDetails */ \n vehicleDetailsRepository.save(vehicleDetails);\n return vehicleDetails;\n }\n throw new CRAPIExceptionHandler(\n UserMessage.CUSTOM_IO_EXCEPTION," }, { - "sample" : "vehicleDetails", - "lineNumber" : 103, - "columnNumber" : 37, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " vin = generateVIN.generateVIN();\n pincode = generateVIN.generatePincode();\n VehicleDetails vehicleDetails = new VehicleDetails(pincode, vin);\n vehicleDetails.setModel(modelList.get(random.nextInt(modelList.size())));\n vehicleDetails.setVehicleLocation(vehicleLocations);\n vehicleDetailsRepository.save(vehicleDetails); /* <=== com.crapi.entity.VehicleDetails */ \n return vehicleDetails;\n }\n throw new CRAPIExceptionHandler(\n UserMessage.CUSTOM_IO_EXCEPTION,\n UserMessage.CUSTOM_IO_EXCEPTION_UNABLE_TO_CREATE_VEHICLE," + "sample": "vehicleDetails", + "lineNumber": 103, + "columnNumber": 37, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " vin = generateVIN.generateVIN();\n pincode = generateVIN.generatePincode();\n VehicleDetails vehicleDetails = new VehicleDetails(pincode, vin);\n vehicleDetails.setModel(modelList.get(random.nextInt(modelList.size())));\n vehicleDetails.setVehicleLocation(vehicleLocations);\n vehicleDetailsRepository.save(vehicleDetails); /* <=== com.crapi.entity.VehicleDetails */ \n return vehicleDetails;\n }\n throw new CRAPIExceptionHandler(\n UserMessage.CUSTOM_IO_EXCEPTION,\n UserMessage.CUSTOM_IO_EXCEPTION_UNABLE_TO_CREATE_VEHICLE," }, { - "sample" : "vehicleDetailsRepository.save(vehicleDetails)", - "lineNumber" : 103, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " vin = generateVIN.generateVIN();\n pincode = generateVIN.generatePincode();\n VehicleDetails vehicleDetails = new VehicleDetails(pincode, vin);\n vehicleDetails.setModel(modelList.get(random.nextInt(modelList.size())));\n vehicleDetails.setVehicleLocation(vehicleLocations);\n vehicleDetailsRepository.save(vehicleDetails); /* <=== com.crapi.repository.VehicleDetailsRepository.save */ \n return vehicleDetails;\n }\n throw new CRAPIExceptionHandler(\n UserMessage.CUSTOM_IO_EXCEPTION,\n UserMessage.CUSTOM_IO_EXCEPTION_UNABLE_TO_CREATE_VEHICLE," + "sample": "vehicleDetailsRepository.save(vehicleDetails)", + "lineNumber": 103, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " vin = generateVIN.generateVIN();\n pincode = generateVIN.generatePincode();\n VehicleDetails vehicleDetails = new VehicleDetails(pincode, vin);\n vehicleDetails.setModel(modelList.get(random.nextInt(modelList.size())));\n vehicleDetails.setVehicleLocation(vehicleLocations);\n vehicleDetailsRepository.save(vehicleDetails); /* <=== com.crapi.repository.VehicleDetailsRepository.save */ \n return vehicleDetails;\n }\n throw new CRAPIExceptionHandler(\n UserMessage.CUSTOM_IO_EXCEPTION,\n UserMessage.CUSTOM_IO_EXCEPTION_UNABLE_TO_CREATE_VEHICLE," } ] }, { - "pathId" : "11647-11650-4526-4563-11649-11645-11644-11654-11658-111-107", - "path" : [ + "pathId": "11647-11650-4526-4563-11649-11645-11644-11654-11658-111-107", + "path": [ { - "sample" : "java.lang.String latitude", - "lineNumber" : 29, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/VehicleLocation.java", - "excerpt" : "\n @Id\n @GeneratedValue(strategy = GenerationType.AUTO)\n private long id;\n\n private String latitude; /* <=== 'latitude' is a member of 'com.crapi.entity.VehicleLocation' class */ \n private String longitude;\n\n public VehicleLocation(String latitude, String longitude) {\n this.latitude = latitude;\n this.longitude = longitude;" + "sample": "java.lang.String latitude", + "lineNumber": 29, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/VehicleLocation.java", + "excerpt": "\n @Id\n @GeneratedValue(strategy = GenerationType.AUTO)\n private long id;\n\n private String latitude; /* <=== 'latitude' is a member of 'com.crapi.entity.VehicleLocation' class */ \n private String longitude;\n\n public VehicleLocation(String latitude, String longitude) {\n this.latitude = latitude;\n this.longitude = longitude;" }, { - "sample" : "$obj10", - "lineNumber" : -1, - "columnNumber" : -1, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/utils/VehicleLocationData.java", - "excerpt" : "" + "sample": "$obj10", + "lineNumber": -1, + "columnNumber": -1, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/utils/VehicleLocationData.java", + "excerpt": "" }, { - "sample" : "$obj10", - "lineNumber" : -1, - "columnNumber" : -1, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/utils/VehicleLocationData.java", - "excerpt" : "" + "sample": "$obj10", + "lineNumber": -1, + "columnNumber": -1, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/utils/VehicleLocationData.java", + "excerpt": "" }, { - "sample" : "this", - "lineNumber" : 32, - "columnNumber" : -1, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/VehicleLocation.java", - "excerpt" : " private long id;\n\n private String latitude;\n private String longitude;\n\n public VehicleLocation(String latitude, String longitude) { /* <=== */ \n this.latitude = latitude;\n this.longitude = longitude;\n }\n\n public VehicleLocation() {}" + "sample": "this", + "lineNumber": 32, + "columnNumber": -1, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/VehicleLocation.java", + "excerpt": " private long id;\n\n private String latitude;\n private String longitude;\n\n public VehicleLocation(String latitude, String longitude) { /* <=== */ \n this.latitude = latitude;\n this.longitude = longitude;\n }\n\n public VehicleLocation() {}" }, { - "sample" : "void", - "lineNumber" : 35, - "columnNumber" : 3, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/VehicleLocation.java", - "excerpt" : " private String longitude;\n\n public VehicleLocation(String latitude, String longitude) {\n this.latitude = latitude;\n this.longitude = longitude;\n } /* <=== */ \n\n public VehicleLocation() {}\n}" + "sample": "void", + "lineNumber": 35, + "columnNumber": 3, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/VehicleLocation.java", + "excerpt": " private String longitude;\n\n public VehicleLocation(String latitude, String longitude) {\n this.latitude = latitude;\n this.longitude = longitude;\n } /* <=== */ \n\n public VehicleLocation() {}\n}" }, { - "sample" : "new VehicleLocation(\"38.9518424\", \"-77.1483682\")", - "lineNumber" : 35, - "columnNumber" : -1, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/utils/VehicleLocationData.java", - "excerpt" : " vehicleLocationData.add(new VehicleLocation(\"37.4171615\", \"-122.0271935\"));\n vehicleLocationData.add(new VehicleLocation(\"31.9726318\", \"34.7958503\"));\n vehicleLocationData.add(new VehicleLocation(\"37.233333\", \"-115.808333\"));\n vehicleLocationData.add(new VehicleLocation(\"28.6297622\", \"77.2058573\"));\n vehicleLocationData.add(new VehicleLocation(\"30.264007\", \"-97.773161\"));\n vehicleLocationData.add(new VehicleLocation(\"38.9518424\", \"-77.1483682\")); /* <=== com.crapi.entity.VehicleLocation. */ \n\n return vehicleLocationData;\n }\n}" + "sample": "new VehicleLocation(\"38.9518424\", \"-77.1483682\")", + "lineNumber": 35, + "columnNumber": -1, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/utils/VehicleLocationData.java", + "excerpt": " vehicleLocationData.add(new VehicleLocation(\"37.4171615\", \"-122.0271935\"));\n vehicleLocationData.add(new VehicleLocation(\"31.9726318\", \"34.7958503\"));\n vehicleLocationData.add(new VehicleLocation(\"37.233333\", \"-115.808333\"));\n vehicleLocationData.add(new VehicleLocation(\"28.6297622\", \"77.2058573\"));\n vehicleLocationData.add(new VehicleLocation(\"30.264007\", \"-97.773161\"));\n vehicleLocationData.add(new VehicleLocation(\"38.9518424\", \"-77.1483682\")); /* <=== com.crapi.entity.VehicleLocation. */ \n\n return vehicleLocationData;\n }\n}" }, { - "sample" : "vehicleLocationData", - "lineNumber" : 35, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/utils/VehicleLocationData.java", - "excerpt" : " vehicleLocationData.add(new VehicleLocation(\"37.4171615\", \"-122.0271935\"));\n vehicleLocationData.add(new VehicleLocation(\"31.9726318\", \"34.7958503\"));\n vehicleLocationData.add(new VehicleLocation(\"37.233333\", \"-115.808333\"));\n vehicleLocationData.add(new VehicleLocation(\"28.6297622\", \"77.2058573\"));\n vehicleLocationData.add(new VehicleLocation(\"30.264007\", \"-97.773161\"));\n vehicleLocationData.add(new VehicleLocation(\"38.9518424\", \"-77.1483682\")); /* <=== java.util.List */ \n\n return vehicleLocationData;\n }\n}" + "sample": "vehicleLocationData", + "lineNumber": 35, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/utils/VehicleLocationData.java", + "excerpt": " vehicleLocationData.add(new VehicleLocation(\"37.4171615\", \"-122.0271935\"));\n vehicleLocationData.add(new VehicleLocation(\"31.9726318\", \"34.7958503\"));\n vehicleLocationData.add(new VehicleLocation(\"37.233333\", \"-115.808333\"));\n vehicleLocationData.add(new VehicleLocation(\"28.6297622\", \"77.2058573\"));\n vehicleLocationData.add(new VehicleLocation(\"30.264007\", \"-97.773161\"));\n vehicleLocationData.add(new VehicleLocation(\"38.9518424\", \"-77.1483682\")); /* <=== java.util.List */ \n\n return vehicleLocationData;\n }\n}" }, { - "sample" : "return vehicleLocationData;", - "lineNumber" : 37, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/utils/VehicleLocationData.java", - "excerpt" : " vehicleLocationData.add(new VehicleLocation(\"37.233333\", \"-115.808333\"));\n vehicleLocationData.add(new VehicleLocation(\"28.6297622\", \"77.2058573\"));\n vehicleLocationData.add(new VehicleLocation(\"30.264007\", \"-97.773161\"));\n vehicleLocationData.add(new VehicleLocation(\"38.9518424\", \"-77.1483682\"));\n\n return vehicleLocationData; /* <=== */ \n }\n}" + "sample": "return vehicleLocationData;", + "lineNumber": 37, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/utils/VehicleLocationData.java", + "excerpt": " vehicleLocationData.add(new VehicleLocation(\"37.233333\", \"-115.808333\"));\n vehicleLocationData.add(new VehicleLocation(\"28.6297622\", \"77.2058573\"));\n vehicleLocationData.add(new VehicleLocation(\"30.264007\", \"-97.773161\"));\n vehicleLocationData.add(new VehicleLocation(\"38.9518424\", \"-77.1483682\"));\n\n return vehicleLocationData; /* <=== */ \n }\n}" }, { - "sample" : "java.util.List", - "lineNumber" : 24, - "columnNumber" : 10, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/utils/VehicleLocationData.java", - "excerpt" : "import java.util.List;\n\npublic class VehicleLocationData {\n\n /** @return List of hard coded Vehicle Location for pre data setup */\n public List getVehicleLocationData() { /* <=== */ \n List vehicleLocationData = new ArrayList<>();\n vehicleLocationData.add(new VehicleLocation(\"33.7967129\", \"-84.3909149\"));\n vehicleLocationData.add(new VehicleLocation(\"39.0247621\", \"-77.1402267\"));\n vehicleLocationData.add(new VehicleLocation(\"37.7775112\", \"-122.3970889\"));\n vehicleLocationData.add(new VehicleLocation(\"37.4850772\", \"-122.1504711\"));" + "sample": "java.util.List", + "lineNumber": 24, + "columnNumber": 10, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/utils/VehicleLocationData.java", + "excerpt": "import java.util.List;\n\npublic class VehicleLocationData {\n\n /** @return List of hard coded Vehicle Location for pre data setup */\n public List getVehicleLocationData() { /* <=== */ \n List vehicleLocationData = new ArrayList<>();\n vehicleLocationData.add(new VehicleLocation(\"33.7967129\", \"-84.3909149\"));\n vehicleLocationData.add(new VehicleLocation(\"39.0247621\", \"-77.1402267\"));\n vehicleLocationData.add(new VehicleLocation(\"37.7775112\", \"-122.3970889\"));\n vehicleLocationData.add(new VehicleLocation(\"37.4850772\", \"-122.1504711\"));" }, { - "sample" : "vehicleLocationData.getVehicleLocationData()", - "lineNumber" : 59, - "columnNumber" : 41, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", - "excerpt" : " @Autowired PasswordEncoder encoder;\n\n public void addLocation() {\n if (CollectionUtils.isEmpty(vehicleLocationRepository.findAll())) {\n VehicleLocationData vehicleLocationData = new VehicleLocationData();\n vehicleLocationRepository.saveAll(vehicleLocationData.getVehicleLocationData()); /* <=== com.crapi.utils.VehicleLocationData.getVehicleLocationData */ \n }\n }\n\n public void addVehicleModel() {\n if (CollectionUtils.isEmpty(vehicleModelRepository.findAll())) {" + "sample": "vehicleLocationData.getVehicleLocationData()", + "lineNumber": 59, + "columnNumber": 41, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", + "excerpt": " @Autowired PasswordEncoder encoder;\n\n public void addLocation() {\n if (CollectionUtils.isEmpty(vehicleLocationRepository.findAll())) {\n VehicleLocationData vehicleLocationData = new VehicleLocationData();\n vehicleLocationRepository.saveAll(vehicleLocationData.getVehicleLocationData()); /* <=== com.crapi.utils.VehicleLocationData.getVehicleLocationData */ \n }\n }\n\n public void addVehicleModel() {\n if (CollectionUtils.isEmpty(vehicleModelRepository.findAll())) {" }, { - "sample" : "saveAll(vehicleLocationData.getVehicleLocationData())", - "lineNumber" : 59, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", - "excerpt" : " @Autowired PasswordEncoder encoder;\n\n public void addLocation() {\n if (CollectionUtils.isEmpty(vehicleLocationRepository.findAll())) {\n VehicleLocationData vehicleLocationData = new VehicleLocationData();\n vehicleLocationRepository.saveAll(vehicleLocationData.getVehicleLocationData()); /* <=== com.crapi.repository.VehicleLocationRepository.saveAll */ \n }\n }\n\n public void addVehicleModel() {\n if (CollectionUtils.isEmpty(vehicleModelRepository.findAll())) {" + "sample": "saveAll(vehicleLocationData.getVehicleLocationData())", + "lineNumber": 59, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", + "excerpt": " @Autowired PasswordEncoder encoder;\n\n public void addLocation() {\n if (CollectionUtils.isEmpty(vehicleLocationRepository.findAll())) {\n VehicleLocationData vehicleLocationData = new VehicleLocationData();\n vehicleLocationRepository.saveAll(vehicleLocationData.getVehicleLocationData()); /* <=== com.crapi.repository.VehicleLocationRepository.saveAll */ \n }\n }\n\n public void addVehicleModel() {\n if (CollectionUtils.isEmpty(vehicleModelRepository.findAll())) {" } ] } @@ -1622,2576 +1595,2566 @@ ] }, { - "sourceId" : "Data.Sensitive.AccountData.AccountPassword", - "sinks" : [ + "sourceId": "Data.Sensitive.AccountData.AccountPassword", + "sinks": [ { - "sinkType" : "storages", - "id" : "Storages.SpringFramework.Jdbc.Write", - "name" : "Java Database Connector(Write)", - "category" : "", - "domains" : [ - "oracle.com" - ], - "sensitivity" : "", - "isSensitive" : false, - "tags" : { - + "sinkType": "storages", + "id": "Storages.SpringFramework.Jdbc.Write", + "name": "Java Database Connector(Write)", + "category": "", + "domains": ["oracle.com"], + "sensitivity": "", + "isSensitive": false, + "tags": {}, + "apiUrl": [], + "databaseDetails": { + "dbName": "${DB_NAME}", + "dbVendor": "postgresql", + "dbLocation": "${DB_HOST}:${DB_PORT}", + "dbOperation": "Write" }, - "apiUrl" : [ - ], - "databaseDetails" : { - "dbName" : "${DB_NAME}", - "dbVendor" : "postgresql", - "dbLocation" : "${DB_HOST}:${DB_PORT}", - "dbOperation" : "Write" - }, - "paths" : [ + "paths": [ { - "pathId" : "3801-3799-21695-7560-7562", - "path" : [ + "pathId": "3801-3799-21695-7560-7562", + "path": [ { - "sample" : "java.lang.String password", - "lineNumber" : 36, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", - "excerpt" : " sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email;\n private String password; /* <=== 'password' is a member of 'com.crapi.entity.User' class */ \n private String number;\n\n @Column(length = 500)\n private String jwtToken;\n" + "sample": "java.lang.String password", + "lineNumber": 36, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", + "excerpt": " sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email;\n private String password; /* <=== 'password' is a member of 'com.crapi.entity.User' class */ \n private String number;\n\n @Column(length = 500)\n private String jwtToken;\n" }, { - "sample" : "user", - "lineNumber" : 91, - "columnNumber" : 17, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", - "excerpt" : " public User getUser() {\n return user;\n }\n\n public void setUser(User user) {\n this.user = user; /* <=== com.crapi.entity.User */ \n }\n\n @JsonProperty(\"profileVideo\")\n public String getVideoBase64() {\n // just assuming it is a jpeg. you would need to cater for different media types" + "sample": "user", + "lineNumber": 91, + "columnNumber": 17, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", + "excerpt": " public User getUser() {\n return user;\n }\n\n public void setUser(User user) {\n this.user = user; /* <=== com.crapi.entity.User */ \n }\n\n @JsonProperty(\"profileVideo\")\n public String getVideoBase64() {\n // just assuming it is a jpeg. you would need to cater for different media types" }, { - "sample" : "this.user", - "lineNumber" : 91, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", - "excerpt" : " public User getUser() {\n return user;\n }\n\n public void setUser(User user) {\n this.user = user; /* <=== */ \n }\n\n @JsonProperty(\"profileVideo\")\n public String getVideoBase64() {\n // just assuming it is a jpeg. you would need to cater for different media types" + "sample": "this.user", + "lineNumber": 91, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", + "excerpt": " public User getUser() {\n return user;\n }\n\n public void setUser(User user) {\n this.user = user; /* <=== */ \n }\n\n @JsonProperty(\"profileVideo\")\n public String getVideoBase64() {\n // just assuming it is a jpeg. you would need to cater for different media types" }, { - "sample" : "this", - "lineNumber" : 90, - "columnNumber" : -1, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", - "excerpt" : " @JsonIgnore\n public User getUser() {\n return user;\n }\n\n public void setUser(User user) { /* <=== */ \n this.user = user;\n }\n\n @JsonProperty(\"profileVideo\")\n public String getVideoBase64() {" + "sample": "this", + "lineNumber": 90, + "columnNumber": -1, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", + "excerpt": " @JsonIgnore\n public User getUser() {\n return user;\n }\n\n public void setUser(User user) { /* <=== */ \n this.user = user;\n }\n\n @JsonProperty(\"profileVideo\")\n public String getVideoBase64() {" }, { - "sample" : "profileVideo", - "lineNumber" : 191, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " ProfileVideo profileVideo;\n optionalProfileVideo = profileVideoRepository.findById(videoId);\n User user = userService.getUserFromToken(request);\n if (optionalProfileVideo.isPresent()) {\n profileVideo = optionalProfileVideo.get();\n profileVideo.setUser(null); /* <=== com.crapi.entity.ProfileVideo */ \n profileVideoRepository.delete(profileVideo);\n return new CRAPIResponse(UserMessage.VIDEO_DELETED_SUCCESS_MESSAGE, 200);\n }\n throw new CRAPIExceptionHandler(UserMessage.SORRY_DIDNT_GET_PROFILE, 404);\n }" + "sample": "profileVideo", + "lineNumber": 191, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " ProfileVideo profileVideo;\n optionalProfileVideo = profileVideoRepository.findById(videoId);\n User user = userService.getUserFromToken(request);\n if (optionalProfileVideo.isPresent()) {\n profileVideo = optionalProfileVideo.get();\n profileVideo.setUser(null); /* <=== com.crapi.entity.ProfileVideo */ \n profileVideoRepository.delete(profileVideo);\n return new CRAPIResponse(UserMessage.VIDEO_DELETED_SUCCESS_MESSAGE, 200);\n }\n throw new CRAPIExceptionHandler(UserMessage.SORRY_DIDNT_GET_PROFILE, 404);\n }" }, { - "sample" : "profileVideoRepository.delete(profileVideo)", - "lineNumber" : 192, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " optionalProfileVideo = profileVideoRepository.findById(videoId);\n User user = userService.getUserFromToken(request);\n if (optionalProfileVideo.isPresent()) {\n profileVideo = optionalProfileVideo.get();\n profileVideo.setUser(null);\n profileVideoRepository.delete(profileVideo); /* <=== com.crapi.repository.ProfileVideoRepository.delete */ \n return new CRAPIResponse(UserMessage.VIDEO_DELETED_SUCCESS_MESSAGE, 200);\n }\n throw new CRAPIExceptionHandler(UserMessage.SORRY_DIDNT_GET_PROFILE, 404);\n }\n" + "sample": "profileVideoRepository.delete(profileVideo)", + "lineNumber": 192, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " optionalProfileVideo = profileVideoRepository.findById(videoId);\n User user = userService.getUserFromToken(request);\n if (optionalProfileVideo.isPresent()) {\n profileVideo = optionalProfileVideo.get();\n profileVideo.setUser(null);\n profileVideoRepository.delete(profileVideo); /* <=== com.crapi.repository.ProfileVideoRepository.delete */ \n return new CRAPIResponse(UserMessage.VIDEO_DELETED_SUCCESS_MESSAGE, 200);\n }\n throw new CRAPIExceptionHandler(UserMessage.SORRY_DIDNT_GET_PROFILE, 404);\n }\n" } ] }, { - "pathId" : "6958-6953-6952-6961-6980-7000-3574-3583-3581-21685-6998-7002-7007", - "path" : [ + "pathId": "6958-6953-6952-6961-6980-7000-3574-3583-3581-21685-6998-7002-7007", + "path": [ { - "sample" : "forgetPassword", - "lineNumber" : 141, - "columnNumber" : 39, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " CRAPIResponse forgetPasswordResponse = null;\n OTPGenerator otpGenerator = new OTPGenerator();\n Otp checkOtpEnteryForUser = null;\n User user = null;\n String otp = \"\";\n user = userRepository.findByEmail(forgetPassword.getEmail()); /* <=== com.crapi.model.ForgetPassword */ \n if (user != null) {\n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database." + "sample": "forgetPassword", + "lineNumber": 141, + "columnNumber": 39, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " CRAPIResponse forgetPasswordResponse = null;\n OTPGenerator otpGenerator = new OTPGenerator();\n Otp checkOtpEnteryForUser = null;\n User user = null;\n String otp = \"\";\n user = userRepository.findByEmail(forgetPassword.getEmail()); /* <=== com.crapi.model.ForgetPassword */ \n if (user != null) {\n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database." }, { - "sample" : "findByEmail(forgetPassword.getEmail())", - "lineNumber" : 141, - "columnNumber" : 12, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " CRAPIResponse forgetPasswordResponse = null;\n OTPGenerator otpGenerator = new OTPGenerator();\n Otp checkOtpEnteryForUser = null;\n User user = null;\n String otp = \"\";\n user = userRepository.findByEmail(forgetPassword.getEmail()); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n if (user != null) {\n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database." + "sample": "findByEmail(forgetPassword.getEmail())", + "lineNumber": 141, + "columnNumber": 12, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " CRAPIResponse forgetPasswordResponse = null;\n OTPGenerator otpGenerator = new OTPGenerator();\n Otp checkOtpEnteryForUser = null;\n User user = null;\n String otp = \"\";\n user = userRepository.findByEmail(forgetPassword.getEmail()); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n if (user != null) {\n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database." }, { - "sample" : "user", - "lineNumber" : 141, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " CRAPIResponse forgetPasswordResponse = null;\n OTPGenerator otpGenerator = new OTPGenerator();\n Otp checkOtpEnteryForUser = null;\n User user = null;\n String otp = \"\";\n user = userRepository.findByEmail(forgetPassword.getEmail()); /* <=== com.crapi.entity.User */ \n if (user != null) {\n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database." + "sample": "user", + "lineNumber": 141, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " CRAPIResponse forgetPasswordResponse = null;\n OTPGenerator otpGenerator = new OTPGenerator();\n Otp checkOtpEnteryForUser = null;\n User user = null;\n String otp = \"\";\n user = userRepository.findByEmail(forgetPassword.getEmail()); /* <=== com.crapi.entity.User */ \n if (user != null) {\n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database." }, { - "sample" : "user", - "lineNumber" : 142, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " OTPGenerator otpGenerator = new OTPGenerator();\n Otp checkOtpEnteryForUser = null;\n User user = null;\n String otp = \"\";\n user = userRepository.findByEmail(forgetPassword.getEmail());\n if (user != null) { /* <=== com.crapi.entity.User */ \n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database.\n checkOtpEnteryForUser = otpRepository.findByUser(user);" + "sample": "user", + "lineNumber": 142, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " OTPGenerator otpGenerator = new OTPGenerator();\n Otp checkOtpEnteryForUser = null;\n User user = null;\n String otp = \"\";\n user = userRepository.findByEmail(forgetPassword.getEmail());\n if (user != null) { /* <=== com.crapi.entity.User */ \n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database.\n checkOtpEnteryForUser = otpRepository.findByUser(user);" }, { - "sample" : "user", - "lineNumber" : 147, - "columnNumber" : 58, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " if (user != null) {\n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database.\n checkOtpEnteryForUser = otpRepository.findByUser(user); /* <=== com.crapi.entity.User */ \n if (checkOtpEnteryForUser != null) {\n // Update existing object\n checkOtpEnteryForUser.setCount(0);\n checkOtpEnteryForUser.setOtp(otp);\n } else {" + "sample": "user", + "lineNumber": 147, + "columnNumber": 58, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " if (user != null) {\n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database.\n checkOtpEnteryForUser = otpRepository.findByUser(user); /* <=== com.crapi.entity.User */ \n if (checkOtpEnteryForUser != null) {\n // Update existing object\n checkOtpEnteryForUser.setCount(0);\n checkOtpEnteryForUser.setOtp(otp);\n } else {" }, { - "sample" : "user", - "lineNumber" : 154, - "columnNumber" : 48, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " // Update existing object\n checkOtpEnteryForUser.setCount(0);\n checkOtpEnteryForUser.setOtp(otp);\n } else {\n // Create new OTP object\n checkOtpEnteryForUser = new Otp(otp, user); /* <=== com.crapi.entity.User */ \n }\n checkOtpEnteryForUser.setStatus(EStatus.ACTIVE.toString());\n // Save otp details in Database.\n otpRepository.save(checkOtpEnteryForUser);\n // Sent OTP mail to user email address." + "sample": "user", + "lineNumber": 154, + "columnNumber": 48, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " // Update existing object\n checkOtpEnteryForUser.setCount(0);\n checkOtpEnteryForUser.setOtp(otp);\n } else {\n // Create new OTP object\n checkOtpEnteryForUser = new Otp(otp, user); /* <=== com.crapi.entity.User */ \n }\n checkOtpEnteryForUser.setStatus(EStatus.ACTIVE.toString());\n // Save otp details in Database.\n otpRepository.save(checkOtpEnteryForUser);\n // Sent OTP mail to user email address." }, { - "sample" : "User user", - "lineNumber" : 37, - "columnNumber" : 26, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/Otp.java", - "excerpt" : "\n @OneToOne private User user;\n\n public Otp() {}\n\n public Otp(String otp, User user) { /* <=== */ \n this.otp = otp;\n this.user = user;\n }\n}" + "sample": "User user", + "lineNumber": 37, + "columnNumber": 26, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/Otp.java", + "excerpt": "\n @OneToOne private User user;\n\n public Otp() {}\n\n public Otp(String otp, User user) { /* <=== */ \n this.otp = otp;\n this.user = user;\n }\n}" }, { - "sample" : "user", - "lineNumber" : 39, - "columnNumber" : 17, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/Otp.java", - "excerpt" : "\n public Otp() {}\n\n public Otp(String otp, User user) {\n this.otp = otp;\n this.user = user; /* <=== com.crapi.entity.User */ \n }\n}" + "sample": "user", + "lineNumber": 39, + "columnNumber": 17, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/Otp.java", + "excerpt": "\n public Otp() {}\n\n public Otp(String otp, User user) {\n this.otp = otp;\n this.user = user; /* <=== com.crapi.entity.User */ \n }\n}" }, { - "sample" : "this.user", - "lineNumber" : 39, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/Otp.java", - "excerpt" : "\n public Otp() {}\n\n public Otp(String otp, User user) {\n this.otp = otp;\n this.user = user; /* <=== */ \n }\n}" + "sample": "this.user", + "lineNumber": 39, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/Otp.java", + "excerpt": "\n public Otp() {}\n\n public Otp(String otp, User user) {\n this.otp = otp;\n this.user = user; /* <=== */ \n }\n}" }, { - "sample" : "this", - "lineNumber" : 37, - "columnNumber" : -1, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/Otp.java", - "excerpt" : "\n @OneToOne private User user;\n\n public Otp() {}\n\n public Otp(String otp, User user) { /* <=== */ \n this.otp = otp;\n this.user = user;\n }\n}" + "sample": "this", + "lineNumber": 37, + "columnNumber": -1, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/Otp.java", + "excerpt": "\n @OneToOne private User user;\n\n public Otp() {}\n\n public Otp(String otp, User user) { /* <=== */ \n this.otp = otp;\n this.user = user;\n }\n}" }, { - "sample" : "checkOtpEnteryForUser", - "lineNumber" : 154, - "columnNumber" : 11, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " // Update existing object\n checkOtpEnteryForUser.setCount(0);\n checkOtpEnteryForUser.setOtp(otp);\n } else {\n // Create new OTP object\n checkOtpEnteryForUser = new Otp(otp, user); /* <=== com.crapi.entity.Otp */ \n }\n checkOtpEnteryForUser.setStatus(EStatus.ACTIVE.toString());\n // Save otp details in Database.\n otpRepository.save(checkOtpEnteryForUser);\n // Sent OTP mail to user email address." + "sample": "checkOtpEnteryForUser", + "lineNumber": 154, + "columnNumber": 11, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " // Update existing object\n checkOtpEnteryForUser.setCount(0);\n checkOtpEnteryForUser.setOtp(otp);\n } else {\n // Create new OTP object\n checkOtpEnteryForUser = new Otp(otp, user); /* <=== com.crapi.entity.Otp */ \n }\n checkOtpEnteryForUser.setStatus(EStatus.ACTIVE.toString());\n // Save otp details in Database.\n otpRepository.save(checkOtpEnteryForUser);\n // Sent OTP mail to user email address." }, { - "sample" : "checkOtpEnteryForUser", - "lineNumber" : 156, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " checkOtpEnteryForUser.setOtp(otp);\n } else {\n // Create new OTP object\n checkOtpEnteryForUser = new Otp(otp, user);\n }\n checkOtpEnteryForUser.setStatus(EStatus.ACTIVE.toString()); /* <=== com.crapi.entity.Otp */ \n // Save otp details in Database.\n otpRepository.save(checkOtpEnteryForUser);\n // Sent OTP mail to user email address.\n smtpMailServer.sendMail(\n user.getEmail(), MailBody.otpMailBody(checkOtpEnteryForUser), \"crAPI OTP\");" + "sample": "checkOtpEnteryForUser", + "lineNumber": 156, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " checkOtpEnteryForUser.setOtp(otp);\n } else {\n // Create new OTP object\n checkOtpEnteryForUser = new Otp(otp, user);\n }\n checkOtpEnteryForUser.setStatus(EStatus.ACTIVE.toString()); /* <=== com.crapi.entity.Otp */ \n // Save otp details in Database.\n otpRepository.save(checkOtpEnteryForUser);\n // Sent OTP mail to user email address.\n smtpMailServer.sendMail(\n user.getEmail(), MailBody.otpMailBody(checkOtpEnteryForUser), \"crAPI OTP\");" }, { - "sample" : "otpRepository.save(checkOtpEnteryForUser)", - "lineNumber" : 158, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " // Create new OTP object\n checkOtpEnteryForUser = new Otp(otp, user);\n }\n checkOtpEnteryForUser.setStatus(EStatus.ACTIVE.toString());\n // Save otp details in Database.\n otpRepository.save(checkOtpEnteryForUser); /* <=== com.crapi.repository.OtpRepository.save */ \n // Sent OTP mail to user email address.\n smtpMailServer.sendMail(\n user.getEmail(), MailBody.otpMailBody(checkOtpEnteryForUser), \"crAPI OTP\");\n return new CRAPIResponse(UserMessage.OTP_SEND_SUCCESS_ON_EMAIL + user.getEmail(), 200);\n }" + "sample": "otpRepository.save(checkOtpEnteryForUser)", + "lineNumber": 158, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " // Create new OTP object\n checkOtpEnteryForUser = new Otp(otp, user);\n }\n checkOtpEnteryForUser.setStatus(EStatus.ACTIVE.toString());\n // Save otp details in Database.\n otpRepository.save(checkOtpEnteryForUser); /* <=== com.crapi.repository.OtpRepository.save */ \n // Sent OTP mail to user email address.\n smtpMailServer.sendMail(\n user.getEmail(), MailBody.otpMailBody(checkOtpEnteryForUser), \"crAPI OTP\");\n return new CRAPIResponse(UserMessage.OTP_SEND_SUCCESS_ON_EMAIL + user.getEmail(), 200);\n }" } ] }, { - "pathId" : "7325-3674-3688-3686-21690-7320-7326", - "path" : [ + "pathId": "7325-3674-3688-3686-21690-7320-7326", + "path": [ { - "sample" : "java.lang.String password", - "lineNumber" : 36, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", - "excerpt" : " sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email;\n private String password; /* <=== 'password' is a member of 'com.crapi.entity.User' class */ \n private String number;\n\n @Column(length = 500)\n private String jwtToken;\n" + "sample": "java.lang.String password", + "lineNumber": 36, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", + "excerpt": " sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email;\n private String password; /* <=== 'password' is a member of 'com.crapi.entity.User' class */ \n private String number;\n\n @Column(length = 500)\n private String jwtToken;\n" }, { - "sample" : "user", - "lineNumber" : 106, - "columnNumber" : 86, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " if (profileVideo != null) {\n profileVideo.setVideo(file.getBytes());\n profileVideo.setConversion_params(conversionParam);\n profileVideo.setVideo_name(file.getOriginalFilename());\n } else {\n profileVideo = new ProfileVideo(file.getOriginalFilename(), file.getBytes(), user); /* <=== com.crapi.entity.User */ \n }\n profileVideoRepository.save(profileVideo);\n return profileVideo;\n } catch (IOException exception) {\n logger.error(\"unable to upload video -> Message: {} \", exception);" + "sample": "user", + "lineNumber": 106, + "columnNumber": 86, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " if (profileVideo != null) {\n profileVideo.setVideo(file.getBytes());\n profileVideo.setConversion_params(conversionParam);\n profileVideo.setVideo_name(file.getOriginalFilename());\n } else {\n profileVideo = new ProfileVideo(file.getOriginalFilename(), file.getBytes(), user); /* <=== com.crapi.entity.User */ \n }\n profileVideoRepository.save(profileVideo);\n return profileVideo;\n } catch (IOException exception) {\n logger.error(\"unable to upload video -> Message: {} \", exception);" }, { - "sample" : "User user", - "lineNumber" : 44, - "columnNumber" : 55, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", - "excerpt" : " this.video_name = video_name;\n this.user = user;\n }\n\n // constructor for new object\n public ProfileVideo(String video_name, byte[] file, User user) { /* <=== */ \n this.video_name = video_name;\n this.user = user;\n this.video = file;\n }\n" + "sample": "User user", + "lineNumber": 44, + "columnNumber": 55, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", + "excerpt": " this.video_name = video_name;\n this.user = user;\n }\n\n // constructor for new object\n public ProfileVideo(String video_name, byte[] file, User user) { /* <=== */ \n this.video_name = video_name;\n this.user = user;\n this.video = file;\n }\n" }, { - "sample" : "user", - "lineNumber" : 46, - "columnNumber" : 17, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", - "excerpt" : " }\n\n // constructor for new object\n public ProfileVideo(String video_name, byte[] file, User user) {\n this.video_name = video_name;\n this.user = user; /* <=== com.crapi.entity.User */ \n this.video = file;\n }\n\n public ProfileVideo() {}\n" + "sample": "user", + "lineNumber": 46, + "columnNumber": 17, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", + "excerpt": " }\n\n // constructor for new object\n public ProfileVideo(String video_name, byte[] file, User user) {\n this.video_name = video_name;\n this.user = user; /* <=== com.crapi.entity.User */ \n this.video = file;\n }\n\n public ProfileVideo() {}\n" }, { - "sample" : "this.user", - "lineNumber" : 46, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", - "excerpt" : " }\n\n // constructor for new object\n public ProfileVideo(String video_name, byte[] file, User user) {\n this.video_name = video_name;\n this.user = user; /* <=== */ \n this.video = file;\n }\n\n public ProfileVideo() {}\n" + "sample": "this.user", + "lineNumber": 46, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", + "excerpt": " }\n\n // constructor for new object\n public ProfileVideo(String video_name, byte[] file, User user) {\n this.video_name = video_name;\n this.user = user; /* <=== */ \n this.video = file;\n }\n\n public ProfileVideo() {}\n" }, { - "sample" : "this", - "lineNumber" : 44, - "columnNumber" : -1, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", - "excerpt" : " this.video_name = video_name;\n this.user = user;\n }\n\n // constructor for new object\n public ProfileVideo(String video_name, byte[] file, User user) { /* <=== */ \n this.video_name = video_name;\n this.user = user;\n this.video = file;\n }\n" + "sample": "this", + "lineNumber": 44, + "columnNumber": -1, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", + "excerpt": " this.video_name = video_name;\n this.user = user;\n }\n\n // constructor for new object\n public ProfileVideo(String video_name, byte[] file, User user) { /* <=== */ \n this.video_name = video_name;\n this.user = user;\n this.video = file;\n }\n" }, { - "sample" : "profileVideo", - "lineNumber" : 106, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " if (profileVideo != null) {\n profileVideo.setVideo(file.getBytes());\n profileVideo.setConversion_params(conversionParam);\n profileVideo.setVideo_name(file.getOriginalFilename());\n } else {\n profileVideo = new ProfileVideo(file.getOriginalFilename(), file.getBytes(), user); /* <=== com.crapi.entity.ProfileVideo */ \n }\n profileVideoRepository.save(profileVideo);\n return profileVideo;\n } catch (IOException exception) {\n logger.error(\"unable to upload video -> Message: {} \", exception);" + "sample": "profileVideo", + "lineNumber": 106, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " if (profileVideo != null) {\n profileVideo.setVideo(file.getBytes());\n profileVideo.setConversion_params(conversionParam);\n profileVideo.setVideo_name(file.getOriginalFilename());\n } else {\n profileVideo = new ProfileVideo(file.getOriginalFilename(), file.getBytes(), user); /* <=== com.crapi.entity.ProfileVideo */ \n }\n profileVideoRepository.save(profileVideo);\n return profileVideo;\n } catch (IOException exception) {\n logger.error(\"unable to upload video -> Message: {} \", exception);" }, { - "sample" : "profileVideoRepository.save(profileVideo)", - "lineNumber" : 108, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " profileVideo.setConversion_params(conversionParam);\n profileVideo.setVideo_name(file.getOriginalFilename());\n } else {\n profileVideo = new ProfileVideo(file.getOriginalFilename(), file.getBytes(), user);\n }\n profileVideoRepository.save(profileVideo); /* <=== com.crapi.repository.ProfileVideoRepository.save */ \n return profileVideo;\n } catch (IOException exception) {\n logger.error(\"unable to upload video -> Message: {} \", exception);\n throw new IOExceptionHandler(ProfileServiceImpl.class, UserMessage.CUSTOM_IO_EXCEPTION);\n }" + "sample": "profileVideoRepository.save(profileVideo)", + "lineNumber": 108, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " profileVideo.setConversion_params(conversionParam);\n profileVideo.setVideo_name(file.getOriginalFilename());\n } else {\n profileVideo = new ProfileVideo(file.getOriginalFilename(), file.getBytes(), user);\n }\n profileVideoRepository.save(profileVideo); /* <=== com.crapi.repository.ProfileVideoRepository.save */ \n return profileVideo;\n } catch (IOException exception) {\n logger.error(\"unable to upload video -> Message: {} \", exception);\n throw new IOExceptionHandler(ProfileServiceImpl.class, UserMessage.CUSTOM_IO_EXCEPTION);\n }" } ] }, { - "pathId" : "9746-9771-9770-9773-9781-9777", - "path" : [ + "pathId": "9746-9771-9770-9773-9781-9777", + "path": [ { - "sample" : "java.lang.String password", - "lineNumber" : 36, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", - "excerpt" : " sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email;\n private String password; /* <=== 'password' is a member of 'com.crapi.entity.User' class */ \n private String number;\n\n @Column(length = 500)\n private String jwtToken;\n" + "sample": "java.lang.String password", + "lineNumber": 36, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", + "excerpt": " sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email;\n private String password; /* <=== 'password' is a member of 'com.crapi.entity.User' class */ \n private String number;\n\n @Column(length = 500)\n private String jwtToken;\n" }, { - "sample" : "user", - "lineNumber" : 184, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " @Override\n public CRAPIResponse checkVehicle(VehicleForm vehicleForm, HttpServletRequest request) {\n VehicleDetails checkVehicle = null;\n User user = null;\n checkVehicle = vehicleDetailsRepository.findByVin(vehicleForm.getVin());\n user = userService.getUserFromToken(request); /* <=== com.crapi.entity.User */ \n if (checkVehicle != null && checkVehicle.getOwner() == null) {\n if (checkVehicle.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n checkVehicle.setOwner(user);\n checkVehicle.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(checkVehicle);" + "sample": "user", + "lineNumber": 184, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " @Override\n public CRAPIResponse checkVehicle(VehicleForm vehicleForm, HttpServletRequest request) {\n VehicleDetails checkVehicle = null;\n User user = null;\n checkVehicle = vehicleDetailsRepository.findByVin(vehicleForm.getVin());\n user = userService.getUserFromToken(request); /* <=== com.crapi.entity.User */ \n if (checkVehicle != null && checkVehicle.getOwner() == null) {\n if (checkVehicle.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n checkVehicle.setOwner(user);\n checkVehicle.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(checkVehicle);" }, { - "sample" : "user", - "lineNumber" : 187, - "columnNumber" : 31, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " User user = null;\n checkVehicle = vehicleDetailsRepository.findByVin(vehicleForm.getVin());\n user = userService.getUserFromToken(request);\n if (checkVehicle != null && checkVehicle.getOwner() == null) {\n if (checkVehicle.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n checkVehicle.setOwner(user); /* <=== com.crapi.entity.User */ \n checkVehicle.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(checkVehicle);\n logger.info(\"Success Owner updated in vehicle details\");\n return new CRAPIResponse(UserMessage.VEHICLE_SAVED_SUCCESSFULLY, 200);\n }" + "sample": "user", + "lineNumber": 187, + "columnNumber": 31, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " User user = null;\n checkVehicle = vehicleDetailsRepository.findByVin(vehicleForm.getVin());\n user = userService.getUserFromToken(request);\n if (checkVehicle != null && checkVehicle.getOwner() == null) {\n if (checkVehicle.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n checkVehicle.setOwner(user); /* <=== com.crapi.entity.User */ \n checkVehicle.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(checkVehicle);\n logger.info(\"Success Owner updated in vehicle details\");\n return new CRAPIResponse(UserMessage.VEHICLE_SAVED_SUCCESSFULLY, 200);\n }" }, { - "sample" : "checkVehicle", - "lineNumber" : 187, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " User user = null;\n checkVehicle = vehicleDetailsRepository.findByVin(vehicleForm.getVin());\n user = userService.getUserFromToken(request);\n if (checkVehicle != null && checkVehicle.getOwner() == null) {\n if (checkVehicle.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n checkVehicle.setOwner(user); /* <=== com.crapi.entity.VehicleDetails */ \n checkVehicle.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(checkVehicle);\n logger.info(\"Success Owner updated in vehicle details\");\n return new CRAPIResponse(UserMessage.VEHICLE_SAVED_SUCCESSFULLY, 200);\n }" + "sample": "checkVehicle", + "lineNumber": 187, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " User user = null;\n checkVehicle = vehicleDetailsRepository.findByVin(vehicleForm.getVin());\n user = userService.getUserFromToken(request);\n if (checkVehicle != null && checkVehicle.getOwner() == null) {\n if (checkVehicle.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n checkVehicle.setOwner(user); /* <=== com.crapi.entity.VehicleDetails */ \n checkVehicle.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(checkVehicle);\n logger.info(\"Success Owner updated in vehicle details\");\n return new CRAPIResponse(UserMessage.VEHICLE_SAVED_SUCCESSFULLY, 200);\n }" }, { - "sample" : "checkVehicle", - "lineNumber" : 188, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " checkVehicle = vehicleDetailsRepository.findByVin(vehicleForm.getVin());\n user = userService.getUserFromToken(request);\n if (checkVehicle != null && checkVehicle.getOwner() == null) {\n if (checkVehicle.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n checkVehicle.setOwner(user);\n checkVehicle.setStatus(EStatus.INACTIVE); /* <=== com.crapi.entity.VehicleDetails */ \n vehicleDetailsRepository.save(checkVehicle);\n logger.info(\"Success Owner updated in vehicle details\");\n return new CRAPIResponse(UserMessage.VEHICLE_SAVED_SUCCESSFULLY, 200);\n }\n }" + "sample": "checkVehicle", + "lineNumber": 188, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " checkVehicle = vehicleDetailsRepository.findByVin(vehicleForm.getVin());\n user = userService.getUserFromToken(request);\n if (checkVehicle != null && checkVehicle.getOwner() == null) {\n if (checkVehicle.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n checkVehicle.setOwner(user);\n checkVehicle.setStatus(EStatus.INACTIVE); /* <=== com.crapi.entity.VehicleDetails */ \n vehicleDetailsRepository.save(checkVehicle);\n logger.info(\"Success Owner updated in vehicle details\");\n return new CRAPIResponse(UserMessage.VEHICLE_SAVED_SUCCESSFULLY, 200);\n }\n }" }, { - "sample" : "checkVehicle", - "lineNumber" : 189, - "columnNumber" : 39, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " user = userService.getUserFromToken(request);\n if (checkVehicle != null && checkVehicle.getOwner() == null) {\n if (checkVehicle.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n checkVehicle.setOwner(user);\n checkVehicle.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(checkVehicle); /* <=== com.crapi.entity.VehicleDetails */ \n logger.info(\"Success Owner updated in vehicle details\");\n return new CRAPIResponse(UserMessage.VEHICLE_SAVED_SUCCESSFULLY, 200);\n }\n }\n return new CRAPIResponse(UserMessage.VEHICLE_ALREADY_CREATED, 403);" + "sample": "checkVehicle", + "lineNumber": 189, + "columnNumber": 39, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " user = userService.getUserFromToken(request);\n if (checkVehicle != null && checkVehicle.getOwner() == null) {\n if (checkVehicle.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n checkVehicle.setOwner(user);\n checkVehicle.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(checkVehicle); /* <=== com.crapi.entity.VehicleDetails */ \n logger.info(\"Success Owner updated in vehicle details\");\n return new CRAPIResponse(UserMessage.VEHICLE_SAVED_SUCCESSFULLY, 200);\n }\n }\n return new CRAPIResponse(UserMessage.VEHICLE_ALREADY_CREATED, 403);" }, { - "sample" : "vehicleDetailsRepository.save(checkVehicle)", - "lineNumber" : 189, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " user = userService.getUserFromToken(request);\n if (checkVehicle != null && checkVehicle.getOwner() == null) {\n if (checkVehicle.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n checkVehicle.setOwner(user);\n checkVehicle.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(checkVehicle); /* <=== com.crapi.repository.VehicleDetailsRepository.save */ \n logger.info(\"Success Owner updated in vehicle details\");\n return new CRAPIResponse(UserMessage.VEHICLE_SAVED_SUCCESSFULLY, 200);\n }\n }\n return new CRAPIResponse(UserMessage.VEHICLE_ALREADY_CREATED, 403);" + "sample": "vehicleDetailsRepository.save(checkVehicle)", + "lineNumber": 189, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " user = userService.getUserFromToken(request);\n if (checkVehicle != null && checkVehicle.getOwner() == null) {\n if (checkVehicle.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n checkVehicle.setOwner(user);\n checkVehicle.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(checkVehicle); /* <=== com.crapi.repository.VehicleDetailsRepository.save */ \n logger.info(\"Success Owner updated in vehicle details\");\n return new CRAPIResponse(UserMessage.VEHICLE_SAVED_SUCCESSFULLY, 200);\n }\n }\n return new CRAPIResponse(UserMessage.VEHICLE_ALREADY_CREATED, 403);" } ] }, { - "pathId" : "9024-9023-9067-8795-8794-8803-8799-8798-8806-8823-8826-8830-8840-8836", - "path" : [ + "pathId": "9024-9023-9067-8795-8794-8803-8799-8798-8806-8823-8826-8830-8840-8836", + "path": [ { - "sample" : "java.lang.String password", - "lineNumber" : 36, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", - "excerpt" : " sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email;\n private String password; /* <=== 'password' is a member of 'com.crapi.entity.User' class */ \n private String number;\n\n @Column(length = 500)\n private String jwtToken;\n" + "sample": "java.lang.String password", + "lineNumber": 36, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", + "excerpt": " sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email;\n private String password; /* <=== 'password' is a member of 'com.crapi.entity.User' class */ \n private String number;\n\n @Column(length = 500)\n private String jwtToken;\n" }, { - "sample" : "user", - "lineNumber" : 302, - "columnNumber" : 16, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n if (user != null) {\n return user; /* <=== com.crapi.entity.User */ \n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {\n logger.error(\"fail to get username from token -> Message:%d\", exception);" + "sample": "user", + "lineNumber": 302, + "columnNumber": 16, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n if (user != null) {\n return user; /* <=== com.crapi.entity.User */ \n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {\n logger.error(\"fail to get username from token -> Message:%d\", exception);" }, { - "sample" : "return user;", - "lineNumber" : 302, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n if (user != null) {\n return user; /* <=== */ \n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {\n logger.error(\"fail to get username from token -> Message:%d\", exception);" + "sample": "return user;", + "lineNumber": 302, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n if (user != null) {\n return user; /* <=== */ \n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {\n logger.error(\"fail to get username from token -> Message:%d\", exception);" }, { - "sample" : "com.crapi.entity.User", - "lineNumber" : 293, - "columnNumber" : 10, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " * @param request request getting jwt token for user from request header\n * @return User object from token throw entity not found if user not found.\n */\n @Transactional\n @Override\n public User getUserFromToken(HttpServletRequest request) { /* <=== */ \n User user = null;\n String username = null;\n try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {" + "sample": "com.crapi.entity.User", + "lineNumber": 293, + "columnNumber": 10, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " * @param request request getting jwt token for user from request header\n * @return User object from token throw entity not found if user not found.\n */\n @Transactional\n @Override\n public User getUserFromToken(HttpServletRequest request) { /* <=== */ \n User user = null;\n String username = null;\n try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {" }, { - "sample" : "this.getUserFromToken(request)", - "lineNumber" : 231, - "columnNumber" : 12, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " if (!userRepository.existsByEmail(changeEmailForm.getOld_email())) {\n return new CRAPIResponse(\n UserMessage.EMAIL_NOT_REGISTERED + changeEmailForm.getOld_email(), 404);\n }\n token = emailTokenGenerator.generateRandom(10);\n user = getUserFromToken(request); /* <=== com.crapi.service.Impl.UserServiceImpl.getUserFromToken */ \n // fetching ChangeEmail Data for user\n changeEmailRequest = changeEmailRepository.findByUser(user);\n if (changeEmailRequest == null) {\n // Creating new object if changeEmail data for user is not in database\n changeEmailRequest =" + "sample": "this.getUserFromToken(request)", + "lineNumber": 231, + "columnNumber": 12, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " if (!userRepository.existsByEmail(changeEmailForm.getOld_email())) {\n return new CRAPIResponse(\n UserMessage.EMAIL_NOT_REGISTERED + changeEmailForm.getOld_email(), 404);\n }\n token = emailTokenGenerator.generateRandom(10);\n user = getUserFromToken(request); /* <=== com.crapi.service.Impl.UserServiceImpl.getUserFromToken */ \n // fetching ChangeEmail Data for user\n changeEmailRequest = changeEmailRepository.findByUser(user);\n if (changeEmailRequest == null) {\n // Creating new object if changeEmail data for user is not in database\n changeEmailRequest =" }, { - "sample" : "user", - "lineNumber" : 231, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " if (!userRepository.existsByEmail(changeEmailForm.getOld_email())) {\n return new CRAPIResponse(\n UserMessage.EMAIL_NOT_REGISTERED + changeEmailForm.getOld_email(), 404);\n }\n token = emailTokenGenerator.generateRandom(10);\n user = getUserFromToken(request); /* <=== com.crapi.entity.User */ \n // fetching ChangeEmail Data for user\n changeEmailRequest = changeEmailRepository.findByUser(user);\n if (changeEmailRequest == null) {\n // Creating new object if changeEmail data for user is not in database\n changeEmailRequest =" + "sample": "user", + "lineNumber": 231, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " if (!userRepository.existsByEmail(changeEmailForm.getOld_email())) {\n return new CRAPIResponse(\n UserMessage.EMAIL_NOT_REGISTERED + changeEmailForm.getOld_email(), 404);\n }\n token = emailTokenGenerator.generateRandom(10);\n user = getUserFromToken(request); /* <=== com.crapi.entity.User */ \n // fetching ChangeEmail Data for user\n changeEmailRequest = changeEmailRepository.findByUser(user);\n if (changeEmailRequest == null) {\n // Creating new object if changeEmail data for user is not in database\n changeEmailRequest =" }, { - "sample" : "user", - "lineNumber" : 233, - "columnNumber" : 59, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " UserMessage.EMAIL_NOT_REGISTERED + changeEmailForm.getOld_email(), 404);\n }\n token = emailTokenGenerator.generateRandom(10);\n user = getUserFromToken(request);\n // fetching ChangeEmail Data for user\n changeEmailRequest = changeEmailRepository.findByUser(user); /* <=== com.crapi.entity.User */ \n if (changeEmailRequest == null) {\n // Creating new object if changeEmail data for user is not in database\n changeEmailRequest =\n new ChangeEmailRequest(\n changeEmailForm.getNew_email(), changeEmailForm.getOld_email(), token, user);" + "sample": "user", + "lineNumber": 233, + "columnNumber": 59, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " UserMessage.EMAIL_NOT_REGISTERED + changeEmailForm.getOld_email(), 404);\n }\n token = emailTokenGenerator.generateRandom(10);\n user = getUserFromToken(request);\n // fetching ChangeEmail Data for user\n changeEmailRequest = changeEmailRepository.findByUser(user); /* <=== com.crapi.entity.User */ \n if (changeEmailRequest == null) {\n // Creating new object if changeEmail data for user is not in database\n changeEmailRequest =\n new ChangeEmailRequest(\n changeEmailForm.getNew_email(), changeEmailForm.getOld_email(), token, user);" }, { - "sample" : "changeEmailRepository.findByUser(user)", - "lineNumber" : 233, - "columnNumber" : 26, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " UserMessage.EMAIL_NOT_REGISTERED + changeEmailForm.getOld_email(), 404);\n }\n token = emailTokenGenerator.generateRandom(10);\n user = getUserFromToken(request);\n // fetching ChangeEmail Data for user\n changeEmailRequest = changeEmailRepository.findByUser(user); /* <=== com.crapi.repository.ChangeEmailRepository.findByUser */ \n if (changeEmailRequest == null) {\n // Creating new object if changeEmail data for user is not in database\n changeEmailRequest =\n new ChangeEmailRequest(\n changeEmailForm.getNew_email(), changeEmailForm.getOld_email(), token, user);" + "sample": "changeEmailRepository.findByUser(user)", + "lineNumber": 233, + "columnNumber": 26, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " UserMessage.EMAIL_NOT_REGISTERED + changeEmailForm.getOld_email(), 404);\n }\n token = emailTokenGenerator.generateRandom(10);\n user = getUserFromToken(request);\n // fetching ChangeEmail Data for user\n changeEmailRequest = changeEmailRepository.findByUser(user); /* <=== com.crapi.repository.ChangeEmailRepository.findByUser */ \n if (changeEmailRequest == null) {\n // Creating new object if changeEmail data for user is not in database\n changeEmailRequest =\n new ChangeEmailRequest(\n changeEmailForm.getNew_email(), changeEmailForm.getOld_email(), token, user);" }, { - "sample" : "changeEmailRequest", - "lineNumber" : 233, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " UserMessage.EMAIL_NOT_REGISTERED + changeEmailForm.getOld_email(), 404);\n }\n token = emailTokenGenerator.generateRandom(10);\n user = getUserFromToken(request);\n // fetching ChangeEmail Data for user\n changeEmailRequest = changeEmailRepository.findByUser(user); /* <=== com.crapi.entity.ChangeEmailRequest */ \n if (changeEmailRequest == null) {\n // Creating new object if changeEmail data for user is not in database\n changeEmailRequest =\n new ChangeEmailRequest(\n changeEmailForm.getNew_email(), changeEmailForm.getOld_email(), token, user);" + "sample": "changeEmailRequest", + "lineNumber": 233, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " UserMessage.EMAIL_NOT_REGISTERED + changeEmailForm.getOld_email(), 404);\n }\n token = emailTokenGenerator.generateRandom(10);\n user = getUserFromToken(request);\n // fetching ChangeEmail Data for user\n changeEmailRequest = changeEmailRepository.findByUser(user); /* <=== com.crapi.entity.ChangeEmailRequest */ \n if (changeEmailRequest == null) {\n // Creating new object if changeEmail data for user is not in database\n changeEmailRequest =\n new ChangeEmailRequest(\n changeEmailForm.getNew_email(), changeEmailForm.getOld_email(), token, user);" }, { - "sample" : "changeEmailRequest", - "lineNumber" : 234, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " }\n token = emailTokenGenerator.generateRandom(10);\n user = getUserFromToken(request);\n // fetching ChangeEmail Data for user\n changeEmailRequest = changeEmailRepository.findByUser(user);\n if (changeEmailRequest == null) { /* <=== com.crapi.entity.ChangeEmailRequest */ \n // Creating new object if changeEmail data for user is not in database\n changeEmailRequest =\n new ChangeEmailRequest(\n changeEmailForm.getNew_email(), changeEmailForm.getOld_email(), token, user);\n } else {" + "sample": "changeEmailRequest", + "lineNumber": 234, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " }\n token = emailTokenGenerator.generateRandom(10);\n user = getUserFromToken(request);\n // fetching ChangeEmail Data for user\n changeEmailRequest = changeEmailRepository.findByUser(user);\n if (changeEmailRequest == null) { /* <=== com.crapi.entity.ChangeEmailRequest */ \n // Creating new object if changeEmail data for user is not in database\n changeEmailRequest =\n new ChangeEmailRequest(\n changeEmailForm.getNew_email(), changeEmailForm.getOld_email(), token, user);\n } else {" }, { - "sample" : "changeEmailRequest", - "lineNumber" : 241, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " changeEmailRequest =\n new ChangeEmailRequest(\n changeEmailForm.getNew_email(), changeEmailForm.getOld_email(), token, user);\n } else {\n // updating the existing changeEmail data for user\n changeEmailRequest.setEmailToken(token); /* <=== com.crapi.entity.ChangeEmailRequest */ \n changeEmailRequest.setNewEmail(changeEmailForm.getNew_email());\n changeEmailRequest.setOldEmail(changeEmailForm.getOld_email());\n }\n changeEmailForm.setToken(token);\n changeEmailRepository.save(changeEmailRequest);" + "sample": "changeEmailRequest", + "lineNumber": 241, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " changeEmailRequest =\n new ChangeEmailRequest(\n changeEmailForm.getNew_email(), changeEmailForm.getOld_email(), token, user);\n } else {\n // updating the existing changeEmail data for user\n changeEmailRequest.setEmailToken(token); /* <=== com.crapi.entity.ChangeEmailRequest */ \n changeEmailRequest.setNewEmail(changeEmailForm.getNew_email());\n changeEmailRequest.setOldEmail(changeEmailForm.getOld_email());\n }\n changeEmailForm.setToken(token);\n changeEmailRepository.save(changeEmailRequest);" }, { - "sample" : "changeEmailRequest", - "lineNumber" : 242, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " new ChangeEmailRequest(\n changeEmailForm.getNew_email(), changeEmailForm.getOld_email(), token, user);\n } else {\n // updating the existing changeEmail data for user\n changeEmailRequest.setEmailToken(token);\n changeEmailRequest.setNewEmail(changeEmailForm.getNew_email()); /* <=== com.crapi.entity.ChangeEmailRequest */ \n changeEmailRequest.setOldEmail(changeEmailForm.getOld_email());\n }\n changeEmailForm.setToken(token);\n changeEmailRepository.save(changeEmailRequest);\n smtpMailServer.sendMail(" + "sample": "changeEmailRequest", + "lineNumber": 242, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " new ChangeEmailRequest(\n changeEmailForm.getNew_email(), changeEmailForm.getOld_email(), token, user);\n } else {\n // updating the existing changeEmail data for user\n changeEmailRequest.setEmailToken(token);\n changeEmailRequest.setNewEmail(changeEmailForm.getNew_email()); /* <=== com.crapi.entity.ChangeEmailRequest */ \n changeEmailRequest.setOldEmail(changeEmailForm.getOld_email());\n }\n changeEmailForm.setToken(token);\n changeEmailRepository.save(changeEmailRequest);\n smtpMailServer.sendMail(" }, { - "sample" : "changeEmailRequest", - "lineNumber" : 243, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " changeEmailForm.getNew_email(), changeEmailForm.getOld_email(), token, user);\n } else {\n // updating the existing changeEmail data for user\n changeEmailRequest.setEmailToken(token);\n changeEmailRequest.setNewEmail(changeEmailForm.getNew_email());\n changeEmailRequest.setOldEmail(changeEmailForm.getOld_email()); /* <=== com.crapi.entity.ChangeEmailRequest */ \n }\n changeEmailForm.setToken(token);\n changeEmailRepository.save(changeEmailRequest);\n smtpMailServer.sendMail(\n changeEmailForm.getNew_email()," + "sample": "changeEmailRequest", + "lineNumber": 243, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " changeEmailForm.getNew_email(), changeEmailForm.getOld_email(), token, user);\n } else {\n // updating the existing changeEmail data for user\n changeEmailRequest.setEmailToken(token);\n changeEmailRequest.setNewEmail(changeEmailForm.getNew_email());\n changeEmailRequest.setOldEmail(changeEmailForm.getOld_email()); /* <=== com.crapi.entity.ChangeEmailRequest */ \n }\n changeEmailForm.setToken(token);\n changeEmailRepository.save(changeEmailRequest);\n smtpMailServer.sendMail(\n changeEmailForm.getNew_email()," }, { - "sample" : "changeEmailRequest", - "lineNumber" : 246, - "columnNumber" : 32, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " changeEmailRequest.setEmailToken(token);\n changeEmailRequest.setNewEmail(changeEmailForm.getNew_email());\n changeEmailRequest.setOldEmail(changeEmailForm.getOld_email());\n }\n changeEmailForm.setToken(token);\n changeEmailRepository.save(changeEmailRequest); /* <=== com.crapi.entity.ChangeEmailRequest */ \n smtpMailServer.sendMail(\n changeEmailForm.getNew_email(),\n MailBody.changeMailBody(changeEmailForm),\n \"crAPI: Change Email Token\");\n return new CRAPIResponse(" + "sample": "changeEmailRequest", + "lineNumber": 246, + "columnNumber": 32, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " changeEmailRequest.setEmailToken(token);\n changeEmailRequest.setNewEmail(changeEmailForm.getNew_email());\n changeEmailRequest.setOldEmail(changeEmailForm.getOld_email());\n }\n changeEmailForm.setToken(token);\n changeEmailRepository.save(changeEmailRequest); /* <=== com.crapi.entity.ChangeEmailRequest */ \n smtpMailServer.sendMail(\n changeEmailForm.getNew_email(),\n MailBody.changeMailBody(changeEmailForm),\n \"crAPI: Change Email Token\");\n return new CRAPIResponse(" }, { - "sample" : "changeEmailRepository.save(changeEmailRequest)", - "lineNumber" : 246, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " changeEmailRequest.setEmailToken(token);\n changeEmailRequest.setNewEmail(changeEmailForm.getNew_email());\n changeEmailRequest.setOldEmail(changeEmailForm.getOld_email());\n }\n changeEmailForm.setToken(token);\n changeEmailRepository.save(changeEmailRequest); /* <=== com.crapi.repository.ChangeEmailRepository.save */ \n smtpMailServer.sendMail(\n changeEmailForm.getNew_email(),\n MailBody.changeMailBody(changeEmailForm),\n \"crAPI: Change Email Token\");\n return new CRAPIResponse(" + "sample": "changeEmailRepository.save(changeEmailRequest)", + "lineNumber": 246, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " changeEmailRequest.setEmailToken(token);\n changeEmailRequest.setNewEmail(changeEmailForm.getNew_email());\n changeEmailRequest.setOldEmail(changeEmailForm.getOld_email());\n }\n changeEmailForm.setToken(token);\n changeEmailRepository.save(changeEmailRequest); /* <=== com.crapi.repository.ChangeEmailRepository.save */ \n smtpMailServer.sendMail(\n changeEmailForm.getNew_email(),\n MailBody.changeMailBody(changeEmailForm),\n \"crAPI: Change Email Token\");\n return new CRAPIResponse(" } ] }, { - "pathId" : "9024-9023-9067-8887-8886-8897-8909-8913-8919-8915", - "path" : [ + "pathId": "9024-9023-9067-8887-8886-8897-8909-8913-8919-8915", + "path": [ { - "sample" : "java.lang.String password", - "lineNumber" : 36, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", - "excerpt" : " sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email;\n private String password; /* <=== 'password' is a member of 'com.crapi.entity.User' class */ \n private String number;\n\n @Column(length = 500)\n private String jwtToken;\n" + "sample": "java.lang.String password", + "lineNumber": 36, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", + "excerpt": " sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email;\n private String password; /* <=== 'password' is a member of 'com.crapi.entity.User' class */ \n private String number;\n\n @Column(length = 500)\n private String jwtToken;\n" }, { - "sample" : "user", - "lineNumber" : 302, - "columnNumber" : 16, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n if (user != null) {\n return user; /* <=== com.crapi.entity.User */ \n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {\n logger.error(\"fail to get username from token -> Message:%d\", exception);" + "sample": "user", + "lineNumber": 302, + "columnNumber": 16, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n if (user != null) {\n return user; /* <=== com.crapi.entity.User */ \n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {\n logger.error(\"fail to get username from token -> Message:%d\", exception);" }, { - "sample" : "return user;", - "lineNumber" : 302, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n if (user != null) {\n return user; /* <=== */ \n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {\n logger.error(\"fail to get username from token -> Message:%d\", exception);" + "sample": "return user;", + "lineNumber": 302, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n if (user != null) {\n return user; /* <=== */ \n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {\n logger.error(\"fail to get username from token -> Message:%d\", exception);" }, { - "sample" : "com.crapi.entity.User", - "lineNumber" : 293, - "columnNumber" : 10, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " * @param request request getting jwt token for user from request header\n * @return User object from token throw entity not found if user not found.\n */\n @Transactional\n @Override\n public User getUserFromToken(HttpServletRequest request) { /* <=== */ \n User user = null;\n String username = null;\n try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {" + "sample": "com.crapi.entity.User", + "lineNumber": 293, + "columnNumber": 10, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " * @param request request getting jwt token for user from request header\n * @return User object from token throw entity not found if user not found.\n */\n @Transactional\n @Override\n public User getUserFromToken(HttpServletRequest request) { /* <=== */ \n User user = null;\n String username = null;\n try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {" }, { - "sample" : "this.getUserFromToken(request)", - "lineNumber" : 269, - "columnNumber" : 12, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " public CRAPIResponse verifyEmailToken(\n HttpServletRequest request, ChangeEmailForm changeEmailForm) {\n ChangeEmailRequest changeEmailRequest;\n User user;\n changeEmailRequest = changeEmailRepository.findByEmailToken(changeEmailForm.getToken());\n user = getUserFromToken(request); /* <=== com.crapi.service.Impl.UserServiceImpl.getUserFromToken */ \n if (changeEmailRequest != null) {\n if (user.getEmail().equalsIgnoreCase(changeEmailRequest.getOldEmail())) {\n if (changeEmailRequest.getNewEmail().equalsIgnoreCase(changeEmailForm.getNew_email())) {\n user.setEmail(changeEmailRequest.getNewEmail());\n user.setJwtToken(\"\");" + "sample": "this.getUserFromToken(request)", + "lineNumber": 269, + "columnNumber": 12, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " public CRAPIResponse verifyEmailToken(\n HttpServletRequest request, ChangeEmailForm changeEmailForm) {\n ChangeEmailRequest changeEmailRequest;\n User user;\n changeEmailRequest = changeEmailRepository.findByEmailToken(changeEmailForm.getToken());\n user = getUserFromToken(request); /* <=== com.crapi.service.Impl.UserServiceImpl.getUserFromToken */ \n if (changeEmailRequest != null) {\n if (user.getEmail().equalsIgnoreCase(changeEmailRequest.getOldEmail())) {\n if (changeEmailRequest.getNewEmail().equalsIgnoreCase(changeEmailForm.getNew_email())) {\n user.setEmail(changeEmailRequest.getNewEmail());\n user.setJwtToken(\"\");" }, { - "sample" : "user", - "lineNumber" : 269, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " public CRAPIResponse verifyEmailToken(\n HttpServletRequest request, ChangeEmailForm changeEmailForm) {\n ChangeEmailRequest changeEmailRequest;\n User user;\n changeEmailRequest = changeEmailRepository.findByEmailToken(changeEmailForm.getToken());\n user = getUserFromToken(request); /* <=== com.crapi.entity.User */ \n if (changeEmailRequest != null) {\n if (user.getEmail().equalsIgnoreCase(changeEmailRequest.getOldEmail())) {\n if (changeEmailRequest.getNewEmail().equalsIgnoreCase(changeEmailForm.getNew_email())) {\n user.setEmail(changeEmailRequest.getNewEmail());\n user.setJwtToken(\"\");" + "sample": "user", + "lineNumber": 269, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " public CRAPIResponse verifyEmailToken(\n HttpServletRequest request, ChangeEmailForm changeEmailForm) {\n ChangeEmailRequest changeEmailRequest;\n User user;\n changeEmailRequest = changeEmailRepository.findByEmailToken(changeEmailForm.getToken());\n user = getUserFromToken(request); /* <=== com.crapi.entity.User */ \n if (changeEmailRequest != null) {\n if (user.getEmail().equalsIgnoreCase(changeEmailRequest.getOldEmail())) {\n if (changeEmailRequest.getNewEmail().equalsIgnoreCase(changeEmailForm.getNew_email())) {\n user.setEmail(changeEmailRequest.getNewEmail());\n user.setJwtToken(\"\");" }, { - "sample" : "user", - "lineNumber" : 271, - "columnNumber" : 11, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " ChangeEmailRequest changeEmailRequest;\n User user;\n changeEmailRequest = changeEmailRepository.findByEmailToken(changeEmailForm.getToken());\n user = getUserFromToken(request);\n if (changeEmailRequest != null) {\n if (user.getEmail().equalsIgnoreCase(changeEmailRequest.getOldEmail())) { /* <=== com.crapi.entity.User */ \n if (changeEmailRequest.getNewEmail().equalsIgnoreCase(changeEmailForm.getNew_email())) {\n user.setEmail(changeEmailRequest.getNewEmail());\n user.setJwtToken(\"\");\n userRepository.save(user);\n return new CRAPIResponse(UserMessage.EMAIL_CHANGE_SUCCESSFUL, 200);" + "sample": "user", + "lineNumber": 271, + "columnNumber": 11, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " ChangeEmailRequest changeEmailRequest;\n User user;\n changeEmailRequest = changeEmailRepository.findByEmailToken(changeEmailForm.getToken());\n user = getUserFromToken(request);\n if (changeEmailRequest != null) {\n if (user.getEmail().equalsIgnoreCase(changeEmailRequest.getOldEmail())) { /* <=== com.crapi.entity.User */ \n if (changeEmailRequest.getNewEmail().equalsIgnoreCase(changeEmailForm.getNew_email())) {\n user.setEmail(changeEmailRequest.getNewEmail());\n user.setJwtToken(\"\");\n userRepository.save(user);\n return new CRAPIResponse(UserMessage.EMAIL_CHANGE_SUCCESSFUL, 200);" }, { - "sample" : "user", - "lineNumber" : 273, - "columnNumber" : 11, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " changeEmailRequest = changeEmailRepository.findByEmailToken(changeEmailForm.getToken());\n user = getUserFromToken(request);\n if (changeEmailRequest != null) {\n if (user.getEmail().equalsIgnoreCase(changeEmailRequest.getOldEmail())) {\n if (changeEmailRequest.getNewEmail().equalsIgnoreCase(changeEmailForm.getNew_email())) {\n user.setEmail(changeEmailRequest.getNewEmail()); /* <=== com.crapi.entity.User */ \n user.setJwtToken(\"\");\n userRepository.save(user);\n return new CRAPIResponse(UserMessage.EMAIL_CHANGE_SUCCESSFUL, 200);\n } else {\n return new CRAPIResponse(UserMessage.NEW_MAIL_DOES_NOT_BELONG, 500);" + "sample": "user", + "lineNumber": 273, + "columnNumber": 11, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " changeEmailRequest = changeEmailRepository.findByEmailToken(changeEmailForm.getToken());\n user = getUserFromToken(request);\n if (changeEmailRequest != null) {\n if (user.getEmail().equalsIgnoreCase(changeEmailRequest.getOldEmail())) {\n if (changeEmailRequest.getNewEmail().equalsIgnoreCase(changeEmailForm.getNew_email())) {\n user.setEmail(changeEmailRequest.getNewEmail()); /* <=== com.crapi.entity.User */ \n user.setJwtToken(\"\");\n userRepository.save(user);\n return new CRAPIResponse(UserMessage.EMAIL_CHANGE_SUCCESSFUL, 200);\n } else {\n return new CRAPIResponse(UserMessage.NEW_MAIL_DOES_NOT_BELONG, 500);" }, { - "sample" : "user", - "lineNumber" : 274, - "columnNumber" : 11, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " user = getUserFromToken(request);\n if (changeEmailRequest != null) {\n if (user.getEmail().equalsIgnoreCase(changeEmailRequest.getOldEmail())) {\n if (changeEmailRequest.getNewEmail().equalsIgnoreCase(changeEmailForm.getNew_email())) {\n user.setEmail(changeEmailRequest.getNewEmail());\n user.setJwtToken(\"\"); /* <=== com.crapi.entity.User */ \n userRepository.save(user);\n return new CRAPIResponse(UserMessage.EMAIL_CHANGE_SUCCESSFUL, 200);\n } else {\n return new CRAPIResponse(UserMessage.NEW_MAIL_DOES_NOT_BELONG, 500);\n }" + "sample": "user", + "lineNumber": 274, + "columnNumber": 11, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " user = getUserFromToken(request);\n if (changeEmailRequest != null) {\n if (user.getEmail().equalsIgnoreCase(changeEmailRequest.getOldEmail())) {\n if (changeEmailRequest.getNewEmail().equalsIgnoreCase(changeEmailForm.getNew_email())) {\n user.setEmail(changeEmailRequest.getNewEmail());\n user.setJwtToken(\"\"); /* <=== com.crapi.entity.User */ \n userRepository.save(user);\n return new CRAPIResponse(UserMessage.EMAIL_CHANGE_SUCCESSFUL, 200);\n } else {\n return new CRAPIResponse(UserMessage.NEW_MAIL_DOES_NOT_BELONG, 500);\n }" }, { - "sample" : "user", - "lineNumber" : 275, - "columnNumber" : 31, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " if (changeEmailRequest != null) {\n if (user.getEmail().equalsIgnoreCase(changeEmailRequest.getOldEmail())) {\n if (changeEmailRequest.getNewEmail().equalsIgnoreCase(changeEmailForm.getNew_email())) {\n user.setEmail(changeEmailRequest.getNewEmail());\n user.setJwtToken(\"\");\n userRepository.save(user); /* <=== com.crapi.entity.User */ \n return new CRAPIResponse(UserMessage.EMAIL_CHANGE_SUCCESSFUL, 200);\n } else {\n return new CRAPIResponse(UserMessage.NEW_MAIL_DOES_NOT_BELONG, 500);\n }\n } else {" + "sample": "user", + "lineNumber": 275, + "columnNumber": 31, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " if (changeEmailRequest != null) {\n if (user.getEmail().equalsIgnoreCase(changeEmailRequest.getOldEmail())) {\n if (changeEmailRequest.getNewEmail().equalsIgnoreCase(changeEmailForm.getNew_email())) {\n user.setEmail(changeEmailRequest.getNewEmail());\n user.setJwtToken(\"\");\n userRepository.save(user); /* <=== com.crapi.entity.User */ \n return new CRAPIResponse(UserMessage.EMAIL_CHANGE_SUCCESSFUL, 200);\n } else {\n return new CRAPIResponse(UserMessage.NEW_MAIL_DOES_NOT_BELONG, 500);\n }\n } else {" }, { - "sample" : "userRepository.save(user)", - "lineNumber" : 275, - "columnNumber" : 11, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " if (changeEmailRequest != null) {\n if (user.getEmail().equalsIgnoreCase(changeEmailRequest.getOldEmail())) {\n if (changeEmailRequest.getNewEmail().equalsIgnoreCase(changeEmailForm.getNew_email())) {\n user.setEmail(changeEmailRequest.getNewEmail());\n user.setJwtToken(\"\");\n userRepository.save(user); /* <=== com.crapi.repository.UserRepository.save */ \n return new CRAPIResponse(UserMessage.EMAIL_CHANGE_SUCCESSFUL, 200);\n } else {\n return new CRAPIResponse(UserMessage.NEW_MAIL_DOES_NOT_BELONG, 500);\n }\n } else {" + "sample": "userRepository.save(user)", + "lineNumber": 275, + "columnNumber": 11, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " if (changeEmailRequest != null) {\n if (user.getEmail().equalsIgnoreCase(changeEmailRequest.getOldEmail())) {\n if (changeEmailRequest.getNewEmail().equalsIgnoreCase(changeEmailForm.getNew_email())) {\n user.setEmail(changeEmailRequest.getNewEmail());\n user.setJwtToken(\"\");\n userRepository.save(user); /* <=== com.crapi.repository.UserRepository.save */ \n return new CRAPIResponse(UserMessage.EMAIL_CHANGE_SUCCESSFUL, 200);\n } else {\n return new CRAPIResponse(UserMessage.NEW_MAIL_DOES_NOT_BELONG, 500);\n }\n } else {" } ] }, { - "pathId" : "6789-6784-6783-6792-6801-6797-6796-6804-7067-7072-7080-7087-7093-21895-6804-6839-6863-6870-6868-6867-6882-6617-6622-6630", - "path" : [ + "pathId": "6789-6784-6783-6792-6801-6797-6796-6804-7067-7072-7080-7087-7093-21895-6804-6839-6863-6870-6868-6867-6882-6617-6622-6630", + "path": [ { - "sample" : "java.lang.String password", - "lineNumber" : 29, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/model/OtpForm.java", - "excerpt" : " @Size(min = 3, max = 4)\n private String otp;\n\n @NotBlank\n @Size(min = 5, max = 30)\n private String password; /* <=== 'password' is a member of 'com.crapi.model.OtpForm' class */ \n\n @NotBlank\n @Size(min = 5, max = 30)\n private String email;\n}" + "sample": "java.lang.String password", + "lineNumber": 29, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/model/OtpForm.java", + "excerpt": " @Size(min = 3, max = 4)\n private String otp;\n\n @NotBlank\n @Size(min = 5, max = 30)\n private String password; /* <=== 'password' is a member of 'com.crapi.model.OtpForm' class */ \n\n @NotBlank\n @Size(min = 5, max = 30)\n private String email;\n}" }, { - "sample" : "otpForm", - "lineNumber" : 103, - "columnNumber" : 39, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " public CRAPIResponse secureValidateOtp(OtpForm otpForm) {\n CRAPIResponse crapiAPIResponse = null;\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.model.OtpForm */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" + "sample": "otpForm", + "lineNumber": 103, + "columnNumber": 39, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " public CRAPIResponse secureValidateOtp(OtpForm otpForm) {\n CRAPIResponse crapiAPIResponse = null;\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.model.OtpForm */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" }, { - "sample" : "findByEmail(otpForm.getEmail())", - "lineNumber" : 103, - "columnNumber" : 12, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " public CRAPIResponse secureValidateOtp(OtpForm otpForm) {\n CRAPIResponse crapiAPIResponse = null;\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" + "sample": "findByEmail(otpForm.getEmail())", + "lineNumber": 103, + "columnNumber": 12, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " public CRAPIResponse secureValidateOtp(OtpForm otpForm) {\n CRAPIResponse crapiAPIResponse = null;\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" }, { - "sample" : "user", - "lineNumber" : 103, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " public CRAPIResponse secureValidateOtp(OtpForm otpForm) {\n CRAPIResponse crapiAPIResponse = null;\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.entity.User */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" + "sample": "user", + "lineNumber": 103, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " public CRAPIResponse secureValidateOtp(OtpForm otpForm) {\n CRAPIResponse crapiAPIResponse = null;\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.entity.User */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" }, { - "sample" : "user", - "lineNumber" : 104, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " CRAPIResponse crapiAPIResponse = null;\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) { /* <=== com.crapi.entity.User */ \n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());" + "sample": "user", + "lineNumber": 104, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " CRAPIResponse crapiAPIResponse = null;\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) { /* <=== com.crapi.entity.User */ \n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());" }, { - "sample" : "user", - "lineNumber" : 105, - "columnNumber" : 38, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user); /* <=== com.crapi.entity.User */ \n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);" + "sample": "user", + "lineNumber": 105, + "columnNumber": 38, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user); /* <=== com.crapi.entity.User */ \n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);" }, { - "sample" : "otpRepository.findByUser(user)", - "lineNumber" : 105, - "columnNumber" : 13, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user); /* <=== com.crapi.repository.OtpRepository.findByUser */ \n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);" + "sample": "otpRepository.findByUser(user)", + "lineNumber": 105, + "columnNumber": 13, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user); /* <=== com.crapi.repository.OtpRepository.findByUser */ \n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);" }, { - "sample" : "otp", - "lineNumber" : 105, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user); /* <=== com.crapi.entity.Otp */ \n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);" + "sample": "otp", + "lineNumber": 105, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user); /* <=== com.crapi.entity.Otp */ \n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);" }, { - "sample" : "otp", - "lineNumber" : 106, - "columnNumber" : 31, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) { /* <=== com.crapi.entity.Otp */ \n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) {" + "sample": "otp", + "lineNumber": 106, + "columnNumber": 31, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) { /* <=== com.crapi.entity.Otp */ \n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) {" }, { - "sample" : "Otp otp", - "lineNumber" : 173, - "columnNumber" : 38, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : "\n /**\n * @param otp\n * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) { /* <=== */ \n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;" + "sample": "Otp otp", + "lineNumber": 173, + "columnNumber": 38, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": "\n /**\n * @param otp\n * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) { /* <=== */ \n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;" }, { - "sample" : "otp", - "lineNumber" : 174, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " /**\n * @param otp\n * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) {\n if (otp != null) { /* <=== com.crapi.entity.Otp */ \n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;\n }" + "sample": "otp", + "lineNumber": 174, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " /**\n * @param otp\n * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) {\n if (otp != null) { /* <=== com.crapi.entity.Otp */ \n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;\n }" }, { - "sample" : "otp", - "lineNumber" : 175, - "columnNumber" : 11, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " * @param otp\n * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) {\n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString()) /* <=== com.crapi.entity.Otp */ \n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;\n }\n return false;" + "sample": "otp", + "lineNumber": 175, + "columnNumber": 11, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " * @param otp\n * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) {\n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString()) /* <=== com.crapi.entity.Otp */ \n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;\n }\n return false;" }, { - "sample" : "otp", - "lineNumber" : 176, - "columnNumber" : 14, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) {\n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp()) /* <=== com.crapi.entity.Otp */ \n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;\n }\n return false;\n }" + "sample": "otp", + "lineNumber": 176, + "columnNumber": 14, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) {\n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp()) /* <=== com.crapi.entity.Otp */ \n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;\n }\n return false;\n }" }, { - "sample" : "otp", - "lineNumber" : 177, - "columnNumber" : 14, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) {\n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) { /* <=== com.crapi.entity.Otp */ \n return true;\n }\n return false;\n }\n throw new EntityNotFoundException(Otp.class, \"OTP Details Not Found\", otpForm.getEmail());" + "sample": "otp", + "lineNumber": 177, + "columnNumber": 14, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) {\n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) { /* <=== com.crapi.entity.Otp */ \n return true;\n }\n return false;\n }\n throw new EntityNotFoundException(Otp.class, \"OTP Details Not Found\", otpForm.getEmail());" }, { - "sample" : "Otp otp", - "lineNumber" : 173, - "columnNumber" : 38, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : "\n /**\n * @param otp\n * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) { /* <=== */ \n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;" + "sample": "Otp otp", + "lineNumber": 173, + "columnNumber": 38, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": "\n /**\n * @param otp\n * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) { /* <=== */ \n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;" }, { - "sample" : "otp", - "lineNumber" : 106, - "columnNumber" : 31, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) { /* <=== com.crapi.entity.Otp */ \n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) {" + "sample": "otp", + "lineNumber": 106, + "columnNumber": 31, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) { /* <=== com.crapi.entity.Otp */ \n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) {" }, { - "sample" : "otp", - "lineNumber" : 111, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) { /* <=== com.crapi.entity.Otp */ \n otp.setCount(otp.getCount() + 1);\n invalidateOtp(otp);\n validateOTPResponse = new CRAPIResponse(UserMessage.EXCEED_NUMBER_OF_ATTEMPS, 503);\n } else if (otp.getCount() > 9) {\n otp.setCount(otp.getCount() + 1);" + "sample": "otp", + "lineNumber": 111, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) { /* <=== com.crapi.entity.Otp */ \n otp.setCount(otp.getCount() + 1);\n invalidateOtp(otp);\n validateOTPResponse = new CRAPIResponse(UserMessage.EXCEED_NUMBER_OF_ATTEMPS, 503);\n } else if (otp.getCount() > 9) {\n otp.setCount(otp.getCount() + 1);" }, { - "sample" : "otp", - "lineNumber" : 115, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);\n invalidateOtp(otp);\n validateOTPResponse = new CRAPIResponse(UserMessage.EXCEED_NUMBER_OF_ATTEMPS, 503);\n } else if (otp.getCount() > 9) { /* <=== com.crapi.entity.Otp */ \n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.ERROR, 500);\n invalidateOtp(otp);\n } else {\n otp.setCount(otp.getCount() + 1);" + "sample": "otp", + "lineNumber": 115, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);\n invalidateOtp(otp);\n validateOTPResponse = new CRAPIResponse(UserMessage.EXCEED_NUMBER_OF_ATTEMPS, 503);\n } else if (otp.getCount() > 9) { /* <=== com.crapi.entity.Otp */ \n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.ERROR, 500);\n invalidateOtp(otp);\n } else {\n otp.setCount(otp.getCount() + 1);" }, { - "sample" : "otp", - "lineNumber" : 116, - "columnNumber" : 22, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);\n invalidateOtp(otp);\n validateOTPResponse = new CRAPIResponse(UserMessage.EXCEED_NUMBER_OF_ATTEMPS, 503);\n } else if (otp.getCount() > 9) {\n otp.setCount(otp.getCount() + 1); /* <=== com.crapi.entity.Otp */ \n validateOTPResponse = new CRAPIResponse(UserMessage.ERROR, 500);\n invalidateOtp(otp);\n } else {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);" + "sample": "otp", + "lineNumber": 116, + "columnNumber": 22, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);\n invalidateOtp(otp);\n validateOTPResponse = new CRAPIResponse(UserMessage.EXCEED_NUMBER_OF_ATTEMPS, 503);\n } else if (otp.getCount() > 9) {\n otp.setCount(otp.getCount() + 1); /* <=== com.crapi.entity.Otp */ \n validateOTPResponse = new CRAPIResponse(UserMessage.ERROR, 500);\n invalidateOtp(otp);\n } else {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);" }, { - "sample" : "otp.getCount() + 1", - "lineNumber" : 116, - "columnNumber" : 22, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);\n invalidateOtp(otp);\n validateOTPResponse = new CRAPIResponse(UserMessage.EXCEED_NUMBER_OF_ATTEMPS, 503);\n } else if (otp.getCount() > 9) {\n otp.setCount(otp.getCount() + 1); /* <=== */ \n validateOTPResponse = new CRAPIResponse(UserMessage.ERROR, 500);\n invalidateOtp(otp);\n } else {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);" + "sample": "otp.getCount() + 1", + "lineNumber": 116, + "columnNumber": 22, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);\n invalidateOtp(otp);\n validateOTPResponse = new CRAPIResponse(UserMessage.EXCEED_NUMBER_OF_ATTEMPS, 503);\n } else if (otp.getCount() > 9) {\n otp.setCount(otp.getCount() + 1); /* <=== */ \n validateOTPResponse = new CRAPIResponse(UserMessage.ERROR, 500);\n invalidateOtp(otp);\n } else {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);" }, { - "sample" : "otp", - "lineNumber" : 116, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);\n invalidateOtp(otp);\n validateOTPResponse = new CRAPIResponse(UserMessage.EXCEED_NUMBER_OF_ATTEMPS, 503);\n } else if (otp.getCount() > 9) {\n otp.setCount(otp.getCount() + 1); /* <=== com.crapi.entity.Otp */ \n validateOTPResponse = new CRAPIResponse(UserMessage.ERROR, 500);\n invalidateOtp(otp);\n } else {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);" + "sample": "otp", + "lineNumber": 116, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);\n invalidateOtp(otp);\n validateOTPResponse = new CRAPIResponse(UserMessage.EXCEED_NUMBER_OF_ATTEMPS, 503);\n } else if (otp.getCount() > 9) {\n otp.setCount(otp.getCount() + 1); /* <=== com.crapi.entity.Otp */ \n validateOTPResponse = new CRAPIResponse(UserMessage.ERROR, 500);\n invalidateOtp(otp);\n } else {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);" }, { - "sample" : "otp", - "lineNumber" : 118, - "columnNumber" : 23, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " invalidateOtp(otp);\n validateOTPResponse = new CRAPIResponse(UserMessage.EXCEED_NUMBER_OF_ATTEMPS, 503);\n } else if (otp.getCount() > 9) {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.ERROR, 500);\n invalidateOtp(otp); /* <=== com.crapi.entity.Otp */ \n } else {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);\n }\n otpRepository.save(otp);" + "sample": "otp", + "lineNumber": 118, + "columnNumber": 23, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " invalidateOtp(otp);\n validateOTPResponse = new CRAPIResponse(UserMessage.EXCEED_NUMBER_OF_ATTEMPS, 503);\n } else if (otp.getCount() > 9) {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.ERROR, 500);\n invalidateOtp(otp); /* <=== com.crapi.entity.Otp */ \n } else {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);\n }\n otpRepository.save(otp);" }, { - "sample" : "Otp otp", - "lineNumber" : 58, - "columnNumber" : 32, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " *\n * @param {Otp} otp\n */\n @Transactional\n @Override\n public boolean invalidateOtp(Otp otp) { /* <=== */ \n try {\n otp.setStatus(EStatus.INACTIVE.toString());\n Otp saveOtp = otpRepository.save(otp);\n return true;\n } catch (Exception e) {" + "sample": "Otp otp", + "lineNumber": 58, + "columnNumber": 32, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " *\n * @param {Otp} otp\n */\n @Transactional\n @Override\n public boolean invalidateOtp(Otp otp) { /* <=== */ \n try {\n otp.setStatus(EStatus.INACTIVE.toString());\n Otp saveOtp = otpRepository.save(otp);\n return true;\n } catch (Exception e) {" }, { - "sample" : "otp", - "lineNumber" : 60, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " */\n @Transactional\n @Override\n public boolean invalidateOtp(Otp otp) {\n try {\n otp.setStatus(EStatus.INACTIVE.toString()); /* <=== com.crapi.entity.Otp */ \n Otp saveOtp = otpRepository.save(otp);\n return true;\n } catch (Exception e) {\n logger.error(\"Fail to invalidate otp -> Message: {}\", e);\n return false;" + "sample": "otp", + "lineNumber": 60, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " */\n @Transactional\n @Override\n public boolean invalidateOtp(Otp otp) {\n try {\n otp.setStatus(EStatus.INACTIVE.toString()); /* <=== com.crapi.entity.Otp */ \n Otp saveOtp = otpRepository.save(otp);\n return true;\n } catch (Exception e) {\n logger.error(\"Fail to invalidate otp -> Message: {}\", e);\n return false;" }, { - "sample" : "otpRepository.save(otp)", - "lineNumber" : 61, - "columnNumber" : 21, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " @Transactional\n @Override\n public boolean invalidateOtp(Otp otp) {\n try {\n otp.setStatus(EStatus.INACTIVE.toString());\n Otp saveOtp = otpRepository.save(otp); /* <=== com.crapi.repository.OtpRepository.save */ \n return true;\n } catch (Exception e) {\n logger.error(\"Fail to invalidate otp -> Message: {}\", e);\n return false;\n }" + "sample": "otpRepository.save(otp)", + "lineNumber": 61, + "columnNumber": 21, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " @Transactional\n @Override\n public boolean invalidateOtp(Otp otp) {\n try {\n otp.setStatus(EStatus.INACTIVE.toString());\n Otp saveOtp = otpRepository.save(otp); /* <=== com.crapi.repository.OtpRepository.save */ \n return true;\n } catch (Exception e) {\n logger.error(\"Fail to invalidate otp -> Message: {}\", e);\n return false;\n }" } ] }, { - "pathId" : "6690-6699-21890-12059-6653-6674-6669-6668-6677-6686-6682-6681-6689-7067-7072-7080-7087-7093-21895-6689-6726-6724-6723-6737", - "path" : [ + "pathId": "6690-6699-21890-12059-6653-6674-6669-6668-6677-6686-6682-6681-6689-7067-7072-7080-7087-7093-21895-6689-6726-6724-6723-6737", + "path": [ { - "sample" : "java.lang.String password", - "lineNumber" : 29, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/model/OtpForm.java", - "excerpt" : " @Size(min = 3, max = 4)\n private String otp;\n\n @NotBlank\n @Size(min = 5, max = 30)\n private String password; /* <=== 'password' is a member of 'com.crapi.model.OtpForm' class */ \n\n @NotBlank\n @Size(min = 5, max = 30)\n private String email;\n}" + "sample": "java.lang.String password", + "lineNumber": 29, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/model/OtpForm.java", + "excerpt": " @Size(min = 3, max = 4)\n private String otp;\n\n @NotBlank\n @Size(min = 5, max = 30)\n private String password; /* <=== 'password' is a member of 'com.crapi.model.OtpForm' class */ \n\n @NotBlank\n @Size(min = 5, max = 30)\n private String email;\n}" }, { - "sample" : "otpForm", - "lineNumber" : 82, - "columnNumber" : 36, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) { /* <=== com.crapi.model.OtpForm */ \n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {" + "sample": "otpForm", + "lineNumber": 82, + "columnNumber": 36, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) { /* <=== com.crapi.model.OtpForm */ \n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {" }, { - "sample" : "otpForm", - "lineNumber" : 83, - "columnNumber" : 41, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword())); /* <=== com.crapi.model.OtpForm */ \n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {\n otp.setCount(otp.getCount() + 1);" + "sample": "otpForm", + "lineNumber": 83, + "columnNumber": 41, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword())); /* <=== com.crapi.model.OtpForm */ \n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {\n otp.setCount(otp.getCount() + 1);" }, { - "sample" : "OtpForm otpForm", - "lineNumber" : 75, - "columnNumber" : 36, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " * @param otpForm\n * @return otp object, validate the otp and then reset the password of user\n */\n @Transactional\n @Override\n public CRAPIResponse validateOtp(OtpForm otpForm) { /* <=== */ \n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {" + "sample": "OtpForm otpForm", + "lineNumber": 75, + "columnNumber": 36, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " * @param otpForm\n * @return otp object, validate the otp and then reset the password of user\n */\n @Transactional\n @Override\n public CRAPIResponse validateOtp(OtpForm otpForm) { /* <=== */ \n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {" }, { - "sample" : "this.getDummyOtpForm()", - "lineNumber" : 83, - "columnNumber" : 28, - "fileName" : "/app/code/services/identity/src/test/java/com/crapi/service/Impl/OtpServiceImplTest.java", - "excerpt" : " }\n\n @Test(expected = EntityNotFoundException.class)\n public void validateOtpThrowsExceptionWhenUserNotFound() {\n Mockito.when(userRepository.findByEmail(Mockito.anyString())).thenReturn(null);\n otpService.validateOtp(getDummyOtpForm()); /* <=== com.crapi.service.Impl.OtpServiceImplTest.getDummyOtpForm */ \n }\n\n @Test\n public void validateOtpSuccess() {\n Otp otp = getDummyOtp();" + "sample": "this.getDummyOtpForm()", + "lineNumber": 83, + "columnNumber": 28, + "fileName": "/app/code/services/identity/src/test/java/com/crapi/service/Impl/OtpServiceImplTest.java", + "excerpt": " }\n\n @Test(expected = EntityNotFoundException.class)\n public void validateOtpThrowsExceptionWhenUserNotFound() {\n Mockito.when(userRepository.findByEmail(Mockito.anyString())).thenReturn(null);\n otpService.validateOtp(getDummyOtpForm()); /* <=== com.crapi.service.Impl.OtpServiceImplTest.getDummyOtpForm */ \n }\n\n @Test\n public void validateOtpSuccess() {\n Otp otp = getDummyOtp();" }, { - "sample" : "OtpForm otpForm", - "lineNumber" : 75, - "columnNumber" : 36, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " * @param otpForm\n * @return otp object, validate the otp and then reset the password of user\n */\n @Transactional\n @Override\n public CRAPIResponse validateOtp(OtpForm otpForm) { /* <=== */ \n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {" + "sample": "OtpForm otpForm", + "lineNumber": 75, + "columnNumber": 36, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " * @param otpForm\n * @return otp object, validate the otp and then reset the password of user\n */\n @Transactional\n @Override\n public CRAPIResponse validateOtp(OtpForm otpForm) { /* <=== */ \n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {" }, { - "sample" : "otpForm", - "lineNumber" : 79, - "columnNumber" : 39, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " @Override\n public CRAPIResponse validateOtp(OtpForm otpForm) {\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.model.OtpForm */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" + "sample": "otpForm", + "lineNumber": 79, + "columnNumber": 39, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " @Override\n public CRAPIResponse validateOtp(OtpForm otpForm) {\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.model.OtpForm */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" }, { - "sample" : "findByEmail(otpForm.getEmail())", - "lineNumber" : 79, - "columnNumber" : 12, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " @Override\n public CRAPIResponse validateOtp(OtpForm otpForm) {\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" + "sample": "findByEmail(otpForm.getEmail())", + "lineNumber": 79, + "columnNumber": 12, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " @Override\n public CRAPIResponse validateOtp(OtpForm otpForm) {\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" }, { - "sample" : "user", - "lineNumber" : 79, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " @Override\n public CRAPIResponse validateOtp(OtpForm otpForm) {\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.entity.User */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" + "sample": "user", + "lineNumber": 79, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " @Override\n public CRAPIResponse validateOtp(OtpForm otpForm) {\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.entity.User */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" }, { - "sample" : "user", - "lineNumber" : 80, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " public CRAPIResponse validateOtp(OtpForm otpForm) {\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) { /* <=== com.crapi.entity.User */ \n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());" + "sample": "user", + "lineNumber": 80, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " public CRAPIResponse validateOtp(OtpForm otpForm) {\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) { /* <=== com.crapi.entity.User */ \n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());" }, { - "sample" : "user", - "lineNumber" : 81, - "columnNumber" : 38, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user); /* <=== com.crapi.entity.User */ \n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);" + "sample": "user", + "lineNumber": 81, + "columnNumber": 38, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user); /* <=== com.crapi.entity.User */ \n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);" }, { - "sample" : "otpRepository.findByUser(user)", - "lineNumber" : 81, - "columnNumber" : 13, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user); /* <=== com.crapi.repository.OtpRepository.findByUser */ \n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);" + "sample": "otpRepository.findByUser(user)", + "lineNumber": 81, + "columnNumber": 13, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user); /* <=== com.crapi.repository.OtpRepository.findByUser */ \n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);" }, { - "sample" : "otp", - "lineNumber" : 81, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user); /* <=== com.crapi.entity.Otp */ \n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);" + "sample": "otp", + "lineNumber": 81, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user); /* <=== com.crapi.entity.Otp */ \n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);" }, { - "sample" : "otp", - "lineNumber" : 82, - "columnNumber" : 31, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) { /* <=== com.crapi.entity.Otp */ \n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {" + "sample": "otp", + "lineNumber": 82, + "columnNumber": 31, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) { /* <=== com.crapi.entity.Otp */ \n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {" }, { - "sample" : "Otp otp", - "lineNumber" : 173, - "columnNumber" : 38, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : "\n /**\n * @param otp\n * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) { /* <=== */ \n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;" + "sample": "Otp otp", + "lineNumber": 173, + "columnNumber": 38, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": "\n /**\n * @param otp\n * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) { /* <=== */ \n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;" }, { - "sample" : "otp", - "lineNumber" : 174, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " /**\n * @param otp\n * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) {\n if (otp != null) { /* <=== com.crapi.entity.Otp */ \n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;\n }" + "sample": "otp", + "lineNumber": 174, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " /**\n * @param otp\n * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) {\n if (otp != null) { /* <=== com.crapi.entity.Otp */ \n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;\n }" }, { - "sample" : "otp", - "lineNumber" : 175, - "columnNumber" : 11, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " * @param otp\n * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) {\n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString()) /* <=== com.crapi.entity.Otp */ \n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;\n }\n return false;" + "sample": "otp", + "lineNumber": 175, + "columnNumber": 11, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " * @param otp\n * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) {\n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString()) /* <=== com.crapi.entity.Otp */ \n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;\n }\n return false;" }, { - "sample" : "otp", - "lineNumber" : 176, - "columnNumber" : 14, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) {\n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp()) /* <=== com.crapi.entity.Otp */ \n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;\n }\n return false;\n }" + "sample": "otp", + "lineNumber": 176, + "columnNumber": 14, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) {\n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp()) /* <=== com.crapi.entity.Otp */ \n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;\n }\n return false;\n }" }, { - "sample" : "otp", - "lineNumber" : 177, - "columnNumber" : 14, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) {\n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) { /* <=== com.crapi.entity.Otp */ \n return true;\n }\n return false;\n }\n throw new EntityNotFoundException(Otp.class, \"OTP Details Not Found\", otpForm.getEmail());" + "sample": "otp", + "lineNumber": 177, + "columnNumber": 14, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) {\n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) { /* <=== com.crapi.entity.Otp */ \n return true;\n }\n return false;\n }\n throw new EntityNotFoundException(Otp.class, \"OTP Details Not Found\", otpForm.getEmail());" }, { - "sample" : "Otp otp", - "lineNumber" : 173, - "columnNumber" : 38, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : "\n /**\n * @param otp\n * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) { /* <=== */ \n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;" + "sample": "Otp otp", + "lineNumber": 173, + "columnNumber": 38, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": "\n /**\n * @param otp\n * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) { /* <=== */ \n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;" }, { - "sample" : "otp", - "lineNumber" : 82, - "columnNumber" : 31, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) { /* <=== com.crapi.entity.Otp */ \n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {" + "sample": "otp", + "lineNumber": 82, + "columnNumber": 31, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) { /* <=== com.crapi.entity.Otp */ \n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {" }, { - "sample" : "otp", - "lineNumber" : 88, - "columnNumber" : 22, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {\n otp.setCount(otp.getCount() + 1); /* <=== com.crapi.entity.Otp */ \n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);\n }\n otpRepository.save(otp);\n return validateOTPResponse;\n }" + "sample": "otp", + "lineNumber": 88, + "columnNumber": 22, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {\n otp.setCount(otp.getCount() + 1); /* <=== com.crapi.entity.Otp */ \n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);\n }\n otpRepository.save(otp);\n return validateOTPResponse;\n }" }, { - "sample" : "otp.getCount() + 1", - "lineNumber" : 88, - "columnNumber" : 22, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {\n otp.setCount(otp.getCount() + 1); /* <=== */ \n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);\n }\n otpRepository.save(otp);\n return validateOTPResponse;\n }" + "sample": "otp.getCount() + 1", + "lineNumber": 88, + "columnNumber": 22, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {\n otp.setCount(otp.getCount() + 1); /* <=== */ \n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);\n }\n otpRepository.save(otp);\n return validateOTPResponse;\n }" }, { - "sample" : "otp", - "lineNumber" : 88, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {\n otp.setCount(otp.getCount() + 1); /* <=== com.crapi.entity.Otp */ \n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);\n }\n otpRepository.save(otp);\n return validateOTPResponse;\n }" + "sample": "otp", + "lineNumber": 88, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {\n otp.setCount(otp.getCount() + 1); /* <=== com.crapi.entity.Otp */ \n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);\n }\n otpRepository.save(otp);\n return validateOTPResponse;\n }" }, { - "sample" : "otpRepository.save(otp)", - "lineNumber" : 91, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);\n }\n otpRepository.save(otp); /* <=== com.crapi.repository.OtpRepository.save */ \n return validateOTPResponse;\n }\n throw new EntityNotFoundException(User.class, \"userEmail\", otpForm.getEmail());\n }\n" + "sample": "otpRepository.save(otp)", + "lineNumber": 91, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);\n }\n otpRepository.save(otp); /* <=== com.crapi.repository.OtpRepository.save */ \n return validateOTPResponse;\n }\n throw new EntityNotFoundException(User.class, \"userEmail\", otpForm.getEmail());\n }\n" } ] }, { - "pathId" : "6690-6699-6698-6695-6694-6693-6704-6700", - "path" : [ + "pathId": "6690-6699-6698-6695-6694-6693-6704-6700", + "path": [ { - "sample" : "java.lang.String password", - "lineNumber" : 29, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/model/OtpForm.java", - "excerpt" : " @Size(min = 3, max = 4)\n private String otp;\n\n @NotBlank\n @Size(min = 5, max = 30)\n private String password; /* <=== 'password' is a member of 'com.crapi.model.OtpForm' class */ \n\n @NotBlank\n @Size(min = 5, max = 30)\n private String email;\n}" + "sample": "java.lang.String password", + "lineNumber": 29, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/model/OtpForm.java", + "excerpt": " @Size(min = 3, max = 4)\n private String otp;\n\n @NotBlank\n @Size(min = 5, max = 30)\n private String password; /* <=== 'password' is a member of 'com.crapi.model.OtpForm' class */ \n\n @NotBlank\n @Size(min = 5, max = 30)\n private String email;\n}" }, { - "sample" : "otpForm", - "lineNumber" : 82, - "columnNumber" : 36, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) { /* <=== com.crapi.model.OtpForm */ \n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {" + "sample": "otpForm", + "lineNumber": 82, + "columnNumber": 36, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) { /* <=== com.crapi.model.OtpForm */ \n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {" }, { - "sample" : "otpForm", - "lineNumber" : 83, - "columnNumber" : 41, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword())); /* <=== com.crapi.model.OtpForm */ \n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {\n otp.setCount(otp.getCount() + 1);" + "sample": "otpForm", + "lineNumber": 83, + "columnNumber": 41, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword())); /* <=== com.crapi.model.OtpForm */ \n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {\n otp.setCount(otp.getCount() + 1);" }, { - "sample" : "getPassword()", - "lineNumber" : 83, - "columnNumber" : 41, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword())); /* <=== com.crapi.model.OtpForm.getPassword */ \n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {\n otp.setCount(otp.getCount() + 1);" + "sample": "getPassword()", + "lineNumber": 83, + "columnNumber": 41, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword())); /* <=== com.crapi.model.OtpForm.getPassword */ \n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {\n otp.setCount(otp.getCount() + 1);" }, { - "sample" : "this.encoder", - "lineNumber" : 83, - "columnNumber" : 26, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword())); /* <=== */ \n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {\n otp.setCount(otp.getCount() + 1);" + "sample": "this.encoder", + "lineNumber": 83, + "columnNumber": 26, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword())); /* <=== */ \n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {\n otp.setCount(otp.getCount() + 1);" }, { - "sample" : "encode(otpForm.getPassword())", - "lineNumber" : 83, - "columnNumber" : 26, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword())); /* <=== org.springframework.security.crypto.password.PasswordEncoder.encode */ \n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {\n otp.setCount(otp.getCount() + 1);" + "sample": "encode(otpForm.getPassword())", + "lineNumber": 83, + "columnNumber": 26, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword())); /* <=== org.springframework.security.crypto.password.PasswordEncoder.encode */ \n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {\n otp.setCount(otp.getCount() + 1);" }, { - "sample" : "user", - "lineNumber" : 83, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword())); /* <=== com.crapi.entity.User */ \n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {\n otp.setCount(otp.getCount() + 1);" + "sample": "user", + "lineNumber": 83, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword())); /* <=== com.crapi.entity.User */ \n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {\n otp.setCount(otp.getCount() + 1);" }, { - "sample" : "user", - "lineNumber" : 84, - "columnNumber" : 29, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user); /* <=== com.crapi.entity.User */ \n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);" + "sample": "user", + "lineNumber": 84, + "columnNumber": 29, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user); /* <=== com.crapi.entity.User */ \n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);" }, { - "sample" : "userRepository.save(user)", - "lineNumber" : 84, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user); /* <=== com.crapi.repository.UserRepository.save */ \n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);" + "sample": "userRepository.save(user)", + "lineNumber": 84, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user); /* <=== com.crapi.repository.UserRepository.save */ \n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);" } ] }, { - "pathId" : "8462-8461-8531-8540-8536-8535-8543-8547-8553-8549", - "path" : [ + "pathId": "8462-8461-8531-8540-8536-8535-8543-8547-8553-8549", + "path": [ { - "sample" : "java.lang.String password", - "lineNumber" : 30, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/model/LoginForm.java", - "excerpt" : " @Size(min = 3, max = 100)\n private String email;\n\n @NotBlank\n @Size(min = 4, max = 100)\n private String password; /* <=== 'password' is a member of 'com.crapi.model.LoginForm' class */ \n\n private String number;\n}" + "sample": "java.lang.String password", + "lineNumber": 30, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/model/LoginForm.java", + "excerpt": " @Size(min = 3, max = 100)\n private String email;\n\n @NotBlank\n @Size(min = 4, max = 100)\n private String password; /* <=== 'password' is a member of 'com.crapi.model.LoginForm' class */ \n\n private String number;\n}" }, { - "sample" : "loginForm", - "lineNumber" : 110, - "columnNumber" : 32, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " authenticationManager.authenticate(\n new UsernamePasswordAuthenticationToken(\n loginForm.getEmail(), loginForm.getPassword()));\n String jwt = jwtProvider.generateJwtToken(user);\n if (jwt != null) {\n updateUserToken(jwt, loginForm.getEmail()); /* <=== com.crapi.model.LoginForm */ \n jwtResponse.setToken(jwt);\n } else {\n jwtResponse.setMessage(UserMessage.INVALID_CREDENTIALS);\n }\n }" + "sample": "loginForm", + "lineNumber": 110, + "columnNumber": 32, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " authenticationManager.authenticate(\n new UsernamePasswordAuthenticationToken(\n loginForm.getEmail(), loginForm.getPassword()));\n String jwt = jwtProvider.generateJwtToken(user);\n if (jwt != null) {\n updateUserToken(jwt, loginForm.getEmail()); /* <=== com.crapi.model.LoginForm */ \n jwtResponse.setToken(jwt);\n } else {\n jwtResponse.setMessage(UserMessage.INVALID_CREDENTIALS);\n }\n }" }, { - "sample" : "getEmail()", - "lineNumber" : 110, - "columnNumber" : 32, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " authenticationManager.authenticate(\n new UsernamePasswordAuthenticationToken(\n loginForm.getEmail(), loginForm.getPassword()));\n String jwt = jwtProvider.generateJwtToken(user);\n if (jwt != null) {\n updateUserToken(jwt, loginForm.getEmail()); /* <=== com.crapi.model.LoginForm.getEmail */ \n jwtResponse.setToken(jwt);\n } else {\n jwtResponse.setMessage(UserMessage.INVALID_CREDENTIALS);\n }\n }" + "sample": "getEmail()", + "lineNumber": 110, + "columnNumber": 32, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " authenticationManager.authenticate(\n new UsernamePasswordAuthenticationToken(\n loginForm.getEmail(), loginForm.getPassword()));\n String jwt = jwtProvider.generateJwtToken(user);\n if (jwt != null) {\n updateUserToken(jwt, loginForm.getEmail()); /* <=== com.crapi.model.LoginForm.getEmail */ \n jwtResponse.setToken(jwt);\n } else {\n jwtResponse.setMessage(UserMessage.INVALID_CREDENTIALS);\n }\n }" }, { - "sample" : "String email", - "lineNumber" : 142, - "columnNumber" : 43, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " * @param jwt update token in database\n * @param email by email user details and update token\n */\n @Transactional\n @Override\n public void updateUserToken(String jwt, String email) { /* <=== */ \n User user = userRepository.findByEmail(email);\n if (user != null) {\n user.setJwtToken(jwt);\n userRepository.saveAndFlush(user);\n }" + "sample": "String email", + "lineNumber": 142, + "columnNumber": 43, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " * @param jwt update token in database\n * @param email by email user details and update token\n */\n @Transactional\n @Override\n public void updateUserToken(String jwt, String email) { /* <=== */ \n User user = userRepository.findByEmail(email);\n if (user != null) {\n user.setJwtToken(jwt);\n userRepository.saveAndFlush(user);\n }" }, { - "sample" : "email", - "lineNumber" : 143, - "columnNumber" : 44, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " * @param email by email user details and update token\n */\n @Transactional\n @Override\n public void updateUserToken(String jwt, String email) {\n User user = userRepository.findByEmail(email); /* <=== java.lang.String */ \n if (user != null) {\n user.setJwtToken(jwt);\n userRepository.saveAndFlush(user);\n }\n }" + "sample": "email", + "lineNumber": 143, + "columnNumber": 44, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " * @param email by email user details and update token\n */\n @Transactional\n @Override\n public void updateUserToken(String jwt, String email) {\n User user = userRepository.findByEmail(email); /* <=== java.lang.String */ \n if (user != null) {\n user.setJwtToken(jwt);\n userRepository.saveAndFlush(user);\n }\n }" }, { - "sample" : "userRepository.findByEmail(email)", - "lineNumber" : 143, - "columnNumber" : 17, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " * @param email by email user details and update token\n */\n @Transactional\n @Override\n public void updateUserToken(String jwt, String email) {\n User user = userRepository.findByEmail(email); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n if (user != null) {\n user.setJwtToken(jwt);\n userRepository.saveAndFlush(user);\n }\n }" + "sample": "userRepository.findByEmail(email)", + "lineNumber": 143, + "columnNumber": 17, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " * @param email by email user details and update token\n */\n @Transactional\n @Override\n public void updateUserToken(String jwt, String email) {\n User user = userRepository.findByEmail(email); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n if (user != null) {\n user.setJwtToken(jwt);\n userRepository.saveAndFlush(user);\n }\n }" }, { - "sample" : "user", - "lineNumber" : 143, - "columnNumber" : 10, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " * @param email by email user details and update token\n */\n @Transactional\n @Override\n public void updateUserToken(String jwt, String email) {\n User user = userRepository.findByEmail(email); /* <=== com.crapi.entity.User */ \n if (user != null) {\n user.setJwtToken(jwt);\n userRepository.saveAndFlush(user);\n }\n }" + "sample": "user", + "lineNumber": 143, + "columnNumber": 10, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " * @param email by email user details and update token\n */\n @Transactional\n @Override\n public void updateUserToken(String jwt, String email) {\n User user = userRepository.findByEmail(email); /* <=== com.crapi.entity.User */ \n if (user != null) {\n user.setJwtToken(jwt);\n userRepository.saveAndFlush(user);\n }\n }" }, { - "sample" : "user", - "lineNumber" : 144, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " */\n @Transactional\n @Override\n public void updateUserToken(String jwt, String email) {\n User user = userRepository.findByEmail(email);\n if (user != null) { /* <=== com.crapi.entity.User */ \n user.setJwtToken(jwt);\n userRepository.saveAndFlush(user);\n }\n }\n" + "sample": "user", + "lineNumber": 144, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " */\n @Transactional\n @Override\n public void updateUserToken(String jwt, String email) {\n User user = userRepository.findByEmail(email);\n if (user != null) { /* <=== com.crapi.entity.User */ \n user.setJwtToken(jwt);\n userRepository.saveAndFlush(user);\n }\n }\n" }, { - "sample" : "user", - "lineNumber" : 145, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " @Transactional\n @Override\n public void updateUserToken(String jwt, String email) {\n User user = userRepository.findByEmail(email);\n if (user != null) {\n user.setJwtToken(jwt); /* <=== com.crapi.entity.User */ \n userRepository.saveAndFlush(user);\n }\n }\n\n /**" + "sample": "user", + "lineNumber": 145, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " @Transactional\n @Override\n public void updateUserToken(String jwt, String email) {\n User user = userRepository.findByEmail(email);\n if (user != null) {\n user.setJwtToken(jwt); /* <=== com.crapi.entity.User */ \n userRepository.saveAndFlush(user);\n }\n }\n\n /**" }, { - "sample" : "user", - "lineNumber" : 146, - "columnNumber" : 35, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " @Override\n public void updateUserToken(String jwt, String email) {\n User user = userRepository.findByEmail(email);\n if (user != null) {\n user.setJwtToken(jwt);\n userRepository.saveAndFlush(user); /* <=== com.crapi.entity.User */ \n }\n }\n\n /**\n * @param loginForm Contains user email, password and number" + "sample": "user", + "lineNumber": 146, + "columnNumber": 35, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " @Override\n public void updateUserToken(String jwt, String email) {\n User user = userRepository.findByEmail(email);\n if (user != null) {\n user.setJwtToken(jwt);\n userRepository.saveAndFlush(user); /* <=== com.crapi.entity.User */ \n }\n }\n\n /**\n * @param loginForm Contains user email, password and number" }, { - "sample" : "userRepository.saveAndFlush(user)", - "lineNumber" : 146, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " @Override\n public void updateUserToken(String jwt, String email) {\n User user = userRepository.findByEmail(email);\n if (user != null) {\n user.setJwtToken(jwt);\n userRepository.saveAndFlush(user); /* <=== com.crapi.repository.UserRepository.saveAndFlush */ \n }\n }\n\n /**\n * @param loginForm Contains user email, password and number" + "sample": "userRepository.saveAndFlush(user)", + "lineNumber": 146, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " @Override\n public void updateUserToken(String jwt, String email) {\n User user = userRepository.findByEmail(email);\n if (user != null) {\n user.setJwtToken(jwt);\n userRepository.saveAndFlush(user); /* <=== com.crapi.repository.UserRepository.saveAndFlush */ \n }\n }\n\n /**\n * @param loginForm Contains user email, password and number" } ] }, { - "pathId" : "6789-6784-6783-6792-6801-6797-6796-6804-7067-7072-7080-7087-7093-21895-6804-6839-6863-6870-6868-6867-6882-6617-6622-6634-21889-6882-6900", - "path" : [ + "pathId": "6789-6784-6783-6792-6801-6797-6796-6804-7067-7072-7080-7087-7093-21895-6804-6839-6863-6870-6868-6867-6882-6617-6622-6634-21889-6882-6900", + "path": [ { - "sample" : "java.lang.String password", - "lineNumber" : 29, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/model/OtpForm.java", - "excerpt" : " @Size(min = 3, max = 4)\n private String otp;\n\n @NotBlank\n @Size(min = 5, max = 30)\n private String password; /* <=== 'password' is a member of 'com.crapi.model.OtpForm' class */ \n\n @NotBlank\n @Size(min = 5, max = 30)\n private String email;\n}" + "sample": "java.lang.String password", + "lineNumber": 29, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/model/OtpForm.java", + "excerpt": " @Size(min = 3, max = 4)\n private String otp;\n\n @NotBlank\n @Size(min = 5, max = 30)\n private String password; /* <=== 'password' is a member of 'com.crapi.model.OtpForm' class */ \n\n @NotBlank\n @Size(min = 5, max = 30)\n private String email;\n}" }, { - "sample" : "otpForm", - "lineNumber" : 103, - "columnNumber" : 39, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " public CRAPIResponse secureValidateOtp(OtpForm otpForm) {\n CRAPIResponse crapiAPIResponse = null;\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.model.OtpForm */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" + "sample": "otpForm", + "lineNumber": 103, + "columnNumber": 39, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " public CRAPIResponse secureValidateOtp(OtpForm otpForm) {\n CRAPIResponse crapiAPIResponse = null;\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.model.OtpForm */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" }, { - "sample" : "findByEmail(otpForm.getEmail())", - "lineNumber" : 103, - "columnNumber" : 12, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " public CRAPIResponse secureValidateOtp(OtpForm otpForm) {\n CRAPIResponse crapiAPIResponse = null;\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" + "sample": "findByEmail(otpForm.getEmail())", + "lineNumber": 103, + "columnNumber": 12, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " public CRAPIResponse secureValidateOtp(OtpForm otpForm) {\n CRAPIResponse crapiAPIResponse = null;\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" }, { - "sample" : "user", - "lineNumber" : 103, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " public CRAPIResponse secureValidateOtp(OtpForm otpForm) {\n CRAPIResponse crapiAPIResponse = null;\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.entity.User */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" + "sample": "user", + "lineNumber": 103, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " public CRAPIResponse secureValidateOtp(OtpForm otpForm) {\n CRAPIResponse crapiAPIResponse = null;\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.entity.User */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" }, { - "sample" : "user", - "lineNumber" : 104, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " CRAPIResponse crapiAPIResponse = null;\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) { /* <=== com.crapi.entity.User */ \n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());" + "sample": "user", + "lineNumber": 104, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " CRAPIResponse crapiAPIResponse = null;\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) { /* <=== com.crapi.entity.User */ \n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());" }, { - "sample" : "user", - "lineNumber" : 105, - "columnNumber" : 38, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user); /* <=== com.crapi.entity.User */ \n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);" + "sample": "user", + "lineNumber": 105, + "columnNumber": 38, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user); /* <=== com.crapi.entity.User */ \n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);" }, { - "sample" : "otpRepository.findByUser(user)", - "lineNumber" : 105, - "columnNumber" : 13, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user); /* <=== com.crapi.repository.OtpRepository.findByUser */ \n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);" + "sample": "otpRepository.findByUser(user)", + "lineNumber": 105, + "columnNumber": 13, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user); /* <=== com.crapi.repository.OtpRepository.findByUser */ \n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);" }, { - "sample" : "otp", - "lineNumber" : 105, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user); /* <=== com.crapi.entity.Otp */ \n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);" + "sample": "otp", + "lineNumber": 105, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user); /* <=== com.crapi.entity.Otp */ \n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);" }, { - "sample" : "otp", - "lineNumber" : 106, - "columnNumber" : 31, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) { /* <=== com.crapi.entity.Otp */ \n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) {" + "sample": "otp", + "lineNumber": 106, + "columnNumber": 31, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) { /* <=== com.crapi.entity.Otp */ \n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) {" }, { - "sample" : "Otp otp", - "lineNumber" : 173, - "columnNumber" : 38, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : "\n /**\n * @param otp\n * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) { /* <=== */ \n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;" + "sample": "Otp otp", + "lineNumber": 173, + "columnNumber": 38, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": "\n /**\n * @param otp\n * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) { /* <=== */ \n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;" }, { - "sample" : "otp", - "lineNumber" : 174, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " /**\n * @param otp\n * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) {\n if (otp != null) { /* <=== com.crapi.entity.Otp */ \n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;\n }" + "sample": "otp", + "lineNumber": 174, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " /**\n * @param otp\n * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) {\n if (otp != null) { /* <=== com.crapi.entity.Otp */ \n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;\n }" }, { - "sample" : "otp", - "lineNumber" : 175, - "columnNumber" : 11, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " * @param otp\n * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) {\n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString()) /* <=== com.crapi.entity.Otp */ \n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;\n }\n return false;" + "sample": "otp", + "lineNumber": 175, + "columnNumber": 11, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " * @param otp\n * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) {\n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString()) /* <=== com.crapi.entity.Otp */ \n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;\n }\n return false;" }, { - "sample" : "otp", - "lineNumber" : 176, - "columnNumber" : 14, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) {\n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp()) /* <=== com.crapi.entity.Otp */ \n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;\n }\n return false;\n }" + "sample": "otp", + "lineNumber": 176, + "columnNumber": 14, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) {\n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp()) /* <=== com.crapi.entity.Otp */ \n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;\n }\n return false;\n }" }, { - "sample" : "otp", - "lineNumber" : 177, - "columnNumber" : 14, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) {\n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) { /* <=== com.crapi.entity.Otp */ \n return true;\n }\n return false;\n }\n throw new EntityNotFoundException(Otp.class, \"OTP Details Not Found\", otpForm.getEmail());" + "sample": "otp", + "lineNumber": 177, + "columnNumber": 14, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) {\n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) { /* <=== com.crapi.entity.Otp */ \n return true;\n }\n return false;\n }\n throw new EntityNotFoundException(Otp.class, \"OTP Details Not Found\", otpForm.getEmail());" }, { - "sample" : "Otp otp", - "lineNumber" : 173, - "columnNumber" : 38, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : "\n /**\n * @param otp\n * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) { /* <=== */ \n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;" + "sample": "Otp otp", + "lineNumber": 173, + "columnNumber": 38, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": "\n /**\n * @param otp\n * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) { /* <=== */ \n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;" }, { - "sample" : "otp", - "lineNumber" : 106, - "columnNumber" : 31, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) { /* <=== com.crapi.entity.Otp */ \n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) {" + "sample": "otp", + "lineNumber": 106, + "columnNumber": 31, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) { /* <=== com.crapi.entity.Otp */ \n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) {" }, { - "sample" : "otp", - "lineNumber" : 111, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) { /* <=== com.crapi.entity.Otp */ \n otp.setCount(otp.getCount() + 1);\n invalidateOtp(otp);\n validateOTPResponse = new CRAPIResponse(UserMessage.EXCEED_NUMBER_OF_ATTEMPS, 503);\n } else if (otp.getCount() > 9) {\n otp.setCount(otp.getCount() + 1);" + "sample": "otp", + "lineNumber": 111, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) { /* <=== com.crapi.entity.Otp */ \n otp.setCount(otp.getCount() + 1);\n invalidateOtp(otp);\n validateOTPResponse = new CRAPIResponse(UserMessage.EXCEED_NUMBER_OF_ATTEMPS, 503);\n } else if (otp.getCount() > 9) {\n otp.setCount(otp.getCount() + 1);" }, { - "sample" : "otp", - "lineNumber" : 115, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);\n invalidateOtp(otp);\n validateOTPResponse = new CRAPIResponse(UserMessage.EXCEED_NUMBER_OF_ATTEMPS, 503);\n } else if (otp.getCount() > 9) { /* <=== com.crapi.entity.Otp */ \n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.ERROR, 500);\n invalidateOtp(otp);\n } else {\n otp.setCount(otp.getCount() + 1);" + "sample": "otp", + "lineNumber": 115, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);\n invalidateOtp(otp);\n validateOTPResponse = new CRAPIResponse(UserMessage.EXCEED_NUMBER_OF_ATTEMPS, 503);\n } else if (otp.getCount() > 9) { /* <=== com.crapi.entity.Otp */ \n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.ERROR, 500);\n invalidateOtp(otp);\n } else {\n otp.setCount(otp.getCount() + 1);" }, { - "sample" : "otp", - "lineNumber" : 116, - "columnNumber" : 22, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);\n invalidateOtp(otp);\n validateOTPResponse = new CRAPIResponse(UserMessage.EXCEED_NUMBER_OF_ATTEMPS, 503);\n } else if (otp.getCount() > 9) {\n otp.setCount(otp.getCount() + 1); /* <=== com.crapi.entity.Otp */ \n validateOTPResponse = new CRAPIResponse(UserMessage.ERROR, 500);\n invalidateOtp(otp);\n } else {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);" + "sample": "otp", + "lineNumber": 116, + "columnNumber": 22, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);\n invalidateOtp(otp);\n validateOTPResponse = new CRAPIResponse(UserMessage.EXCEED_NUMBER_OF_ATTEMPS, 503);\n } else if (otp.getCount() > 9) {\n otp.setCount(otp.getCount() + 1); /* <=== com.crapi.entity.Otp */ \n validateOTPResponse = new CRAPIResponse(UserMessage.ERROR, 500);\n invalidateOtp(otp);\n } else {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);" }, { - "sample" : "otp.getCount() + 1", - "lineNumber" : 116, - "columnNumber" : 22, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);\n invalidateOtp(otp);\n validateOTPResponse = new CRAPIResponse(UserMessage.EXCEED_NUMBER_OF_ATTEMPS, 503);\n } else if (otp.getCount() > 9) {\n otp.setCount(otp.getCount() + 1); /* <=== */ \n validateOTPResponse = new CRAPIResponse(UserMessage.ERROR, 500);\n invalidateOtp(otp);\n } else {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);" + "sample": "otp.getCount() + 1", + "lineNumber": 116, + "columnNumber": 22, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);\n invalidateOtp(otp);\n validateOTPResponse = new CRAPIResponse(UserMessage.EXCEED_NUMBER_OF_ATTEMPS, 503);\n } else if (otp.getCount() > 9) {\n otp.setCount(otp.getCount() + 1); /* <=== */ \n validateOTPResponse = new CRAPIResponse(UserMessage.ERROR, 500);\n invalidateOtp(otp);\n } else {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);" }, { - "sample" : "otp", - "lineNumber" : 116, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);\n invalidateOtp(otp);\n validateOTPResponse = new CRAPIResponse(UserMessage.EXCEED_NUMBER_OF_ATTEMPS, 503);\n } else if (otp.getCount() > 9) {\n otp.setCount(otp.getCount() + 1); /* <=== com.crapi.entity.Otp */ \n validateOTPResponse = new CRAPIResponse(UserMessage.ERROR, 500);\n invalidateOtp(otp);\n } else {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);" + "sample": "otp", + "lineNumber": 116, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);\n invalidateOtp(otp);\n validateOTPResponse = new CRAPIResponse(UserMessage.EXCEED_NUMBER_OF_ATTEMPS, 503);\n } else if (otp.getCount() > 9) {\n otp.setCount(otp.getCount() + 1); /* <=== com.crapi.entity.Otp */ \n validateOTPResponse = new CRAPIResponse(UserMessage.ERROR, 500);\n invalidateOtp(otp);\n } else {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);" }, { - "sample" : "otp", - "lineNumber" : 118, - "columnNumber" : 23, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " invalidateOtp(otp);\n validateOTPResponse = new CRAPIResponse(UserMessage.EXCEED_NUMBER_OF_ATTEMPS, 503);\n } else if (otp.getCount() > 9) {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.ERROR, 500);\n invalidateOtp(otp); /* <=== com.crapi.entity.Otp */ \n } else {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);\n }\n otpRepository.save(otp);" + "sample": "otp", + "lineNumber": 118, + "columnNumber": 23, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " invalidateOtp(otp);\n validateOTPResponse = new CRAPIResponse(UserMessage.EXCEED_NUMBER_OF_ATTEMPS, 503);\n } else if (otp.getCount() > 9) {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.ERROR, 500);\n invalidateOtp(otp); /* <=== com.crapi.entity.Otp */ \n } else {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);\n }\n otpRepository.save(otp);" }, { - "sample" : "Otp otp", - "lineNumber" : 58, - "columnNumber" : 32, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " *\n * @param {Otp} otp\n */\n @Transactional\n @Override\n public boolean invalidateOtp(Otp otp) { /* <=== */ \n try {\n otp.setStatus(EStatus.INACTIVE.toString());\n Otp saveOtp = otpRepository.save(otp);\n return true;\n } catch (Exception e) {" + "sample": "Otp otp", + "lineNumber": 58, + "columnNumber": 32, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " *\n * @param {Otp} otp\n */\n @Transactional\n @Override\n public boolean invalidateOtp(Otp otp) { /* <=== */ \n try {\n otp.setStatus(EStatus.INACTIVE.toString());\n Otp saveOtp = otpRepository.save(otp);\n return true;\n } catch (Exception e) {" }, { - "sample" : "otp", - "lineNumber" : 60, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " */\n @Transactional\n @Override\n public boolean invalidateOtp(Otp otp) {\n try {\n otp.setStatus(EStatus.INACTIVE.toString()); /* <=== com.crapi.entity.Otp */ \n Otp saveOtp = otpRepository.save(otp);\n return true;\n } catch (Exception e) {\n logger.error(\"Fail to invalidate otp -> Message: {}\", e);\n return false;" + "sample": "otp", + "lineNumber": 60, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " */\n @Transactional\n @Override\n public boolean invalidateOtp(Otp otp) {\n try {\n otp.setStatus(EStatus.INACTIVE.toString()); /* <=== com.crapi.entity.Otp */ \n Otp saveOtp = otpRepository.save(otp);\n return true;\n } catch (Exception e) {\n logger.error(\"Fail to invalidate otp -> Message: {}\", e);\n return false;" }, { - "sample" : "otp", - "lineNumber" : 61, - "columnNumber" : 40, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " @Transactional\n @Override\n public boolean invalidateOtp(Otp otp) {\n try {\n otp.setStatus(EStatus.INACTIVE.toString());\n Otp saveOtp = otpRepository.save(otp); /* <=== com.crapi.entity.Otp */ \n return true;\n } catch (Exception e) {\n logger.error(\"Fail to invalidate otp -> Message: {}\", e);\n return false;\n }" + "sample": "otp", + "lineNumber": 61, + "columnNumber": 40, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " @Transactional\n @Override\n public boolean invalidateOtp(Otp otp) {\n try {\n otp.setStatus(EStatus.INACTIVE.toString());\n Otp saveOtp = otpRepository.save(otp); /* <=== com.crapi.entity.Otp */ \n return true;\n } catch (Exception e) {\n logger.error(\"Fail to invalidate otp -> Message: {}\", e);\n return false;\n }" }, { - "sample" : "Otp otp", - "lineNumber" : 58, - "columnNumber" : 32, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " *\n * @param {Otp} otp\n */\n @Transactional\n @Override\n public boolean invalidateOtp(Otp otp) { /* <=== */ \n try {\n otp.setStatus(EStatus.INACTIVE.toString());\n Otp saveOtp = otpRepository.save(otp);\n return true;\n } catch (Exception e) {" + "sample": "Otp otp", + "lineNumber": 58, + "columnNumber": 32, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " *\n * @param {Otp} otp\n */\n @Transactional\n @Override\n public boolean invalidateOtp(Otp otp) { /* <=== */ \n try {\n otp.setStatus(EStatus.INACTIVE.toString());\n Otp saveOtp = otpRepository.save(otp);\n return true;\n } catch (Exception e) {" }, { - "sample" : "otp", - "lineNumber" : 118, - "columnNumber" : 23, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " invalidateOtp(otp);\n validateOTPResponse = new CRAPIResponse(UserMessage.EXCEED_NUMBER_OF_ATTEMPS, 503);\n } else if (otp.getCount() > 9) {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.ERROR, 500);\n invalidateOtp(otp); /* <=== com.crapi.entity.Otp */ \n } else {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);\n }\n otpRepository.save(otp);" + "sample": "otp", + "lineNumber": 118, + "columnNumber": 23, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " invalidateOtp(otp);\n validateOTPResponse = new CRAPIResponse(UserMessage.EXCEED_NUMBER_OF_ATTEMPS, 503);\n } else if (otp.getCount() > 9) {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.ERROR, 500);\n invalidateOtp(otp); /* <=== com.crapi.entity.Otp */ \n } else {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);\n }\n otpRepository.save(otp);" }, { - "sample" : "otpRepository.save(otp)", - "lineNumber" : 123, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " invalidateOtp(otp);\n } else {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);\n }\n otpRepository.save(otp); /* <=== com.crapi.repository.OtpRepository.save */ \n return validateOTPResponse;\n }\n throw new EntityNotFoundException(User.class, \"userEmail\", otpForm.getEmail());\n }\n" + "sample": "otpRepository.save(otp)", + "lineNumber": 123, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " invalidateOtp(otp);\n } else {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);\n }\n otpRepository.save(otp); /* <=== com.crapi.repository.OtpRepository.save */ \n return validateOTPResponse;\n }\n throw new EntityNotFoundException(User.class, \"userEmail\", otpForm.getEmail());\n }\n" } ] }, { - "pathId" : "6805-6814-6813-6810-6809-6808-6819-6815", - "path" : [ + "pathId": "6805-6814-6813-6810-6809-6808-6819-6815", + "path": [ { - "sample" : "java.lang.String password", - "lineNumber" : 29, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/model/OtpForm.java", - "excerpt" : " @Size(min = 3, max = 4)\n private String otp;\n\n @NotBlank\n @Size(min = 5, max = 30)\n private String password; /* <=== 'password' is a member of 'com.crapi.model.OtpForm' class */ \n\n @NotBlank\n @Size(min = 5, max = 30)\n private String email;\n}" + "sample": "java.lang.String password", + "lineNumber": 29, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/model/OtpForm.java", + "excerpt": " @Size(min = 3, max = 4)\n private String otp;\n\n @NotBlank\n @Size(min = 5, max = 30)\n private String password; /* <=== 'password' is a member of 'com.crapi.model.OtpForm' class */ \n\n @NotBlank\n @Size(min = 5, max = 30)\n private String email;\n}" }, { - "sample" : "otpForm", - "lineNumber" : 106, - "columnNumber" : 36, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) { /* <=== com.crapi.model.OtpForm */ \n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) {" + "sample": "otpForm", + "lineNumber": 106, + "columnNumber": 36, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) { /* <=== com.crapi.model.OtpForm */ \n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) {" }, { - "sample" : "otpForm", - "lineNumber" : 107, - "columnNumber" : 41, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword())); /* <=== com.crapi.model.OtpForm */ \n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);" + "sample": "otpForm", + "lineNumber": 107, + "columnNumber": 41, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword())); /* <=== com.crapi.model.OtpForm */ \n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);" }, { - "sample" : "getPassword()", - "lineNumber" : 107, - "columnNumber" : 41, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword())); /* <=== com.crapi.model.OtpForm.getPassword */ \n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);" + "sample": "getPassword()", + "lineNumber": 107, + "columnNumber": 41, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword())); /* <=== com.crapi.model.OtpForm.getPassword */ \n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);" }, { - "sample" : "this.encoder", - "lineNumber" : 107, - "columnNumber" : 26, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword())); /* <=== */ \n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);" + "sample": "this.encoder", + "lineNumber": 107, + "columnNumber": 26, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword())); /* <=== */ \n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);" }, { - "sample" : "encode(otpForm.getPassword())", - "lineNumber" : 107, - "columnNumber" : 26, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword())); /* <=== org.springframework.security.crypto.password.PasswordEncoder.encode */ \n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);" + "sample": "encode(otpForm.getPassword())", + "lineNumber": 107, + "columnNumber": 26, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword())); /* <=== org.springframework.security.crypto.password.PasswordEncoder.encode */ \n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);" }, { - "sample" : "user", - "lineNumber" : 107, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword())); /* <=== com.crapi.entity.User */ \n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);" + "sample": "user", + "lineNumber": 107, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword())); /* <=== com.crapi.entity.User */ \n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);" }, { - "sample" : "user", - "lineNumber" : 108, - "columnNumber" : 29, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user); /* <=== com.crapi.entity.User */ \n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);\n invalidateOtp(otp);" + "sample": "user", + "lineNumber": 108, + "columnNumber": 29, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user); /* <=== com.crapi.entity.User */ \n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);\n invalidateOtp(otp);" }, { - "sample" : "userRepository.save(user)", - "lineNumber" : 108, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user); /* <=== com.crapi.repository.UserRepository.save */ \n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);\n invalidateOtp(otp);" + "sample": "userRepository.save(user)", + "lineNumber": 108, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user); /* <=== com.crapi.repository.UserRepository.save */ \n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);\n invalidateOtp(otp);" } ] }, { - "pathId" : "7234-4118-4123-4121-21724-7233-7235", - "path" : [ + "pathId": "7234-4118-4123-4121-21724-7233-7235", + "path": [ { - "sample" : "java.lang.String password", - "lineNumber" : 36, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", - "excerpt" : " sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email;\n private String password; /* <=== 'password' is a member of 'com.crapi.entity.User' class */ \n private String number;\n\n @Column(length = 500)\n private String jwtToken;\n" + "sample": "java.lang.String password", + "lineNumber": 36, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", + "excerpt": " sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email;\n private String password; /* <=== 'password' is a member of 'com.crapi.entity.User' class */ \n private String number;\n\n @Column(length = 500)\n private String jwtToken;\n" }, { - "sample" : "user", - "lineNumber" : 77, - "columnNumber" : 29, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " userDetails.setPicture(file.getBytes());\n } else {\n userDetails = new UserDetails();\n userDetails.setAvailable_credit(100.0);\n userDetails.setPicture(file.getBytes());\n userDetails.setUser(user); /* <=== com.crapi.entity.User */ \n }\n userDetailsRepository.save(userDetails);\n return userDetails;\n } catch (IOException exception) {\n logger.error(\"unable to upload image -> Message: %d\", exception);" + "sample": "user", + "lineNumber": 77, + "columnNumber": 29, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " userDetails.setPicture(file.getBytes());\n } else {\n userDetails = new UserDetails();\n userDetails.setAvailable_credit(100.0);\n userDetails.setPicture(file.getBytes());\n userDetails.setUser(user); /* <=== com.crapi.entity.User */ \n }\n userDetailsRepository.save(userDetails);\n return userDetails;\n } catch (IOException exception) {\n logger.error(\"unable to upload image -> Message: %d\", exception);" }, { - "sample" : "User user", - "lineNumber" : 86, - "columnNumber" : 23, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/UserDetails.java", - "excerpt" : "\n public User getUser() {\n return user;\n }\n\n public void setUser(User user) { /* <=== */ \n this.user = user;\n }\n\n @JsonProperty(\"picture\")\n public String getPhotoBase64() {" + "sample": "User user", + "lineNumber": 86, + "columnNumber": 23, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/UserDetails.java", + "excerpt": "\n public User getUser() {\n return user;\n }\n\n public void setUser(User user) { /* <=== */ \n this.user = user;\n }\n\n @JsonProperty(\"picture\")\n public String getPhotoBase64() {" }, { - "sample" : "user", - "lineNumber" : 87, - "columnNumber" : 17, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/UserDetails.java", - "excerpt" : " public User getUser() {\n return user;\n }\n\n public void setUser(User user) {\n this.user = user; /* <=== com.crapi.entity.User */ \n }\n\n @JsonProperty(\"picture\")\n public String getPhotoBase64() {\n // just assuming it is a jpeg. you would need to cater for different media types" + "sample": "user", + "lineNumber": 87, + "columnNumber": 17, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/UserDetails.java", + "excerpt": " public User getUser() {\n return user;\n }\n\n public void setUser(User user) {\n this.user = user; /* <=== com.crapi.entity.User */ \n }\n\n @JsonProperty(\"picture\")\n public String getPhotoBase64() {\n // just assuming it is a jpeg. you would need to cater for different media types" }, { - "sample" : "this.user", - "lineNumber" : 87, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/UserDetails.java", - "excerpt" : " public User getUser() {\n return user;\n }\n\n public void setUser(User user) {\n this.user = user; /* <=== */ \n }\n\n @JsonProperty(\"picture\")\n public String getPhotoBase64() {\n // just assuming it is a jpeg. you would need to cater for different media types" + "sample": "this.user", + "lineNumber": 87, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/UserDetails.java", + "excerpt": " public User getUser() {\n return user;\n }\n\n public void setUser(User user) {\n this.user = user; /* <=== */ \n }\n\n @JsonProperty(\"picture\")\n public String getPhotoBase64() {\n // just assuming it is a jpeg. you would need to cater for different media types" }, { - "sample" : "this", - "lineNumber" : 86, - "columnNumber" : -1, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/UserDetails.java", - "excerpt" : "\n public User getUser() {\n return user;\n }\n\n public void setUser(User user) { /* <=== */ \n this.user = user;\n }\n\n @JsonProperty(\"picture\")\n public String getPhotoBase64() {" + "sample": "this", + "lineNumber": 86, + "columnNumber": -1, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/UserDetails.java", + "excerpt": "\n public User getUser() {\n return user;\n }\n\n public void setUser(User user) { /* <=== */ \n this.user = user;\n }\n\n @JsonProperty(\"picture\")\n public String getPhotoBase64() {" }, { - "sample" : "userDetails", - "lineNumber" : 77, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " userDetails.setPicture(file.getBytes());\n } else {\n userDetails = new UserDetails();\n userDetails.setAvailable_credit(100.0);\n userDetails.setPicture(file.getBytes());\n userDetails.setUser(user); /* <=== com.crapi.entity.UserDetails */ \n }\n userDetailsRepository.save(userDetails);\n return userDetails;\n } catch (IOException exception) {\n logger.error(\"unable to upload image -> Message: %d\", exception);" + "sample": "userDetails", + "lineNumber": 77, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " userDetails.setPicture(file.getBytes());\n } else {\n userDetails = new UserDetails();\n userDetails.setAvailable_credit(100.0);\n userDetails.setPicture(file.getBytes());\n userDetails.setUser(user); /* <=== com.crapi.entity.UserDetails */ \n }\n userDetailsRepository.save(userDetails);\n return userDetails;\n } catch (IOException exception) {\n logger.error(\"unable to upload image -> Message: %d\", exception);" }, { - "sample" : "userDetailsRepository.save(userDetails)", - "lineNumber" : 79, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " userDetails = new UserDetails();\n userDetails.setAvailable_credit(100.0);\n userDetails.setPicture(file.getBytes());\n userDetails.setUser(user);\n }\n userDetailsRepository.save(userDetails); /* <=== com.crapi.repository.UserDetailsRepository.save */ \n return userDetails;\n } catch (IOException exception) {\n logger.error(\"unable to upload image -> Message: %d\", exception);\n throw new IOExceptionHandler(ProfileServiceImpl.class, UserMessage.CUSTOM_IO_EXCEPTION);\n }" + "sample": "userDetailsRepository.save(userDetails)", + "lineNumber": 79, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " userDetails = new UserDetails();\n userDetails.setAvailable_credit(100.0);\n userDetails.setPicture(file.getBytes());\n userDetails.setUser(user);\n }\n userDetailsRepository.save(userDetails); /* <=== com.crapi.repository.UserDetailsRepository.save */ \n return userDetails;\n } catch (IOException exception) {\n logger.error(\"unable to upload image -> Message: %d\", exception);\n throw new IOExceptionHandler(ProfileServiceImpl.class, UserMessage.CUSTOM_IO_EXCEPTION);\n }" } ] }, { - "pathId" : "8084-8087-8107-8103", - "path" : [ + "pathId": "8084-8087-8107-8103", + "path": [ { - "sample" : "java.lang.String password", - "lineNumber" : 36, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", - "excerpt" : " sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email;\n private String password; /* <=== 'password' is a member of 'com.crapi.entity.User' class */ \n private String number;\n\n @Column(length = 500)\n private String jwtToken;\n" + "sample": "java.lang.String password", + "lineNumber": 36, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", + "excerpt": " sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email;\n private String password; /* <=== 'password' is a member of 'com.crapi.entity.User' class */ \n private String number;\n\n @Column(length = 500)\n private String jwtToken;\n" }, { - "sample" : "user", - "lineNumber" : 90, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", - "excerpt" : " if (userRepository.existsByEmail(signUpRequest.getEmail())) {\n return new CRAPIResponse(\n UserMessage.EMAIL_ALREADY_REGISTERED + signUpRequest.getEmail(), 403);\n }\n // Register new user in Database\n user = /* <=== com.crapi.entity.User */ \n new User(\n signUpRequest.getEmail(),\n signUpRequest.getNumber(),\n encoder.encode(signUpRequest.getPassword()),\n ERole.ROLE_USER);" + "sample": "user", + "lineNumber": 90, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", + "excerpt": " if (userRepository.existsByEmail(signUpRequest.getEmail())) {\n return new CRAPIResponse(\n UserMessage.EMAIL_ALREADY_REGISTERED + signUpRequest.getEmail(), 403);\n }\n // Register new user in Database\n user = /* <=== com.crapi.entity.User */ \n new User(\n signUpRequest.getEmail(),\n signUpRequest.getNumber(),\n encoder.encode(signUpRequest.getPassword()),\n ERole.ROLE_USER);" }, { - "sample" : "user", - "lineNumber" : 90, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", - "excerpt" : " if (userRepository.existsByEmail(signUpRequest.getEmail())) {\n return new CRAPIResponse(\n UserMessage.EMAIL_ALREADY_REGISTERED + signUpRequest.getEmail(), 403);\n }\n // Register new user in Database\n user = /* <=== com.crapi.entity.User */ \n new User(\n signUpRequest.getEmail(),\n signUpRequest.getNumber(),\n encoder.encode(signUpRequest.getPassword()),\n ERole.ROLE_USER);" + "sample": "user", + "lineNumber": 90, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", + "excerpt": " if (userRepository.existsByEmail(signUpRequest.getEmail())) {\n return new CRAPIResponse(\n UserMessage.EMAIL_ALREADY_REGISTERED + signUpRequest.getEmail(), 403);\n }\n // Register new user in Database\n user = /* <=== com.crapi.entity.User */ \n new User(\n signUpRequest.getEmail(),\n signUpRequest.getNumber(),\n encoder.encode(signUpRequest.getPassword()),\n ERole.ROLE_USER);" }, { - "sample" : "user", - "lineNumber" : 96, - "columnNumber" : 32, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", - "excerpt" : " new User(\n signUpRequest.getEmail(),\n signUpRequest.getNumber(),\n encoder.encode(signUpRequest.getPassword()),\n ERole.ROLE_USER);\n user = userRepository.save(user); /* <=== com.crapi.entity.User */ \n if (user != null) {\n logger.info(\"User registered successful with userId {}\", user.getId());\n // Creating User Details for same user\n userDetails = createUserDetails(signUpRequest.getName(), user);\n if (userDetails != null) {" + "sample": "user", + "lineNumber": 96, + "columnNumber": 32, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", + "excerpt": " new User(\n signUpRequest.getEmail(),\n signUpRequest.getNumber(),\n encoder.encode(signUpRequest.getPassword()),\n ERole.ROLE_USER);\n user = userRepository.save(user); /* <=== com.crapi.entity.User */ \n if (user != null) {\n logger.info(\"User registered successful with userId {}\", user.getId());\n // Creating User Details for same user\n userDetails = createUserDetails(signUpRequest.getName(), user);\n if (userDetails != null) {" }, { - "sample" : "userRepository.save(user)", - "lineNumber" : 96, - "columnNumber" : 12, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", - "excerpt" : " new User(\n signUpRequest.getEmail(),\n signUpRequest.getNumber(),\n encoder.encode(signUpRequest.getPassword()),\n ERole.ROLE_USER);\n user = userRepository.save(user); /* <=== com.crapi.repository.UserRepository.save */ \n if (user != null) {\n logger.info(\"User registered successful with userId {}\", user.getId());\n // Creating User Details for same user\n userDetails = createUserDetails(signUpRequest.getName(), user);\n if (userDetails != null) {" + "sample": "userRepository.save(user)", + "lineNumber": 96, + "columnNumber": 12, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", + "excerpt": " new User(\n signUpRequest.getEmail(),\n signUpRequest.getNumber(),\n encoder.encode(signUpRequest.getPassword()),\n ERole.ROLE_USER);\n user = userRepository.save(user); /* <=== com.crapi.repository.UserRepository.save */ \n if (user != null) {\n logger.info(\"User registered successful with userId {}\", user.getId());\n // Creating User Details for same user\n userDetails = createUserDetails(signUpRequest.getName(), user);\n if (userDetails != null) {" } ] }, { - "pathId" : "7421-7434-7429-7428-7437-7441-3602-21692-7441-7454-3744-3746-3752-7453-7446-3754-3759-3757-21693-7445-7455", - "path" : [ + "pathId": "7421-7434-7429-7428-7437-7441-3602-21692-7441-7454-3744-3746-3752-7453-7446-3754-3759-3757-21693-7445-7455", + "path": [ { - "sample" : "java.lang.String password", - "lineNumber" : 36, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", - "excerpt" : " sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email;\n private String password; /* <=== 'password' is a member of 'com.crapi.entity.User' class */ \n private String number;\n\n @Column(length = 500)\n private String jwtToken;\n" + "sample": "java.lang.String password", + "lineNumber": 36, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", + "excerpt": " sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email;\n private String password; /* <=== 'password' is a member of 'com.crapi.entity.User' class */ \n private String number;\n\n @Column(length = 500)\n private String jwtToken;\n" }, { - "sample" : "user", - "lineNumber" : 146, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " @Transactional\n @Override\n public ProfileVideo updateProfileVideo(VideoForm videoForm, HttpServletRequest request) {\n User user;\n ProfileVideo profileVideo;\n user = userService.getUserFromToken(request); /* <=== com.crapi.entity.User */ \n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n if (profileVideo != null) {\n profileVideo.setVideo_name(videoForm.getVideoName());\n profileVideo.setConversion_params(\n (videoForm.getConversion_params() != null" + "sample": "user", + "lineNumber": 146, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " @Transactional\n @Override\n public ProfileVideo updateProfileVideo(VideoForm videoForm, HttpServletRequest request) {\n User user;\n ProfileVideo profileVideo;\n user = userService.getUserFromToken(request); /* <=== com.crapi.entity.User */ \n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n if (profileVideo != null) {\n profileVideo.setVideo_name(videoForm.getVideoName());\n profileVideo.setConversion_params(\n (videoForm.getConversion_params() != null" }, { - "sample" : "user", - "lineNumber" : 147, - "columnNumber" : 57, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " @Override\n public ProfileVideo updateProfileVideo(VideoForm videoForm, HttpServletRequest request) {\n User user;\n ProfileVideo profileVideo;\n user = userService.getUserFromToken(request);\n profileVideo = profileVideoRepository.findByUser_id(user.getId()); /* <=== com.crapi.entity.User */ \n if (profileVideo != null) {\n profileVideo.setVideo_name(videoForm.getVideoName());\n profileVideo.setConversion_params(\n (videoForm.getConversion_params() != null\n ? videoForm.getConversion_params()" + "sample": "user", + "lineNumber": 147, + "columnNumber": 57, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " @Override\n public ProfileVideo updateProfileVideo(VideoForm videoForm, HttpServletRequest request) {\n User user;\n ProfileVideo profileVideo;\n user = userService.getUserFromToken(request);\n profileVideo = profileVideoRepository.findByUser_id(user.getId()); /* <=== com.crapi.entity.User */ \n if (profileVideo != null) {\n profileVideo.setVideo_name(videoForm.getVideoName());\n profileVideo.setConversion_params(\n (videoForm.getConversion_params() != null\n ? videoForm.getConversion_params()" }, { - "sample" : "findByUser_id(user.getId())", - "lineNumber" : 147, - "columnNumber" : 20, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " @Override\n public ProfileVideo updateProfileVideo(VideoForm videoForm, HttpServletRequest request) {\n User user;\n ProfileVideo profileVideo;\n user = userService.getUserFromToken(request);\n profileVideo = profileVideoRepository.findByUser_id(user.getId()); /* <=== com.crapi.repository.ProfileVideoRepository.findByUser_id */ \n if (profileVideo != null) {\n profileVideo.setVideo_name(videoForm.getVideoName());\n profileVideo.setConversion_params(\n (videoForm.getConversion_params() != null\n ? videoForm.getConversion_params()" + "sample": "findByUser_id(user.getId())", + "lineNumber": 147, + "columnNumber": 20, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " @Override\n public ProfileVideo updateProfileVideo(VideoForm videoForm, HttpServletRequest request) {\n User user;\n ProfileVideo profileVideo;\n user = userService.getUserFromToken(request);\n profileVideo = profileVideoRepository.findByUser_id(user.getId()); /* <=== com.crapi.repository.ProfileVideoRepository.findByUser_id */ \n if (profileVideo != null) {\n profileVideo.setVideo_name(videoForm.getVideoName());\n profileVideo.setConversion_params(\n (videoForm.getConversion_params() != null\n ? videoForm.getConversion_params()" }, { - "sample" : "profileVideo", - "lineNumber" : 147, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " @Override\n public ProfileVideo updateProfileVideo(VideoForm videoForm, HttpServletRequest request) {\n User user;\n ProfileVideo profileVideo;\n user = userService.getUserFromToken(request);\n profileVideo = profileVideoRepository.findByUser_id(user.getId()); /* <=== com.crapi.entity.ProfileVideo */ \n if (profileVideo != null) {\n profileVideo.setVideo_name(videoForm.getVideoName());\n profileVideo.setConversion_params(\n (videoForm.getConversion_params() != null\n ? videoForm.getConversion_params()" + "sample": "profileVideo", + "lineNumber": 147, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " @Override\n public ProfileVideo updateProfileVideo(VideoForm videoForm, HttpServletRequest request) {\n User user;\n ProfileVideo profileVideo;\n user = userService.getUserFromToken(request);\n profileVideo = profileVideoRepository.findByUser_id(user.getId()); /* <=== com.crapi.entity.ProfileVideo */ \n if (profileVideo != null) {\n profileVideo.setVideo_name(videoForm.getVideoName());\n profileVideo.setConversion_params(\n (videoForm.getConversion_params() != null\n ? videoForm.getConversion_params()" }, { - "sample" : "profileVideo", - "lineNumber" : 148, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " public ProfileVideo updateProfileVideo(VideoForm videoForm, HttpServletRequest request) {\n User user;\n ProfileVideo profileVideo;\n user = userService.getUserFromToken(request);\n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n if (profileVideo != null) { /* <=== com.crapi.entity.ProfileVideo */ \n profileVideo.setVideo_name(videoForm.getVideoName());\n profileVideo.setConversion_params(\n (videoForm.getConversion_params() != null\n ? videoForm.getConversion_params()\n : profileVideo.getConversion_params()));" + "sample": "profileVideo", + "lineNumber": 148, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " public ProfileVideo updateProfileVideo(VideoForm videoForm, HttpServletRequest request) {\n User user;\n ProfileVideo profileVideo;\n user = userService.getUserFromToken(request);\n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n if (profileVideo != null) { /* <=== com.crapi.entity.ProfileVideo */ \n profileVideo.setVideo_name(videoForm.getVideoName());\n profileVideo.setConversion_params(\n (videoForm.getConversion_params() != null\n ? videoForm.getConversion_params()\n : profileVideo.getConversion_params()));" }, { - "sample" : "profileVideo", - "lineNumber" : 149, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " User user;\n ProfileVideo profileVideo;\n user = userService.getUserFromToken(request);\n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n if (profileVideo != null) {\n profileVideo.setVideo_name(videoForm.getVideoName()); /* <=== com.crapi.entity.ProfileVideo */ \n profileVideo.setConversion_params(\n (videoForm.getConversion_params() != null\n ? videoForm.getConversion_params()\n : profileVideo.getConversion_params()));\n profileVideoRepository.save(profileVideo);" + "sample": "profileVideo", + "lineNumber": 149, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " User user;\n ProfileVideo profileVideo;\n user = userService.getUserFromToken(request);\n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n if (profileVideo != null) {\n profileVideo.setVideo_name(videoForm.getVideoName()); /* <=== com.crapi.entity.ProfileVideo */ \n profileVideo.setConversion_params(\n (videoForm.getConversion_params() != null\n ? videoForm.getConversion_params()\n : profileVideo.getConversion_params()));\n profileVideoRepository.save(profileVideo);" }, { - "sample" : "this", - "lineNumber" : 64, - "columnNumber" : -1, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", - "excerpt" : "\n public String getVideo_name() {\n return video_name;\n }\n\n public void setVideo_name(String video_name) { /* <=== */ \n this.video_name = video_name;\n }\n\n public String getConversion_params() {\n return conversion_params;" + "sample": "this", + "lineNumber": 64, + "columnNumber": -1, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", + "excerpt": "\n public String getVideo_name() {\n return video_name;\n }\n\n public void setVideo_name(String video_name) { /* <=== */ \n this.video_name = video_name;\n }\n\n public String getConversion_params() {\n return conversion_params;" }, { - "sample" : "this", - "lineNumber" : 64, - "columnNumber" : -1, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", - "excerpt" : "\n public String getVideo_name() {\n return video_name;\n }\n\n public void setVideo_name(String video_name) { /* <=== */ \n this.video_name = video_name;\n }\n\n public String getConversion_params() {\n return conversion_params;" + "sample": "this", + "lineNumber": 64, + "columnNumber": -1, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", + "excerpt": "\n public String getVideo_name() {\n return video_name;\n }\n\n public void setVideo_name(String video_name) { /* <=== */ \n this.video_name = video_name;\n }\n\n public String getConversion_params() {\n return conversion_params;" }, { - "sample" : "profileVideo", - "lineNumber" : 149, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " User user;\n ProfileVideo profileVideo;\n user = userService.getUserFromToken(request);\n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n if (profileVideo != null) {\n profileVideo.setVideo_name(videoForm.getVideoName()); /* <=== com.crapi.entity.ProfileVideo */ \n profileVideo.setConversion_params(\n (videoForm.getConversion_params() != null\n ? videoForm.getConversion_params()\n : profileVideo.getConversion_params()));\n profileVideoRepository.save(profileVideo);" + "sample": "profileVideo", + "lineNumber": 149, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " User user;\n ProfileVideo profileVideo;\n user = userService.getUserFromToken(request);\n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n if (profileVideo != null) {\n profileVideo.setVideo_name(videoForm.getVideoName()); /* <=== com.crapi.entity.ProfileVideo */ \n profileVideo.setConversion_params(\n (videoForm.getConversion_params() != null\n ? videoForm.getConversion_params()\n : profileVideo.getConversion_params()));\n profileVideoRepository.save(profileVideo);" }, { - "sample" : "profileVideo", - "lineNumber" : 153, - "columnNumber" : 17, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " if (profileVideo != null) {\n profileVideo.setVideo_name(videoForm.getVideoName());\n profileVideo.setConversion_params(\n (videoForm.getConversion_params() != null\n ? videoForm.getConversion_params()\n : profileVideo.getConversion_params())); /* <=== com.crapi.entity.ProfileVideo */ \n profileVideoRepository.save(profileVideo);\n return profileVideo;\n }\n throw new CRAPIExceptionHandler(UserMessage.SORRY_DIDNT_GET_PROFILE + user.getEmail(), 404);\n }" + "sample": "profileVideo", + "lineNumber": 153, + "columnNumber": 17, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " if (profileVideo != null) {\n profileVideo.setVideo_name(videoForm.getVideoName());\n profileVideo.setConversion_params(\n (videoForm.getConversion_params() != null\n ? videoForm.getConversion_params()\n : profileVideo.getConversion_params())); /* <=== com.crapi.entity.ProfileVideo */ \n profileVideoRepository.save(profileVideo);\n return profileVideo;\n }\n throw new CRAPIExceptionHandler(UserMessage.SORRY_DIDNT_GET_PROFILE + user.getEmail(), 404);\n }" }, { - "sample" : "this", - "lineNumber" : 68, - "columnNumber" : -1, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", - "excerpt" : "\n public void setVideo_name(String video_name) {\n this.video_name = video_name;\n }\n\n public String getConversion_params() { /* <=== */ \n return conversion_params;\n }\n\n public void setConversion_params(String conversion_params) {\n this.conversion_params = conversion_params;" + "sample": "this", + "lineNumber": 68, + "columnNumber": -1, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", + "excerpt": "\n public void setVideo_name(String video_name) {\n this.video_name = video_name;\n }\n\n public String getConversion_params() { /* <=== */ \n return conversion_params;\n }\n\n public void setConversion_params(String conversion_params) {\n this.conversion_params = conversion_params;" }, { - "sample" : "return conversion_params;", - "lineNumber" : 69, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", - "excerpt" : " public void setVideo_name(String video_name) {\n this.video_name = video_name;\n }\n\n public String getConversion_params() {\n return conversion_params; /* <=== */ \n }\n\n public void setConversion_params(String conversion_params) {\n this.conversion_params = conversion_params;\n }" + "sample": "return conversion_params;", + "lineNumber": 69, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", + "excerpt": " public void setVideo_name(String video_name) {\n this.video_name = video_name;\n }\n\n public String getConversion_params() {\n return conversion_params; /* <=== */ \n }\n\n public void setConversion_params(String conversion_params) {\n this.conversion_params = conversion_params;\n }" }, { - "sample" : "java.lang.String", - "lineNumber" : 68, - "columnNumber" : 10, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", - "excerpt" : "\n public void setVideo_name(String video_name) {\n this.video_name = video_name;\n }\n\n public String getConversion_params() { /* <=== */ \n return conversion_params;\n }\n\n public void setConversion_params(String conversion_params) {\n this.conversion_params = conversion_params;" + "sample": "java.lang.String", + "lineNumber": 68, + "columnNumber": 10, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", + "excerpt": "\n public void setVideo_name(String video_name) {\n this.video_name = video_name;\n }\n\n public String getConversion_params() { /* <=== */ \n return conversion_params;\n }\n\n public void setConversion_params(String conversion_params) {\n this.conversion_params = conversion_params;" }, { - "sample" : "profileVideo.getConversion_params()", - "lineNumber" : 153, - "columnNumber" : 17, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " if (profileVideo != null) {\n profileVideo.setVideo_name(videoForm.getVideoName());\n profileVideo.setConversion_params(\n (videoForm.getConversion_params() != null\n ? videoForm.getConversion_params()\n : profileVideo.getConversion_params())); /* <=== com.crapi.entity.ProfileVideo.getConversion_params */ \n profileVideoRepository.save(profileVideo);\n return profileVideo;\n }\n throw new CRAPIExceptionHandler(UserMessage.SORRY_DIDNT_GET_PROFILE + user.getEmail(), 404);\n }" + "sample": "profileVideo.getConversion_params()", + "lineNumber": 153, + "columnNumber": 17, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " if (profileVideo != null) {\n profileVideo.setVideo_name(videoForm.getVideoName());\n profileVideo.setConversion_params(\n (videoForm.getConversion_params() != null\n ? videoForm.getConversion_params()\n : profileVideo.getConversion_params())); /* <=== com.crapi.entity.ProfileVideo.getConversion_params */ \n profileVideoRepository.save(profileVideo);\n return profileVideo;\n }\n throw new CRAPIExceptionHandler(UserMessage.SORRY_DIDNT_GET_PROFILE + user.getEmail(), 404);\n }" }, { - "sample" : "videoForm.getConversion_params() != null ? videoForm.getConversion_params() : profileVideo.getConversion_params()", - "lineNumber" : 151, - "columnNumber" : 12, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " user = userService.getUserFromToken(request);\n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n if (profileVideo != null) {\n profileVideo.setVideo_name(videoForm.getVideoName());\n profileVideo.setConversion_params(\n (videoForm.getConversion_params() != null /* <=== */ \n ? videoForm.getConversion_params()\n : profileVideo.getConversion_params()));\n profileVideoRepository.save(profileVideo);\n return profileVideo;\n }" + "sample": "videoForm.getConversion_params() != null ? videoForm.getConversion_params() : profileVideo.getConversion_params()", + "lineNumber": 151, + "columnNumber": 12, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " user = userService.getUserFromToken(request);\n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n if (profileVideo != null) {\n profileVideo.setVideo_name(videoForm.getVideoName());\n profileVideo.setConversion_params(\n (videoForm.getConversion_params() != null /* <=== */ \n ? videoForm.getConversion_params()\n : profileVideo.getConversion_params()));\n profileVideoRepository.save(profileVideo);\n return profileVideo;\n }" }, { - "sample" : "String conversion_params", - "lineNumber" : 72, - "columnNumber" : 36, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", - "excerpt" : "\n public String getConversion_params() {\n return conversion_params;\n }\n\n public void setConversion_params(String conversion_params) { /* <=== */ \n this.conversion_params = conversion_params;\n }\n\n @JsonIgnore\n public byte[] getVideo() {" + "sample": "String conversion_params", + "lineNumber": 72, + "columnNumber": 36, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", + "excerpt": "\n public String getConversion_params() {\n return conversion_params;\n }\n\n public void setConversion_params(String conversion_params) { /* <=== */ \n this.conversion_params = conversion_params;\n }\n\n @JsonIgnore\n public byte[] getVideo() {" }, { - "sample" : "conversion_params", - "lineNumber" : 73, - "columnNumber" : 30, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", - "excerpt" : " public String getConversion_params() {\n return conversion_params;\n }\n\n public void setConversion_params(String conversion_params) {\n this.conversion_params = conversion_params; /* <=== java.lang.String */ \n }\n\n @JsonIgnore\n public byte[] getVideo() {\n return video;" + "sample": "conversion_params", + "lineNumber": 73, + "columnNumber": 30, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", + "excerpt": " public String getConversion_params() {\n return conversion_params;\n }\n\n public void setConversion_params(String conversion_params) {\n this.conversion_params = conversion_params; /* <=== java.lang.String */ \n }\n\n @JsonIgnore\n public byte[] getVideo() {\n return video;" }, { - "sample" : "this.conversion_params", - "lineNumber" : 73, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", - "excerpt" : " public String getConversion_params() {\n return conversion_params;\n }\n\n public void setConversion_params(String conversion_params) {\n this.conversion_params = conversion_params; /* <=== */ \n }\n\n @JsonIgnore\n public byte[] getVideo() {\n return video;" + "sample": "this.conversion_params", + "lineNumber": 73, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", + "excerpt": " public String getConversion_params() {\n return conversion_params;\n }\n\n public void setConversion_params(String conversion_params) {\n this.conversion_params = conversion_params; /* <=== */ \n }\n\n @JsonIgnore\n public byte[] getVideo() {\n return video;" }, { - "sample" : "this", - "lineNumber" : 72, - "columnNumber" : -1, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", - "excerpt" : "\n public String getConversion_params() {\n return conversion_params;\n }\n\n public void setConversion_params(String conversion_params) { /* <=== */ \n this.conversion_params = conversion_params;\n }\n\n @JsonIgnore\n public byte[] getVideo() {" + "sample": "this", + "lineNumber": 72, + "columnNumber": -1, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", + "excerpt": "\n public String getConversion_params() {\n return conversion_params;\n }\n\n public void setConversion_params(String conversion_params) { /* <=== */ \n this.conversion_params = conversion_params;\n }\n\n @JsonIgnore\n public byte[] getVideo() {" }, { - "sample" : "profileVideo", - "lineNumber" : 150, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " ProfileVideo profileVideo;\n user = userService.getUserFromToken(request);\n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n if (profileVideo != null) {\n profileVideo.setVideo_name(videoForm.getVideoName());\n profileVideo.setConversion_params( /* <=== com.crapi.entity.ProfileVideo */ \n (videoForm.getConversion_params() != null\n ? videoForm.getConversion_params()\n : profileVideo.getConversion_params()));\n profileVideoRepository.save(profileVideo);\n return profileVideo;" + "sample": "profileVideo", + "lineNumber": 150, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " ProfileVideo profileVideo;\n user = userService.getUserFromToken(request);\n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n if (profileVideo != null) {\n profileVideo.setVideo_name(videoForm.getVideoName());\n profileVideo.setConversion_params( /* <=== com.crapi.entity.ProfileVideo */ \n (videoForm.getConversion_params() != null\n ? videoForm.getConversion_params()\n : profileVideo.getConversion_params()));\n profileVideoRepository.save(profileVideo);\n return profileVideo;" }, { - "sample" : "profileVideoRepository.save(profileVideo)", - "lineNumber" : 154, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " profileVideo.setVideo_name(videoForm.getVideoName());\n profileVideo.setConversion_params(\n (videoForm.getConversion_params() != null\n ? videoForm.getConversion_params()\n : profileVideo.getConversion_params()));\n profileVideoRepository.save(profileVideo); /* <=== com.crapi.repository.ProfileVideoRepository.save */ \n return profileVideo;\n }\n throw new CRAPIExceptionHandler(UserMessage.SORRY_DIDNT_GET_PROFILE + user.getEmail(), 404);\n }\n" + "sample": "profileVideoRepository.save(profileVideo)", + "lineNumber": 154, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " profileVideo.setVideo_name(videoForm.getVideoName());\n profileVideo.setConversion_params(\n (videoForm.getConversion_params() != null\n ? videoForm.getConversion_params()\n : profileVideo.getConversion_params()));\n profileVideoRepository.save(profileVideo); /* <=== com.crapi.repository.ProfileVideoRepository.save */ \n return profileVideo;\n }\n throw new CRAPIExceptionHandler(UserMessage.SORRY_DIDNT_GET_PROFILE + user.getEmail(), 404);\n }\n" } ] }, { - "pathId" : "267-270-285-281", - "path" : [ + "pathId": "267-270-285-281", + "path": [ { - "sample" : "java.lang.String password", - "lineNumber" : 36, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", - "excerpt" : " sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email;\n private String password; /* <=== 'password' is a member of 'com.crapi.entity.User' class */ \n private String number;\n\n @Column(length = 500)\n private String jwtToken;\n" + "sample": "java.lang.String password", + "lineNumber": 36, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", + "excerpt": " sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email;\n private String password; /* <=== 'password' is a member of 'com.crapi.entity.User' class */ \n private String number;\n\n @Column(length = 500)\n private String jwtToken;\n" }, { - "sample" : "user", - "lineNumber" : 106, - "columnNumber" : 12, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", - "excerpt" : " String name, String email, String password, String number, ERole role) {\n UserData userData = new UserData();\n VehicleDetails vehicleDetails = null;\n UserDetails userDetails = null;\n try {\n User user = new User(email, number, encoder.encode(password), role); /* <=== com.crapi.entity.User */ \n user = userRepository.save(user);\n userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {" + "sample": "user", + "lineNumber": 106, + "columnNumber": 12, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", + "excerpt": " String name, String email, String password, String number, ERole role) {\n UserData userData = new UserData();\n VehicleDetails vehicleDetails = null;\n UserDetails userDetails = null;\n try {\n User user = new User(email, number, encoder.encode(password), role); /* <=== com.crapi.entity.User */ \n user = userRepository.save(user);\n userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {" }, { - "sample" : "user", - "lineNumber" : 106, - "columnNumber" : 12, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", - "excerpt" : " String name, String email, String password, String number, ERole role) {\n UserData userData = new UserData();\n VehicleDetails vehicleDetails = null;\n UserDetails userDetails = null;\n try {\n User user = new User(email, number, encoder.encode(password), role); /* <=== com.crapi.entity.User */ \n user = userRepository.save(user);\n userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {" + "sample": "user", + "lineNumber": 106, + "columnNumber": 12, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", + "excerpt": " String name, String email, String password, String number, ERole role) {\n UserData userData = new UserData();\n VehicleDetails vehicleDetails = null;\n UserDetails userDetails = null;\n try {\n User user = new User(email, number, encoder.encode(password), role); /* <=== com.crapi.entity.User */ \n user = userRepository.save(user);\n userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {" }, { - "sample" : "user", - "lineNumber" : 107, - "columnNumber" : 34, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", - "excerpt" : " UserData userData = new UserData();\n VehicleDetails vehicleDetails = null;\n UserDetails userDetails = null;\n try {\n User user = new User(email, number, encoder.encode(password), role);\n user = userRepository.save(user); /* <=== com.crapi.entity.User */ \n userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {\n vehicleDetails.setOwner(user);" + "sample": "user", + "lineNumber": 107, + "columnNumber": 34, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", + "excerpt": " UserData userData = new UserData();\n VehicleDetails vehicleDetails = null;\n UserDetails userDetails = null;\n try {\n User user = new User(email, number, encoder.encode(password), role);\n user = userRepository.save(user); /* <=== com.crapi.entity.User */ \n userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {\n vehicleDetails.setOwner(user);" }, { - "sample" : "userRepository.save(user)", - "lineNumber" : 107, - "columnNumber" : 14, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", - "excerpt" : " UserData userData = new UserData();\n VehicleDetails vehicleDetails = null;\n UserDetails userDetails = null;\n try {\n User user = new User(email, number, encoder.encode(password), role);\n user = userRepository.save(user); /* <=== com.crapi.repository.UserRepository.save */ \n userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {\n vehicleDetails.setOwner(user);" + "sample": "userRepository.save(user)", + "lineNumber": 107, + "columnNumber": 14, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", + "excerpt": " UserData userData = new UserData();\n VehicleDetails vehicleDetails = null;\n UserDetails userDetails = null;\n try {\n User user = new User(email, number, encoder.encode(password), role);\n user = userRepository.save(user); /* <=== com.crapi.repository.UserRepository.save */ \n userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {\n vehicleDetails.setOwner(user);" } ] }, { - "pathId" : "9401-9409-9414-9413-9416-9424-9420", - "path" : [ + "pathId": "9401-9409-9414-9413-9416-9424-9420", + "path": [ { - "sample" : "java.lang.String password", - "lineNumber" : 36, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", - "excerpt" : " sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email;\n private String password; /* <=== 'password' is a member of 'com.crapi.entity.User' class */ \n private String number;\n\n @Column(length = 500)\n private String jwtToken;\n" + "sample": "java.lang.String password", + "lineNumber": 36, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", + "excerpt": " sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email;\n private String password; /* <=== 'password' is a member of 'com.crapi.entity.User' class */ \n private String number;\n\n @Column(length = 500)\n private String jwtToken;\n" }, { - "sample" : "user", - "lineNumber" : 67, - "columnNumber" : 14, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " public boolean addVehicleDetails(VehicleForm vehicleForm, HttpServletRequest request) {\n try {\n VehicleDetails vehicleDetails = vehicleDetailsRepository.findByVin(vehicleForm.getVin());\n if (vehicleDetails != null\n && vehicleDetails.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n User user = userService.getUserFromToken(request); /* <=== com.crapi.entity.User */ \n if (user != null) {\n vehicleDetails.setOwner(user);\n vehicleDetails.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(vehicleDetails);\n logger.info(\"Success Owner updated in vehicle details\");" + "sample": "user", + "lineNumber": 67, + "columnNumber": 14, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " public boolean addVehicleDetails(VehicleForm vehicleForm, HttpServletRequest request) {\n try {\n VehicleDetails vehicleDetails = vehicleDetailsRepository.findByVin(vehicleForm.getVin());\n if (vehicleDetails != null\n && vehicleDetails.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n User user = userService.getUserFromToken(request); /* <=== com.crapi.entity.User */ \n if (user != null) {\n vehicleDetails.setOwner(user);\n vehicleDetails.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(vehicleDetails);\n logger.info(\"Success Owner updated in vehicle details\");" }, { - "sample" : "user", - "lineNumber" : 68, - "columnNumber" : 13, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " try {\n VehicleDetails vehicleDetails = vehicleDetailsRepository.findByVin(vehicleForm.getVin());\n if (vehicleDetails != null\n && vehicleDetails.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n User user = userService.getUserFromToken(request);\n if (user != null) { /* <=== com.crapi.entity.User */ \n vehicleDetails.setOwner(user);\n vehicleDetails.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(vehicleDetails);\n logger.info(\"Success Owner updated in vehicle details\");\n return true;" + "sample": "user", + "lineNumber": 68, + "columnNumber": 13, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " try {\n VehicleDetails vehicleDetails = vehicleDetailsRepository.findByVin(vehicleForm.getVin());\n if (vehicleDetails != null\n && vehicleDetails.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n User user = userService.getUserFromToken(request);\n if (user != null) { /* <=== com.crapi.entity.User */ \n vehicleDetails.setOwner(user);\n vehicleDetails.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(vehicleDetails);\n logger.info(\"Success Owner updated in vehicle details\");\n return true;" }, { - "sample" : "user", - "lineNumber" : 69, - "columnNumber" : 35, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " VehicleDetails vehicleDetails = vehicleDetailsRepository.findByVin(vehicleForm.getVin());\n if (vehicleDetails != null\n && vehicleDetails.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n User user = userService.getUserFromToken(request);\n if (user != null) {\n vehicleDetails.setOwner(user); /* <=== com.crapi.entity.User */ \n vehicleDetails.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(vehicleDetails);\n logger.info(\"Success Owner updated in vehicle details\");\n return true;\n }" + "sample": "user", + "lineNumber": 69, + "columnNumber": 35, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " VehicleDetails vehicleDetails = vehicleDetailsRepository.findByVin(vehicleForm.getVin());\n if (vehicleDetails != null\n && vehicleDetails.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n User user = userService.getUserFromToken(request);\n if (user != null) {\n vehicleDetails.setOwner(user); /* <=== com.crapi.entity.User */ \n vehicleDetails.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(vehicleDetails);\n logger.info(\"Success Owner updated in vehicle details\");\n return true;\n }" }, { - "sample" : "vehicleDetails", - "lineNumber" : 69, - "columnNumber" : 11, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " VehicleDetails vehicleDetails = vehicleDetailsRepository.findByVin(vehicleForm.getVin());\n if (vehicleDetails != null\n && vehicleDetails.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n User user = userService.getUserFromToken(request);\n if (user != null) {\n vehicleDetails.setOwner(user); /* <=== com.crapi.entity.VehicleDetails */ \n vehicleDetails.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(vehicleDetails);\n logger.info(\"Success Owner updated in vehicle details\");\n return true;\n }" + "sample": "vehicleDetails", + "lineNumber": 69, + "columnNumber": 11, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " VehicleDetails vehicleDetails = vehicleDetailsRepository.findByVin(vehicleForm.getVin());\n if (vehicleDetails != null\n && vehicleDetails.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n User user = userService.getUserFromToken(request);\n if (user != null) {\n vehicleDetails.setOwner(user); /* <=== com.crapi.entity.VehicleDetails */ \n vehicleDetails.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(vehicleDetails);\n logger.info(\"Success Owner updated in vehicle details\");\n return true;\n }" }, { - "sample" : "vehicleDetails", - "lineNumber" : 70, - "columnNumber" : 11, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " if (vehicleDetails != null\n && vehicleDetails.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n User user = userService.getUserFromToken(request);\n if (user != null) {\n vehicleDetails.setOwner(user);\n vehicleDetails.setStatus(EStatus.INACTIVE); /* <=== com.crapi.entity.VehicleDetails */ \n vehicleDetailsRepository.save(vehicleDetails);\n logger.info(\"Success Owner updated in vehicle details\");\n return true;\n }\n }" + "sample": "vehicleDetails", + "lineNumber": 70, + "columnNumber": 11, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " if (vehicleDetails != null\n && vehicleDetails.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n User user = userService.getUserFromToken(request);\n if (user != null) {\n vehicleDetails.setOwner(user);\n vehicleDetails.setStatus(EStatus.INACTIVE); /* <=== com.crapi.entity.VehicleDetails */ \n vehicleDetailsRepository.save(vehicleDetails);\n logger.info(\"Success Owner updated in vehicle details\");\n return true;\n }\n }" }, { - "sample" : "vehicleDetails", - "lineNumber" : 71, - "columnNumber" : 41, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " && vehicleDetails.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n User user = userService.getUserFromToken(request);\n if (user != null) {\n vehicleDetails.setOwner(user);\n vehicleDetails.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(vehicleDetails); /* <=== com.crapi.entity.VehicleDetails */ \n logger.info(\"Success Owner updated in vehicle details\");\n return true;\n }\n }\n } catch (Exception e) {" + "sample": "vehicleDetails", + "lineNumber": 71, + "columnNumber": 41, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " && vehicleDetails.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n User user = userService.getUserFromToken(request);\n if (user != null) {\n vehicleDetails.setOwner(user);\n vehicleDetails.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(vehicleDetails); /* <=== com.crapi.entity.VehicleDetails */ \n logger.info(\"Success Owner updated in vehicle details\");\n return true;\n }\n }\n } catch (Exception e) {" }, { - "sample" : "vehicleDetailsRepository.save(vehicleDetails)", - "lineNumber" : 71, - "columnNumber" : 11, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " && vehicleDetails.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n User user = userService.getUserFromToken(request);\n if (user != null) {\n vehicleDetails.setOwner(user);\n vehicleDetails.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(vehicleDetails); /* <=== com.crapi.repository.VehicleDetailsRepository.save */ \n logger.info(\"Success Owner updated in vehicle details\");\n return true;\n }\n }\n } catch (Exception e) {" + "sample": "vehicleDetailsRepository.save(vehicleDetails)", + "lineNumber": 71, + "columnNumber": 11, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " && vehicleDetails.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n User user = userService.getUserFromToken(request);\n if (user != null) {\n vehicleDetails.setOwner(user);\n vehicleDetails.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(vehicleDetails); /* <=== com.crapi.repository.VehicleDetailsRepository.save */ \n logger.info(\"Success Owner updated in vehicle details\");\n return true;\n }\n }\n } catch (Exception e) {" } ] }, { - "pathId" : "8580-8579-8576-8575-8574-8585-8581", - "path" : [ + "pathId": "8580-8579-8576-8575-8574-8585-8581", + "path": [ { - "sample" : "java.lang.String password", - "lineNumber" : 30, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/model/LoginForm.java", - "excerpt" : " @Size(min = 3, max = 100)\n private String email;\n\n @NotBlank\n @Size(min = 4, max = 100)\n private String password; /* <=== 'password' is a member of 'com.crapi.model.LoginForm' class */ \n\n private String number;\n}" + "sample": "java.lang.String password", + "lineNumber": 30, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/model/LoginForm.java", + "excerpt": " @Size(min = 3, max = 100)\n private String email;\n\n @NotBlank\n @Size(min = 4, max = 100)\n private String password; /* <=== 'password' is a member of 'com.crapi.model.LoginForm' class */ \n\n private String number;\n}" }, { - "sample" : "loginForm", - "lineNumber" : 160, - "columnNumber" : 39, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " @Transactional\n @Override\n public CRAPIResponse resetPassword(LoginForm loginForm, HttpServletRequest request) {\n User user = getUserFromToken(request);\n if (user != null) {\n user.setPassword(encoder.encode(loginForm.getPassword())); /* <=== com.crapi.model.LoginForm */ \n userRepository.saveAndFlush(user);\n return new CRAPIResponse(UserMessage.PASSWORD_GOT_RESET, 200);\n }\n throw new EntityNotFoundException(User.class, UserMessage.ERROR, loginForm.getEmail());\n }" + "sample": "loginForm", + "lineNumber": 160, + "columnNumber": 39, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " @Transactional\n @Override\n public CRAPIResponse resetPassword(LoginForm loginForm, HttpServletRequest request) {\n User user = getUserFromToken(request);\n if (user != null) {\n user.setPassword(encoder.encode(loginForm.getPassword())); /* <=== com.crapi.model.LoginForm */ \n userRepository.saveAndFlush(user);\n return new CRAPIResponse(UserMessage.PASSWORD_GOT_RESET, 200);\n }\n throw new EntityNotFoundException(User.class, UserMessage.ERROR, loginForm.getEmail());\n }" }, { - "sample" : "getPassword()", - "lineNumber" : 160, - "columnNumber" : 39, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " @Transactional\n @Override\n public CRAPIResponse resetPassword(LoginForm loginForm, HttpServletRequest request) {\n User user = getUserFromToken(request);\n if (user != null) {\n user.setPassword(encoder.encode(loginForm.getPassword())); /* <=== com.crapi.model.LoginForm.getPassword */ \n userRepository.saveAndFlush(user);\n return new CRAPIResponse(UserMessage.PASSWORD_GOT_RESET, 200);\n }\n throw new EntityNotFoundException(User.class, UserMessage.ERROR, loginForm.getEmail());\n }" + "sample": "getPassword()", + "lineNumber": 160, + "columnNumber": 39, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " @Transactional\n @Override\n public CRAPIResponse resetPassword(LoginForm loginForm, HttpServletRequest request) {\n User user = getUserFromToken(request);\n if (user != null) {\n user.setPassword(encoder.encode(loginForm.getPassword())); /* <=== com.crapi.model.LoginForm.getPassword */ \n userRepository.saveAndFlush(user);\n return new CRAPIResponse(UserMessage.PASSWORD_GOT_RESET, 200);\n }\n throw new EntityNotFoundException(User.class, UserMessage.ERROR, loginForm.getEmail());\n }" }, { - "sample" : "this.encoder", - "lineNumber" : 160, - "columnNumber" : 24, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " @Transactional\n @Override\n public CRAPIResponse resetPassword(LoginForm loginForm, HttpServletRequest request) {\n User user = getUserFromToken(request);\n if (user != null) {\n user.setPassword(encoder.encode(loginForm.getPassword())); /* <=== */ \n userRepository.saveAndFlush(user);\n return new CRAPIResponse(UserMessage.PASSWORD_GOT_RESET, 200);\n }\n throw new EntityNotFoundException(User.class, UserMessage.ERROR, loginForm.getEmail());\n }" + "sample": "this.encoder", + "lineNumber": 160, + "columnNumber": 24, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " @Transactional\n @Override\n public CRAPIResponse resetPassword(LoginForm loginForm, HttpServletRequest request) {\n User user = getUserFromToken(request);\n if (user != null) {\n user.setPassword(encoder.encode(loginForm.getPassword())); /* <=== */ \n userRepository.saveAndFlush(user);\n return new CRAPIResponse(UserMessage.PASSWORD_GOT_RESET, 200);\n }\n throw new EntityNotFoundException(User.class, UserMessage.ERROR, loginForm.getEmail());\n }" }, { - "sample" : "encode(loginForm.getPassword())", - "lineNumber" : 160, - "columnNumber" : 24, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " @Transactional\n @Override\n public CRAPIResponse resetPassword(LoginForm loginForm, HttpServletRequest request) {\n User user = getUserFromToken(request);\n if (user != null) {\n user.setPassword(encoder.encode(loginForm.getPassword())); /* <=== org.springframework.security.crypto.password.PasswordEncoder.encode */ \n userRepository.saveAndFlush(user);\n return new CRAPIResponse(UserMessage.PASSWORD_GOT_RESET, 200);\n }\n throw new EntityNotFoundException(User.class, UserMessage.ERROR, loginForm.getEmail());\n }" + "sample": "encode(loginForm.getPassword())", + "lineNumber": 160, + "columnNumber": 24, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " @Transactional\n @Override\n public CRAPIResponse resetPassword(LoginForm loginForm, HttpServletRequest request) {\n User user = getUserFromToken(request);\n if (user != null) {\n user.setPassword(encoder.encode(loginForm.getPassword())); /* <=== org.springframework.security.crypto.password.PasswordEncoder.encode */ \n userRepository.saveAndFlush(user);\n return new CRAPIResponse(UserMessage.PASSWORD_GOT_RESET, 200);\n }\n throw new EntityNotFoundException(User.class, UserMessage.ERROR, loginForm.getEmail());\n }" }, { - "sample" : "user", - "lineNumber" : 160, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " @Transactional\n @Override\n public CRAPIResponse resetPassword(LoginForm loginForm, HttpServletRequest request) {\n User user = getUserFromToken(request);\n if (user != null) {\n user.setPassword(encoder.encode(loginForm.getPassword())); /* <=== com.crapi.entity.User */ \n userRepository.saveAndFlush(user);\n return new CRAPIResponse(UserMessage.PASSWORD_GOT_RESET, 200);\n }\n throw new EntityNotFoundException(User.class, UserMessage.ERROR, loginForm.getEmail());\n }" + "sample": "user", + "lineNumber": 160, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " @Transactional\n @Override\n public CRAPIResponse resetPassword(LoginForm loginForm, HttpServletRequest request) {\n User user = getUserFromToken(request);\n if (user != null) {\n user.setPassword(encoder.encode(loginForm.getPassword())); /* <=== com.crapi.entity.User */ \n userRepository.saveAndFlush(user);\n return new CRAPIResponse(UserMessage.PASSWORD_GOT_RESET, 200);\n }\n throw new EntityNotFoundException(User.class, UserMessage.ERROR, loginForm.getEmail());\n }" }, { - "sample" : "user", - "lineNumber" : 161, - "columnNumber" : 35, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " @Override\n public CRAPIResponse resetPassword(LoginForm loginForm, HttpServletRequest request) {\n User user = getUserFromToken(request);\n if (user != null) {\n user.setPassword(encoder.encode(loginForm.getPassword()));\n userRepository.saveAndFlush(user); /* <=== com.crapi.entity.User */ \n return new CRAPIResponse(UserMessage.PASSWORD_GOT_RESET, 200);\n }\n throw new EntityNotFoundException(User.class, UserMessage.ERROR, loginForm.getEmail());\n }\n" + "sample": "user", + "lineNumber": 161, + "columnNumber": 35, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " @Override\n public CRAPIResponse resetPassword(LoginForm loginForm, HttpServletRequest request) {\n User user = getUserFromToken(request);\n if (user != null) {\n user.setPassword(encoder.encode(loginForm.getPassword()));\n userRepository.saveAndFlush(user); /* <=== com.crapi.entity.User */ \n return new CRAPIResponse(UserMessage.PASSWORD_GOT_RESET, 200);\n }\n throw new EntityNotFoundException(User.class, UserMessage.ERROR, loginForm.getEmail());\n }\n" }, { - "sample" : "userRepository.saveAndFlush(user)", - "lineNumber" : 161, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " @Override\n public CRAPIResponse resetPassword(LoginForm loginForm, HttpServletRequest request) {\n User user = getUserFromToken(request);\n if (user != null) {\n user.setPassword(encoder.encode(loginForm.getPassword()));\n userRepository.saveAndFlush(user); /* <=== com.crapi.repository.UserRepository.saveAndFlush */ \n return new CRAPIResponse(UserMessage.PASSWORD_GOT_RESET, 200);\n }\n throw new EntityNotFoundException(User.class, UserMessage.ERROR, loginForm.getEmail());\n }\n" + "sample": "userRepository.saveAndFlush(user)", + "lineNumber": 161, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " @Override\n public CRAPIResponse resetPassword(LoginForm loginForm, HttpServletRequest request) {\n User user = getUserFromToken(request);\n if (user != null) {\n user.setPassword(encoder.encode(loginForm.getPassword()));\n userRepository.saveAndFlush(user); /* <=== com.crapi.repository.UserRepository.saveAndFlush */ \n return new CRAPIResponse(UserMessage.PASSWORD_GOT_RESET, 200);\n }\n throw new EntityNotFoundException(User.class, UserMessage.ERROR, loginForm.getEmail());\n }\n" } ] }, { - "pathId" : "267-270-285-281-280-291-310-309-315-311", - "path" : [ + "pathId": "267-270-285-281-280-291-310-309-315-311", + "path": [ { - "sample" : "java.lang.String password", - "lineNumber" : 36, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", - "excerpt" : " sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email;\n private String password; /* <=== 'password' is a member of 'com.crapi.entity.User' class */ \n private String number;\n\n @Column(length = 500)\n private String jwtToken;\n" + "sample": "java.lang.String password", + "lineNumber": 36, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", + "excerpt": " sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email;\n private String password; /* <=== 'password' is a member of 'com.crapi.entity.User' class */ \n private String number;\n\n @Column(length = 500)\n private String jwtToken;\n" }, { - "sample" : "user", - "lineNumber" : 106, - "columnNumber" : 12, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", - "excerpt" : " String name, String email, String password, String number, ERole role) {\n UserData userData = new UserData();\n VehicleDetails vehicleDetails = null;\n UserDetails userDetails = null;\n try {\n User user = new User(email, number, encoder.encode(password), role); /* <=== com.crapi.entity.User */ \n user = userRepository.save(user);\n userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {" + "sample": "user", + "lineNumber": 106, + "columnNumber": 12, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", + "excerpt": " String name, String email, String password, String number, ERole role) {\n UserData userData = new UserData();\n VehicleDetails vehicleDetails = null;\n UserDetails userDetails = null;\n try {\n User user = new User(email, number, encoder.encode(password), role); /* <=== com.crapi.entity.User */ \n user = userRepository.save(user);\n userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {" }, { - "sample" : "user", - "lineNumber" : 106, - "columnNumber" : 12, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", - "excerpt" : " String name, String email, String password, String number, ERole role) {\n UserData userData = new UserData();\n VehicleDetails vehicleDetails = null;\n UserDetails userDetails = null;\n try {\n User user = new User(email, number, encoder.encode(password), role); /* <=== com.crapi.entity.User */ \n user = userRepository.save(user);\n userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {" + "sample": "user", + "lineNumber": 106, + "columnNumber": 12, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", + "excerpt": " String name, String email, String password, String number, ERole role) {\n UserData userData = new UserData();\n VehicleDetails vehicleDetails = null;\n UserDetails userDetails = null;\n try {\n User user = new User(email, number, encoder.encode(password), role); /* <=== com.crapi.entity.User */ \n user = userRepository.save(user);\n userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {" }, { - "sample" : "user", - "lineNumber" : 107, - "columnNumber" : 34, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", - "excerpt" : " UserData userData = new UserData();\n VehicleDetails vehicleDetails = null;\n UserDetails userDetails = null;\n try {\n User user = new User(email, number, encoder.encode(password), role);\n user = userRepository.save(user); /* <=== com.crapi.entity.User */ \n userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {\n vehicleDetails.setOwner(user);" + "sample": "user", + "lineNumber": 107, + "columnNumber": 34, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", + "excerpt": " UserData userData = new UserData();\n VehicleDetails vehicleDetails = null;\n UserDetails userDetails = null;\n try {\n User user = new User(email, number, encoder.encode(password), role);\n user = userRepository.save(user); /* <=== com.crapi.entity.User */ \n userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {\n vehicleDetails.setOwner(user);" }, { - "sample" : "userRepository.save(user)", - "lineNumber" : 107, - "columnNumber" : 14, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", - "excerpt" : " UserData userData = new UserData();\n VehicleDetails vehicleDetails = null;\n UserDetails userDetails = null;\n try {\n User user = new User(email, number, encoder.encode(password), role);\n user = userRepository.save(user); /* <=== com.crapi.repository.UserRepository.save */ \n userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {\n vehicleDetails.setOwner(user);" + "sample": "userRepository.save(user)", + "lineNumber": 107, + "columnNumber": 14, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", + "excerpt": " UserData userData = new UserData();\n VehicleDetails vehicleDetails = null;\n UserDetails userDetails = null;\n try {\n User user = new User(email, number, encoder.encode(password), role);\n user = userRepository.save(user); /* <=== com.crapi.repository.UserRepository.save */ \n userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {\n vehicleDetails.setOwner(user);" }, { - "sample" : "user", - "lineNumber" : 107, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", - "excerpt" : " UserData userData = new UserData();\n VehicleDetails vehicleDetails = null;\n UserDetails userDetails = null;\n try {\n User user = new User(email, number, encoder.encode(password), role);\n user = userRepository.save(user); /* <=== com.crapi.entity.User */ \n userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {\n vehicleDetails.setOwner(user);" + "sample": "user", + "lineNumber": 107, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", + "excerpt": " UserData userData = new UserData();\n VehicleDetails vehicleDetails = null;\n UserDetails userDetails = null;\n try {\n User user = new User(email, number, encoder.encode(password), role);\n user = userRepository.save(user); /* <=== com.crapi.entity.User */ \n userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {\n vehicleDetails.setOwner(user);" }, { - "sample" : "user", - "lineNumber" : 108, - "columnNumber" : 53, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", - "excerpt" : " VehicleDetails vehicleDetails = null;\n UserDetails userDetails = null;\n try {\n User user = new User(email, number, encoder.encode(password), role);\n user = userRepository.save(user);\n userDetails = userData.getPredefineUser(name, user); /* <=== com.crapi.entity.User */ \n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {\n vehicleDetails.setOwner(user);\n vehicleDetailsRepository.save(vehicleDetails);" + "sample": "user", + "lineNumber": 108, + "columnNumber": 53, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", + "excerpt": " VehicleDetails vehicleDetails = null;\n UserDetails userDetails = null;\n try {\n User user = new User(email, number, encoder.encode(password), role);\n user = userRepository.save(user);\n userDetails = userData.getPredefineUser(name, user); /* <=== com.crapi.entity.User */ \n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {\n vehicleDetails.setOwner(user);\n vehicleDetailsRepository.save(vehicleDetails);" }, { - "sample" : "user", - "lineNumber" : 112, - "columnNumber" : 33, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", - "excerpt" : " user = userRepository.save(user);\n userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {\n vehicleDetails.setOwner(user); /* <=== com.crapi.entity.User */ \n vehicleDetailsRepository.save(vehicleDetails);\n return true;\n }\n logger.error(\"Fail to create vehicle for user {}\", email);\n return false;" + "sample": "user", + "lineNumber": 112, + "columnNumber": 33, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", + "excerpt": " user = userRepository.save(user);\n userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {\n vehicleDetails.setOwner(user); /* <=== com.crapi.entity.User */ \n vehicleDetailsRepository.save(vehicleDetails);\n return true;\n }\n logger.error(\"Fail to create vehicle for user {}\", email);\n return false;" }, { - "sample" : "vehicleDetails", - "lineNumber" : 112, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", - "excerpt" : " user = userRepository.save(user);\n userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {\n vehicleDetails.setOwner(user); /* <=== com.crapi.entity.VehicleDetails */ \n vehicleDetailsRepository.save(vehicleDetails);\n return true;\n }\n logger.error(\"Fail to create vehicle for user {}\", email);\n return false;" + "sample": "vehicleDetails", + "lineNumber": 112, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", + "excerpt": " user = userRepository.save(user);\n userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {\n vehicleDetails.setOwner(user); /* <=== com.crapi.entity.VehicleDetails */ \n vehicleDetailsRepository.save(vehicleDetails);\n return true;\n }\n logger.error(\"Fail to create vehicle for user {}\", email);\n return false;" }, { - "sample" : "vehicleDetails", - "lineNumber" : 113, - "columnNumber" : 39, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", - "excerpt" : " userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {\n vehicleDetails.setOwner(user);\n vehicleDetailsRepository.save(vehicleDetails); /* <=== com.crapi.entity.VehicleDetails */ \n return true;\n }\n logger.error(\"Fail to create vehicle for user {}\", email);\n return false;\n } catch (Exception e) {" + "sample": "vehicleDetails", + "lineNumber": 113, + "columnNumber": 39, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", + "excerpt": " userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {\n vehicleDetails.setOwner(user);\n vehicleDetailsRepository.save(vehicleDetails); /* <=== com.crapi.entity.VehicleDetails */ \n return true;\n }\n logger.error(\"Fail to create vehicle for user {}\", email);\n return false;\n } catch (Exception e) {" }, { - "sample" : "vehicleDetailsRepository.save(vehicleDetails)", - "lineNumber" : 113, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", - "excerpt" : " userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {\n vehicleDetails.setOwner(user);\n vehicleDetailsRepository.save(vehicleDetails); /* <=== com.crapi.repository.VehicleDetailsRepository.save */ \n return true;\n }\n logger.error(\"Fail to create vehicle for user {}\", email);\n return false;\n } catch (Exception e) {" + "sample": "vehicleDetailsRepository.save(vehicleDetails)", + "lineNumber": 113, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", + "excerpt": " userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {\n vehicleDetails.setOwner(user);\n vehicleDetailsRepository.save(vehicleDetails); /* <=== com.crapi.repository.VehicleDetailsRepository.save */ \n return true;\n }\n logger.error(\"Fail to create vehicle for user {}\", email);\n return false;\n } catch (Exception e) {" } ] } ] }, { - "sinkType" : "storages", - "id" : "Storages.SpringFramework.Jdbc.Read", - "name" : "Java Database Connector(Read)", - "category" : "", - "domains" : [ - "oracle.com" - ], - "sensitivity" : "", - "isSensitive" : false, - "tags" : { - - }, - "apiUrl" : [ - ], - "databaseDetails" : { - "dbName" : "${DB_NAME}", - "dbVendor" : "postgresql", - "dbLocation" : "${DB_HOST}:${DB_PORT}", - "dbOperation" : "Read" + "sinkType": "storages", + "id": "Storages.SpringFramework.Jdbc.Read", + "name": "Java Database Connector(Read)", + "category": "", + "domains": ["oracle.com"], + "sensitivity": "", + "isSensitive": false, + "tags": {}, + "apiUrl": [], + "databaseDetails": { + "dbName": "${DB_NAME}", + "dbVendor": "postgresql", + "dbLocation": "${DB_HOST}:${DB_PORT}", + "dbOperation": "Read" }, - "paths" : [ + "paths": [ { - "pathId" : "9024-9023-9067-8795-8794-8803-8799", - "path" : [ + "pathId": "9024-9023-9067-8795-8794-8803-8799", + "path": [ { - "sample" : "java.lang.String password", - "lineNumber" : 36, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", - "excerpt" : " sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email;\n private String password; /* <=== 'password' is a member of 'com.crapi.entity.User' class */ \n private String number;\n\n @Column(length = 500)\n private String jwtToken;\n" + "sample": "java.lang.String password", + "lineNumber": 36, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", + "excerpt": " sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email;\n private String password; /* <=== 'password' is a member of 'com.crapi.entity.User' class */ \n private String number;\n\n @Column(length = 500)\n private String jwtToken;\n" }, { - "sample" : "user", - "lineNumber" : 302, - "columnNumber" : 16, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n if (user != null) {\n return user; /* <=== com.crapi.entity.User */ \n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {\n logger.error(\"fail to get username from token -> Message:%d\", exception);" + "sample": "user", + "lineNumber": 302, + "columnNumber": 16, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n if (user != null) {\n return user; /* <=== com.crapi.entity.User */ \n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {\n logger.error(\"fail to get username from token -> Message:%d\", exception);" }, { - "sample" : "return user;", - "lineNumber" : 302, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n if (user != null) {\n return user; /* <=== */ \n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {\n logger.error(\"fail to get username from token -> Message:%d\", exception);" + "sample": "return user;", + "lineNumber": 302, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n if (user != null) {\n return user; /* <=== */ \n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {\n logger.error(\"fail to get username from token -> Message:%d\", exception);" }, { - "sample" : "com.crapi.entity.User", - "lineNumber" : 293, - "columnNumber" : 10, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " * @param request request getting jwt token for user from request header\n * @return User object from token throw entity not found if user not found.\n */\n @Transactional\n @Override\n public User getUserFromToken(HttpServletRequest request) { /* <=== */ \n User user = null;\n String username = null;\n try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {" + "sample": "com.crapi.entity.User", + "lineNumber": 293, + "columnNumber": 10, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " * @param request request getting jwt token for user from request header\n * @return User object from token throw entity not found if user not found.\n */\n @Transactional\n @Override\n public User getUserFromToken(HttpServletRequest request) { /* <=== */ \n User user = null;\n String username = null;\n try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {" }, { - "sample" : "this.getUserFromToken(request)", - "lineNumber" : 231, - "columnNumber" : 12, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " if (!userRepository.existsByEmail(changeEmailForm.getOld_email())) {\n return new CRAPIResponse(\n UserMessage.EMAIL_NOT_REGISTERED + changeEmailForm.getOld_email(), 404);\n }\n token = emailTokenGenerator.generateRandom(10);\n user = getUserFromToken(request); /* <=== com.crapi.service.Impl.UserServiceImpl.getUserFromToken */ \n // fetching ChangeEmail Data for user\n changeEmailRequest = changeEmailRepository.findByUser(user);\n if (changeEmailRequest == null) {\n // Creating new object if changeEmail data for user is not in database\n changeEmailRequest =" + "sample": "this.getUserFromToken(request)", + "lineNumber": 231, + "columnNumber": 12, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " if (!userRepository.existsByEmail(changeEmailForm.getOld_email())) {\n return new CRAPIResponse(\n UserMessage.EMAIL_NOT_REGISTERED + changeEmailForm.getOld_email(), 404);\n }\n token = emailTokenGenerator.generateRandom(10);\n user = getUserFromToken(request); /* <=== com.crapi.service.Impl.UserServiceImpl.getUserFromToken */ \n // fetching ChangeEmail Data for user\n changeEmailRequest = changeEmailRepository.findByUser(user);\n if (changeEmailRequest == null) {\n // Creating new object if changeEmail data for user is not in database\n changeEmailRequest =" }, { - "sample" : "user", - "lineNumber" : 231, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " if (!userRepository.existsByEmail(changeEmailForm.getOld_email())) {\n return new CRAPIResponse(\n UserMessage.EMAIL_NOT_REGISTERED + changeEmailForm.getOld_email(), 404);\n }\n token = emailTokenGenerator.generateRandom(10);\n user = getUserFromToken(request); /* <=== com.crapi.entity.User */ \n // fetching ChangeEmail Data for user\n changeEmailRequest = changeEmailRepository.findByUser(user);\n if (changeEmailRequest == null) {\n // Creating new object if changeEmail data for user is not in database\n changeEmailRequest =" + "sample": "user", + "lineNumber": 231, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " if (!userRepository.existsByEmail(changeEmailForm.getOld_email())) {\n return new CRAPIResponse(\n UserMessage.EMAIL_NOT_REGISTERED + changeEmailForm.getOld_email(), 404);\n }\n token = emailTokenGenerator.generateRandom(10);\n user = getUserFromToken(request); /* <=== com.crapi.entity.User */ \n // fetching ChangeEmail Data for user\n changeEmailRequest = changeEmailRepository.findByUser(user);\n if (changeEmailRequest == null) {\n // Creating new object if changeEmail data for user is not in database\n changeEmailRequest =" }, { - "sample" : "user", - "lineNumber" : 233, - "columnNumber" : 59, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " UserMessage.EMAIL_NOT_REGISTERED + changeEmailForm.getOld_email(), 404);\n }\n token = emailTokenGenerator.generateRandom(10);\n user = getUserFromToken(request);\n // fetching ChangeEmail Data for user\n changeEmailRequest = changeEmailRepository.findByUser(user); /* <=== com.crapi.entity.User */ \n if (changeEmailRequest == null) {\n // Creating new object if changeEmail data for user is not in database\n changeEmailRequest =\n new ChangeEmailRequest(\n changeEmailForm.getNew_email(), changeEmailForm.getOld_email(), token, user);" + "sample": "user", + "lineNumber": 233, + "columnNumber": 59, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " UserMessage.EMAIL_NOT_REGISTERED + changeEmailForm.getOld_email(), 404);\n }\n token = emailTokenGenerator.generateRandom(10);\n user = getUserFromToken(request);\n // fetching ChangeEmail Data for user\n changeEmailRequest = changeEmailRepository.findByUser(user); /* <=== com.crapi.entity.User */ \n if (changeEmailRequest == null) {\n // Creating new object if changeEmail data for user is not in database\n changeEmailRequest =\n new ChangeEmailRequest(\n changeEmailForm.getNew_email(), changeEmailForm.getOld_email(), token, user);" }, { - "sample" : "changeEmailRepository.findByUser(user)", - "lineNumber" : 233, - "columnNumber" : 26, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " UserMessage.EMAIL_NOT_REGISTERED + changeEmailForm.getOld_email(), 404);\n }\n token = emailTokenGenerator.generateRandom(10);\n user = getUserFromToken(request);\n // fetching ChangeEmail Data for user\n changeEmailRequest = changeEmailRepository.findByUser(user); /* <=== com.crapi.repository.ChangeEmailRepository.findByUser */ \n if (changeEmailRequest == null) {\n // Creating new object if changeEmail data for user is not in database\n changeEmailRequest =\n new ChangeEmailRequest(\n changeEmailForm.getNew_email(), changeEmailForm.getOld_email(), token, user);" + "sample": "changeEmailRepository.findByUser(user)", + "lineNumber": 233, + "columnNumber": 26, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " UserMessage.EMAIL_NOT_REGISTERED + changeEmailForm.getOld_email(), 404);\n }\n token = emailTokenGenerator.generateRandom(10);\n user = getUserFromToken(request);\n // fetching ChangeEmail Data for user\n changeEmailRequest = changeEmailRepository.findByUser(user); /* <=== com.crapi.repository.ChangeEmailRepository.findByUser */ \n if (changeEmailRequest == null) {\n // Creating new object if changeEmail data for user is not in database\n changeEmailRequest =\n new ChangeEmailRequest(\n changeEmailForm.getNew_email(), changeEmailForm.getOld_email(), token, user);" } ] }, { - "pathId" : "6958-6953", - "path" : [ + "pathId": "6958-6953", + "path": [ { - "sample" : "forgetPassword", - "lineNumber" : 141, - "columnNumber" : 39, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " CRAPIResponse forgetPasswordResponse = null;\n OTPGenerator otpGenerator = new OTPGenerator();\n Otp checkOtpEnteryForUser = null;\n User user = null;\n String otp = \"\";\n user = userRepository.findByEmail(forgetPassword.getEmail()); /* <=== com.crapi.model.ForgetPassword */ \n if (user != null) {\n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database." + "sample": "forgetPassword", + "lineNumber": 141, + "columnNumber": 39, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " CRAPIResponse forgetPasswordResponse = null;\n OTPGenerator otpGenerator = new OTPGenerator();\n Otp checkOtpEnteryForUser = null;\n User user = null;\n String otp = \"\";\n user = userRepository.findByEmail(forgetPassword.getEmail()); /* <=== com.crapi.model.ForgetPassword */ \n if (user != null) {\n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database." }, { - "sample" : "findByEmail(forgetPassword.getEmail())", - "lineNumber" : 141, - "columnNumber" : 12, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " CRAPIResponse forgetPasswordResponse = null;\n OTPGenerator otpGenerator = new OTPGenerator();\n Otp checkOtpEnteryForUser = null;\n User user = null;\n String otp = \"\";\n user = userRepository.findByEmail(forgetPassword.getEmail()); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n if (user != null) {\n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database." + "sample": "findByEmail(forgetPassword.getEmail())", + "lineNumber": 141, + "columnNumber": 12, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " CRAPIResponse forgetPasswordResponse = null;\n OTPGenerator otpGenerator = new OTPGenerator();\n Otp checkOtpEnteryForUser = null;\n User user = null;\n String otp = \"\";\n user = userRepository.findByEmail(forgetPassword.getEmail()); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n if (user != null) {\n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database." } ] }, { - "pathId" : "6690-6699-21890-12059-6653-6674-6669", - "path" : [ + "pathId": "6690-6699-21890-12059-6653-6674-6669", + "path": [ { - "sample" : "java.lang.String password", - "lineNumber" : 29, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/model/OtpForm.java", - "excerpt" : " @Size(min = 3, max = 4)\n private String otp;\n\n @NotBlank\n @Size(min = 5, max = 30)\n private String password; /* <=== 'password' is a member of 'com.crapi.model.OtpForm' class */ \n\n @NotBlank\n @Size(min = 5, max = 30)\n private String email;\n}" + "sample": "java.lang.String password", + "lineNumber": 29, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/model/OtpForm.java", + "excerpt": " @Size(min = 3, max = 4)\n private String otp;\n\n @NotBlank\n @Size(min = 5, max = 30)\n private String password; /* <=== 'password' is a member of 'com.crapi.model.OtpForm' class */ \n\n @NotBlank\n @Size(min = 5, max = 30)\n private String email;\n}" }, { - "sample" : "otpForm", - "lineNumber" : 82, - "columnNumber" : 36, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) { /* <=== com.crapi.model.OtpForm */ \n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {" + "sample": "otpForm", + "lineNumber": 82, + "columnNumber": 36, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) { /* <=== com.crapi.model.OtpForm */ \n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {" }, { - "sample" : "otpForm", - "lineNumber" : 83, - "columnNumber" : 41, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword())); /* <=== com.crapi.model.OtpForm */ \n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {\n otp.setCount(otp.getCount() + 1);" + "sample": "otpForm", + "lineNumber": 83, + "columnNumber": 41, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword())); /* <=== com.crapi.model.OtpForm */ \n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {\n otp.setCount(otp.getCount() + 1);" }, { - "sample" : "OtpForm otpForm", - "lineNumber" : 75, - "columnNumber" : 36, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " * @param otpForm\n * @return otp object, validate the otp and then reset the password of user\n */\n @Transactional\n @Override\n public CRAPIResponse validateOtp(OtpForm otpForm) { /* <=== */ \n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {" + "sample": "OtpForm otpForm", + "lineNumber": 75, + "columnNumber": 36, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " * @param otpForm\n * @return otp object, validate the otp and then reset the password of user\n */\n @Transactional\n @Override\n public CRAPIResponse validateOtp(OtpForm otpForm) { /* <=== */ \n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {" }, { - "sample" : "this.getDummyOtpForm()", - "lineNumber" : 83, - "columnNumber" : 28, - "fileName" : "/app/code/services/identity/src/test/java/com/crapi/service/Impl/OtpServiceImplTest.java", - "excerpt" : " }\n\n @Test(expected = EntityNotFoundException.class)\n public void validateOtpThrowsExceptionWhenUserNotFound() {\n Mockito.when(userRepository.findByEmail(Mockito.anyString())).thenReturn(null);\n otpService.validateOtp(getDummyOtpForm()); /* <=== com.crapi.service.Impl.OtpServiceImplTest.getDummyOtpForm */ \n }\n\n @Test\n public void validateOtpSuccess() {\n Otp otp = getDummyOtp();" + "sample": "this.getDummyOtpForm()", + "lineNumber": 83, + "columnNumber": 28, + "fileName": "/app/code/services/identity/src/test/java/com/crapi/service/Impl/OtpServiceImplTest.java", + "excerpt": " }\n\n @Test(expected = EntityNotFoundException.class)\n public void validateOtpThrowsExceptionWhenUserNotFound() {\n Mockito.when(userRepository.findByEmail(Mockito.anyString())).thenReturn(null);\n otpService.validateOtp(getDummyOtpForm()); /* <=== com.crapi.service.Impl.OtpServiceImplTest.getDummyOtpForm */ \n }\n\n @Test\n public void validateOtpSuccess() {\n Otp otp = getDummyOtp();" }, { - "sample" : "OtpForm otpForm", - "lineNumber" : 75, - "columnNumber" : 36, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " * @param otpForm\n * @return otp object, validate the otp and then reset the password of user\n */\n @Transactional\n @Override\n public CRAPIResponse validateOtp(OtpForm otpForm) { /* <=== */ \n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {" + "sample": "OtpForm otpForm", + "lineNumber": 75, + "columnNumber": 36, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " * @param otpForm\n * @return otp object, validate the otp and then reset the password of user\n */\n @Transactional\n @Override\n public CRAPIResponse validateOtp(OtpForm otpForm) { /* <=== */ \n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {" }, { - "sample" : "otpForm", - "lineNumber" : 79, - "columnNumber" : 39, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " @Override\n public CRAPIResponse validateOtp(OtpForm otpForm) {\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.model.OtpForm */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" + "sample": "otpForm", + "lineNumber": 79, + "columnNumber": 39, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " @Override\n public CRAPIResponse validateOtp(OtpForm otpForm) {\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.model.OtpForm */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" }, { - "sample" : "findByEmail(otpForm.getEmail())", - "lineNumber" : 79, - "columnNumber" : 12, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " @Override\n public CRAPIResponse validateOtp(OtpForm otpForm) {\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" + "sample": "findByEmail(otpForm.getEmail())", + "lineNumber": 79, + "columnNumber": 12, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " @Override\n public CRAPIResponse validateOtp(OtpForm otpForm) {\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" } ] }, { - "pathId" : "8462-8461-8531-8540-8536", - "path" : [ + "pathId": "8462-8461-8531-8540-8536", + "path": [ { - "sample" : "java.lang.String password", - "lineNumber" : 30, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/model/LoginForm.java", - "excerpt" : " @Size(min = 3, max = 100)\n private String email;\n\n @NotBlank\n @Size(min = 4, max = 100)\n private String password; /* <=== 'password' is a member of 'com.crapi.model.LoginForm' class */ \n\n private String number;\n}" + "sample": "java.lang.String password", + "lineNumber": 30, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/model/LoginForm.java", + "excerpt": " @Size(min = 3, max = 100)\n private String email;\n\n @NotBlank\n @Size(min = 4, max = 100)\n private String password; /* <=== 'password' is a member of 'com.crapi.model.LoginForm' class */ \n\n private String number;\n}" }, { - "sample" : "loginForm", - "lineNumber" : 110, - "columnNumber" : 32, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " authenticationManager.authenticate(\n new UsernamePasswordAuthenticationToken(\n loginForm.getEmail(), loginForm.getPassword()));\n String jwt = jwtProvider.generateJwtToken(user);\n if (jwt != null) {\n updateUserToken(jwt, loginForm.getEmail()); /* <=== com.crapi.model.LoginForm */ \n jwtResponse.setToken(jwt);\n } else {\n jwtResponse.setMessage(UserMessage.INVALID_CREDENTIALS);\n }\n }" + "sample": "loginForm", + "lineNumber": 110, + "columnNumber": 32, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " authenticationManager.authenticate(\n new UsernamePasswordAuthenticationToken(\n loginForm.getEmail(), loginForm.getPassword()));\n String jwt = jwtProvider.generateJwtToken(user);\n if (jwt != null) {\n updateUserToken(jwt, loginForm.getEmail()); /* <=== com.crapi.model.LoginForm */ \n jwtResponse.setToken(jwt);\n } else {\n jwtResponse.setMessage(UserMessage.INVALID_CREDENTIALS);\n }\n }" }, { - "sample" : "getEmail()", - "lineNumber" : 110, - "columnNumber" : 32, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " authenticationManager.authenticate(\n new UsernamePasswordAuthenticationToken(\n loginForm.getEmail(), loginForm.getPassword()));\n String jwt = jwtProvider.generateJwtToken(user);\n if (jwt != null) {\n updateUserToken(jwt, loginForm.getEmail()); /* <=== com.crapi.model.LoginForm.getEmail */ \n jwtResponse.setToken(jwt);\n } else {\n jwtResponse.setMessage(UserMessage.INVALID_CREDENTIALS);\n }\n }" + "sample": "getEmail()", + "lineNumber": 110, + "columnNumber": 32, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " authenticationManager.authenticate(\n new UsernamePasswordAuthenticationToken(\n loginForm.getEmail(), loginForm.getPassword()));\n String jwt = jwtProvider.generateJwtToken(user);\n if (jwt != null) {\n updateUserToken(jwt, loginForm.getEmail()); /* <=== com.crapi.model.LoginForm.getEmail */ \n jwtResponse.setToken(jwt);\n } else {\n jwtResponse.setMessage(UserMessage.INVALID_CREDENTIALS);\n }\n }" }, { - "sample" : "String email", - "lineNumber" : 142, - "columnNumber" : 43, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " * @param jwt update token in database\n * @param email by email user details and update token\n */\n @Transactional\n @Override\n public void updateUserToken(String jwt, String email) { /* <=== */ \n User user = userRepository.findByEmail(email);\n if (user != null) {\n user.setJwtToken(jwt);\n userRepository.saveAndFlush(user);\n }" + "sample": "String email", + "lineNumber": 142, + "columnNumber": 43, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " * @param jwt update token in database\n * @param email by email user details and update token\n */\n @Transactional\n @Override\n public void updateUserToken(String jwt, String email) { /* <=== */ \n User user = userRepository.findByEmail(email);\n if (user != null) {\n user.setJwtToken(jwt);\n userRepository.saveAndFlush(user);\n }" }, { - "sample" : "email", - "lineNumber" : 143, - "columnNumber" : 44, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " * @param email by email user details and update token\n */\n @Transactional\n @Override\n public void updateUserToken(String jwt, String email) {\n User user = userRepository.findByEmail(email); /* <=== java.lang.String */ \n if (user != null) {\n user.setJwtToken(jwt);\n userRepository.saveAndFlush(user);\n }\n }" + "sample": "email", + "lineNumber": 143, + "columnNumber": 44, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " * @param email by email user details and update token\n */\n @Transactional\n @Override\n public void updateUserToken(String jwt, String email) {\n User user = userRepository.findByEmail(email); /* <=== java.lang.String */ \n if (user != null) {\n user.setJwtToken(jwt);\n userRepository.saveAndFlush(user);\n }\n }" }, { - "sample" : "userRepository.findByEmail(email)", - "lineNumber" : 143, - "columnNumber" : 17, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " * @param email by email user details and update token\n */\n @Transactional\n @Override\n public void updateUserToken(String jwt, String email) {\n User user = userRepository.findByEmail(email); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n if (user != null) {\n user.setJwtToken(jwt);\n userRepository.saveAndFlush(user);\n }\n }" + "sample": "userRepository.findByEmail(email)", + "lineNumber": 143, + "columnNumber": 17, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " * @param email by email user details and update token\n */\n @Transactional\n @Override\n public void updateUserToken(String jwt, String email) {\n User user = userRepository.findByEmail(email); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n if (user != null) {\n user.setJwtToken(jwt);\n userRepository.saveAndFlush(user);\n }\n }" } ] }, { - "pathId" : "7369-7382-7377", - "path" : [ + "pathId": "7369-7382-7377", + "path": [ { - "sample" : "java.lang.String password", - "lineNumber" : 36, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", - "excerpt" : " sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email;\n private String password; /* <=== 'password' is a member of 'com.crapi.entity.User' class */ \n private String number;\n\n @Column(length = 500)\n private String jwtToken;\n" + "sample": "java.lang.String password", + "lineNumber": 36, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", + "excerpt": " sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email;\n private String password; /* <=== 'password' is a member of 'com.crapi.entity.User' class */ \n private String number;\n\n @Column(length = 500)\n private String jwtToken;\n" }, { - "sample" : "user", - "lineNumber" : 126, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " @Transactional\n @Override\n public ProfileVideo getProfileVideo(Long videoId, HttpServletRequest request) {\n User user;\n ProfileVideo profileVideo;\n user = userService.getUserFromToken(request); /* <=== com.crapi.entity.User */ \n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n if (profileVideo != null) {\n if (profileVideo.getId() == videoId) {\n return profileVideo;\n }" + "sample": "user", + "lineNumber": 126, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " @Transactional\n @Override\n public ProfileVideo getProfileVideo(Long videoId, HttpServletRequest request) {\n User user;\n ProfileVideo profileVideo;\n user = userService.getUserFromToken(request); /* <=== com.crapi.entity.User */ \n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n if (profileVideo != null) {\n if (profileVideo.getId() == videoId) {\n return profileVideo;\n }" }, { - "sample" : "user", - "lineNumber" : 127, - "columnNumber" : 57, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " @Override\n public ProfileVideo getProfileVideo(Long videoId, HttpServletRequest request) {\n User user;\n ProfileVideo profileVideo;\n user = userService.getUserFromToken(request);\n profileVideo = profileVideoRepository.findByUser_id(user.getId()); /* <=== com.crapi.entity.User */ \n if (profileVideo != null) {\n if (profileVideo.getId() == videoId) {\n return profileVideo;\n }\n }" + "sample": "user", + "lineNumber": 127, + "columnNumber": 57, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " @Override\n public ProfileVideo getProfileVideo(Long videoId, HttpServletRequest request) {\n User user;\n ProfileVideo profileVideo;\n user = userService.getUserFromToken(request);\n profileVideo = profileVideoRepository.findByUser_id(user.getId()); /* <=== com.crapi.entity.User */ \n if (profileVideo != null) {\n if (profileVideo.getId() == videoId) {\n return profileVideo;\n }\n }" }, { - "sample" : "findByUser_id(user.getId())", - "lineNumber" : 127, - "columnNumber" : 20, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " @Override\n public ProfileVideo getProfileVideo(Long videoId, HttpServletRequest request) {\n User user;\n ProfileVideo profileVideo;\n user = userService.getUserFromToken(request);\n profileVideo = profileVideoRepository.findByUser_id(user.getId()); /* <=== com.crapi.repository.ProfileVideoRepository.findByUser_id */ \n if (profileVideo != null) {\n if (profileVideo.getId() == videoId) {\n return profileVideo;\n }\n }" + "sample": "findByUser_id(user.getId())", + "lineNumber": 127, + "columnNumber": 20, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " @Override\n public ProfileVideo getProfileVideo(Long videoId, HttpServletRequest request) {\n User user;\n ProfileVideo profileVideo;\n user = userService.getUserFromToken(request);\n profileVideo = profileVideoRepository.findByUser_id(user.getId()); /* <=== com.crapi.repository.ProfileVideoRepository.findByUser_id */ \n if (profileVideo != null) {\n if (profileVideo.getId() == videoId) {\n return profileVideo;\n }\n }" } ] }, { - "pathId" : "9830-9843-9838", - "path" : [ + "pathId": "9830-9843-9838", + "path": [ { - "sample" : "java.lang.String password", - "lineNumber" : 36, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", - "excerpt" : " sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email;\n private String password; /* <=== 'password' is a member of 'com.crapi.entity.User' class */ \n private String number;\n\n @Column(length = 500)\n private String jwtToken;\n" + "sample": "java.lang.String password", + "lineNumber": 36, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", + "excerpt": " sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email;\n private String password; /* <=== 'password' is a member of 'com.crapi.entity.User' class */ \n private String number;\n\n @Column(length = 500)\n private String jwtToken;\n" }, { - "sample" : "user", - "lineNumber" : 209, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " public CRAPIResponse sendVehicleDetails(HttpServletRequest request) {\n User user;\n UserDetails userDetails;\n VehicleDetails vehicleDetails = null;\n List vehicleDetailList = null;\n user = userService.getUserFromToken(request); /* <=== com.crapi.entity.User */ \n userDetails = userDetailsRepository.findByUser_id(user.getId());\n vehicleDetailList = vehicleDetailsRepository.findAll();\n for (VehicleDetails vehicleDetail : vehicleDetailList) {\n if (vehicleDetail.getOwner() == null) {\n vehicleDetails = vehicleDetail;" + "sample": "user", + "lineNumber": 209, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " public CRAPIResponse sendVehicleDetails(HttpServletRequest request) {\n User user;\n UserDetails userDetails;\n VehicleDetails vehicleDetails = null;\n List vehicleDetailList = null;\n user = userService.getUserFromToken(request); /* <=== com.crapi.entity.User */ \n userDetails = userDetailsRepository.findByUser_id(user.getId());\n vehicleDetailList = vehicleDetailsRepository.findAll();\n for (VehicleDetails vehicleDetail : vehicleDetailList) {\n if (vehicleDetail.getOwner() == null) {\n vehicleDetails = vehicleDetail;" }, { - "sample" : "user", - "lineNumber" : 210, - "columnNumber" : 55, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " User user;\n UserDetails userDetails;\n VehicleDetails vehicleDetails = null;\n List vehicleDetailList = null;\n user = userService.getUserFromToken(request);\n userDetails = userDetailsRepository.findByUser_id(user.getId()); /* <=== com.crapi.entity.User */ \n vehicleDetailList = vehicleDetailsRepository.findAll();\n for (VehicleDetails vehicleDetail : vehicleDetailList) {\n if (vehicleDetail.getOwner() == null) {\n vehicleDetails = vehicleDetail;\n break;" + "sample": "user", + "lineNumber": 210, + "columnNumber": 55, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " User user;\n UserDetails userDetails;\n VehicleDetails vehicleDetails = null;\n List vehicleDetailList = null;\n user = userService.getUserFromToken(request);\n userDetails = userDetailsRepository.findByUser_id(user.getId()); /* <=== com.crapi.entity.User */ \n vehicleDetailList = vehicleDetailsRepository.findAll();\n for (VehicleDetails vehicleDetail : vehicleDetailList) {\n if (vehicleDetail.getOwner() == null) {\n vehicleDetails = vehicleDetail;\n break;" }, { - "sample" : "findByUser_id(user.getId())", - "lineNumber" : 210, - "columnNumber" : 19, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " User user;\n UserDetails userDetails;\n VehicleDetails vehicleDetails = null;\n List vehicleDetailList = null;\n user = userService.getUserFromToken(request);\n userDetails = userDetailsRepository.findByUser_id(user.getId()); /* <=== com.crapi.repository.UserDetailsRepository.findByUser_id */ \n vehicleDetailList = vehicleDetailsRepository.findAll();\n for (VehicleDetails vehicleDetail : vehicleDetailList) {\n if (vehicleDetail.getOwner() == null) {\n vehicleDetails = vehicleDetail;\n break;" + "sample": "findByUser_id(user.getId())", + "lineNumber": 210, + "columnNumber": 19, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " User user;\n UserDetails userDetails;\n VehicleDetails vehicleDetails = null;\n List vehicleDetailList = null;\n user = userService.getUserFromToken(request);\n userDetails = userDetailsRepository.findByUser_id(user.getId()); /* <=== com.crapi.repository.UserDetailsRepository.findByUser_id */ \n vehicleDetailList = vehicleDetailsRepository.findAll();\n for (VehicleDetails vehicleDetail : vehicleDetailList) {\n if (vehicleDetail.getOwner() == null) {\n vehicleDetails = vehicleDetail;\n break;" } ] }, { - "pathId" : "7189-7202-7197", - "path" : [ + "pathId": "7189-7202-7197", + "path": [ { - "sample" : "java.lang.String password", - "lineNumber" : 36, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", - "excerpt" : " sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email;\n private String password; /* <=== 'password' is a member of 'com.crapi.entity.User' class */ \n private String number;\n\n @Column(length = 500)\n private String jwtToken;\n" + "sample": "java.lang.String password", + "lineNumber": 36, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", + "excerpt": " sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email;\n private String password; /* <=== 'password' is a member of 'com.crapi.entity.User' class */ \n private String number;\n\n @Column(length = 500)\n private String jwtToken;\n" }, { - "sample" : "user", - "lineNumber" : 69, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " @Override\n public UserDetails uploadProfilePicture(MultipartFile file, HttpServletRequest request) {\n User user;\n UserDetails userDetails;\n try {\n user = userService.getUserFromToken(request); /* <=== com.crapi.entity.User */ \n userDetails = userDetailsRepository.findByUser_id(user.getId());\n if (userDetails != null && ProfileValidator.validateFile(file) != null) {\n userDetails.setPicture(file.getBytes());\n } else {\n userDetails = new UserDetails();" + "sample": "user", + "lineNumber": 69, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " @Override\n public UserDetails uploadProfilePicture(MultipartFile file, HttpServletRequest request) {\n User user;\n UserDetails userDetails;\n try {\n user = userService.getUserFromToken(request); /* <=== com.crapi.entity.User */ \n userDetails = userDetailsRepository.findByUser_id(user.getId());\n if (userDetails != null && ProfileValidator.validateFile(file) != null) {\n userDetails.setPicture(file.getBytes());\n } else {\n userDetails = new UserDetails();" }, { - "sample" : "user", - "lineNumber" : 70, - "columnNumber" : 57, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " public UserDetails uploadProfilePicture(MultipartFile file, HttpServletRequest request) {\n User user;\n UserDetails userDetails;\n try {\n user = userService.getUserFromToken(request);\n userDetails = userDetailsRepository.findByUser_id(user.getId()); /* <=== com.crapi.entity.User */ \n if (userDetails != null && ProfileValidator.validateFile(file) != null) {\n userDetails.setPicture(file.getBytes());\n } else {\n userDetails = new UserDetails();\n userDetails.setAvailable_credit(100.0);" + "sample": "user", + "lineNumber": 70, + "columnNumber": 57, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " public UserDetails uploadProfilePicture(MultipartFile file, HttpServletRequest request) {\n User user;\n UserDetails userDetails;\n try {\n user = userService.getUserFromToken(request);\n userDetails = userDetailsRepository.findByUser_id(user.getId()); /* <=== com.crapi.entity.User */ \n if (userDetails != null && ProfileValidator.validateFile(file) != null) {\n userDetails.setPicture(file.getBytes());\n } else {\n userDetails = new UserDetails();\n userDetails.setAvailable_credit(100.0);" }, { - "sample" : "findByUser_id(user.getId())", - "lineNumber" : 70, - "columnNumber" : 21, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " public UserDetails uploadProfilePicture(MultipartFile file, HttpServletRequest request) {\n User user;\n UserDetails userDetails;\n try {\n user = userService.getUserFromToken(request);\n userDetails = userDetailsRepository.findByUser_id(user.getId()); /* <=== com.crapi.repository.UserDetailsRepository.findByUser_id */ \n if (userDetails != null && ProfileValidator.validateFile(file) != null) {\n userDetails.setPicture(file.getBytes());\n } else {\n userDetails = new UserDetails();\n userDetails.setAvailable_credit(100.0);" + "sample": "findByUser_id(user.getId())", + "lineNumber": 70, + "columnNumber": 21, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " public UserDetails uploadProfilePicture(MultipartFile file, HttpServletRequest request) {\n User user;\n UserDetails userDetails;\n try {\n user = userService.getUserFromToken(request);\n userDetails = userDetailsRepository.findByUser_id(user.getId()); /* <=== com.crapi.repository.UserDetailsRepository.findByUser_id */ \n if (userDetails != null && ProfileValidator.validateFile(file) != null) {\n userDetails.setPicture(file.getBytes());\n } else {\n userDetails = new UserDetails();\n userDetails.setAvailable_credit(100.0);" } ] }, { - "pathId" : "9564-9572-9582-9577", - "path" : [ + "pathId": "9564-9572-9582-9577", + "path": [ { - "sample" : "java.lang.String password", - "lineNumber" : 36, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", - "excerpt" : " sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email;\n private String password; /* <=== 'password' is a member of 'com.crapi.entity.User' class */ \n private String number;\n\n @Column(length = 500)\n private String jwtToken;\n" + "sample": "java.lang.String password", + "lineNumber": 36, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", + "excerpt": " sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email;\n private String password; /* <=== 'password' is a member of 'com.crapi.entity.User' class */ \n private String number;\n\n @Column(length = 500)\n private String jwtToken;\n" }, { - "sample" : "user", - "lineNumber" : 121, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " @Override\n public List getVehicleDetails(HttpServletRequest request) {\n User user = null;\n List vehicleDetailsList = null;\n try {\n user = userService.getUserFromToken(request); /* <=== com.crapi.entity.User */ \n if (user != null) {\n vehicleDetailsList = vehicleDetailsRepository.findAllByOwner_id(user.getId());\n if (vehicleDetailsList != null) {\n for (VehicleDetails vehicleDetails : vehicleDetailsList) {\n vehicleDetails.setOwner(null);" + "sample": "user", + "lineNumber": 121, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " @Override\n public List getVehicleDetails(HttpServletRequest request) {\n User user = null;\n List vehicleDetailsList = null;\n try {\n user = userService.getUserFromToken(request); /* <=== com.crapi.entity.User */ \n if (user != null) {\n vehicleDetailsList = vehicleDetailsRepository.findAllByOwner_id(user.getId());\n if (vehicleDetailsList != null) {\n for (VehicleDetails vehicleDetails : vehicleDetailsList) {\n vehicleDetails.setOwner(null);" }, { - "sample" : "user", - "lineNumber" : 122, - "columnNumber" : 11, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " public List getVehicleDetails(HttpServletRequest request) {\n User user = null;\n List vehicleDetailsList = null;\n try {\n user = userService.getUserFromToken(request);\n if (user != null) { /* <=== com.crapi.entity.User */ \n vehicleDetailsList = vehicleDetailsRepository.findAllByOwner_id(user.getId());\n if (vehicleDetailsList != null) {\n for (VehicleDetails vehicleDetails : vehicleDetailsList) {\n vehicleDetails.setOwner(null);\n }" + "sample": "user", + "lineNumber": 122, + "columnNumber": 11, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " public List getVehicleDetails(HttpServletRequest request) {\n User user = null;\n List vehicleDetailsList = null;\n try {\n user = userService.getUserFromToken(request);\n if (user != null) { /* <=== com.crapi.entity.User */ \n vehicleDetailsList = vehicleDetailsRepository.findAllByOwner_id(user.getId());\n if (vehicleDetailsList != null) {\n for (VehicleDetails vehicleDetails : vehicleDetailsList) {\n vehicleDetails.setOwner(null);\n }" }, { - "sample" : "user", - "lineNumber" : 123, - "columnNumber" : 73, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " User user = null;\n List vehicleDetailsList = null;\n try {\n user = userService.getUserFromToken(request);\n if (user != null) {\n vehicleDetailsList = vehicleDetailsRepository.findAllByOwner_id(user.getId()); /* <=== com.crapi.entity.User */ \n if (vehicleDetailsList != null) {\n for (VehicleDetails vehicleDetails : vehicleDetailsList) {\n vehicleDetails.setOwner(null);\n }\n return vehicleDetailsList;" + "sample": "user", + "lineNumber": 123, + "columnNumber": 73, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " User user = null;\n List vehicleDetailsList = null;\n try {\n user = userService.getUserFromToken(request);\n if (user != null) {\n vehicleDetailsList = vehicleDetailsRepository.findAllByOwner_id(user.getId()); /* <=== com.crapi.entity.User */ \n if (vehicleDetailsList != null) {\n for (VehicleDetails vehicleDetails : vehicleDetailsList) {\n vehicleDetails.setOwner(null);\n }\n return vehicleDetailsList;" }, { - "sample" : "findAllByOwner_id(user.getId())", - "lineNumber" : 123, - "columnNumber" : 30, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " User user = null;\n List vehicleDetailsList = null;\n try {\n user = userService.getUserFromToken(request);\n if (user != null) {\n vehicleDetailsList = vehicleDetailsRepository.findAllByOwner_id(user.getId()); /* <=== com.crapi.repository.VehicleDetailsRepository.findAllByOwner_id */ \n if (vehicleDetailsList != null) {\n for (VehicleDetails vehicleDetails : vehicleDetailsList) {\n vehicleDetails.setOwner(null);\n }\n return vehicleDetailsList;" + "sample": "findAllByOwner_id(user.getId())", + "lineNumber": 123, + "columnNumber": 30, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " User user = null;\n List vehicleDetailsList = null;\n try {\n user = userService.getUserFromToken(request);\n if (user != null) {\n vehicleDetailsList = vehicleDetailsRepository.findAllByOwner_id(user.getId()); /* <=== com.crapi.repository.VehicleDetailsRepository.findAllByOwner_id */ \n if (vehicleDetailsList != null) {\n for (VehicleDetails vehicleDetails : vehicleDetailsList) {\n vehicleDetails.setOwner(null);\n }\n return vehicleDetailsList;" } ] }, { - "pathId" : "6690-6699-21890-12059-6653-6674-6669-6668-6677-6686-6682", - "path" : [ + "pathId": "6690-6699-21890-12059-6653-6674-6669-6668-6677-6686-6682", + "path": [ { - "sample" : "java.lang.String password", - "lineNumber" : 29, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/model/OtpForm.java", - "excerpt" : " @Size(min = 3, max = 4)\n private String otp;\n\n @NotBlank\n @Size(min = 5, max = 30)\n private String password; /* <=== 'password' is a member of 'com.crapi.model.OtpForm' class */ \n\n @NotBlank\n @Size(min = 5, max = 30)\n private String email;\n}" + "sample": "java.lang.String password", + "lineNumber": 29, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/model/OtpForm.java", + "excerpt": " @Size(min = 3, max = 4)\n private String otp;\n\n @NotBlank\n @Size(min = 5, max = 30)\n private String password; /* <=== 'password' is a member of 'com.crapi.model.OtpForm' class */ \n\n @NotBlank\n @Size(min = 5, max = 30)\n private String email;\n}" }, { - "sample" : "otpForm", - "lineNumber" : 82, - "columnNumber" : 36, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) { /* <=== com.crapi.model.OtpForm */ \n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {" + "sample": "otpForm", + "lineNumber": 82, + "columnNumber": 36, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) { /* <=== com.crapi.model.OtpForm */ \n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {" }, { - "sample" : "otpForm", - "lineNumber" : 83, - "columnNumber" : 41, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword())); /* <=== com.crapi.model.OtpForm */ \n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {\n otp.setCount(otp.getCount() + 1);" + "sample": "otpForm", + "lineNumber": 83, + "columnNumber": 41, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword())); /* <=== com.crapi.model.OtpForm */ \n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {\n otp.setCount(otp.getCount() + 1);" }, { - "sample" : "OtpForm otpForm", - "lineNumber" : 75, - "columnNumber" : 36, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " * @param otpForm\n * @return otp object, validate the otp and then reset the password of user\n */\n @Transactional\n @Override\n public CRAPIResponse validateOtp(OtpForm otpForm) { /* <=== */ \n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {" + "sample": "OtpForm otpForm", + "lineNumber": 75, + "columnNumber": 36, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " * @param otpForm\n * @return otp object, validate the otp and then reset the password of user\n */\n @Transactional\n @Override\n public CRAPIResponse validateOtp(OtpForm otpForm) { /* <=== */ \n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {" }, { - "sample" : "this.getDummyOtpForm()", - "lineNumber" : 83, - "columnNumber" : 28, - "fileName" : "/app/code/services/identity/src/test/java/com/crapi/service/Impl/OtpServiceImplTest.java", - "excerpt" : " }\n\n @Test(expected = EntityNotFoundException.class)\n public void validateOtpThrowsExceptionWhenUserNotFound() {\n Mockito.when(userRepository.findByEmail(Mockito.anyString())).thenReturn(null);\n otpService.validateOtp(getDummyOtpForm()); /* <=== com.crapi.service.Impl.OtpServiceImplTest.getDummyOtpForm */ \n }\n\n @Test\n public void validateOtpSuccess() {\n Otp otp = getDummyOtp();" + "sample": "this.getDummyOtpForm()", + "lineNumber": 83, + "columnNumber": 28, + "fileName": "/app/code/services/identity/src/test/java/com/crapi/service/Impl/OtpServiceImplTest.java", + "excerpt": " }\n\n @Test(expected = EntityNotFoundException.class)\n public void validateOtpThrowsExceptionWhenUserNotFound() {\n Mockito.when(userRepository.findByEmail(Mockito.anyString())).thenReturn(null);\n otpService.validateOtp(getDummyOtpForm()); /* <=== com.crapi.service.Impl.OtpServiceImplTest.getDummyOtpForm */ \n }\n\n @Test\n public void validateOtpSuccess() {\n Otp otp = getDummyOtp();" }, { - "sample" : "OtpForm otpForm", - "lineNumber" : 75, - "columnNumber" : 36, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " * @param otpForm\n * @return otp object, validate the otp and then reset the password of user\n */\n @Transactional\n @Override\n public CRAPIResponse validateOtp(OtpForm otpForm) { /* <=== */ \n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {" + "sample": "OtpForm otpForm", + "lineNumber": 75, + "columnNumber": 36, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " * @param otpForm\n * @return otp object, validate the otp and then reset the password of user\n */\n @Transactional\n @Override\n public CRAPIResponse validateOtp(OtpForm otpForm) { /* <=== */ \n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {" }, { - "sample" : "otpForm", - "lineNumber" : 79, - "columnNumber" : 39, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " @Override\n public CRAPIResponse validateOtp(OtpForm otpForm) {\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.model.OtpForm */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" + "sample": "otpForm", + "lineNumber": 79, + "columnNumber": 39, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " @Override\n public CRAPIResponse validateOtp(OtpForm otpForm) {\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.model.OtpForm */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" }, { - "sample" : "findByEmail(otpForm.getEmail())", - "lineNumber" : 79, - "columnNumber" : 12, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " @Override\n public CRAPIResponse validateOtp(OtpForm otpForm) {\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" + "sample": "findByEmail(otpForm.getEmail())", + "lineNumber": 79, + "columnNumber": 12, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " @Override\n public CRAPIResponse validateOtp(OtpForm otpForm) {\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" }, { - "sample" : "user", - "lineNumber" : 79, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " @Override\n public CRAPIResponse validateOtp(OtpForm otpForm) {\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.entity.User */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" + "sample": "user", + "lineNumber": 79, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " @Override\n public CRAPIResponse validateOtp(OtpForm otpForm) {\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.entity.User */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" }, { - "sample" : "user", - "lineNumber" : 80, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " public CRAPIResponse validateOtp(OtpForm otpForm) {\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) { /* <=== com.crapi.entity.User */ \n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());" + "sample": "user", + "lineNumber": 80, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " public CRAPIResponse validateOtp(OtpForm otpForm) {\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) { /* <=== com.crapi.entity.User */ \n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());" }, { - "sample" : "user", - "lineNumber" : 81, - "columnNumber" : 38, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user); /* <=== com.crapi.entity.User */ \n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);" + "sample": "user", + "lineNumber": 81, + "columnNumber": 38, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user); /* <=== com.crapi.entity.User */ \n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);" }, { - "sample" : "otpRepository.findByUser(user)", - "lineNumber" : 81, - "columnNumber" : 13, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user); /* <=== com.crapi.repository.OtpRepository.findByUser */ \n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);" + "sample": "otpRepository.findByUser(user)", + "lineNumber": 81, + "columnNumber": 13, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user); /* <=== com.crapi.repository.OtpRepository.findByUser */ \n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);" } ] }, { - "pathId" : "6789-6784-6783-6792-6801-6797", - "path" : [ + "pathId": "6789-6784-6783-6792-6801-6797", + "path": [ { - "sample" : "java.lang.String password", - "lineNumber" : 29, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/model/OtpForm.java", - "excerpt" : " @Size(min = 3, max = 4)\n private String otp;\n\n @NotBlank\n @Size(min = 5, max = 30)\n private String password; /* <=== 'password' is a member of 'com.crapi.model.OtpForm' class */ \n\n @NotBlank\n @Size(min = 5, max = 30)\n private String email;\n}" + "sample": "java.lang.String password", + "lineNumber": 29, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/model/OtpForm.java", + "excerpt": " @Size(min = 3, max = 4)\n private String otp;\n\n @NotBlank\n @Size(min = 5, max = 30)\n private String password; /* <=== 'password' is a member of 'com.crapi.model.OtpForm' class */ \n\n @NotBlank\n @Size(min = 5, max = 30)\n private String email;\n}" }, { - "sample" : "otpForm", - "lineNumber" : 103, - "columnNumber" : 39, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " public CRAPIResponse secureValidateOtp(OtpForm otpForm) {\n CRAPIResponse crapiAPIResponse = null;\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.model.OtpForm */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" + "sample": "otpForm", + "lineNumber": 103, + "columnNumber": 39, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " public CRAPIResponse secureValidateOtp(OtpForm otpForm) {\n CRAPIResponse crapiAPIResponse = null;\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.model.OtpForm */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" }, { - "sample" : "findByEmail(otpForm.getEmail())", - "lineNumber" : 103, - "columnNumber" : 12, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " public CRAPIResponse secureValidateOtp(OtpForm otpForm) {\n CRAPIResponse crapiAPIResponse = null;\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" + "sample": "findByEmail(otpForm.getEmail())", + "lineNumber": 103, + "columnNumber": 12, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " public CRAPIResponse secureValidateOtp(OtpForm otpForm) {\n CRAPIResponse crapiAPIResponse = null;\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" }, { - "sample" : "user", - "lineNumber" : 103, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " public CRAPIResponse secureValidateOtp(OtpForm otpForm) {\n CRAPIResponse crapiAPIResponse = null;\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.entity.User */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" + "sample": "user", + "lineNumber": 103, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " public CRAPIResponse secureValidateOtp(OtpForm otpForm) {\n CRAPIResponse crapiAPIResponse = null;\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.entity.User */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" }, { - "sample" : "user", - "lineNumber" : 104, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " CRAPIResponse crapiAPIResponse = null;\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) { /* <=== com.crapi.entity.User */ \n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());" + "sample": "user", + "lineNumber": 104, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " CRAPIResponse crapiAPIResponse = null;\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) { /* <=== com.crapi.entity.User */ \n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());" }, { - "sample" : "user", - "lineNumber" : 105, - "columnNumber" : 38, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user); /* <=== com.crapi.entity.User */ \n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);" + "sample": "user", + "lineNumber": 105, + "columnNumber": 38, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user); /* <=== com.crapi.entity.User */ \n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);" }, { - "sample" : "otpRepository.findByUser(user)", - "lineNumber" : 105, - "columnNumber" : 13, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user); /* <=== com.crapi.repository.OtpRepository.findByUser */ \n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);" + "sample": "otpRepository.findByUser(user)", + "lineNumber": 105, + "columnNumber": 13, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user); /* <=== com.crapi.repository.OtpRepository.findByUser */ \n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);" } ] }, { - "pathId" : "9120-9119-9162-8630-8629-8639-8647-8642", - "path" : [ + "pathId": "9120-9119-9162-8630-8629-8639-8647-8642", + "path": [ { - "sample" : "java.lang.String password", - "lineNumber" : 36, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", - "excerpt" : " sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email;\n private String password; /* <=== 'password' is a member of 'com.crapi.entity.User' class */ \n private String number;\n\n @Column(length = 500)\n private String jwtToken;\n" + "sample": "java.lang.String password", + "lineNumber": 36, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", + "excerpt": " sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email;\n private String password; /* <=== 'password' is a member of 'com.crapi.entity.User' class */ \n private String number;\n\n @Column(length = 500)\n private String jwtToken;\n" }, { - "sample" : "user", - "lineNumber" : 324, - "columnNumber" : 16, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n\n if (user != null) {\n return user; /* <=== com.crapi.entity.User */ \n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {\n logger.error(\"fail to get username from token -> Message:%d\", exception);" + "sample": "user", + "lineNumber": 324, + "columnNumber": 16, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n\n if (user != null) {\n return user; /* <=== com.crapi.entity.User */ \n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {\n logger.error(\"fail to get username from token -> Message:%d\", exception);" }, { - "sample" : "return user;", - "lineNumber" : 324, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n\n if (user != null) {\n return user; /* <=== */ \n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {\n logger.error(\"fail to get username from token -> Message:%d\", exception);" + "sample": "return user;", + "lineNumber": 324, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n\n if (user != null) {\n return user; /* <=== */ \n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {\n logger.error(\"fail to get username from token -> Message:%d\", exception);" }, { - "sample" : "com.crapi.entity.User", - "lineNumber" : 314, - "columnNumber" : 10, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " }\n }\n\n @Transactional\n @Override\n public User getUserFromTokenWithoutValidation(HttpServletRequest request) { /* <=== */ \n User user = null;\n try {\n String jwt = jwtAuthTokenFilter.getJwt(request);\n String username = jwtProvider.getUserNameFromJwtToken(jwt);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {" + "sample": "com.crapi.entity.User", + "lineNumber": 314, + "columnNumber": 10, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " }\n }\n\n @Transactional\n @Override\n public User getUserFromTokenWithoutValidation(HttpServletRequest request) { /* <=== */ \n User user = null;\n try {\n String jwt = jwtAuthTokenFilter.getJwt(request);\n String username = jwtProvider.getUserNameFromJwtToken(jwt);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {" }, { - "sample" : "this.getUserFromTokenWithoutValidation(request)", - "lineNumber" : 181, - "columnNumber" : 14, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " DashboardResponse dashboardResponse;\n ProfileVideo profileVideo;\n try {\n // Invalid Signature vulnerability\n // Not Checking the validity of the token for this request\n user = getUserFromTokenWithoutValidation(request); /* <=== com.crapi.service.Impl.UserServiceImpl.getUserFromTokenWithoutValidation */ \n userDetails = userDetailsRepository.findByUser_id(user.getId());\n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n dashboardResponse =\n new DashboardResponse(\n user.getId()," + "sample": "this.getUserFromTokenWithoutValidation(request)", + "lineNumber": 181, + "columnNumber": 14, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " DashboardResponse dashboardResponse;\n ProfileVideo profileVideo;\n try {\n // Invalid Signature vulnerability\n // Not Checking the validity of the token for this request\n user = getUserFromTokenWithoutValidation(request); /* <=== com.crapi.service.Impl.UserServiceImpl.getUserFromTokenWithoutValidation */ \n userDetails = userDetailsRepository.findByUser_id(user.getId());\n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n dashboardResponse =\n new DashboardResponse(\n user.getId()," }, { - "sample" : "user", - "lineNumber" : 181, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " DashboardResponse dashboardResponse;\n ProfileVideo profileVideo;\n try {\n // Invalid Signature vulnerability\n // Not Checking the validity of the token for this request\n user = getUserFromTokenWithoutValidation(request); /* <=== com.crapi.entity.User */ \n userDetails = userDetailsRepository.findByUser_id(user.getId());\n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n dashboardResponse =\n new DashboardResponse(\n user.getId()," + "sample": "user", + "lineNumber": 181, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " DashboardResponse dashboardResponse;\n ProfileVideo profileVideo;\n try {\n // Invalid Signature vulnerability\n // Not Checking the validity of the token for this request\n user = getUserFromTokenWithoutValidation(request); /* <=== com.crapi.entity.User */ \n userDetails = userDetailsRepository.findByUser_id(user.getId());\n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n dashboardResponse =\n new DashboardResponse(\n user.getId()," }, { - "sample" : "user", - "lineNumber" : 182, - "columnNumber" : 57, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " ProfileVideo profileVideo;\n try {\n // Invalid Signature vulnerability\n // Not Checking the validity of the token for this request\n user = getUserFromTokenWithoutValidation(request);\n userDetails = userDetailsRepository.findByUser_id(user.getId()); /* <=== com.crapi.entity.User */ \n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n dashboardResponse =\n new DashboardResponse(\n user.getId(),\n (userDetails != null ? userDetails.getName() : \"\")," + "sample": "user", + "lineNumber": 182, + "columnNumber": 57, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " ProfileVideo profileVideo;\n try {\n // Invalid Signature vulnerability\n // Not Checking the validity of the token for this request\n user = getUserFromTokenWithoutValidation(request);\n userDetails = userDetailsRepository.findByUser_id(user.getId()); /* <=== com.crapi.entity.User */ \n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n dashboardResponse =\n new DashboardResponse(\n user.getId(),\n (userDetails != null ? userDetails.getName() : \"\")," }, { - "sample" : "user", - "lineNumber" : 183, - "columnNumber" : 59, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " try {\n // Invalid Signature vulnerability\n // Not Checking the validity of the token for this request\n user = getUserFromTokenWithoutValidation(request);\n userDetails = userDetailsRepository.findByUser_id(user.getId());\n profileVideo = profileVideoRepository.findByUser_id(user.getId()); /* <=== com.crapi.entity.User */ \n dashboardResponse =\n new DashboardResponse(\n user.getId(),\n (userDetails != null ? userDetails.getName() : \"\"),\n user.getEmail()," + "sample": "user", + "lineNumber": 183, + "columnNumber": 59, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " try {\n // Invalid Signature vulnerability\n // Not Checking the validity of the token for this request\n user = getUserFromTokenWithoutValidation(request);\n userDetails = userDetailsRepository.findByUser_id(user.getId());\n profileVideo = profileVideoRepository.findByUser_id(user.getId()); /* <=== com.crapi.entity.User */ \n dashboardResponse =\n new DashboardResponse(\n user.getId(),\n (userDetails != null ? userDetails.getName() : \"\"),\n user.getEmail()," }, { - "sample" : "findByUser_id(user.getId())", - "lineNumber" : 183, - "columnNumber" : 22, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " try {\n // Invalid Signature vulnerability\n // Not Checking the validity of the token for this request\n user = getUserFromTokenWithoutValidation(request);\n userDetails = userDetailsRepository.findByUser_id(user.getId());\n profileVideo = profileVideoRepository.findByUser_id(user.getId()); /* <=== com.crapi.repository.ProfileVideoRepository.findByUser_id */ \n dashboardResponse =\n new DashboardResponse(\n user.getId(),\n (userDetails != null ? userDetails.getName() : \"\"),\n user.getEmail()," + "sample": "findByUser_id(user.getId())", + "lineNumber": 183, + "columnNumber": 22, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " try {\n // Invalid Signature vulnerability\n // Not Checking the validity of the token for this request\n user = getUserFromTokenWithoutValidation(request);\n userDetails = userDetailsRepository.findByUser_id(user.getId());\n profileVideo = profileVideoRepository.findByUser_id(user.getId()); /* <=== com.crapi.repository.ProfileVideoRepository.findByUser_id */ \n dashboardResponse =\n new DashboardResponse(\n user.getId(),\n (userDetails != null ? userDetails.getName() : \"\"),\n user.getEmail()," } ] }, { - "pathId" : "9120-9119-9162-8630-8629-8639-8634", - "path" : [ + "pathId": "9120-9119-9162-8630-8629-8639-8634", + "path": [ { - "sample" : "java.lang.String password", - "lineNumber" : 36, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", - "excerpt" : " sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email;\n private String password; /* <=== 'password' is a member of 'com.crapi.entity.User' class */ \n private String number;\n\n @Column(length = 500)\n private String jwtToken;\n" + "sample": "java.lang.String password", + "lineNumber": 36, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", + "excerpt": " sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email;\n private String password; /* <=== 'password' is a member of 'com.crapi.entity.User' class */ \n private String number;\n\n @Column(length = 500)\n private String jwtToken;\n" }, { - "sample" : "user", - "lineNumber" : 324, - "columnNumber" : 16, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n\n if (user != null) {\n return user; /* <=== com.crapi.entity.User */ \n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {\n logger.error(\"fail to get username from token -> Message:%d\", exception);" + "sample": "user", + "lineNumber": 324, + "columnNumber": 16, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n\n if (user != null) {\n return user; /* <=== com.crapi.entity.User */ \n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {\n logger.error(\"fail to get username from token -> Message:%d\", exception);" }, { - "sample" : "return user;", - "lineNumber" : 324, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n\n if (user != null) {\n return user; /* <=== */ \n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {\n logger.error(\"fail to get username from token -> Message:%d\", exception);" + "sample": "return user;", + "lineNumber": 324, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n\n if (user != null) {\n return user; /* <=== */ \n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {\n logger.error(\"fail to get username from token -> Message:%d\", exception);" }, { - "sample" : "com.crapi.entity.User", - "lineNumber" : 314, - "columnNumber" : 10, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " }\n }\n\n @Transactional\n @Override\n public User getUserFromTokenWithoutValidation(HttpServletRequest request) { /* <=== */ \n User user = null;\n try {\n String jwt = jwtAuthTokenFilter.getJwt(request);\n String username = jwtProvider.getUserNameFromJwtToken(jwt);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {" + "sample": "com.crapi.entity.User", + "lineNumber": 314, + "columnNumber": 10, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " }\n }\n\n @Transactional\n @Override\n public User getUserFromTokenWithoutValidation(HttpServletRequest request) { /* <=== */ \n User user = null;\n try {\n String jwt = jwtAuthTokenFilter.getJwt(request);\n String username = jwtProvider.getUserNameFromJwtToken(jwt);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {" }, { - "sample" : "this.getUserFromTokenWithoutValidation(request)", - "lineNumber" : 181, - "columnNumber" : 14, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " DashboardResponse dashboardResponse;\n ProfileVideo profileVideo;\n try {\n // Invalid Signature vulnerability\n // Not Checking the validity of the token for this request\n user = getUserFromTokenWithoutValidation(request); /* <=== com.crapi.service.Impl.UserServiceImpl.getUserFromTokenWithoutValidation */ \n userDetails = userDetailsRepository.findByUser_id(user.getId());\n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n dashboardResponse =\n new DashboardResponse(\n user.getId()," + "sample": "this.getUserFromTokenWithoutValidation(request)", + "lineNumber": 181, + "columnNumber": 14, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " DashboardResponse dashboardResponse;\n ProfileVideo profileVideo;\n try {\n // Invalid Signature vulnerability\n // Not Checking the validity of the token for this request\n user = getUserFromTokenWithoutValidation(request); /* <=== com.crapi.service.Impl.UserServiceImpl.getUserFromTokenWithoutValidation */ \n userDetails = userDetailsRepository.findByUser_id(user.getId());\n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n dashboardResponse =\n new DashboardResponse(\n user.getId()," }, { - "sample" : "user", - "lineNumber" : 181, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " DashboardResponse dashboardResponse;\n ProfileVideo profileVideo;\n try {\n // Invalid Signature vulnerability\n // Not Checking the validity of the token for this request\n user = getUserFromTokenWithoutValidation(request); /* <=== com.crapi.entity.User */ \n userDetails = userDetailsRepository.findByUser_id(user.getId());\n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n dashboardResponse =\n new DashboardResponse(\n user.getId()," + "sample": "user", + "lineNumber": 181, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " DashboardResponse dashboardResponse;\n ProfileVideo profileVideo;\n try {\n // Invalid Signature vulnerability\n // Not Checking the validity of the token for this request\n user = getUserFromTokenWithoutValidation(request); /* <=== com.crapi.entity.User */ \n userDetails = userDetailsRepository.findByUser_id(user.getId());\n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n dashboardResponse =\n new DashboardResponse(\n user.getId()," }, { - "sample" : "user", - "lineNumber" : 182, - "columnNumber" : 57, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " ProfileVideo profileVideo;\n try {\n // Invalid Signature vulnerability\n // Not Checking the validity of the token for this request\n user = getUserFromTokenWithoutValidation(request);\n userDetails = userDetailsRepository.findByUser_id(user.getId()); /* <=== com.crapi.entity.User */ \n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n dashboardResponse =\n new DashboardResponse(\n user.getId(),\n (userDetails != null ? userDetails.getName() : \"\")," + "sample": "user", + "lineNumber": 182, + "columnNumber": 57, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " ProfileVideo profileVideo;\n try {\n // Invalid Signature vulnerability\n // Not Checking the validity of the token for this request\n user = getUserFromTokenWithoutValidation(request);\n userDetails = userDetailsRepository.findByUser_id(user.getId()); /* <=== com.crapi.entity.User */ \n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n dashboardResponse =\n new DashboardResponse(\n user.getId(),\n (userDetails != null ? userDetails.getName() : \"\")," }, { - "sample" : "findByUser_id(user.getId())", - "lineNumber" : 182, - "columnNumber" : 21, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " ProfileVideo profileVideo;\n try {\n // Invalid Signature vulnerability\n // Not Checking the validity of the token for this request\n user = getUserFromTokenWithoutValidation(request);\n userDetails = userDetailsRepository.findByUser_id(user.getId()); /* <=== com.crapi.repository.UserDetailsRepository.findByUser_id */ \n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n dashboardResponse =\n new DashboardResponse(\n user.getId(),\n (userDetails != null ? userDetails.getName() : \"\")," + "sample": "findByUser_id(user.getId())", + "lineNumber": 182, + "columnNumber": 21, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " ProfileVideo profileVideo;\n try {\n // Invalid Signature vulnerability\n // Not Checking the validity of the token for this request\n user = getUserFromTokenWithoutValidation(request);\n userDetails = userDetailsRepository.findByUser_id(user.getId()); /* <=== com.crapi.repository.UserDetailsRepository.findByUser_id */ \n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n dashboardResponse =\n new DashboardResponse(\n user.getId(),\n (userDetails != null ? userDetails.getName() : \"\")," } ] }, { - "pathId" : "8354-8367-8384-8401-8416-8411", - "path" : [ + "pathId": "8354-8367-8384-8401-8416-8411", + "path": [ { - "sample" : "java.lang.String password", - "lineNumber" : 30, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/model/LoginForm.java", - "excerpt" : " @Size(min = 3, max = 100)\n private String email;\n\n @NotBlank\n @Size(min = 4, max = 100)\n private String password; /* <=== 'password' is a member of 'com.crapi.model.LoginForm' class */ \n\n private String number;\n}" + "sample": "java.lang.String password", + "lineNumber": 30, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/model/LoginForm.java", + "excerpt": " @Size(min = 3, max = 100)\n private String email;\n\n @NotBlank\n @Size(min = 4, max = 100)\n private String password; /* <=== 'password' is a member of 'com.crapi.model.LoginForm' class */ \n\n private String number;\n}" }, { - "sample" : "loginForm", - "lineNumber" : 84, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " @Override\n public JwtResponse authenticateUserLogin(LoginForm loginForm) throws BadCredentialsException {\n JwtResponse jwtResponse = new JwtResponse();\n Authentication authentication = null;\n User user;\n if (loginForm.getEmail() == null) { /* <=== com.crapi.model.LoginForm */ \n jwtResponse.setMessage(UserMessage.EMAIL_NOT_PROVIDED);\n } else {\n if (loginForm.getEmail().contains(\"jndi:\")) {\n if (isLog4jEnabled()) {\n logger.info(\"Log4j is enabled\");" + "sample": "loginForm", + "lineNumber": 84, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " @Override\n public JwtResponse authenticateUserLogin(LoginForm loginForm) throws BadCredentialsException {\n JwtResponse jwtResponse = new JwtResponse();\n Authentication authentication = null;\n User user;\n if (loginForm.getEmail() == null) { /* <=== com.crapi.model.LoginForm */ \n jwtResponse.setMessage(UserMessage.EMAIL_NOT_PROVIDED);\n } else {\n if (loginForm.getEmail().contains(\"jndi:\")) {\n if (isLog4jEnabled()) {\n logger.info(\"Log4j is enabled\");" }, { - "sample" : "loginForm", - "lineNumber" : 87, - "columnNumber" : 11, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " Authentication authentication = null;\n User user;\n if (loginForm.getEmail() == null) {\n jwtResponse.setMessage(UserMessage.EMAIL_NOT_PROVIDED);\n } else {\n if (loginForm.getEmail().contains(\"jndi:\")) { /* <=== com.crapi.model.LoginForm */ \n if (isLog4jEnabled()) {\n logger.info(\"Log4j is enabled\");\n logger.info(\n \"Log4j Exploit Try With Email: {} with Logger: {}, Main Logger: {}\",\n loginForm.getEmail()," + "sample": "loginForm", + "lineNumber": 87, + "columnNumber": 11, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " Authentication authentication = null;\n User user;\n if (loginForm.getEmail() == null) {\n jwtResponse.setMessage(UserMessage.EMAIL_NOT_PROVIDED);\n } else {\n if (loginForm.getEmail().contains(\"jndi:\")) { /* <=== com.crapi.model.LoginForm */ \n if (isLog4jEnabled()) {\n logger.info(\"Log4j is enabled\");\n logger.info(\n \"Log4j Exploit Try With Email: {} with Logger: {}, Main Logger: {}\",\n loginForm.getEmail()," }, { - "sample" : "loginForm", - "lineNumber" : 92, - "columnNumber" : 15, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " if (loginForm.getEmail().contains(\"jndi:\")) {\n if (isLog4jEnabled()) {\n logger.info(\"Log4j is enabled\");\n logger.info(\n \"Log4j Exploit Try With Email: {} with Logger: {}, Main Logger: {}\",\n loginForm.getEmail(), /* <=== com.crapi.model.LoginForm */ \n LOG4J_LOGGER.getClass().getName(),\n logger.getClass().getName());\n LOG4J_LOGGER.error(\"Log4j Exploit Success With Email: {}\", loginForm.getEmail());\n } else {\n logger.info(\"Log4j is disabled\");" + "sample": "loginForm", + "lineNumber": 92, + "columnNumber": 15, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " if (loginForm.getEmail().contains(\"jndi:\")) {\n if (isLog4jEnabled()) {\n logger.info(\"Log4j is enabled\");\n logger.info(\n \"Log4j Exploit Try With Email: {} with Logger: {}, Main Logger: {}\",\n loginForm.getEmail(), /* <=== com.crapi.model.LoginForm */ \n LOG4J_LOGGER.getClass().getName(),\n logger.getClass().getName());\n LOG4J_LOGGER.error(\"Log4j Exploit Success With Email: {}\", loginForm.getEmail());\n } else {\n logger.info(\"Log4j is disabled\");" }, { - "sample" : "loginForm", - "lineNumber" : 95, - "columnNumber" : 70, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " logger.info(\n \"Log4j Exploit Try With Email: {} with Logger: {}, Main Logger: {}\",\n loginForm.getEmail(),\n LOG4J_LOGGER.getClass().getName(),\n logger.getClass().getName());\n LOG4J_LOGGER.error(\"Log4j Exploit Success With Email: {}\", loginForm.getEmail()); /* <=== com.crapi.model.LoginForm */ \n } else {\n logger.info(\"Log4j is disabled\");\n }\n }\n user = userRepository.findByEmail(loginForm.getEmail());" + "sample": "loginForm", + "lineNumber": 95, + "columnNumber": 70, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " logger.info(\n \"Log4j Exploit Try With Email: {} with Logger: {}, Main Logger: {}\",\n loginForm.getEmail(),\n LOG4J_LOGGER.getClass().getName(),\n logger.getClass().getName());\n LOG4J_LOGGER.error(\"Log4j Exploit Success With Email: {}\", loginForm.getEmail()); /* <=== com.crapi.model.LoginForm */ \n } else {\n logger.info(\"Log4j is disabled\");\n }\n }\n user = userRepository.findByEmail(loginForm.getEmail());" }, { - "sample" : "loginForm", - "lineNumber" : 100, - "columnNumber" : 41, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " LOG4J_LOGGER.error(\"Log4j Exploit Success With Email: {}\", loginForm.getEmail());\n } else {\n logger.info(\"Log4j is disabled\");\n }\n }\n user = userRepository.findByEmail(loginForm.getEmail()); /* <=== com.crapi.model.LoginForm */ \n if (user == null) {\n jwtResponse.setMessage(UserMessage.EMAIL_NOT_REGISTERED);\n } else {\n authentication =\n authenticationManager.authenticate(" + "sample": "loginForm", + "lineNumber": 100, + "columnNumber": 41, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " LOG4J_LOGGER.error(\"Log4j Exploit Success With Email: {}\", loginForm.getEmail());\n } else {\n logger.info(\"Log4j is disabled\");\n }\n }\n user = userRepository.findByEmail(loginForm.getEmail()); /* <=== com.crapi.model.LoginForm */ \n if (user == null) {\n jwtResponse.setMessage(UserMessage.EMAIL_NOT_REGISTERED);\n } else {\n authentication =\n authenticationManager.authenticate(" }, { - "sample" : "findByEmail(loginForm.getEmail())", - "lineNumber" : 100, - "columnNumber" : 14, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " LOG4J_LOGGER.error(\"Log4j Exploit Success With Email: {}\", loginForm.getEmail());\n } else {\n logger.info(\"Log4j is disabled\");\n }\n }\n user = userRepository.findByEmail(loginForm.getEmail()); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n if (user == null) {\n jwtResponse.setMessage(UserMessage.EMAIL_NOT_REGISTERED);\n } else {\n authentication =\n authenticationManager.authenticate(" + "sample": "findByEmail(loginForm.getEmail())", + "lineNumber": 100, + "columnNumber": 14, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " LOG4J_LOGGER.error(\"Log4j Exploit Success With Email: {}\", loginForm.getEmail());\n } else {\n logger.info(\"Log4j is disabled\");\n }\n }\n user = userRepository.findByEmail(loginForm.getEmail()); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n if (user == null) {\n jwtResponse.setMessage(UserMessage.EMAIL_NOT_REGISTERED);\n } else {\n authentication =\n authenticationManager.authenticate(" } ] }, { - "pathId" : "6789-6784", - "path" : [ + "pathId": "6789-6784", + "path": [ { - "sample" : "java.lang.String password", - "lineNumber" : 29, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/model/OtpForm.java", - "excerpt" : " @Size(min = 3, max = 4)\n private String otp;\n\n @NotBlank\n @Size(min = 5, max = 30)\n private String password; /* <=== 'password' is a member of 'com.crapi.model.OtpForm' class */ \n\n @NotBlank\n @Size(min = 5, max = 30)\n private String email;\n}" + "sample": "java.lang.String password", + "lineNumber": 29, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/model/OtpForm.java", + "excerpt": " @Size(min = 3, max = 4)\n private String otp;\n\n @NotBlank\n @Size(min = 5, max = 30)\n private String password; /* <=== 'password' is a member of 'com.crapi.model.OtpForm' class */ \n\n @NotBlank\n @Size(min = 5, max = 30)\n private String email;\n}" }, { - "sample" : "otpForm", - "lineNumber" : 103, - "columnNumber" : 39, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " public CRAPIResponse secureValidateOtp(OtpForm otpForm) {\n CRAPIResponse crapiAPIResponse = null;\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.model.OtpForm */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" + "sample": "otpForm", + "lineNumber": 103, + "columnNumber": 39, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " public CRAPIResponse secureValidateOtp(OtpForm otpForm) {\n CRAPIResponse crapiAPIResponse = null;\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.model.OtpForm */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" }, { - "sample" : "findByEmail(otpForm.getEmail())", - "lineNumber" : 103, - "columnNumber" : 12, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " public CRAPIResponse secureValidateOtp(OtpForm otpForm) {\n CRAPIResponse crapiAPIResponse = null;\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" + "sample": "findByEmail(otpForm.getEmail())", + "lineNumber": 103, + "columnNumber": 12, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " public CRAPIResponse secureValidateOtp(OtpForm otpForm) {\n CRAPIResponse crapiAPIResponse = null;\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" } ] }, { - "pathId" : "7284-7297-7292", - "path" : [ + "pathId": "7284-7297-7292", + "path": [ { - "sample" : "java.lang.String password", - "lineNumber" : 36, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", - "excerpt" : " sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email;\n private String password; /* <=== 'password' is a member of 'com.crapi.entity.User' class */ \n private String number;\n\n @Column(length = 500)\n private String jwtToken;\n" + "sample": "java.lang.String password", + "lineNumber": 36, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", + "excerpt": " sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email;\n private String password; /* <=== 'password' is a member of 'com.crapi.entity.User' class */ \n private String number;\n\n @Column(length = 500)\n private String jwtToken;\n" }, { - "sample" : "user", - "lineNumber" : 99, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " public ProfileVideo uploadProfileVideo(MultipartFile file, HttpServletRequest request) {\n ProfileVideo profileVideo;\n String conversionParam = \"-v codec h264\";\n User user;\n try {\n user = userService.getUserFromToken(request); /* <=== com.crapi.entity.User */ \n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n if (profileVideo != null) {\n profileVideo.setVideo(file.getBytes());\n profileVideo.setConversion_params(conversionParam);\n profileVideo.setVideo_name(file.getOriginalFilename());" + "sample": "user", + "lineNumber": 99, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " public ProfileVideo uploadProfileVideo(MultipartFile file, HttpServletRequest request) {\n ProfileVideo profileVideo;\n String conversionParam = \"-v codec h264\";\n User user;\n try {\n user = userService.getUserFromToken(request); /* <=== com.crapi.entity.User */ \n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n if (profileVideo != null) {\n profileVideo.setVideo(file.getBytes());\n profileVideo.setConversion_params(conversionParam);\n profileVideo.setVideo_name(file.getOriginalFilename());" }, { - "sample" : "user", - "lineNumber" : 100, - "columnNumber" : 59, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " ProfileVideo profileVideo;\n String conversionParam = \"-v codec h264\";\n User user;\n try {\n user = userService.getUserFromToken(request);\n profileVideo = profileVideoRepository.findByUser_id(user.getId()); /* <=== com.crapi.entity.User */ \n if (profileVideo != null) {\n profileVideo.setVideo(file.getBytes());\n profileVideo.setConversion_params(conversionParam);\n profileVideo.setVideo_name(file.getOriginalFilename());\n } else {" + "sample": "user", + "lineNumber": 100, + "columnNumber": 59, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " ProfileVideo profileVideo;\n String conversionParam = \"-v codec h264\";\n User user;\n try {\n user = userService.getUserFromToken(request);\n profileVideo = profileVideoRepository.findByUser_id(user.getId()); /* <=== com.crapi.entity.User */ \n if (profileVideo != null) {\n profileVideo.setVideo(file.getBytes());\n profileVideo.setConversion_params(conversionParam);\n profileVideo.setVideo_name(file.getOriginalFilename());\n } else {" }, { - "sample" : "findByUser_id(user.getId())", - "lineNumber" : 100, - "columnNumber" : 22, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " ProfileVideo profileVideo;\n String conversionParam = \"-v codec h264\";\n User user;\n try {\n user = userService.getUserFromToken(request);\n profileVideo = profileVideoRepository.findByUser_id(user.getId()); /* <=== com.crapi.repository.ProfileVideoRepository.findByUser_id */ \n if (profileVideo != null) {\n profileVideo.setVideo(file.getBytes());\n profileVideo.setConversion_params(conversionParam);\n profileVideo.setVideo_name(file.getOriginalFilename());\n } else {" + "sample": "findByUser_id(user.getId())", + "lineNumber": 100, + "columnNumber": 22, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " ProfileVideo profileVideo;\n String conversionParam = \"-v codec h264\";\n User user;\n try {\n user = userService.getUserFromToken(request);\n profileVideo = profileVideoRepository.findByUser_id(user.getId()); /* <=== com.crapi.repository.ProfileVideoRepository.findByUser_id */ \n if (profileVideo != null) {\n profileVideo.setVideo(file.getBytes());\n profileVideo.setConversion_params(conversionParam);\n profileVideo.setVideo_name(file.getOriginalFilename());\n } else {" } ] }, { - "pathId" : "6958-6953-6952-6961-6980-6976", - "path" : [ + "pathId": "6958-6953-6952-6961-6980-6976", + "path": [ { - "sample" : "forgetPassword", - "lineNumber" : 141, - "columnNumber" : 39, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " CRAPIResponse forgetPasswordResponse = null;\n OTPGenerator otpGenerator = new OTPGenerator();\n Otp checkOtpEnteryForUser = null;\n User user = null;\n String otp = \"\";\n user = userRepository.findByEmail(forgetPassword.getEmail()); /* <=== com.crapi.model.ForgetPassword */ \n if (user != null) {\n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database." + "sample": "forgetPassword", + "lineNumber": 141, + "columnNumber": 39, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " CRAPIResponse forgetPasswordResponse = null;\n OTPGenerator otpGenerator = new OTPGenerator();\n Otp checkOtpEnteryForUser = null;\n User user = null;\n String otp = \"\";\n user = userRepository.findByEmail(forgetPassword.getEmail()); /* <=== com.crapi.model.ForgetPassword */ \n if (user != null) {\n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database." }, { - "sample" : "findByEmail(forgetPassword.getEmail())", - "lineNumber" : 141, - "columnNumber" : 12, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " CRAPIResponse forgetPasswordResponse = null;\n OTPGenerator otpGenerator = new OTPGenerator();\n Otp checkOtpEnteryForUser = null;\n User user = null;\n String otp = \"\";\n user = userRepository.findByEmail(forgetPassword.getEmail()); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n if (user != null) {\n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database." + "sample": "findByEmail(forgetPassword.getEmail())", + "lineNumber": 141, + "columnNumber": 12, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " CRAPIResponse forgetPasswordResponse = null;\n OTPGenerator otpGenerator = new OTPGenerator();\n Otp checkOtpEnteryForUser = null;\n User user = null;\n String otp = \"\";\n user = userRepository.findByEmail(forgetPassword.getEmail()); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n if (user != null) {\n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database." }, { - "sample" : "user", - "lineNumber" : 141, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " CRAPIResponse forgetPasswordResponse = null;\n OTPGenerator otpGenerator = new OTPGenerator();\n Otp checkOtpEnteryForUser = null;\n User user = null;\n String otp = \"\";\n user = userRepository.findByEmail(forgetPassword.getEmail()); /* <=== com.crapi.entity.User */ \n if (user != null) {\n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database." + "sample": "user", + "lineNumber": 141, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " CRAPIResponse forgetPasswordResponse = null;\n OTPGenerator otpGenerator = new OTPGenerator();\n Otp checkOtpEnteryForUser = null;\n User user = null;\n String otp = \"\";\n user = userRepository.findByEmail(forgetPassword.getEmail()); /* <=== com.crapi.entity.User */ \n if (user != null) {\n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database." }, { - "sample" : "user", - "lineNumber" : 142, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " OTPGenerator otpGenerator = new OTPGenerator();\n Otp checkOtpEnteryForUser = null;\n User user = null;\n String otp = \"\";\n user = userRepository.findByEmail(forgetPassword.getEmail());\n if (user != null) { /* <=== com.crapi.entity.User */ \n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database.\n checkOtpEnteryForUser = otpRepository.findByUser(user);" + "sample": "user", + "lineNumber": 142, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " OTPGenerator otpGenerator = new OTPGenerator();\n Otp checkOtpEnteryForUser = null;\n User user = null;\n String otp = \"\";\n user = userRepository.findByEmail(forgetPassword.getEmail());\n if (user != null) { /* <=== com.crapi.entity.User */ \n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database.\n checkOtpEnteryForUser = otpRepository.findByUser(user);" }, { - "sample" : "user", - "lineNumber" : 147, - "columnNumber" : 58, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " if (user != null) {\n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database.\n checkOtpEnteryForUser = otpRepository.findByUser(user); /* <=== com.crapi.entity.User */ \n if (checkOtpEnteryForUser != null) {\n // Update existing object\n checkOtpEnteryForUser.setCount(0);\n checkOtpEnteryForUser.setOtp(otp);\n } else {" + "sample": "user", + "lineNumber": 147, + "columnNumber": 58, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " if (user != null) {\n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database.\n checkOtpEnteryForUser = otpRepository.findByUser(user); /* <=== com.crapi.entity.User */ \n if (checkOtpEnteryForUser != null) {\n // Update existing object\n checkOtpEnteryForUser.setCount(0);\n checkOtpEnteryForUser.setOtp(otp);\n } else {" }, { - "sample" : "otpRepository.findByUser(user)", - "lineNumber" : 147, - "columnNumber" : 33, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " if (user != null) {\n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database.\n checkOtpEnteryForUser = otpRepository.findByUser(user); /* <=== com.crapi.repository.OtpRepository.findByUser */ \n if (checkOtpEnteryForUser != null) {\n // Update existing object\n checkOtpEnteryForUser.setCount(0);\n checkOtpEnteryForUser.setOtp(otp);\n } else {" + "sample": "otpRepository.findByUser(user)", + "lineNumber": 147, + "columnNumber": 33, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " if (user != null) {\n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database.\n checkOtpEnteryForUser = otpRepository.findByUser(user); /* <=== com.crapi.repository.OtpRepository.findByUser */ \n if (checkOtpEnteryForUser != null) {\n // Update existing object\n checkOtpEnteryForUser.setCount(0);\n checkOtpEnteryForUser.setOtp(otp);\n } else {" } ] }, { - "pathId" : "7421-7434-7429", - "path" : [ + "pathId": "7421-7434-7429", + "path": [ { - "sample" : "java.lang.String password", - "lineNumber" : 36, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", - "excerpt" : " sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email;\n private String password; /* <=== 'password' is a member of 'com.crapi.entity.User' class */ \n private String number;\n\n @Column(length = 500)\n private String jwtToken;\n" + "sample": "java.lang.String password", + "lineNumber": 36, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", + "excerpt": " sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email;\n private String password; /* <=== 'password' is a member of 'com.crapi.entity.User' class */ \n private String number;\n\n @Column(length = 500)\n private String jwtToken;\n" }, { - "sample" : "user", - "lineNumber" : 146, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " @Transactional\n @Override\n public ProfileVideo updateProfileVideo(VideoForm videoForm, HttpServletRequest request) {\n User user;\n ProfileVideo profileVideo;\n user = userService.getUserFromToken(request); /* <=== com.crapi.entity.User */ \n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n if (profileVideo != null) {\n profileVideo.setVideo_name(videoForm.getVideoName());\n profileVideo.setConversion_params(\n (videoForm.getConversion_params() != null" + "sample": "user", + "lineNumber": 146, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " @Transactional\n @Override\n public ProfileVideo updateProfileVideo(VideoForm videoForm, HttpServletRequest request) {\n User user;\n ProfileVideo profileVideo;\n user = userService.getUserFromToken(request); /* <=== com.crapi.entity.User */ \n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n if (profileVideo != null) {\n profileVideo.setVideo_name(videoForm.getVideoName());\n profileVideo.setConversion_params(\n (videoForm.getConversion_params() != null" }, { - "sample" : "user", - "lineNumber" : 147, - "columnNumber" : 57, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " @Override\n public ProfileVideo updateProfileVideo(VideoForm videoForm, HttpServletRequest request) {\n User user;\n ProfileVideo profileVideo;\n user = userService.getUserFromToken(request);\n profileVideo = profileVideoRepository.findByUser_id(user.getId()); /* <=== com.crapi.entity.User */ \n if (profileVideo != null) {\n profileVideo.setVideo_name(videoForm.getVideoName());\n profileVideo.setConversion_params(\n (videoForm.getConversion_params() != null\n ? videoForm.getConversion_params()" + "sample": "user", + "lineNumber": 147, + "columnNumber": 57, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " @Override\n public ProfileVideo updateProfileVideo(VideoForm videoForm, HttpServletRequest request) {\n User user;\n ProfileVideo profileVideo;\n user = userService.getUserFromToken(request);\n profileVideo = profileVideoRepository.findByUser_id(user.getId()); /* <=== com.crapi.entity.User */ \n if (profileVideo != null) {\n profileVideo.setVideo_name(videoForm.getVideoName());\n profileVideo.setConversion_params(\n (videoForm.getConversion_params() != null\n ? videoForm.getConversion_params()" }, { - "sample" : "findByUser_id(user.getId())", - "lineNumber" : 147, - "columnNumber" : 20, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " @Override\n public ProfileVideo updateProfileVideo(VideoForm videoForm, HttpServletRequest request) {\n User user;\n ProfileVideo profileVideo;\n user = userService.getUserFromToken(request);\n profileVideo = profileVideoRepository.findByUser_id(user.getId()); /* <=== com.crapi.repository.ProfileVideoRepository.findByUser_id */ \n if (profileVideo != null) {\n profileVideo.setVideo_name(videoForm.getVideoName());\n profileVideo.setConversion_params(\n (videoForm.getConversion_params() != null\n ? videoForm.getConversion_params()" + "sample": "findByUser_id(user.getId())", + "lineNumber": 147, + "columnNumber": 20, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " @Override\n public ProfileVideo updateProfileVideo(VideoForm videoForm, HttpServletRequest request) {\n User user;\n ProfileVideo profileVideo;\n user = userService.getUserFromToken(request);\n profileVideo = profileVideoRepository.findByUser_id(user.getId()); /* <=== com.crapi.repository.ProfileVideoRepository.findByUser_id */ \n if (profileVideo != null) {\n profileVideo.setVideo_name(videoForm.getVideoName());\n profileVideo.setConversion_params(\n (videoForm.getConversion_params() != null\n ? videoForm.getConversion_params()" } ] } @@ -4200,415 +4163,405 @@ ] }, { - "sourceId" : "Data.Sensitive.ContactData.Address", - "sinks" : [ + "sourceId": "Data.Sensitive.ContactData.Address", + "sinks": [ { - "sinkType" : "storages", - "id" : "Storages.SpringFramework.Jdbc.Write", - "name" : "Java Database Connector(Write)", - "category" : "", - "domains" : [ - "oracle.com" - ], - "sensitivity" : "", - "isSensitive" : false, - "tags" : { - - }, - "apiUrl" : [ - ], - "databaseDetails" : { - "dbName" : "${DB_NAME}", - "dbVendor" : "postgresql", - "dbLocation" : "${DB_HOST}:${DB_PORT}", - "dbOperation" : "Write" + "sinkType": "storages", + "id": "Storages.SpringFramework.Jdbc.Write", + "name": "Java Database Connector(Write)", + "category": "", + "domains": ["oracle.com"], + "sensitivity": "", + "isSensitive": false, + "tags": {}, + "apiUrl": [], + "databaseDetails": { + "dbName": "${DB_NAME}", + "dbVendor": "postgresql", + "dbLocation": "${DB_HOST}:${DB_PORT}", + "dbOperation": "Write" }, - "paths" : [ + "paths": [ { - "pathId" : "9505-9508-9512-9520-9526-9522", - "path" : [ + "pathId": "9505-9508-9512-9520-9526-9522", + "path": [ { - "sample" : "java.lang.String pincode", - "lineNumber" : 35, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/VehicleDetails.java", - "excerpt" : " private long id;\n\n @Column(name = \"uuid\", updatable = false, nullable = false, unique = true)\n private UUID uuid = UUID.randomUUID();\n\n private String pincode; /* <=== 'pincode' is a member of 'com.crapi.entity.VehicleDetails' class */ \n private String vin;\n private long year;\n private EStatus status;\n\n @OneToOne(cascade = CascadeType.ALL)" + "sample": "java.lang.String pincode", + "lineNumber": 35, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/VehicleDetails.java", + "excerpt": " private long id;\n\n @Column(name = \"uuid\", updatable = false, nullable = false, unique = true)\n private UUID uuid = UUID.randomUUID();\n\n private String pincode; /* <=== 'pincode' is a member of 'com.crapi.entity.VehicleDetails' class */ \n private String vin;\n private long year;\n private EStatus status;\n\n @OneToOne(cascade = CascadeType.ALL)" }, { - "sample" : "vehicleDetails", - "lineNumber" : 100, - "columnNumber" : 22, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " modelList = vehicleModelRepository.findAll();\n vehicleLocations = getVehicleLocationList();\n if (modelList != null && vehicleLocations != null) {\n vin = generateVIN.generateVIN();\n pincode = generateVIN.generatePincode();\n VehicleDetails vehicleDetails = new VehicleDetails(pincode, vin); /* <=== com.crapi.entity.VehicleDetails */ \n vehicleDetails.setModel(modelList.get(random.nextInt(modelList.size())));\n vehicleDetails.setVehicleLocation(vehicleLocations);\n vehicleDetailsRepository.save(vehicleDetails);\n return vehicleDetails;\n }" + "sample": "vehicleDetails", + "lineNumber": 100, + "columnNumber": 22, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " modelList = vehicleModelRepository.findAll();\n vehicleLocations = getVehicleLocationList();\n if (modelList != null && vehicleLocations != null) {\n vin = generateVIN.generateVIN();\n pincode = generateVIN.generatePincode();\n VehicleDetails vehicleDetails = new VehicleDetails(pincode, vin); /* <=== com.crapi.entity.VehicleDetails */ \n vehicleDetails.setModel(modelList.get(random.nextInt(modelList.size())));\n vehicleDetails.setVehicleLocation(vehicleLocations);\n vehicleDetailsRepository.save(vehicleDetails);\n return vehicleDetails;\n }" }, { - "sample" : "vehicleDetails", - "lineNumber" : 100, - "columnNumber" : 22, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " modelList = vehicleModelRepository.findAll();\n vehicleLocations = getVehicleLocationList();\n if (modelList != null && vehicleLocations != null) {\n vin = generateVIN.generateVIN();\n pincode = generateVIN.generatePincode();\n VehicleDetails vehicleDetails = new VehicleDetails(pincode, vin); /* <=== com.crapi.entity.VehicleDetails */ \n vehicleDetails.setModel(modelList.get(random.nextInt(modelList.size())));\n vehicleDetails.setVehicleLocation(vehicleLocations);\n vehicleDetailsRepository.save(vehicleDetails);\n return vehicleDetails;\n }" + "sample": "vehicleDetails", + "lineNumber": 100, + "columnNumber": 22, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " modelList = vehicleModelRepository.findAll();\n vehicleLocations = getVehicleLocationList();\n if (modelList != null && vehicleLocations != null) {\n vin = generateVIN.generateVIN();\n pincode = generateVIN.generatePincode();\n VehicleDetails vehicleDetails = new VehicleDetails(pincode, vin); /* <=== com.crapi.entity.VehicleDetails */ \n vehicleDetails.setModel(modelList.get(random.nextInt(modelList.size())));\n vehicleDetails.setVehicleLocation(vehicleLocations);\n vehicleDetailsRepository.save(vehicleDetails);\n return vehicleDetails;\n }" }, { - "sample" : "vehicleDetails", - "lineNumber" : 101, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " vehicleLocations = getVehicleLocationList();\n if (modelList != null && vehicleLocations != null) {\n vin = generateVIN.generateVIN();\n pincode = generateVIN.generatePincode();\n VehicleDetails vehicleDetails = new VehicleDetails(pincode, vin);\n vehicleDetails.setModel(modelList.get(random.nextInt(modelList.size()))); /* <=== com.crapi.entity.VehicleDetails */ \n vehicleDetails.setVehicleLocation(vehicleLocations);\n vehicleDetailsRepository.save(vehicleDetails);\n return vehicleDetails;\n }\n throw new CRAPIExceptionHandler(" + "sample": "vehicleDetails", + "lineNumber": 101, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " vehicleLocations = getVehicleLocationList();\n if (modelList != null && vehicleLocations != null) {\n vin = generateVIN.generateVIN();\n pincode = generateVIN.generatePincode();\n VehicleDetails vehicleDetails = new VehicleDetails(pincode, vin);\n vehicleDetails.setModel(modelList.get(random.nextInt(modelList.size()))); /* <=== com.crapi.entity.VehicleDetails */ \n vehicleDetails.setVehicleLocation(vehicleLocations);\n vehicleDetailsRepository.save(vehicleDetails);\n return vehicleDetails;\n }\n throw new CRAPIExceptionHandler(" }, { - "sample" : "vehicleDetails", - "lineNumber" : 102, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " if (modelList != null && vehicleLocations != null) {\n vin = generateVIN.generateVIN();\n pincode = generateVIN.generatePincode();\n VehicleDetails vehicleDetails = new VehicleDetails(pincode, vin);\n vehicleDetails.setModel(modelList.get(random.nextInt(modelList.size())));\n vehicleDetails.setVehicleLocation(vehicleLocations); /* <=== com.crapi.entity.VehicleDetails */ \n vehicleDetailsRepository.save(vehicleDetails);\n return vehicleDetails;\n }\n throw new CRAPIExceptionHandler(\n UserMessage.CUSTOM_IO_EXCEPTION," + "sample": "vehicleDetails", + "lineNumber": 102, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " if (modelList != null && vehicleLocations != null) {\n vin = generateVIN.generateVIN();\n pincode = generateVIN.generatePincode();\n VehicleDetails vehicleDetails = new VehicleDetails(pincode, vin);\n vehicleDetails.setModel(modelList.get(random.nextInt(modelList.size())));\n vehicleDetails.setVehicleLocation(vehicleLocations); /* <=== com.crapi.entity.VehicleDetails */ \n vehicleDetailsRepository.save(vehicleDetails);\n return vehicleDetails;\n }\n throw new CRAPIExceptionHandler(\n UserMessage.CUSTOM_IO_EXCEPTION," }, { - "sample" : "vehicleDetails", - "lineNumber" : 103, - "columnNumber" : 37, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " vin = generateVIN.generateVIN();\n pincode = generateVIN.generatePincode();\n VehicleDetails vehicleDetails = new VehicleDetails(pincode, vin);\n vehicleDetails.setModel(modelList.get(random.nextInt(modelList.size())));\n vehicleDetails.setVehicleLocation(vehicleLocations);\n vehicleDetailsRepository.save(vehicleDetails); /* <=== com.crapi.entity.VehicleDetails */ \n return vehicleDetails;\n }\n throw new CRAPIExceptionHandler(\n UserMessage.CUSTOM_IO_EXCEPTION,\n UserMessage.CUSTOM_IO_EXCEPTION_UNABLE_TO_CREATE_VEHICLE," + "sample": "vehicleDetails", + "lineNumber": 103, + "columnNumber": 37, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " vin = generateVIN.generateVIN();\n pincode = generateVIN.generatePincode();\n VehicleDetails vehicleDetails = new VehicleDetails(pincode, vin);\n vehicleDetails.setModel(modelList.get(random.nextInt(modelList.size())));\n vehicleDetails.setVehicleLocation(vehicleLocations);\n vehicleDetailsRepository.save(vehicleDetails); /* <=== com.crapi.entity.VehicleDetails */ \n return vehicleDetails;\n }\n throw new CRAPIExceptionHandler(\n UserMessage.CUSTOM_IO_EXCEPTION,\n UserMessage.CUSTOM_IO_EXCEPTION_UNABLE_TO_CREATE_VEHICLE," }, { - "sample" : "vehicleDetailsRepository.save(vehicleDetails)", - "lineNumber" : 103, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " vin = generateVIN.generateVIN();\n pincode = generateVIN.generatePincode();\n VehicleDetails vehicleDetails = new VehicleDetails(pincode, vin);\n vehicleDetails.setModel(modelList.get(random.nextInt(modelList.size())));\n vehicleDetails.setVehicleLocation(vehicleLocations);\n vehicleDetailsRepository.save(vehicleDetails); /* <=== com.crapi.repository.VehicleDetailsRepository.save */ \n return vehicleDetails;\n }\n throw new CRAPIExceptionHandler(\n UserMessage.CUSTOM_IO_EXCEPTION,\n UserMessage.CUSTOM_IO_EXCEPTION_UNABLE_TO_CREATE_VEHICLE," + "sample": "vehicleDetailsRepository.save(vehicleDetails)", + "lineNumber": 103, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " vin = generateVIN.generateVIN();\n pincode = generateVIN.generatePincode();\n VehicleDetails vehicleDetails = new VehicleDetails(pincode, vin);\n vehicleDetails.setModel(modelList.get(random.nextInt(modelList.size())));\n vehicleDetails.setVehicleLocation(vehicleLocations);\n vehicleDetailsRepository.save(vehicleDetails); /* <=== com.crapi.repository.VehicleDetailsRepository.save */ \n return vehicleDetails;\n }\n throw new CRAPIExceptionHandler(\n UserMessage.CUSTOM_IO_EXCEPTION,\n UserMessage.CUSTOM_IO_EXCEPTION_UNABLE_TO_CREATE_VEHICLE," } ] }, { - "pathId" : "9387-9382-9381-9391-9395-9413-9416-9424-9420", - "path" : [ + "pathId": "9387-9382-9381-9391-9395-9413-9416-9424-9420", + "path": [ { - "sample" : "java.lang.String pincode", - "lineNumber" : 26, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/model/VehicleForm.java", - "excerpt" : "@Data\npublic class VehicleForm {\n\n @NotBlank\n @Size(min = 4, max = 8)\n private String pincode; /* <=== 'pincode' is a member of 'com.crapi.model.VehicleForm' class */ \n\n @NotBlank\n @Size(min = 4, max = 20)\n private String vin;\n}" + "sample": "java.lang.String pincode", + "lineNumber": 26, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/model/VehicleForm.java", + "excerpt": "@Data\npublic class VehicleForm {\n\n @NotBlank\n @Size(min = 4, max = 8)\n private String pincode; /* <=== 'pincode' is a member of 'com.crapi.model.VehicleForm' class */ \n\n @NotBlank\n @Size(min = 4, max = 20)\n private String vin;\n}" }, { - "sample" : "vehicleForm", - "lineNumber" : 64, - "columnNumber" : 74, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " */\n @Transactional\n @Override\n public boolean addVehicleDetails(VehicleForm vehicleForm, HttpServletRequest request) {\n try {\n VehicleDetails vehicleDetails = vehicleDetailsRepository.findByVin(vehicleForm.getVin()); /* <=== com.crapi.model.VehicleForm */ \n if (vehicleDetails != null\n && vehicleDetails.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n User user = userService.getUserFromToken(request);\n if (user != null) {\n vehicleDetails.setOwner(user);" + "sample": "vehicleForm", + "lineNumber": 64, + "columnNumber": 74, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " */\n @Transactional\n @Override\n public boolean addVehicleDetails(VehicleForm vehicleForm, HttpServletRequest request) {\n try {\n VehicleDetails vehicleDetails = vehicleDetailsRepository.findByVin(vehicleForm.getVin()); /* <=== com.crapi.model.VehicleForm */ \n if (vehicleDetails != null\n && vehicleDetails.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n User user = userService.getUserFromToken(request);\n if (user != null) {\n vehicleDetails.setOwner(user);" }, { - "sample" : "findByVin(vehicleForm.getVin())", - "lineNumber" : 64, - "columnNumber" : 39, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " */\n @Transactional\n @Override\n public boolean addVehicleDetails(VehicleForm vehicleForm, HttpServletRequest request) {\n try {\n VehicleDetails vehicleDetails = vehicleDetailsRepository.findByVin(vehicleForm.getVin()); /* <=== com.crapi.repository.VehicleDetailsRepository.findByVin */ \n if (vehicleDetails != null\n && vehicleDetails.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n User user = userService.getUserFromToken(request);\n if (user != null) {\n vehicleDetails.setOwner(user);" + "sample": "findByVin(vehicleForm.getVin())", + "lineNumber": 64, + "columnNumber": 39, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " */\n @Transactional\n @Override\n public boolean addVehicleDetails(VehicleForm vehicleForm, HttpServletRequest request) {\n try {\n VehicleDetails vehicleDetails = vehicleDetailsRepository.findByVin(vehicleForm.getVin()); /* <=== com.crapi.repository.VehicleDetailsRepository.findByVin */ \n if (vehicleDetails != null\n && vehicleDetails.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n User user = userService.getUserFromToken(request);\n if (user != null) {\n vehicleDetails.setOwner(user);" }, { - "sample" : "vehicleDetails", - "lineNumber" : 64, - "columnNumber" : 22, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " */\n @Transactional\n @Override\n public boolean addVehicleDetails(VehicleForm vehicleForm, HttpServletRequest request) {\n try {\n VehicleDetails vehicleDetails = vehicleDetailsRepository.findByVin(vehicleForm.getVin()); /* <=== com.crapi.entity.VehicleDetails */ \n if (vehicleDetails != null\n && vehicleDetails.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n User user = userService.getUserFromToken(request);\n if (user != null) {\n vehicleDetails.setOwner(user);" + "sample": "vehicleDetails", + "lineNumber": 64, + "columnNumber": 22, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " */\n @Transactional\n @Override\n public boolean addVehicleDetails(VehicleForm vehicleForm, HttpServletRequest request) {\n try {\n VehicleDetails vehicleDetails = vehicleDetailsRepository.findByVin(vehicleForm.getVin()); /* <=== com.crapi.entity.VehicleDetails */ \n if (vehicleDetails != null\n && vehicleDetails.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n User user = userService.getUserFromToken(request);\n if (user != null) {\n vehicleDetails.setOwner(user);" }, { - "sample" : "vehicleDetails", - "lineNumber" : 65, - "columnNumber" : 11, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " @Transactional\n @Override\n public boolean addVehicleDetails(VehicleForm vehicleForm, HttpServletRequest request) {\n try {\n VehicleDetails vehicleDetails = vehicleDetailsRepository.findByVin(vehicleForm.getVin());\n if (vehicleDetails != null /* <=== com.crapi.entity.VehicleDetails */ \n && vehicleDetails.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n User user = userService.getUserFromToken(request);\n if (user != null) {\n vehicleDetails.setOwner(user);\n vehicleDetails.setStatus(EStatus.INACTIVE);" + "sample": "vehicleDetails", + "lineNumber": 65, + "columnNumber": 11, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " @Transactional\n @Override\n public boolean addVehicleDetails(VehicleForm vehicleForm, HttpServletRequest request) {\n try {\n VehicleDetails vehicleDetails = vehicleDetailsRepository.findByVin(vehicleForm.getVin());\n if (vehicleDetails != null /* <=== com.crapi.entity.VehicleDetails */ \n && vehicleDetails.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n User user = userService.getUserFromToken(request);\n if (user != null) {\n vehicleDetails.setOwner(user);\n vehicleDetails.setStatus(EStatus.INACTIVE);" }, { - "sample" : "vehicleDetails", - "lineNumber" : 66, - "columnNumber" : 14, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " @Override\n public boolean addVehicleDetails(VehicleForm vehicleForm, HttpServletRequest request) {\n try {\n VehicleDetails vehicleDetails = vehicleDetailsRepository.findByVin(vehicleForm.getVin());\n if (vehicleDetails != null\n && vehicleDetails.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) { /* <=== com.crapi.entity.VehicleDetails */ \n User user = userService.getUserFromToken(request);\n if (user != null) {\n vehicleDetails.setOwner(user);\n vehicleDetails.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(vehicleDetails);" + "sample": "vehicleDetails", + "lineNumber": 66, + "columnNumber": 14, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " @Override\n public boolean addVehicleDetails(VehicleForm vehicleForm, HttpServletRequest request) {\n try {\n VehicleDetails vehicleDetails = vehicleDetailsRepository.findByVin(vehicleForm.getVin());\n if (vehicleDetails != null\n && vehicleDetails.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) { /* <=== com.crapi.entity.VehicleDetails */ \n User user = userService.getUserFromToken(request);\n if (user != null) {\n vehicleDetails.setOwner(user);\n vehicleDetails.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(vehicleDetails);" }, { - "sample" : "vehicleDetails", - "lineNumber" : 69, - "columnNumber" : 11, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " VehicleDetails vehicleDetails = vehicleDetailsRepository.findByVin(vehicleForm.getVin());\n if (vehicleDetails != null\n && vehicleDetails.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n User user = userService.getUserFromToken(request);\n if (user != null) {\n vehicleDetails.setOwner(user); /* <=== com.crapi.entity.VehicleDetails */ \n vehicleDetails.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(vehicleDetails);\n logger.info(\"Success Owner updated in vehicle details\");\n return true;\n }" + "sample": "vehicleDetails", + "lineNumber": 69, + "columnNumber": 11, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " VehicleDetails vehicleDetails = vehicleDetailsRepository.findByVin(vehicleForm.getVin());\n if (vehicleDetails != null\n && vehicleDetails.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n User user = userService.getUserFromToken(request);\n if (user != null) {\n vehicleDetails.setOwner(user); /* <=== com.crapi.entity.VehicleDetails */ \n vehicleDetails.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(vehicleDetails);\n logger.info(\"Success Owner updated in vehicle details\");\n return true;\n }" }, { - "sample" : "vehicleDetails", - "lineNumber" : 70, - "columnNumber" : 11, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " if (vehicleDetails != null\n && vehicleDetails.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n User user = userService.getUserFromToken(request);\n if (user != null) {\n vehicleDetails.setOwner(user);\n vehicleDetails.setStatus(EStatus.INACTIVE); /* <=== com.crapi.entity.VehicleDetails */ \n vehicleDetailsRepository.save(vehicleDetails);\n logger.info(\"Success Owner updated in vehicle details\");\n return true;\n }\n }" + "sample": "vehicleDetails", + "lineNumber": 70, + "columnNumber": 11, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " if (vehicleDetails != null\n && vehicleDetails.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n User user = userService.getUserFromToken(request);\n if (user != null) {\n vehicleDetails.setOwner(user);\n vehicleDetails.setStatus(EStatus.INACTIVE); /* <=== com.crapi.entity.VehicleDetails */ \n vehicleDetailsRepository.save(vehicleDetails);\n logger.info(\"Success Owner updated in vehicle details\");\n return true;\n }\n }" }, { - "sample" : "vehicleDetails", - "lineNumber" : 71, - "columnNumber" : 41, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " && vehicleDetails.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n User user = userService.getUserFromToken(request);\n if (user != null) {\n vehicleDetails.setOwner(user);\n vehicleDetails.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(vehicleDetails); /* <=== com.crapi.entity.VehicleDetails */ \n logger.info(\"Success Owner updated in vehicle details\");\n return true;\n }\n }\n } catch (Exception e) {" + "sample": "vehicleDetails", + "lineNumber": 71, + "columnNumber": 41, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " && vehicleDetails.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n User user = userService.getUserFromToken(request);\n if (user != null) {\n vehicleDetails.setOwner(user);\n vehicleDetails.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(vehicleDetails); /* <=== com.crapi.entity.VehicleDetails */ \n logger.info(\"Success Owner updated in vehicle details\");\n return true;\n }\n }\n } catch (Exception e) {" }, { - "sample" : "vehicleDetailsRepository.save(vehicleDetails)", - "lineNumber" : 71, - "columnNumber" : 11, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " && vehicleDetails.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n User user = userService.getUserFromToken(request);\n if (user != null) {\n vehicleDetails.setOwner(user);\n vehicleDetails.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(vehicleDetails); /* <=== com.crapi.repository.VehicleDetailsRepository.save */ \n logger.info(\"Success Owner updated in vehicle details\");\n return true;\n }\n }\n } catch (Exception e) {" + "sample": "vehicleDetailsRepository.save(vehicleDetails)", + "lineNumber": 71, + "columnNumber": 11, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " && vehicleDetails.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n User user = userService.getUserFromToken(request);\n if (user != null) {\n vehicleDetails.setOwner(user);\n vehicleDetails.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(vehicleDetails); /* <=== com.crapi.repository.VehicleDetailsRepository.save */ \n logger.info(\"Success Owner updated in vehicle details\");\n return true;\n }\n }\n } catch (Exception e) {" } ] }, { - "pathId" : "9744-9739-9738-9755-9759-9765-9770-9773-9781-9777", - "path" : [ + "pathId": "9744-9739-9738-9755-9759-9765-9770-9773-9781-9777", + "path": [ { - "sample" : "java.lang.String pincode", - "lineNumber" : 26, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/model/VehicleForm.java", - "excerpt" : "@Data\npublic class VehicleForm {\n\n @NotBlank\n @Size(min = 4, max = 8)\n private String pincode; /* <=== 'pincode' is a member of 'com.crapi.model.VehicleForm' class */ \n\n @NotBlank\n @Size(min = 4, max = 20)\n private String vin;\n}" + "sample": "java.lang.String pincode", + "lineNumber": 26, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/model/VehicleForm.java", + "excerpt": "@Data\npublic class VehicleForm {\n\n @NotBlank\n @Size(min = 4, max = 8)\n private String pincode; /* <=== 'pincode' is a member of 'com.crapi.model.VehicleForm' class */ \n\n @NotBlank\n @Size(min = 4, max = 20)\n private String vin;\n}" }, { - "sample" : "vehicleForm", - "lineNumber" : 183, - "columnNumber" : 55, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " @Transactional\n @Override\n public CRAPIResponse checkVehicle(VehicleForm vehicleForm, HttpServletRequest request) {\n VehicleDetails checkVehicle = null;\n User user = null;\n checkVehicle = vehicleDetailsRepository.findByVin(vehicleForm.getVin()); /* <=== com.crapi.model.VehicleForm */ \n user = userService.getUserFromToken(request);\n if (checkVehicle != null && checkVehicle.getOwner() == null) {\n if (checkVehicle.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n checkVehicle.setOwner(user);\n checkVehicle.setStatus(EStatus.INACTIVE);" + "sample": "vehicleForm", + "lineNumber": 183, + "columnNumber": 55, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " @Transactional\n @Override\n public CRAPIResponse checkVehicle(VehicleForm vehicleForm, HttpServletRequest request) {\n VehicleDetails checkVehicle = null;\n User user = null;\n checkVehicle = vehicleDetailsRepository.findByVin(vehicleForm.getVin()); /* <=== com.crapi.model.VehicleForm */ \n user = userService.getUserFromToken(request);\n if (checkVehicle != null && checkVehicle.getOwner() == null) {\n if (checkVehicle.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n checkVehicle.setOwner(user);\n checkVehicle.setStatus(EStatus.INACTIVE);" }, { - "sample" : "findByVin(vehicleForm.getVin())", - "lineNumber" : 183, - "columnNumber" : 20, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " @Transactional\n @Override\n public CRAPIResponse checkVehicle(VehicleForm vehicleForm, HttpServletRequest request) {\n VehicleDetails checkVehicle = null;\n User user = null;\n checkVehicle = vehicleDetailsRepository.findByVin(vehicleForm.getVin()); /* <=== com.crapi.repository.VehicleDetailsRepository.findByVin */ \n user = userService.getUserFromToken(request);\n if (checkVehicle != null && checkVehicle.getOwner() == null) {\n if (checkVehicle.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n checkVehicle.setOwner(user);\n checkVehicle.setStatus(EStatus.INACTIVE);" + "sample": "findByVin(vehicleForm.getVin())", + "lineNumber": 183, + "columnNumber": 20, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " @Transactional\n @Override\n public CRAPIResponse checkVehicle(VehicleForm vehicleForm, HttpServletRequest request) {\n VehicleDetails checkVehicle = null;\n User user = null;\n checkVehicle = vehicleDetailsRepository.findByVin(vehicleForm.getVin()); /* <=== com.crapi.repository.VehicleDetailsRepository.findByVin */ \n user = userService.getUserFromToken(request);\n if (checkVehicle != null && checkVehicle.getOwner() == null) {\n if (checkVehicle.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n checkVehicle.setOwner(user);\n checkVehicle.setStatus(EStatus.INACTIVE);" }, { - "sample" : "checkVehicle", - "lineNumber" : 183, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " @Transactional\n @Override\n public CRAPIResponse checkVehicle(VehicleForm vehicleForm, HttpServletRequest request) {\n VehicleDetails checkVehicle = null;\n User user = null;\n checkVehicle = vehicleDetailsRepository.findByVin(vehicleForm.getVin()); /* <=== com.crapi.entity.VehicleDetails */ \n user = userService.getUserFromToken(request);\n if (checkVehicle != null && checkVehicle.getOwner() == null) {\n if (checkVehicle.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n checkVehicle.setOwner(user);\n checkVehicle.setStatus(EStatus.INACTIVE);" + "sample": "checkVehicle", + "lineNumber": 183, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " @Transactional\n @Override\n public CRAPIResponse checkVehicle(VehicleForm vehicleForm, HttpServletRequest request) {\n VehicleDetails checkVehicle = null;\n User user = null;\n checkVehicle = vehicleDetailsRepository.findByVin(vehicleForm.getVin()); /* <=== com.crapi.entity.VehicleDetails */ \n user = userService.getUserFromToken(request);\n if (checkVehicle != null && checkVehicle.getOwner() == null) {\n if (checkVehicle.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n checkVehicle.setOwner(user);\n checkVehicle.setStatus(EStatus.INACTIVE);" }, { - "sample" : "checkVehicle", - "lineNumber" : 185, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " public CRAPIResponse checkVehicle(VehicleForm vehicleForm, HttpServletRequest request) {\n VehicleDetails checkVehicle = null;\n User user = null;\n checkVehicle = vehicleDetailsRepository.findByVin(vehicleForm.getVin());\n user = userService.getUserFromToken(request);\n if (checkVehicle != null && checkVehicle.getOwner() == null) { /* <=== com.crapi.entity.VehicleDetails */ \n if (checkVehicle.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n checkVehicle.setOwner(user);\n checkVehicle.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(checkVehicle);\n logger.info(\"Success Owner updated in vehicle details\");" + "sample": "checkVehicle", + "lineNumber": 185, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " public CRAPIResponse checkVehicle(VehicleForm vehicleForm, HttpServletRequest request) {\n VehicleDetails checkVehicle = null;\n User user = null;\n checkVehicle = vehicleDetailsRepository.findByVin(vehicleForm.getVin());\n user = userService.getUserFromToken(request);\n if (checkVehicle != null && checkVehicle.getOwner() == null) { /* <=== com.crapi.entity.VehicleDetails */ \n if (checkVehicle.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n checkVehicle.setOwner(user);\n checkVehicle.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(checkVehicle);\n logger.info(\"Success Owner updated in vehicle details\");" }, { - "sample" : "checkVehicle", - "lineNumber" : 185, - "columnNumber" : 33, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " public CRAPIResponse checkVehicle(VehicleForm vehicleForm, HttpServletRequest request) {\n VehicleDetails checkVehicle = null;\n User user = null;\n checkVehicle = vehicleDetailsRepository.findByVin(vehicleForm.getVin());\n user = userService.getUserFromToken(request);\n if (checkVehicle != null && checkVehicle.getOwner() == null) { /* <=== com.crapi.entity.VehicleDetails */ \n if (checkVehicle.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n checkVehicle.setOwner(user);\n checkVehicle.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(checkVehicle);\n logger.info(\"Success Owner updated in vehicle details\");" + "sample": "checkVehicle", + "lineNumber": 185, + "columnNumber": 33, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " public CRAPIResponse checkVehicle(VehicleForm vehicleForm, HttpServletRequest request) {\n VehicleDetails checkVehicle = null;\n User user = null;\n checkVehicle = vehicleDetailsRepository.findByVin(vehicleForm.getVin());\n user = userService.getUserFromToken(request);\n if (checkVehicle != null && checkVehicle.getOwner() == null) { /* <=== com.crapi.entity.VehicleDetails */ \n if (checkVehicle.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n checkVehicle.setOwner(user);\n checkVehicle.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(checkVehicle);\n logger.info(\"Success Owner updated in vehicle details\");" }, { - "sample" : "checkVehicle", - "lineNumber" : 186, - "columnNumber" : 11, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " VehicleDetails checkVehicle = null;\n User user = null;\n checkVehicle = vehicleDetailsRepository.findByVin(vehicleForm.getVin());\n user = userService.getUserFromToken(request);\n if (checkVehicle != null && checkVehicle.getOwner() == null) {\n if (checkVehicle.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) { /* <=== com.crapi.entity.VehicleDetails */ \n checkVehicle.setOwner(user);\n checkVehicle.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(checkVehicle);\n logger.info(\"Success Owner updated in vehicle details\");\n return new CRAPIResponse(UserMessage.VEHICLE_SAVED_SUCCESSFULLY, 200);" + "sample": "checkVehicle", + "lineNumber": 186, + "columnNumber": 11, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " VehicleDetails checkVehicle = null;\n User user = null;\n checkVehicle = vehicleDetailsRepository.findByVin(vehicleForm.getVin());\n user = userService.getUserFromToken(request);\n if (checkVehicle != null && checkVehicle.getOwner() == null) {\n if (checkVehicle.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) { /* <=== com.crapi.entity.VehicleDetails */ \n checkVehicle.setOwner(user);\n checkVehicle.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(checkVehicle);\n logger.info(\"Success Owner updated in vehicle details\");\n return new CRAPIResponse(UserMessage.VEHICLE_SAVED_SUCCESSFULLY, 200);" }, { - "sample" : "checkVehicle", - "lineNumber" : 187, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " User user = null;\n checkVehicle = vehicleDetailsRepository.findByVin(vehicleForm.getVin());\n user = userService.getUserFromToken(request);\n if (checkVehicle != null && checkVehicle.getOwner() == null) {\n if (checkVehicle.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n checkVehicle.setOwner(user); /* <=== com.crapi.entity.VehicleDetails */ \n checkVehicle.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(checkVehicle);\n logger.info(\"Success Owner updated in vehicle details\");\n return new CRAPIResponse(UserMessage.VEHICLE_SAVED_SUCCESSFULLY, 200);\n }" + "sample": "checkVehicle", + "lineNumber": 187, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " User user = null;\n checkVehicle = vehicleDetailsRepository.findByVin(vehicleForm.getVin());\n user = userService.getUserFromToken(request);\n if (checkVehicle != null && checkVehicle.getOwner() == null) {\n if (checkVehicle.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n checkVehicle.setOwner(user); /* <=== com.crapi.entity.VehicleDetails */ \n checkVehicle.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(checkVehicle);\n logger.info(\"Success Owner updated in vehicle details\");\n return new CRAPIResponse(UserMessage.VEHICLE_SAVED_SUCCESSFULLY, 200);\n }" }, { - "sample" : "checkVehicle", - "lineNumber" : 188, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " checkVehicle = vehicleDetailsRepository.findByVin(vehicleForm.getVin());\n user = userService.getUserFromToken(request);\n if (checkVehicle != null && checkVehicle.getOwner() == null) {\n if (checkVehicle.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n checkVehicle.setOwner(user);\n checkVehicle.setStatus(EStatus.INACTIVE); /* <=== com.crapi.entity.VehicleDetails */ \n vehicleDetailsRepository.save(checkVehicle);\n logger.info(\"Success Owner updated in vehicle details\");\n return new CRAPIResponse(UserMessage.VEHICLE_SAVED_SUCCESSFULLY, 200);\n }\n }" + "sample": "checkVehicle", + "lineNumber": 188, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " checkVehicle = vehicleDetailsRepository.findByVin(vehicleForm.getVin());\n user = userService.getUserFromToken(request);\n if (checkVehicle != null && checkVehicle.getOwner() == null) {\n if (checkVehicle.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n checkVehicle.setOwner(user);\n checkVehicle.setStatus(EStatus.INACTIVE); /* <=== com.crapi.entity.VehicleDetails */ \n vehicleDetailsRepository.save(checkVehicle);\n logger.info(\"Success Owner updated in vehicle details\");\n return new CRAPIResponse(UserMessage.VEHICLE_SAVED_SUCCESSFULLY, 200);\n }\n }" }, { - "sample" : "checkVehicle", - "lineNumber" : 189, - "columnNumber" : 39, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " user = userService.getUserFromToken(request);\n if (checkVehicle != null && checkVehicle.getOwner() == null) {\n if (checkVehicle.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n checkVehicle.setOwner(user);\n checkVehicle.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(checkVehicle); /* <=== com.crapi.entity.VehicleDetails */ \n logger.info(\"Success Owner updated in vehicle details\");\n return new CRAPIResponse(UserMessage.VEHICLE_SAVED_SUCCESSFULLY, 200);\n }\n }\n return new CRAPIResponse(UserMessage.VEHICLE_ALREADY_CREATED, 403);" + "sample": "checkVehicle", + "lineNumber": 189, + "columnNumber": 39, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " user = userService.getUserFromToken(request);\n if (checkVehicle != null && checkVehicle.getOwner() == null) {\n if (checkVehicle.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n checkVehicle.setOwner(user);\n checkVehicle.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(checkVehicle); /* <=== com.crapi.entity.VehicleDetails */ \n logger.info(\"Success Owner updated in vehicle details\");\n return new CRAPIResponse(UserMessage.VEHICLE_SAVED_SUCCESSFULLY, 200);\n }\n }\n return new CRAPIResponse(UserMessage.VEHICLE_ALREADY_CREATED, 403);" }, { - "sample" : "vehicleDetailsRepository.save(checkVehicle)", - "lineNumber" : 189, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " user = userService.getUserFromToken(request);\n if (checkVehicle != null && checkVehicle.getOwner() == null) {\n if (checkVehicle.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n checkVehicle.setOwner(user);\n checkVehicle.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(checkVehicle); /* <=== com.crapi.repository.VehicleDetailsRepository.save */ \n logger.info(\"Success Owner updated in vehicle details\");\n return new CRAPIResponse(UserMessage.VEHICLE_SAVED_SUCCESSFULLY, 200);\n }\n }\n return new CRAPIResponse(UserMessage.VEHICLE_ALREADY_CREATED, 403);" + "sample": "vehicleDetailsRepository.save(checkVehicle)", + "lineNumber": 189, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " user = userService.getUserFromToken(request);\n if (checkVehicle != null && checkVehicle.getOwner() == null) {\n if (checkVehicle.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n checkVehicle.setOwner(user);\n checkVehicle.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(checkVehicle); /* <=== com.crapi.repository.VehicleDetailsRepository.save */ \n logger.info(\"Success Owner updated in vehicle details\");\n return new CRAPIResponse(UserMessage.VEHICLE_SAVED_SUCCESSFULLY, 200);\n }\n }\n return new CRAPIResponse(UserMessage.VEHICLE_ALREADY_CREATED, 403);" } ] }, { - "pathId" : "298-305-309-315-311", - "path" : [ + "pathId": "298-305-309-315-311", + "path": [ { - "sample" : "java.lang.String pincode", - "lineNumber" : 35, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/VehicleDetails.java", - "excerpt" : " private long id;\n\n @Column(name = \"uuid\", updatable = false, nullable = false, unique = true)\n private UUID uuid = UUID.randomUUID();\n\n private String pincode; /* <=== 'pincode' is a member of 'com.crapi.entity.VehicleDetails' class */ \n private String vin;\n private long year;\n private EStatus status;\n\n @OneToOne(cascade = CascadeType.ALL)" + "sample": "java.lang.String pincode", + "lineNumber": 35, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/VehicleDetails.java", + "excerpt": " private long id;\n\n @Column(name = \"uuid\", updatable = false, nullable = false, unique = true)\n private UUID uuid = UUID.randomUUID();\n\n private String pincode; /* <=== 'pincode' is a member of 'com.crapi.entity.VehicleDetails' class */ \n private String vin;\n private long year;\n private EStatus status;\n\n @OneToOne(cascade = CascadeType.ALL)" }, { - "sample" : "vehicleDetails", - "lineNumber" : 110, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", - "excerpt" : " try {\n User user = new User(email, number, encoder.encode(password), role);\n user = userRepository.save(user);\n userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle(); /* <=== com.crapi.entity.VehicleDetails */ \n if (vehicleDetails != null) {\n vehicleDetails.setOwner(user);\n vehicleDetailsRepository.save(vehicleDetails);\n return true;\n }" + "sample": "vehicleDetails", + "lineNumber": 110, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", + "excerpt": " try {\n User user = new User(email, number, encoder.encode(password), role);\n user = userRepository.save(user);\n userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle(); /* <=== com.crapi.entity.VehicleDetails */ \n if (vehicleDetails != null) {\n vehicleDetails.setOwner(user);\n vehicleDetailsRepository.save(vehicleDetails);\n return true;\n }" }, { - "sample" : "vehicleDetails", - "lineNumber" : 111, - "columnNumber" : 11, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", - "excerpt" : " User user = new User(email, number, encoder.encode(password), role);\n user = userRepository.save(user);\n userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) { /* <=== com.crapi.entity.VehicleDetails */ \n vehicleDetails.setOwner(user);\n vehicleDetailsRepository.save(vehicleDetails);\n return true;\n }\n logger.error(\"Fail to create vehicle for user {}\", email);" + "sample": "vehicleDetails", + "lineNumber": 111, + "columnNumber": 11, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", + "excerpt": " User user = new User(email, number, encoder.encode(password), role);\n user = userRepository.save(user);\n userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) { /* <=== com.crapi.entity.VehicleDetails */ \n vehicleDetails.setOwner(user);\n vehicleDetailsRepository.save(vehicleDetails);\n return true;\n }\n logger.error(\"Fail to create vehicle for user {}\", email);" }, { - "sample" : "vehicleDetails", - "lineNumber" : 112, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", - "excerpt" : " user = userRepository.save(user);\n userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {\n vehicleDetails.setOwner(user); /* <=== com.crapi.entity.VehicleDetails */ \n vehicleDetailsRepository.save(vehicleDetails);\n return true;\n }\n logger.error(\"Fail to create vehicle for user {}\", email);\n return false;" + "sample": "vehicleDetails", + "lineNumber": 112, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", + "excerpt": " user = userRepository.save(user);\n userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {\n vehicleDetails.setOwner(user); /* <=== com.crapi.entity.VehicleDetails */ \n vehicleDetailsRepository.save(vehicleDetails);\n return true;\n }\n logger.error(\"Fail to create vehicle for user {}\", email);\n return false;" }, { - "sample" : "vehicleDetails", - "lineNumber" : 113, - "columnNumber" : 39, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", - "excerpt" : " userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {\n vehicleDetails.setOwner(user);\n vehicleDetailsRepository.save(vehicleDetails); /* <=== com.crapi.entity.VehicleDetails */ \n return true;\n }\n logger.error(\"Fail to create vehicle for user {}\", email);\n return false;\n } catch (Exception e) {" + "sample": "vehicleDetails", + "lineNumber": 113, + "columnNumber": 39, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", + "excerpt": " userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {\n vehicleDetails.setOwner(user);\n vehicleDetailsRepository.save(vehicleDetails); /* <=== com.crapi.entity.VehicleDetails */ \n return true;\n }\n logger.error(\"Fail to create vehicle for user {}\", email);\n return false;\n } catch (Exception e) {" }, { - "sample" : "vehicleDetailsRepository.save(vehicleDetails)", - "lineNumber" : 113, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", - "excerpt" : " userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {\n vehicleDetails.setOwner(user);\n vehicleDetailsRepository.save(vehicleDetails); /* <=== com.crapi.repository.VehicleDetailsRepository.save */ \n return true;\n }\n logger.error(\"Fail to create vehicle for user {}\", email);\n return false;\n } catch (Exception e) {" + "sample": "vehicleDetailsRepository.save(vehicleDetails)", + "lineNumber": 113, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", + "excerpt": " userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {\n vehicleDetails.setOwner(user);\n vehicleDetailsRepository.save(vehicleDetails); /* <=== com.crapi.repository.VehicleDetailsRepository.save */ \n return true;\n }\n logger.error(\"Fail to create vehicle for user {}\", email);\n return false;\n } catch (Exception e) {" } ] } ] }, { - "sinkType" : "storages", - "id" : "Storages.SpringFramework.Jdbc.Read", - "name" : "Java Database Connector(Read)", - "category" : "", - "domains" : [ - "oracle.com" - ], - "sensitivity" : "", - "isSensitive" : false, - "tags" : { - + "sinkType": "storages", + "id": "Storages.SpringFramework.Jdbc.Read", + "name": "Java Database Connector(Read)", + "category": "", + "domains": ["oracle.com"], + "sensitivity": "", + "isSensitive": false, + "tags": {}, + "apiUrl": [], + "databaseDetails": { + "dbName": "${DB_NAME}", + "dbVendor": "postgresql", + "dbLocation": "${DB_HOST}:${DB_PORT}", + "dbOperation": "Read" }, - "apiUrl" : [ - ], - "databaseDetails" : { - "dbName" : "${DB_NAME}", - "dbVendor" : "postgresql", - "dbLocation" : "${DB_HOST}:${DB_PORT}", - "dbOperation" : "Read" - }, - "paths" : [ + "paths": [ { - "pathId" : "9744-9739", - "path" : [ + "pathId": "9744-9739", + "path": [ { - "sample" : "java.lang.String pincode", - "lineNumber" : 26, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/model/VehicleForm.java", - "excerpt" : "@Data\npublic class VehicleForm {\n\n @NotBlank\n @Size(min = 4, max = 8)\n private String pincode; /* <=== 'pincode' is a member of 'com.crapi.model.VehicleForm' class */ \n\n @NotBlank\n @Size(min = 4, max = 20)\n private String vin;\n}" + "sample": "java.lang.String pincode", + "lineNumber": 26, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/model/VehicleForm.java", + "excerpt": "@Data\npublic class VehicleForm {\n\n @NotBlank\n @Size(min = 4, max = 8)\n private String pincode; /* <=== 'pincode' is a member of 'com.crapi.model.VehicleForm' class */ \n\n @NotBlank\n @Size(min = 4, max = 20)\n private String vin;\n}" }, { - "sample" : "vehicleForm", - "lineNumber" : 183, - "columnNumber" : 55, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " @Transactional\n @Override\n public CRAPIResponse checkVehicle(VehicleForm vehicleForm, HttpServletRequest request) {\n VehicleDetails checkVehicle = null;\n User user = null;\n checkVehicle = vehicleDetailsRepository.findByVin(vehicleForm.getVin()); /* <=== com.crapi.model.VehicleForm */ \n user = userService.getUserFromToken(request);\n if (checkVehicle != null && checkVehicle.getOwner() == null) {\n if (checkVehicle.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n checkVehicle.setOwner(user);\n checkVehicle.setStatus(EStatus.INACTIVE);" + "sample": "vehicleForm", + "lineNumber": 183, + "columnNumber": 55, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " @Transactional\n @Override\n public CRAPIResponse checkVehicle(VehicleForm vehicleForm, HttpServletRequest request) {\n VehicleDetails checkVehicle = null;\n User user = null;\n checkVehicle = vehicleDetailsRepository.findByVin(vehicleForm.getVin()); /* <=== com.crapi.model.VehicleForm */ \n user = userService.getUserFromToken(request);\n if (checkVehicle != null && checkVehicle.getOwner() == null) {\n if (checkVehicle.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n checkVehicle.setOwner(user);\n checkVehicle.setStatus(EStatus.INACTIVE);" }, { - "sample" : "findByVin(vehicleForm.getVin())", - "lineNumber" : 183, - "columnNumber" : 20, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " @Transactional\n @Override\n public CRAPIResponse checkVehicle(VehicleForm vehicleForm, HttpServletRequest request) {\n VehicleDetails checkVehicle = null;\n User user = null;\n checkVehicle = vehicleDetailsRepository.findByVin(vehicleForm.getVin()); /* <=== com.crapi.repository.VehicleDetailsRepository.findByVin */ \n user = userService.getUserFromToken(request);\n if (checkVehicle != null && checkVehicle.getOwner() == null) {\n if (checkVehicle.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n checkVehicle.setOwner(user);\n checkVehicle.setStatus(EStatus.INACTIVE);" + "sample": "findByVin(vehicleForm.getVin())", + "lineNumber": 183, + "columnNumber": 20, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " @Transactional\n @Override\n public CRAPIResponse checkVehicle(VehicleForm vehicleForm, HttpServletRequest request) {\n VehicleDetails checkVehicle = null;\n User user = null;\n checkVehicle = vehicleDetailsRepository.findByVin(vehicleForm.getVin()); /* <=== com.crapi.repository.VehicleDetailsRepository.findByVin */ \n user = userService.getUserFromToken(request);\n if (checkVehicle != null && checkVehicle.getOwner() == null) {\n if (checkVehicle.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n checkVehicle.setOwner(user);\n checkVehicle.setStatus(EStatus.INACTIVE);" } ] }, { - "pathId" : "9666-9674-9680-9691-9690-9685", - "path" : [ + "pathId": "9666-9674-9680-9691-9690-9685", + "path": [ { - "sample" : "java.lang.String pincode", - "lineNumber" : 35, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/VehicleDetails.java", - "excerpt" : " private long id;\n\n @Column(name = \"uuid\", updatable = false, nullable = false, unique = true)\n private UUID uuid = UUID.randomUUID();\n\n private String pincode; /* <=== 'pincode' is a member of 'com.crapi.entity.VehicleDetails' class */ \n private String vin;\n private long year;\n private EStatus status;\n\n @OneToOne(cascade = CascadeType.ALL)" + "sample": "java.lang.String pincode", + "lineNumber": 35, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/VehicleDetails.java", + "excerpt": " private long id;\n\n @Column(name = \"uuid\", updatable = false, nullable = false, unique = true)\n private UUID uuid = UUID.randomUUID();\n\n private String pincode; /* <=== 'pincode' is a member of 'com.crapi.entity.VehicleDetails' class */ \n private String vin;\n private long year;\n private EStatus status;\n\n @OneToOne(cascade = CascadeType.ALL)" }, { - "sample" : "vehicleDetails", - "lineNumber" : 153, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " VehicleDetails vehicleDetails = null;\n VehicleLocationResponse vehicleLocationForm = null;\n UserDetails userDetails = null;\n Random random = new Random();\n try {\n vehicleDetails = vehicleDetailsRepository.findByUuid(carId); /* <=== com.crapi.entity.VehicleDetails */ \n if (vehicleDetails != null) {\n // vehicleDetails = vehicleDetailsRepository.findByVehicleLocation_id(carId);\n // vehicleDetails.setVehicleLocation(getVehicleLocationList().get(random.nextInt(getVehicleLocationList().size())));\n if (vehicleDetails.getOwner() != null) {\n userDetails = userDetailsRepository.findByUser_id(vehicleDetails.getOwner().getId());" + "sample": "vehicleDetails", + "lineNumber": 153, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " VehicleDetails vehicleDetails = null;\n VehicleLocationResponse vehicleLocationForm = null;\n UserDetails userDetails = null;\n Random random = new Random();\n try {\n vehicleDetails = vehicleDetailsRepository.findByUuid(carId); /* <=== com.crapi.entity.VehicleDetails */ \n if (vehicleDetails != null) {\n // vehicleDetails = vehicleDetailsRepository.findByVehicleLocation_id(carId);\n // vehicleDetails.setVehicleLocation(getVehicleLocationList().get(random.nextInt(getVehicleLocationList().size())));\n if (vehicleDetails.getOwner() != null) {\n userDetails = userDetailsRepository.findByUser_id(vehicleDetails.getOwner().getId());" }, { - "sample" : "vehicleDetails", - "lineNumber" : 154, - "columnNumber" : 11, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " VehicleLocationResponse vehicleLocationForm = null;\n UserDetails userDetails = null;\n Random random = new Random();\n try {\n vehicleDetails = vehicleDetailsRepository.findByUuid(carId);\n if (vehicleDetails != null) { /* <=== com.crapi.entity.VehicleDetails */ \n // vehicleDetails = vehicleDetailsRepository.findByVehicleLocation_id(carId);\n // vehicleDetails.setVehicleLocation(getVehicleLocationList().get(random.nextInt(getVehicleLocationList().size())));\n if (vehicleDetails.getOwner() != null) {\n userDetails = userDetailsRepository.findByUser_id(vehicleDetails.getOwner().getId());\n vehicleLocationForm =" + "sample": "vehicleDetails", + "lineNumber": 154, + "columnNumber": 11, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " VehicleLocationResponse vehicleLocationForm = null;\n UserDetails userDetails = null;\n Random random = new Random();\n try {\n vehicleDetails = vehicleDetailsRepository.findByUuid(carId);\n if (vehicleDetails != null) { /* <=== com.crapi.entity.VehicleDetails */ \n // vehicleDetails = vehicleDetailsRepository.findByVehicleLocation_id(carId);\n // vehicleDetails.setVehicleLocation(getVehicleLocationList().get(random.nextInt(getVehicleLocationList().size())));\n if (vehicleDetails.getOwner() != null) {\n userDetails = userDetailsRepository.findByUser_id(vehicleDetails.getOwner().getId());\n vehicleLocationForm =" }, { - "sample" : "vehicleDetails", - "lineNumber" : 157, - "columnNumber" : 13, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " try {\n vehicleDetails = vehicleDetailsRepository.findByUuid(carId);\n if (vehicleDetails != null) {\n // vehicleDetails = vehicleDetailsRepository.findByVehicleLocation_id(carId);\n // vehicleDetails.setVehicleLocation(getVehicleLocationList().get(random.nextInt(getVehicleLocationList().size())));\n if (vehicleDetails.getOwner() != null) { /* <=== com.crapi.entity.VehicleDetails */ \n userDetails = userDetailsRepository.findByUser_id(vehicleDetails.getOwner().getId());\n vehicleLocationForm =\n new VehicleLocationResponse(\n carId,\n (userDetails != null ? userDetails.getName() : null)," + "sample": "vehicleDetails", + "lineNumber": 157, + "columnNumber": 13, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " try {\n vehicleDetails = vehicleDetailsRepository.findByUuid(carId);\n if (vehicleDetails != null) {\n // vehicleDetails = vehicleDetailsRepository.findByVehicleLocation_id(carId);\n // vehicleDetails.setVehicleLocation(getVehicleLocationList().get(random.nextInt(getVehicleLocationList().size())));\n if (vehicleDetails.getOwner() != null) { /* <=== com.crapi.entity.VehicleDetails */ \n userDetails = userDetailsRepository.findByUser_id(vehicleDetails.getOwner().getId());\n vehicleLocationForm =\n new VehicleLocationResponse(\n carId,\n (userDetails != null ? userDetails.getName() : null)," }, { - "sample" : "vehicleDetails", - "lineNumber" : 158, - "columnNumber" : 61, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " vehicleDetails = vehicleDetailsRepository.findByUuid(carId);\n if (vehicleDetails != null) {\n // vehicleDetails = vehicleDetailsRepository.findByVehicleLocation_id(carId);\n // vehicleDetails.setVehicleLocation(getVehicleLocationList().get(random.nextInt(getVehicleLocationList().size())));\n if (vehicleDetails.getOwner() != null) {\n userDetails = userDetailsRepository.findByUser_id(vehicleDetails.getOwner().getId()); /* <=== com.crapi.entity.VehicleDetails */ \n vehicleLocationForm =\n new VehicleLocationResponse(\n carId,\n (userDetails != null ? userDetails.getName() : null),\n vehicleDetails.getVehicleLocation());" + "sample": "vehicleDetails", + "lineNumber": 158, + "columnNumber": 61, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " vehicleDetails = vehicleDetailsRepository.findByUuid(carId);\n if (vehicleDetails != null) {\n // vehicleDetails = vehicleDetailsRepository.findByVehicleLocation_id(carId);\n // vehicleDetails.setVehicleLocation(getVehicleLocationList().get(random.nextInt(getVehicleLocationList().size())));\n if (vehicleDetails.getOwner() != null) {\n userDetails = userDetailsRepository.findByUser_id(vehicleDetails.getOwner().getId()); /* <=== com.crapi.entity.VehicleDetails */ \n vehicleLocationForm =\n new VehicleLocationResponse(\n carId,\n (userDetails != null ? userDetails.getName() : null),\n vehicleDetails.getVehicleLocation());" }, { - "sample" : "getOwner()", - "lineNumber" : 158, - "columnNumber" : 61, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " vehicleDetails = vehicleDetailsRepository.findByUuid(carId);\n if (vehicleDetails != null) {\n // vehicleDetails = vehicleDetailsRepository.findByVehicleLocation_id(carId);\n // vehicleDetails.setVehicleLocation(getVehicleLocationList().get(random.nextInt(getVehicleLocationList().size())));\n if (vehicleDetails.getOwner() != null) {\n userDetails = userDetailsRepository.findByUser_id(vehicleDetails.getOwner().getId()); /* <=== com.crapi.entity.VehicleDetails.getOwner */ \n vehicleLocationForm =\n new VehicleLocationResponse(\n carId,\n (userDetails != null ? userDetails.getName() : null),\n vehicleDetails.getVehicleLocation());" + "sample": "getOwner()", + "lineNumber": 158, + "columnNumber": 61, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " vehicleDetails = vehicleDetailsRepository.findByUuid(carId);\n if (vehicleDetails != null) {\n // vehicleDetails = vehicleDetailsRepository.findByVehicleLocation_id(carId);\n // vehicleDetails.setVehicleLocation(getVehicleLocationList().get(random.nextInt(getVehicleLocationList().size())));\n if (vehicleDetails.getOwner() != null) {\n userDetails = userDetailsRepository.findByUser_id(vehicleDetails.getOwner().getId()); /* <=== com.crapi.entity.VehicleDetails.getOwner */ \n vehicleLocationForm =\n new VehicleLocationResponse(\n carId,\n (userDetails != null ? userDetails.getName() : null),\n vehicleDetails.getVehicleLocation());" }, { - "sample" : "findByUser_id(vehicleDetails.getOwner().getId())", - "lineNumber" : 158, - "columnNumber" : 25, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " vehicleDetails = vehicleDetailsRepository.findByUuid(carId);\n if (vehicleDetails != null) {\n // vehicleDetails = vehicleDetailsRepository.findByVehicleLocation_id(carId);\n // vehicleDetails.setVehicleLocation(getVehicleLocationList().get(random.nextInt(getVehicleLocationList().size())));\n if (vehicleDetails.getOwner() != null) {\n userDetails = userDetailsRepository.findByUser_id(vehicleDetails.getOwner().getId()); /* <=== com.crapi.repository.UserDetailsRepository.findByUser_id */ \n vehicleLocationForm =\n new VehicleLocationResponse(\n carId,\n (userDetails != null ? userDetails.getName() : null),\n vehicleDetails.getVehicleLocation());" + "sample": "findByUser_id(vehicleDetails.getOwner().getId())", + "lineNumber": 158, + "columnNumber": 25, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " vehicleDetails = vehicleDetailsRepository.findByUuid(carId);\n if (vehicleDetails != null) {\n // vehicleDetails = vehicleDetailsRepository.findByVehicleLocation_id(carId);\n // vehicleDetails.setVehicleLocation(getVehicleLocationList().get(random.nextInt(getVehicleLocationList().size())));\n if (vehicleDetails.getOwner() != null) {\n userDetails = userDetailsRepository.findByUser_id(vehicleDetails.getOwner().getId()); /* <=== com.crapi.repository.UserDetailsRepository.findByUser_id */ \n vehicleLocationForm =\n new VehicleLocationResponse(\n carId,\n (userDetails != null ? userDetails.getName() : null),\n vehicleDetails.getVehicleLocation());" } ] }, { - "pathId" : "9387-9382", - "path" : [ + "pathId": "9387-9382", + "path": [ { - "sample" : "java.lang.String pincode", - "lineNumber" : 26, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/model/VehicleForm.java", - "excerpt" : "@Data\npublic class VehicleForm {\n\n @NotBlank\n @Size(min = 4, max = 8)\n private String pincode; /* <=== 'pincode' is a member of 'com.crapi.model.VehicleForm' class */ \n\n @NotBlank\n @Size(min = 4, max = 20)\n private String vin;\n}" + "sample": "java.lang.String pincode", + "lineNumber": 26, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/model/VehicleForm.java", + "excerpt": "@Data\npublic class VehicleForm {\n\n @NotBlank\n @Size(min = 4, max = 8)\n private String pincode; /* <=== 'pincode' is a member of 'com.crapi.model.VehicleForm' class */ \n\n @NotBlank\n @Size(min = 4, max = 20)\n private String vin;\n}" }, { - "sample" : "vehicleForm", - "lineNumber" : 64, - "columnNumber" : 74, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " */\n @Transactional\n @Override\n public boolean addVehicleDetails(VehicleForm vehicleForm, HttpServletRequest request) {\n try {\n VehicleDetails vehicleDetails = vehicleDetailsRepository.findByVin(vehicleForm.getVin()); /* <=== com.crapi.model.VehicleForm */ \n if (vehicleDetails != null\n && vehicleDetails.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n User user = userService.getUserFromToken(request);\n if (user != null) {\n vehicleDetails.setOwner(user);" + "sample": "vehicleForm", + "lineNumber": 64, + "columnNumber": 74, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " */\n @Transactional\n @Override\n public boolean addVehicleDetails(VehicleForm vehicleForm, HttpServletRequest request) {\n try {\n VehicleDetails vehicleDetails = vehicleDetailsRepository.findByVin(vehicleForm.getVin()); /* <=== com.crapi.model.VehicleForm */ \n if (vehicleDetails != null\n && vehicleDetails.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n User user = userService.getUserFromToken(request);\n if (user != null) {\n vehicleDetails.setOwner(user);" }, { - "sample" : "findByVin(vehicleForm.getVin())", - "lineNumber" : 64, - "columnNumber" : 39, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " */\n @Transactional\n @Override\n public boolean addVehicleDetails(VehicleForm vehicleForm, HttpServletRequest request) {\n try {\n VehicleDetails vehicleDetails = vehicleDetailsRepository.findByVin(vehicleForm.getVin()); /* <=== com.crapi.repository.VehicleDetailsRepository.findByVin */ \n if (vehicleDetails != null\n && vehicleDetails.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n User user = userService.getUserFromToken(request);\n if (user != null) {\n vehicleDetails.setOwner(user);" + "sample": "findByVin(vehicleForm.getVin())", + "lineNumber": 64, + "columnNumber": 39, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " */\n @Transactional\n @Override\n public boolean addVehicleDetails(VehicleForm vehicleForm, HttpServletRequest request) {\n try {\n VehicleDetails vehicleDetails = vehicleDetailsRepository.findByVin(vehicleForm.getVin()); /* <=== com.crapi.repository.VehicleDetailsRepository.findByVin */ \n if (vehicleDetails != null\n && vehicleDetails.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n User user = userService.getUserFromToken(request);\n if (user != null) {\n vehicleDetails.setOwner(user);" } ] } @@ -4617,2631 +4570,2621 @@ ] }, { - "sourceId" : "Data.Sensitive.ContactData.EmailAddress", - "sinks" : [ + "sourceId": "Data.Sensitive.ContactData.EmailAddress", + "sinks": [ { - "sinkType" : "storages", - "id" : "Storages.SpringFramework.Jdbc.Write", - "name" : "Java Database Connector(Write)", - "category" : "", - "domains" : [ - "oracle.com" - ], - "sensitivity" : "", - "isSensitive" : false, - "tags" : { - - }, - "apiUrl" : [ - ], - "databaseDetails" : { - "dbName" : "${DB_NAME}", - "dbVendor" : "postgresql", - "dbLocation" : "${DB_HOST}:${DB_PORT}", - "dbOperation" : "Write" + "sinkType": "storages", + "id": "Storages.SpringFramework.Jdbc.Write", + "name": "Java Database Connector(Write)", + "category": "", + "domains": ["oracle.com"], + "sensitivity": "", + "isSensitive": false, + "tags": {}, + "apiUrl": [], + "databaseDetails": { + "dbName": "${DB_NAME}", + "dbVendor": "postgresql", + "dbLocation": "${DB_HOST}:${DB_PORT}", + "dbOperation": "Write" }, - "paths" : [ + "paths": [ { - "pathId" : "3801-3799-21695-7560-7562", - "path" : [ + "pathId": "3801-3799-21695-7560-7562", + "path": [ { - "sample" : "java.lang.String email", - "lineNumber" : 35, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", - "excerpt" : " name = \"user_generator\",\n sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email; /* <=== 'email' is a member of 'com.crapi.entity.User' class */ \n private String password;\n private String number;\n\n @Column(length = 500)\n private String jwtToken;" + "sample": "java.lang.String email", + "lineNumber": 35, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", + "excerpt": " name = \"user_generator\",\n sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email; /* <=== 'email' is a member of 'com.crapi.entity.User' class */ \n private String password;\n private String number;\n\n @Column(length = 500)\n private String jwtToken;" }, { - "sample" : "user", - "lineNumber" : 91, - "columnNumber" : 17, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", - "excerpt" : " public User getUser() {\n return user;\n }\n\n public void setUser(User user) {\n this.user = user; /* <=== com.crapi.entity.User */ \n }\n\n @JsonProperty(\"profileVideo\")\n public String getVideoBase64() {\n // just assuming it is a jpeg. you would need to cater for different media types" + "sample": "user", + "lineNumber": 91, + "columnNumber": 17, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", + "excerpt": " public User getUser() {\n return user;\n }\n\n public void setUser(User user) {\n this.user = user; /* <=== com.crapi.entity.User */ \n }\n\n @JsonProperty(\"profileVideo\")\n public String getVideoBase64() {\n // just assuming it is a jpeg. you would need to cater for different media types" }, { - "sample" : "this.user", - "lineNumber" : 91, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", - "excerpt" : " public User getUser() {\n return user;\n }\n\n public void setUser(User user) {\n this.user = user; /* <=== */ \n }\n\n @JsonProperty(\"profileVideo\")\n public String getVideoBase64() {\n // just assuming it is a jpeg. you would need to cater for different media types" + "sample": "this.user", + "lineNumber": 91, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", + "excerpt": " public User getUser() {\n return user;\n }\n\n public void setUser(User user) {\n this.user = user; /* <=== */ \n }\n\n @JsonProperty(\"profileVideo\")\n public String getVideoBase64() {\n // just assuming it is a jpeg. you would need to cater for different media types" }, { - "sample" : "this", - "lineNumber" : 90, - "columnNumber" : -1, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", - "excerpt" : " @JsonIgnore\n public User getUser() {\n return user;\n }\n\n public void setUser(User user) { /* <=== */ \n this.user = user;\n }\n\n @JsonProperty(\"profileVideo\")\n public String getVideoBase64() {" + "sample": "this", + "lineNumber": 90, + "columnNumber": -1, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", + "excerpt": " @JsonIgnore\n public User getUser() {\n return user;\n }\n\n public void setUser(User user) { /* <=== */ \n this.user = user;\n }\n\n @JsonProperty(\"profileVideo\")\n public String getVideoBase64() {" }, { - "sample" : "profileVideo", - "lineNumber" : 191, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " ProfileVideo profileVideo;\n optionalProfileVideo = profileVideoRepository.findById(videoId);\n User user = userService.getUserFromToken(request);\n if (optionalProfileVideo.isPresent()) {\n profileVideo = optionalProfileVideo.get();\n profileVideo.setUser(null); /* <=== com.crapi.entity.ProfileVideo */ \n profileVideoRepository.delete(profileVideo);\n return new CRAPIResponse(UserMessage.VIDEO_DELETED_SUCCESS_MESSAGE, 200);\n }\n throw new CRAPIExceptionHandler(UserMessage.SORRY_DIDNT_GET_PROFILE, 404);\n }" + "sample": "profileVideo", + "lineNumber": 191, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " ProfileVideo profileVideo;\n optionalProfileVideo = profileVideoRepository.findById(videoId);\n User user = userService.getUserFromToken(request);\n if (optionalProfileVideo.isPresent()) {\n profileVideo = optionalProfileVideo.get();\n profileVideo.setUser(null); /* <=== com.crapi.entity.ProfileVideo */ \n profileVideoRepository.delete(profileVideo);\n return new CRAPIResponse(UserMessage.VIDEO_DELETED_SUCCESS_MESSAGE, 200);\n }\n throw new CRAPIExceptionHandler(UserMessage.SORRY_DIDNT_GET_PROFILE, 404);\n }" }, { - "sample" : "profileVideoRepository.delete(profileVideo)", - "lineNumber" : 192, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " optionalProfileVideo = profileVideoRepository.findById(videoId);\n User user = userService.getUserFromToken(request);\n if (optionalProfileVideo.isPresent()) {\n profileVideo = optionalProfileVideo.get();\n profileVideo.setUser(null);\n profileVideoRepository.delete(profileVideo); /* <=== com.crapi.repository.ProfileVideoRepository.delete */ \n return new CRAPIResponse(UserMessage.VIDEO_DELETED_SUCCESS_MESSAGE, 200);\n }\n throw new CRAPIExceptionHandler(UserMessage.SORRY_DIDNT_GET_PROFILE, 404);\n }\n" + "sample": "profileVideoRepository.delete(profileVideo)", + "lineNumber": 192, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " optionalProfileVideo = profileVideoRepository.findById(videoId);\n User user = userService.getUserFromToken(request);\n if (optionalProfileVideo.isPresent()) {\n profileVideo = optionalProfileVideo.get();\n profileVideo.setUser(null);\n profileVideoRepository.delete(profileVideo); /* <=== com.crapi.repository.ProfileVideoRepository.delete */ \n return new CRAPIResponse(UserMessage.VIDEO_DELETED_SUCCESS_MESSAGE, 200);\n }\n throw new CRAPIExceptionHandler(UserMessage.SORRY_DIDNT_GET_PROFILE, 404);\n }\n" } ] }, { - "pathId" : "6958-6953-6952-6961-6980-7000-3574-3583-3581-21685-6998-7002-7007", - "path" : [ + "pathId": "6958-6953-6952-6961-6980-7000-3574-3583-3581-21685-6998-7002-7007", + "path": [ { - "sample" : "java.lang.String email", - "lineNumber" : 29, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/model/ForgetPassword.java", - "excerpt" : "public class ForgetPassword implements Serializable {\n\n @NotBlank\n @Size(min = 3, max = 100)\n @Email\n private String email; /* <=== 'email' is a member of 'com.crapi.model.ForgetPassword' class */ \n}" + "sample": "java.lang.String email", + "lineNumber": 29, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/model/ForgetPassword.java", + "excerpt": "public class ForgetPassword implements Serializable {\n\n @NotBlank\n @Size(min = 3, max = 100)\n @Email\n private String email; /* <=== 'email' is a member of 'com.crapi.model.ForgetPassword' class */ \n}" }, { - "sample" : "forgetPassword", - "lineNumber" : 141, - "columnNumber" : 39, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " CRAPIResponse forgetPasswordResponse = null;\n OTPGenerator otpGenerator = new OTPGenerator();\n Otp checkOtpEnteryForUser = null;\n User user = null;\n String otp = \"\";\n user = userRepository.findByEmail(forgetPassword.getEmail()); /* <=== com.crapi.model.ForgetPassword */ \n if (user != null) {\n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database." + "sample": "forgetPassword", + "lineNumber": 141, + "columnNumber": 39, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " CRAPIResponse forgetPasswordResponse = null;\n OTPGenerator otpGenerator = new OTPGenerator();\n Otp checkOtpEnteryForUser = null;\n User user = null;\n String otp = \"\";\n user = userRepository.findByEmail(forgetPassword.getEmail()); /* <=== com.crapi.model.ForgetPassword */ \n if (user != null) {\n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database." }, { - "sample" : "findByEmail(forgetPassword.getEmail())", - "lineNumber" : 141, - "columnNumber" : 12, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " CRAPIResponse forgetPasswordResponse = null;\n OTPGenerator otpGenerator = new OTPGenerator();\n Otp checkOtpEnteryForUser = null;\n User user = null;\n String otp = \"\";\n user = userRepository.findByEmail(forgetPassword.getEmail()); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n if (user != null) {\n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database." + "sample": "findByEmail(forgetPassword.getEmail())", + "lineNumber": 141, + "columnNumber": 12, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " CRAPIResponse forgetPasswordResponse = null;\n OTPGenerator otpGenerator = new OTPGenerator();\n Otp checkOtpEnteryForUser = null;\n User user = null;\n String otp = \"\";\n user = userRepository.findByEmail(forgetPassword.getEmail()); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n if (user != null) {\n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database." }, { - "sample" : "user", - "lineNumber" : 141, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " CRAPIResponse forgetPasswordResponse = null;\n OTPGenerator otpGenerator = new OTPGenerator();\n Otp checkOtpEnteryForUser = null;\n User user = null;\n String otp = \"\";\n user = userRepository.findByEmail(forgetPassword.getEmail()); /* <=== com.crapi.entity.User */ \n if (user != null) {\n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database." + "sample": "user", + "lineNumber": 141, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " CRAPIResponse forgetPasswordResponse = null;\n OTPGenerator otpGenerator = new OTPGenerator();\n Otp checkOtpEnteryForUser = null;\n User user = null;\n String otp = \"\";\n user = userRepository.findByEmail(forgetPassword.getEmail()); /* <=== com.crapi.entity.User */ \n if (user != null) {\n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database." }, { - "sample" : "user", - "lineNumber" : 142, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " OTPGenerator otpGenerator = new OTPGenerator();\n Otp checkOtpEnteryForUser = null;\n User user = null;\n String otp = \"\";\n user = userRepository.findByEmail(forgetPassword.getEmail());\n if (user != null) { /* <=== com.crapi.entity.User */ \n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database.\n checkOtpEnteryForUser = otpRepository.findByUser(user);" + "sample": "user", + "lineNumber": 142, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " OTPGenerator otpGenerator = new OTPGenerator();\n Otp checkOtpEnteryForUser = null;\n User user = null;\n String otp = \"\";\n user = userRepository.findByEmail(forgetPassword.getEmail());\n if (user != null) { /* <=== com.crapi.entity.User */ \n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database.\n checkOtpEnteryForUser = otpRepository.findByUser(user);" }, { - "sample" : "user", - "lineNumber" : 147, - "columnNumber" : 58, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " if (user != null) {\n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database.\n checkOtpEnteryForUser = otpRepository.findByUser(user); /* <=== com.crapi.entity.User */ \n if (checkOtpEnteryForUser != null) {\n // Update existing object\n checkOtpEnteryForUser.setCount(0);\n checkOtpEnteryForUser.setOtp(otp);\n } else {" + "sample": "user", + "lineNumber": 147, + "columnNumber": 58, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " if (user != null) {\n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database.\n checkOtpEnteryForUser = otpRepository.findByUser(user); /* <=== com.crapi.entity.User */ \n if (checkOtpEnteryForUser != null) {\n // Update existing object\n checkOtpEnteryForUser.setCount(0);\n checkOtpEnteryForUser.setOtp(otp);\n } else {" }, { - "sample" : "user", - "lineNumber" : 154, - "columnNumber" : 48, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " // Update existing object\n checkOtpEnteryForUser.setCount(0);\n checkOtpEnteryForUser.setOtp(otp);\n } else {\n // Create new OTP object\n checkOtpEnteryForUser = new Otp(otp, user); /* <=== com.crapi.entity.User */ \n }\n checkOtpEnteryForUser.setStatus(EStatus.ACTIVE.toString());\n // Save otp details in Database.\n otpRepository.save(checkOtpEnteryForUser);\n // Sent OTP mail to user email address." + "sample": "user", + "lineNumber": 154, + "columnNumber": 48, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " // Update existing object\n checkOtpEnteryForUser.setCount(0);\n checkOtpEnteryForUser.setOtp(otp);\n } else {\n // Create new OTP object\n checkOtpEnteryForUser = new Otp(otp, user); /* <=== com.crapi.entity.User */ \n }\n checkOtpEnteryForUser.setStatus(EStatus.ACTIVE.toString());\n // Save otp details in Database.\n otpRepository.save(checkOtpEnteryForUser);\n // Sent OTP mail to user email address." }, { - "sample" : "User user", - "lineNumber" : 37, - "columnNumber" : 26, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/Otp.java", - "excerpt" : "\n @OneToOne private User user;\n\n public Otp() {}\n\n public Otp(String otp, User user) { /* <=== */ \n this.otp = otp;\n this.user = user;\n }\n}" + "sample": "User user", + "lineNumber": 37, + "columnNumber": 26, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/Otp.java", + "excerpt": "\n @OneToOne private User user;\n\n public Otp() {}\n\n public Otp(String otp, User user) { /* <=== */ \n this.otp = otp;\n this.user = user;\n }\n}" }, { - "sample" : "user", - "lineNumber" : 39, - "columnNumber" : 17, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/Otp.java", - "excerpt" : "\n public Otp() {}\n\n public Otp(String otp, User user) {\n this.otp = otp;\n this.user = user; /* <=== com.crapi.entity.User */ \n }\n}" + "sample": "user", + "lineNumber": 39, + "columnNumber": 17, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/Otp.java", + "excerpt": "\n public Otp() {}\n\n public Otp(String otp, User user) {\n this.otp = otp;\n this.user = user; /* <=== com.crapi.entity.User */ \n }\n}" }, { - "sample" : "this.user", - "lineNumber" : 39, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/Otp.java", - "excerpt" : "\n public Otp() {}\n\n public Otp(String otp, User user) {\n this.otp = otp;\n this.user = user; /* <=== */ \n }\n}" + "sample": "this.user", + "lineNumber": 39, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/Otp.java", + "excerpt": "\n public Otp() {}\n\n public Otp(String otp, User user) {\n this.otp = otp;\n this.user = user; /* <=== */ \n }\n}" }, { - "sample" : "this", - "lineNumber" : 37, - "columnNumber" : -1, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/Otp.java", - "excerpt" : "\n @OneToOne private User user;\n\n public Otp() {}\n\n public Otp(String otp, User user) { /* <=== */ \n this.otp = otp;\n this.user = user;\n }\n}" + "sample": "this", + "lineNumber": 37, + "columnNumber": -1, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/Otp.java", + "excerpt": "\n @OneToOne private User user;\n\n public Otp() {}\n\n public Otp(String otp, User user) { /* <=== */ \n this.otp = otp;\n this.user = user;\n }\n}" }, { - "sample" : "checkOtpEnteryForUser", - "lineNumber" : 154, - "columnNumber" : 11, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " // Update existing object\n checkOtpEnteryForUser.setCount(0);\n checkOtpEnteryForUser.setOtp(otp);\n } else {\n // Create new OTP object\n checkOtpEnteryForUser = new Otp(otp, user); /* <=== com.crapi.entity.Otp */ \n }\n checkOtpEnteryForUser.setStatus(EStatus.ACTIVE.toString());\n // Save otp details in Database.\n otpRepository.save(checkOtpEnteryForUser);\n // Sent OTP mail to user email address." + "sample": "checkOtpEnteryForUser", + "lineNumber": 154, + "columnNumber": 11, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " // Update existing object\n checkOtpEnteryForUser.setCount(0);\n checkOtpEnteryForUser.setOtp(otp);\n } else {\n // Create new OTP object\n checkOtpEnteryForUser = new Otp(otp, user); /* <=== com.crapi.entity.Otp */ \n }\n checkOtpEnteryForUser.setStatus(EStatus.ACTIVE.toString());\n // Save otp details in Database.\n otpRepository.save(checkOtpEnteryForUser);\n // Sent OTP mail to user email address." }, { - "sample" : "checkOtpEnteryForUser", - "lineNumber" : 156, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " checkOtpEnteryForUser.setOtp(otp);\n } else {\n // Create new OTP object\n checkOtpEnteryForUser = new Otp(otp, user);\n }\n checkOtpEnteryForUser.setStatus(EStatus.ACTIVE.toString()); /* <=== com.crapi.entity.Otp */ \n // Save otp details in Database.\n otpRepository.save(checkOtpEnteryForUser);\n // Sent OTP mail to user email address.\n smtpMailServer.sendMail(\n user.getEmail(), MailBody.otpMailBody(checkOtpEnteryForUser), \"crAPI OTP\");" + "sample": "checkOtpEnteryForUser", + "lineNumber": 156, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " checkOtpEnteryForUser.setOtp(otp);\n } else {\n // Create new OTP object\n checkOtpEnteryForUser = new Otp(otp, user);\n }\n checkOtpEnteryForUser.setStatus(EStatus.ACTIVE.toString()); /* <=== com.crapi.entity.Otp */ \n // Save otp details in Database.\n otpRepository.save(checkOtpEnteryForUser);\n // Sent OTP mail to user email address.\n smtpMailServer.sendMail(\n user.getEmail(), MailBody.otpMailBody(checkOtpEnteryForUser), \"crAPI OTP\");" }, { - "sample" : "otpRepository.save(checkOtpEnteryForUser)", - "lineNumber" : 158, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " // Create new OTP object\n checkOtpEnteryForUser = new Otp(otp, user);\n }\n checkOtpEnteryForUser.setStatus(EStatus.ACTIVE.toString());\n // Save otp details in Database.\n otpRepository.save(checkOtpEnteryForUser); /* <=== com.crapi.repository.OtpRepository.save */ \n // Sent OTP mail to user email address.\n smtpMailServer.sendMail(\n user.getEmail(), MailBody.otpMailBody(checkOtpEnteryForUser), \"crAPI OTP\");\n return new CRAPIResponse(UserMessage.OTP_SEND_SUCCESS_ON_EMAIL + user.getEmail(), 200);\n }" + "sample": "otpRepository.save(checkOtpEnteryForUser)", + "lineNumber": 158, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " // Create new OTP object\n checkOtpEnteryForUser = new Otp(otp, user);\n }\n checkOtpEnteryForUser.setStatus(EStatus.ACTIVE.toString());\n // Save otp details in Database.\n otpRepository.save(checkOtpEnteryForUser); /* <=== com.crapi.repository.OtpRepository.save */ \n // Sent OTP mail to user email address.\n smtpMailServer.sendMail(\n user.getEmail(), MailBody.otpMailBody(checkOtpEnteryForUser), \"crAPI OTP\");\n return new CRAPIResponse(UserMessage.OTP_SEND_SUCCESS_ON_EMAIL + user.getEmail(), 200);\n }" } ] }, { - "pathId" : "9746-9771-9770-9773-9781-9777", - "path" : [ + "pathId": "9746-9771-9770-9773-9781-9777", + "path": [ { - "sample" : "java.lang.String email", - "lineNumber" : 35, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", - "excerpt" : " name = \"user_generator\",\n sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email; /* <=== 'email' is a member of 'com.crapi.entity.User' class */ \n private String password;\n private String number;\n\n @Column(length = 500)\n private String jwtToken;" + "sample": "java.lang.String email", + "lineNumber": 35, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", + "excerpt": " name = \"user_generator\",\n sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email; /* <=== 'email' is a member of 'com.crapi.entity.User' class */ \n private String password;\n private String number;\n\n @Column(length = 500)\n private String jwtToken;" }, { - "sample" : "user", - "lineNumber" : 184, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " @Override\n public CRAPIResponse checkVehicle(VehicleForm vehicleForm, HttpServletRequest request) {\n VehicleDetails checkVehicle = null;\n User user = null;\n checkVehicle = vehicleDetailsRepository.findByVin(vehicleForm.getVin());\n user = userService.getUserFromToken(request); /* <=== com.crapi.entity.User */ \n if (checkVehicle != null && checkVehicle.getOwner() == null) {\n if (checkVehicle.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n checkVehicle.setOwner(user);\n checkVehicle.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(checkVehicle);" + "sample": "user", + "lineNumber": 184, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " @Override\n public CRAPIResponse checkVehicle(VehicleForm vehicleForm, HttpServletRequest request) {\n VehicleDetails checkVehicle = null;\n User user = null;\n checkVehicle = vehicleDetailsRepository.findByVin(vehicleForm.getVin());\n user = userService.getUserFromToken(request); /* <=== com.crapi.entity.User */ \n if (checkVehicle != null && checkVehicle.getOwner() == null) {\n if (checkVehicle.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n checkVehicle.setOwner(user);\n checkVehicle.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(checkVehicle);" }, { - "sample" : "user", - "lineNumber" : 187, - "columnNumber" : 31, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " User user = null;\n checkVehicle = vehicleDetailsRepository.findByVin(vehicleForm.getVin());\n user = userService.getUserFromToken(request);\n if (checkVehicle != null && checkVehicle.getOwner() == null) {\n if (checkVehicle.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n checkVehicle.setOwner(user); /* <=== com.crapi.entity.User */ \n checkVehicle.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(checkVehicle);\n logger.info(\"Success Owner updated in vehicle details\");\n return new CRAPIResponse(UserMessage.VEHICLE_SAVED_SUCCESSFULLY, 200);\n }" + "sample": "user", + "lineNumber": 187, + "columnNumber": 31, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " User user = null;\n checkVehicle = vehicleDetailsRepository.findByVin(vehicleForm.getVin());\n user = userService.getUserFromToken(request);\n if (checkVehicle != null && checkVehicle.getOwner() == null) {\n if (checkVehicle.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n checkVehicle.setOwner(user); /* <=== com.crapi.entity.User */ \n checkVehicle.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(checkVehicle);\n logger.info(\"Success Owner updated in vehicle details\");\n return new CRAPIResponse(UserMessage.VEHICLE_SAVED_SUCCESSFULLY, 200);\n }" }, { - "sample" : "checkVehicle", - "lineNumber" : 187, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " User user = null;\n checkVehicle = vehicleDetailsRepository.findByVin(vehicleForm.getVin());\n user = userService.getUserFromToken(request);\n if (checkVehicle != null && checkVehicle.getOwner() == null) {\n if (checkVehicle.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n checkVehicle.setOwner(user); /* <=== com.crapi.entity.VehicleDetails */ \n checkVehicle.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(checkVehicle);\n logger.info(\"Success Owner updated in vehicle details\");\n return new CRAPIResponse(UserMessage.VEHICLE_SAVED_SUCCESSFULLY, 200);\n }" + "sample": "checkVehicle", + "lineNumber": 187, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " User user = null;\n checkVehicle = vehicleDetailsRepository.findByVin(vehicleForm.getVin());\n user = userService.getUserFromToken(request);\n if (checkVehicle != null && checkVehicle.getOwner() == null) {\n if (checkVehicle.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n checkVehicle.setOwner(user); /* <=== com.crapi.entity.VehicleDetails */ \n checkVehicle.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(checkVehicle);\n logger.info(\"Success Owner updated in vehicle details\");\n return new CRAPIResponse(UserMessage.VEHICLE_SAVED_SUCCESSFULLY, 200);\n }" }, { - "sample" : "checkVehicle", - "lineNumber" : 188, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " checkVehicle = vehicleDetailsRepository.findByVin(vehicleForm.getVin());\n user = userService.getUserFromToken(request);\n if (checkVehicle != null && checkVehicle.getOwner() == null) {\n if (checkVehicle.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n checkVehicle.setOwner(user);\n checkVehicle.setStatus(EStatus.INACTIVE); /* <=== com.crapi.entity.VehicleDetails */ \n vehicleDetailsRepository.save(checkVehicle);\n logger.info(\"Success Owner updated in vehicle details\");\n return new CRAPIResponse(UserMessage.VEHICLE_SAVED_SUCCESSFULLY, 200);\n }\n }" + "sample": "checkVehicle", + "lineNumber": 188, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " checkVehicle = vehicleDetailsRepository.findByVin(vehicleForm.getVin());\n user = userService.getUserFromToken(request);\n if (checkVehicle != null && checkVehicle.getOwner() == null) {\n if (checkVehicle.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n checkVehicle.setOwner(user);\n checkVehicle.setStatus(EStatus.INACTIVE); /* <=== com.crapi.entity.VehicleDetails */ \n vehicleDetailsRepository.save(checkVehicle);\n logger.info(\"Success Owner updated in vehicle details\");\n return new CRAPIResponse(UserMessage.VEHICLE_SAVED_SUCCESSFULLY, 200);\n }\n }" }, { - "sample" : "checkVehicle", - "lineNumber" : 189, - "columnNumber" : 39, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " user = userService.getUserFromToken(request);\n if (checkVehicle != null && checkVehicle.getOwner() == null) {\n if (checkVehicle.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n checkVehicle.setOwner(user);\n checkVehicle.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(checkVehicle); /* <=== com.crapi.entity.VehicleDetails */ \n logger.info(\"Success Owner updated in vehicle details\");\n return new CRAPIResponse(UserMessage.VEHICLE_SAVED_SUCCESSFULLY, 200);\n }\n }\n return new CRAPIResponse(UserMessage.VEHICLE_ALREADY_CREATED, 403);" + "sample": "checkVehicle", + "lineNumber": 189, + "columnNumber": 39, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " user = userService.getUserFromToken(request);\n if (checkVehicle != null && checkVehicle.getOwner() == null) {\n if (checkVehicle.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n checkVehicle.setOwner(user);\n checkVehicle.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(checkVehicle); /* <=== com.crapi.entity.VehicleDetails */ \n logger.info(\"Success Owner updated in vehicle details\");\n return new CRAPIResponse(UserMessage.VEHICLE_SAVED_SUCCESSFULLY, 200);\n }\n }\n return new CRAPIResponse(UserMessage.VEHICLE_ALREADY_CREATED, 403);" }, { - "sample" : "vehicleDetailsRepository.save(checkVehicle)", - "lineNumber" : 189, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " user = userService.getUserFromToken(request);\n if (checkVehicle != null && checkVehicle.getOwner() == null) {\n if (checkVehicle.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n checkVehicle.setOwner(user);\n checkVehicle.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(checkVehicle); /* <=== com.crapi.repository.VehicleDetailsRepository.save */ \n logger.info(\"Success Owner updated in vehicle details\");\n return new CRAPIResponse(UserMessage.VEHICLE_SAVED_SUCCESSFULLY, 200);\n }\n }\n return new CRAPIResponse(UserMessage.VEHICLE_ALREADY_CREATED, 403);" + "sample": "vehicleDetailsRepository.save(checkVehicle)", + "lineNumber": 189, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " user = userService.getUserFromToken(request);\n if (checkVehicle != null && checkVehicle.getOwner() == null) {\n if (checkVehicle.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n checkVehicle.setOwner(user);\n checkVehicle.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(checkVehicle); /* <=== com.crapi.repository.VehicleDetailsRepository.save */ \n logger.info(\"Success Owner updated in vehicle details\");\n return new CRAPIResponse(UserMessage.VEHICLE_SAVED_SUCCESSFULLY, 200);\n }\n }\n return new CRAPIResponse(UserMessage.VEHICLE_ALREADY_CREATED, 403);" } ] }, { - "pathId" : "8810-8813-8840-8836", - "path" : [ + "pathId": "8810-8813-8840-8836", + "path": [ { - "sample" : "java.lang.String newEmail", - "lineNumber" : 31, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/ChangeEmailRequest.java", - "excerpt" : " @Id\n @GeneratedValue(strategy = GenerationType.AUTO)\n private long id;\n\n @Column(name = \"new_email\")\n private String newEmail; /* <=== 'newEmail' is a member of 'com.crapi.entity.ChangeEmailRequest' class */ \n\n @Column(name = \"old_email\")\n private String oldEmail;\n\n @Column(name = \"email_token\")" + "sample": "java.lang.String newEmail", + "lineNumber": 31, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/ChangeEmailRequest.java", + "excerpt": " @Id\n @GeneratedValue(strategy = GenerationType.AUTO)\n private long id;\n\n @Column(name = \"new_email\")\n private String newEmail; /* <=== 'newEmail' is a member of 'com.crapi.entity.ChangeEmailRequest' class */ \n\n @Column(name = \"old_email\")\n private String oldEmail;\n\n @Column(name = \"email_token\")" }, { - "sample" : "changeEmailRequest", - "lineNumber" : 236, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " user = getUserFromToken(request);\n // fetching ChangeEmail Data for user\n changeEmailRequest = changeEmailRepository.findByUser(user);\n if (changeEmailRequest == null) {\n // Creating new object if changeEmail data for user is not in database\n changeEmailRequest = /* <=== com.crapi.entity.ChangeEmailRequest */ \n new ChangeEmailRequest(\n changeEmailForm.getNew_email(), changeEmailForm.getOld_email(), token, user);\n } else {\n // updating the existing changeEmail data for user\n changeEmailRequest.setEmailToken(token);" + "sample": "changeEmailRequest", + "lineNumber": 236, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " user = getUserFromToken(request);\n // fetching ChangeEmail Data for user\n changeEmailRequest = changeEmailRepository.findByUser(user);\n if (changeEmailRequest == null) {\n // Creating new object if changeEmail data for user is not in database\n changeEmailRequest = /* <=== com.crapi.entity.ChangeEmailRequest */ \n new ChangeEmailRequest(\n changeEmailForm.getNew_email(), changeEmailForm.getOld_email(), token, user);\n } else {\n // updating the existing changeEmail data for user\n changeEmailRequest.setEmailToken(token);" }, { - "sample" : "changeEmailRequest", - "lineNumber" : 236, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " user = getUserFromToken(request);\n // fetching ChangeEmail Data for user\n changeEmailRequest = changeEmailRepository.findByUser(user);\n if (changeEmailRequest == null) {\n // Creating new object if changeEmail data for user is not in database\n changeEmailRequest = /* <=== com.crapi.entity.ChangeEmailRequest */ \n new ChangeEmailRequest(\n changeEmailForm.getNew_email(), changeEmailForm.getOld_email(), token, user);\n } else {\n // updating the existing changeEmail data for user\n changeEmailRequest.setEmailToken(token);" + "sample": "changeEmailRequest", + "lineNumber": 236, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " user = getUserFromToken(request);\n // fetching ChangeEmail Data for user\n changeEmailRequest = changeEmailRepository.findByUser(user);\n if (changeEmailRequest == null) {\n // Creating new object if changeEmail data for user is not in database\n changeEmailRequest = /* <=== com.crapi.entity.ChangeEmailRequest */ \n new ChangeEmailRequest(\n changeEmailForm.getNew_email(), changeEmailForm.getOld_email(), token, user);\n } else {\n // updating the existing changeEmail data for user\n changeEmailRequest.setEmailToken(token);" }, { - "sample" : "changeEmailRequest", - "lineNumber" : 246, - "columnNumber" : 32, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " changeEmailRequest.setEmailToken(token);\n changeEmailRequest.setNewEmail(changeEmailForm.getNew_email());\n changeEmailRequest.setOldEmail(changeEmailForm.getOld_email());\n }\n changeEmailForm.setToken(token);\n changeEmailRepository.save(changeEmailRequest); /* <=== com.crapi.entity.ChangeEmailRequest */ \n smtpMailServer.sendMail(\n changeEmailForm.getNew_email(),\n MailBody.changeMailBody(changeEmailForm),\n \"crAPI: Change Email Token\");\n return new CRAPIResponse(" + "sample": "changeEmailRequest", + "lineNumber": 246, + "columnNumber": 32, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " changeEmailRequest.setEmailToken(token);\n changeEmailRequest.setNewEmail(changeEmailForm.getNew_email());\n changeEmailRequest.setOldEmail(changeEmailForm.getOld_email());\n }\n changeEmailForm.setToken(token);\n changeEmailRepository.save(changeEmailRequest); /* <=== com.crapi.entity.ChangeEmailRequest */ \n smtpMailServer.sendMail(\n changeEmailForm.getNew_email(),\n MailBody.changeMailBody(changeEmailForm),\n \"crAPI: Change Email Token\");\n return new CRAPIResponse(" }, { - "sample" : "changeEmailRepository.save(changeEmailRequest)", - "lineNumber" : 246, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " changeEmailRequest.setEmailToken(token);\n changeEmailRequest.setNewEmail(changeEmailForm.getNew_email());\n changeEmailRequest.setOldEmail(changeEmailForm.getOld_email());\n }\n changeEmailForm.setToken(token);\n changeEmailRepository.save(changeEmailRequest); /* <=== com.crapi.repository.ChangeEmailRepository.save */ \n smtpMailServer.sendMail(\n changeEmailForm.getNew_email(),\n MailBody.changeMailBody(changeEmailForm),\n \"crAPI: Change Email Token\");\n return new CRAPIResponse(" + "sample": "changeEmailRepository.save(changeEmailRequest)", + "lineNumber": 246, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " changeEmailRequest.setEmailToken(token);\n changeEmailRequest.setNewEmail(changeEmailForm.getNew_email());\n changeEmailRequest.setOldEmail(changeEmailForm.getOld_email());\n }\n changeEmailForm.setToken(token);\n changeEmailRepository.save(changeEmailRequest); /* <=== com.crapi.repository.ChangeEmailRepository.save */ \n smtpMailServer.sendMail(\n changeEmailForm.getNew_email(),\n MailBody.changeMailBody(changeEmailForm),\n \"crAPI: Change Email Token\");\n return new CRAPIResponse(" } ] }, { - "pathId" : "9024-9023-9067-8887-8886-8897-8909-8913-8919-8915", - "path" : [ + "pathId": "9024-9023-9067-8887-8886-8897-8909-8913-8919-8915", + "path": [ { - "sample" : "java.lang.String email", - "lineNumber" : 35, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", - "excerpt" : " name = \"user_generator\",\n sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email; /* <=== 'email' is a member of 'com.crapi.entity.User' class */ \n private String password;\n private String number;\n\n @Column(length = 500)\n private String jwtToken;" + "sample": "java.lang.String email", + "lineNumber": 35, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", + "excerpt": " name = \"user_generator\",\n sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email; /* <=== 'email' is a member of 'com.crapi.entity.User' class */ \n private String password;\n private String number;\n\n @Column(length = 500)\n private String jwtToken;" }, { - "sample" : "user", - "lineNumber" : 302, - "columnNumber" : 16, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n if (user != null) {\n return user; /* <=== com.crapi.entity.User */ \n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {\n logger.error(\"fail to get username from token -> Message:%d\", exception);" + "sample": "user", + "lineNumber": 302, + "columnNumber": 16, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n if (user != null) {\n return user; /* <=== com.crapi.entity.User */ \n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {\n logger.error(\"fail to get username from token -> Message:%d\", exception);" }, { - "sample" : "return user;", - "lineNumber" : 302, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n if (user != null) {\n return user; /* <=== */ \n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {\n logger.error(\"fail to get username from token -> Message:%d\", exception);" + "sample": "return user;", + "lineNumber": 302, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n if (user != null) {\n return user; /* <=== */ \n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {\n logger.error(\"fail to get username from token -> Message:%d\", exception);" }, { - "sample" : "com.crapi.entity.User", - "lineNumber" : 293, - "columnNumber" : 10, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " * @param request request getting jwt token for user from request header\n * @return User object from token throw entity not found if user not found.\n */\n @Transactional\n @Override\n public User getUserFromToken(HttpServletRequest request) { /* <=== */ \n User user = null;\n String username = null;\n try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {" + "sample": "com.crapi.entity.User", + "lineNumber": 293, + "columnNumber": 10, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " * @param request request getting jwt token for user from request header\n * @return User object from token throw entity not found if user not found.\n */\n @Transactional\n @Override\n public User getUserFromToken(HttpServletRequest request) { /* <=== */ \n User user = null;\n String username = null;\n try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {" }, { - "sample" : "this.getUserFromToken(request)", - "lineNumber" : 269, - "columnNumber" : 12, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " public CRAPIResponse verifyEmailToken(\n HttpServletRequest request, ChangeEmailForm changeEmailForm) {\n ChangeEmailRequest changeEmailRequest;\n User user;\n changeEmailRequest = changeEmailRepository.findByEmailToken(changeEmailForm.getToken());\n user = getUserFromToken(request); /* <=== com.crapi.service.Impl.UserServiceImpl.getUserFromToken */ \n if (changeEmailRequest != null) {\n if (user.getEmail().equalsIgnoreCase(changeEmailRequest.getOldEmail())) {\n if (changeEmailRequest.getNewEmail().equalsIgnoreCase(changeEmailForm.getNew_email())) {\n user.setEmail(changeEmailRequest.getNewEmail());\n user.setJwtToken(\"\");" + "sample": "this.getUserFromToken(request)", + "lineNumber": 269, + "columnNumber": 12, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " public CRAPIResponse verifyEmailToken(\n HttpServletRequest request, ChangeEmailForm changeEmailForm) {\n ChangeEmailRequest changeEmailRequest;\n User user;\n changeEmailRequest = changeEmailRepository.findByEmailToken(changeEmailForm.getToken());\n user = getUserFromToken(request); /* <=== com.crapi.service.Impl.UserServiceImpl.getUserFromToken */ \n if (changeEmailRequest != null) {\n if (user.getEmail().equalsIgnoreCase(changeEmailRequest.getOldEmail())) {\n if (changeEmailRequest.getNewEmail().equalsIgnoreCase(changeEmailForm.getNew_email())) {\n user.setEmail(changeEmailRequest.getNewEmail());\n user.setJwtToken(\"\");" }, { - "sample" : "user", - "lineNumber" : 269, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " public CRAPIResponse verifyEmailToken(\n HttpServletRequest request, ChangeEmailForm changeEmailForm) {\n ChangeEmailRequest changeEmailRequest;\n User user;\n changeEmailRequest = changeEmailRepository.findByEmailToken(changeEmailForm.getToken());\n user = getUserFromToken(request); /* <=== com.crapi.entity.User */ \n if (changeEmailRequest != null) {\n if (user.getEmail().equalsIgnoreCase(changeEmailRequest.getOldEmail())) {\n if (changeEmailRequest.getNewEmail().equalsIgnoreCase(changeEmailForm.getNew_email())) {\n user.setEmail(changeEmailRequest.getNewEmail());\n user.setJwtToken(\"\");" + "sample": "user", + "lineNumber": 269, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " public CRAPIResponse verifyEmailToken(\n HttpServletRequest request, ChangeEmailForm changeEmailForm) {\n ChangeEmailRequest changeEmailRequest;\n User user;\n changeEmailRequest = changeEmailRepository.findByEmailToken(changeEmailForm.getToken());\n user = getUserFromToken(request); /* <=== com.crapi.entity.User */ \n if (changeEmailRequest != null) {\n if (user.getEmail().equalsIgnoreCase(changeEmailRequest.getOldEmail())) {\n if (changeEmailRequest.getNewEmail().equalsIgnoreCase(changeEmailForm.getNew_email())) {\n user.setEmail(changeEmailRequest.getNewEmail());\n user.setJwtToken(\"\");" }, { - "sample" : "user", - "lineNumber" : 271, - "columnNumber" : 11, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " ChangeEmailRequest changeEmailRequest;\n User user;\n changeEmailRequest = changeEmailRepository.findByEmailToken(changeEmailForm.getToken());\n user = getUserFromToken(request);\n if (changeEmailRequest != null) {\n if (user.getEmail().equalsIgnoreCase(changeEmailRequest.getOldEmail())) { /* <=== com.crapi.entity.User */ \n if (changeEmailRequest.getNewEmail().equalsIgnoreCase(changeEmailForm.getNew_email())) {\n user.setEmail(changeEmailRequest.getNewEmail());\n user.setJwtToken(\"\");\n userRepository.save(user);\n return new CRAPIResponse(UserMessage.EMAIL_CHANGE_SUCCESSFUL, 200);" + "sample": "user", + "lineNumber": 271, + "columnNumber": 11, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " ChangeEmailRequest changeEmailRequest;\n User user;\n changeEmailRequest = changeEmailRepository.findByEmailToken(changeEmailForm.getToken());\n user = getUserFromToken(request);\n if (changeEmailRequest != null) {\n if (user.getEmail().equalsIgnoreCase(changeEmailRequest.getOldEmail())) { /* <=== com.crapi.entity.User */ \n if (changeEmailRequest.getNewEmail().equalsIgnoreCase(changeEmailForm.getNew_email())) {\n user.setEmail(changeEmailRequest.getNewEmail());\n user.setJwtToken(\"\");\n userRepository.save(user);\n return new CRAPIResponse(UserMessage.EMAIL_CHANGE_SUCCESSFUL, 200);" }, { - "sample" : "user", - "lineNumber" : 273, - "columnNumber" : 11, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " changeEmailRequest = changeEmailRepository.findByEmailToken(changeEmailForm.getToken());\n user = getUserFromToken(request);\n if (changeEmailRequest != null) {\n if (user.getEmail().equalsIgnoreCase(changeEmailRequest.getOldEmail())) {\n if (changeEmailRequest.getNewEmail().equalsIgnoreCase(changeEmailForm.getNew_email())) {\n user.setEmail(changeEmailRequest.getNewEmail()); /* <=== com.crapi.entity.User */ \n user.setJwtToken(\"\");\n userRepository.save(user);\n return new CRAPIResponse(UserMessage.EMAIL_CHANGE_SUCCESSFUL, 200);\n } else {\n return new CRAPIResponse(UserMessage.NEW_MAIL_DOES_NOT_BELONG, 500);" + "sample": "user", + "lineNumber": 273, + "columnNumber": 11, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " changeEmailRequest = changeEmailRepository.findByEmailToken(changeEmailForm.getToken());\n user = getUserFromToken(request);\n if (changeEmailRequest != null) {\n if (user.getEmail().equalsIgnoreCase(changeEmailRequest.getOldEmail())) {\n if (changeEmailRequest.getNewEmail().equalsIgnoreCase(changeEmailForm.getNew_email())) {\n user.setEmail(changeEmailRequest.getNewEmail()); /* <=== com.crapi.entity.User */ \n user.setJwtToken(\"\");\n userRepository.save(user);\n return new CRAPIResponse(UserMessage.EMAIL_CHANGE_SUCCESSFUL, 200);\n } else {\n return new CRAPIResponse(UserMessage.NEW_MAIL_DOES_NOT_BELONG, 500);" }, { - "sample" : "user", - "lineNumber" : 274, - "columnNumber" : 11, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " user = getUserFromToken(request);\n if (changeEmailRequest != null) {\n if (user.getEmail().equalsIgnoreCase(changeEmailRequest.getOldEmail())) {\n if (changeEmailRequest.getNewEmail().equalsIgnoreCase(changeEmailForm.getNew_email())) {\n user.setEmail(changeEmailRequest.getNewEmail());\n user.setJwtToken(\"\"); /* <=== com.crapi.entity.User */ \n userRepository.save(user);\n return new CRAPIResponse(UserMessage.EMAIL_CHANGE_SUCCESSFUL, 200);\n } else {\n return new CRAPIResponse(UserMessage.NEW_MAIL_DOES_NOT_BELONG, 500);\n }" + "sample": "user", + "lineNumber": 274, + "columnNumber": 11, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " user = getUserFromToken(request);\n if (changeEmailRequest != null) {\n if (user.getEmail().equalsIgnoreCase(changeEmailRequest.getOldEmail())) {\n if (changeEmailRequest.getNewEmail().equalsIgnoreCase(changeEmailForm.getNew_email())) {\n user.setEmail(changeEmailRequest.getNewEmail());\n user.setJwtToken(\"\"); /* <=== com.crapi.entity.User */ \n userRepository.save(user);\n return new CRAPIResponse(UserMessage.EMAIL_CHANGE_SUCCESSFUL, 200);\n } else {\n return new CRAPIResponse(UserMessage.NEW_MAIL_DOES_NOT_BELONG, 500);\n }" }, { - "sample" : "user", - "lineNumber" : 275, - "columnNumber" : 31, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " if (changeEmailRequest != null) {\n if (user.getEmail().equalsIgnoreCase(changeEmailRequest.getOldEmail())) {\n if (changeEmailRequest.getNewEmail().equalsIgnoreCase(changeEmailForm.getNew_email())) {\n user.setEmail(changeEmailRequest.getNewEmail());\n user.setJwtToken(\"\");\n userRepository.save(user); /* <=== com.crapi.entity.User */ \n return new CRAPIResponse(UserMessage.EMAIL_CHANGE_SUCCESSFUL, 200);\n } else {\n return new CRAPIResponse(UserMessage.NEW_MAIL_DOES_NOT_BELONG, 500);\n }\n } else {" + "sample": "user", + "lineNumber": 275, + "columnNumber": 31, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " if (changeEmailRequest != null) {\n if (user.getEmail().equalsIgnoreCase(changeEmailRequest.getOldEmail())) {\n if (changeEmailRequest.getNewEmail().equalsIgnoreCase(changeEmailForm.getNew_email())) {\n user.setEmail(changeEmailRequest.getNewEmail());\n user.setJwtToken(\"\");\n userRepository.save(user); /* <=== com.crapi.entity.User */ \n return new CRAPIResponse(UserMessage.EMAIL_CHANGE_SUCCESSFUL, 200);\n } else {\n return new CRAPIResponse(UserMessage.NEW_MAIL_DOES_NOT_BELONG, 500);\n }\n } else {" }, { - "sample" : "userRepository.save(user)", - "lineNumber" : 275, - "columnNumber" : 11, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " if (changeEmailRequest != null) {\n if (user.getEmail().equalsIgnoreCase(changeEmailRequest.getOldEmail())) {\n if (changeEmailRequest.getNewEmail().equalsIgnoreCase(changeEmailForm.getNew_email())) {\n user.setEmail(changeEmailRequest.getNewEmail());\n user.setJwtToken(\"\");\n userRepository.save(user); /* <=== com.crapi.repository.UserRepository.save */ \n return new CRAPIResponse(UserMessage.EMAIL_CHANGE_SUCCESSFUL, 200);\n } else {\n return new CRAPIResponse(UserMessage.NEW_MAIL_DOES_NOT_BELONG, 500);\n }\n } else {" + "sample": "userRepository.save(user)", + "lineNumber": 275, + "columnNumber": 11, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " if (changeEmailRequest != null) {\n if (user.getEmail().equalsIgnoreCase(changeEmailRequest.getOldEmail())) {\n if (changeEmailRequest.getNewEmail().equalsIgnoreCase(changeEmailForm.getNew_email())) {\n user.setEmail(changeEmailRequest.getNewEmail());\n user.setJwtToken(\"\");\n userRepository.save(user); /* <=== com.crapi.repository.UserRepository.save */ \n return new CRAPIResponse(UserMessage.EMAIL_CHANGE_SUCCESSFUL, 200);\n } else {\n return new CRAPIResponse(UserMessage.NEW_MAIL_DOES_NOT_BELONG, 500);\n }\n } else {" } ] }, { - "pathId" : "6690-6699-21890-12059-6653-6674-6669-6668-6677-6686-6682-6681-6689-7067-7072-7080-7087-7093-21895-6689-6726-6724-6723-6737", - "path" : [ + "pathId": "6690-6699-21890-12059-6653-6674-6669-6668-6677-6686-6682-6681-6689-7067-7072-7080-7087-7093-21895-6689-6726-6724-6723-6737", + "path": [ { - "sample" : "java.lang.String email", - "lineNumber" : 33, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/model/OtpForm.java", - "excerpt" : " @Size(min = 5, max = 30)\n private String password;\n\n @NotBlank\n @Size(min = 5, max = 30)\n private String email; /* <=== 'email' is a member of 'com.crapi.model.OtpForm' class */ \n}" + "sample": "java.lang.String email", + "lineNumber": 33, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/model/OtpForm.java", + "excerpt": " @Size(min = 5, max = 30)\n private String password;\n\n @NotBlank\n @Size(min = 5, max = 30)\n private String email; /* <=== 'email' is a member of 'com.crapi.model.OtpForm' class */ \n}" }, { - "sample" : "otpForm", - "lineNumber" : 82, - "columnNumber" : 36, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) { /* <=== com.crapi.model.OtpForm */ \n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {" + "sample": "otpForm", + "lineNumber": 82, + "columnNumber": 36, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) { /* <=== com.crapi.model.OtpForm */ \n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {" }, { - "sample" : "otpForm", - "lineNumber" : 83, - "columnNumber" : 41, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword())); /* <=== com.crapi.model.OtpForm */ \n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {\n otp.setCount(otp.getCount() + 1);" + "sample": "otpForm", + "lineNumber": 83, + "columnNumber": 41, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword())); /* <=== com.crapi.model.OtpForm */ \n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {\n otp.setCount(otp.getCount() + 1);" }, { - "sample" : "OtpForm otpForm", - "lineNumber" : 75, - "columnNumber" : 36, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " * @param otpForm\n * @return otp object, validate the otp and then reset the password of user\n */\n @Transactional\n @Override\n public CRAPIResponse validateOtp(OtpForm otpForm) { /* <=== */ \n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {" + "sample": "OtpForm otpForm", + "lineNumber": 75, + "columnNumber": 36, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " * @param otpForm\n * @return otp object, validate the otp and then reset the password of user\n */\n @Transactional\n @Override\n public CRAPIResponse validateOtp(OtpForm otpForm) { /* <=== */ \n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {" }, { - "sample" : "this.getDummyOtpForm()", - "lineNumber" : 83, - "columnNumber" : 28, - "fileName" : "/app/code/services/identity/src/test/java/com/crapi/service/Impl/OtpServiceImplTest.java", - "excerpt" : " }\n\n @Test(expected = EntityNotFoundException.class)\n public void validateOtpThrowsExceptionWhenUserNotFound() {\n Mockito.when(userRepository.findByEmail(Mockito.anyString())).thenReturn(null);\n otpService.validateOtp(getDummyOtpForm()); /* <=== com.crapi.service.Impl.OtpServiceImplTest.getDummyOtpForm */ \n }\n\n @Test\n public void validateOtpSuccess() {\n Otp otp = getDummyOtp();" + "sample": "this.getDummyOtpForm()", + "lineNumber": 83, + "columnNumber": 28, + "fileName": "/app/code/services/identity/src/test/java/com/crapi/service/Impl/OtpServiceImplTest.java", + "excerpt": " }\n\n @Test(expected = EntityNotFoundException.class)\n public void validateOtpThrowsExceptionWhenUserNotFound() {\n Mockito.when(userRepository.findByEmail(Mockito.anyString())).thenReturn(null);\n otpService.validateOtp(getDummyOtpForm()); /* <=== com.crapi.service.Impl.OtpServiceImplTest.getDummyOtpForm */ \n }\n\n @Test\n public void validateOtpSuccess() {\n Otp otp = getDummyOtp();" }, { - "sample" : "OtpForm otpForm", - "lineNumber" : 75, - "columnNumber" : 36, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " * @param otpForm\n * @return otp object, validate the otp and then reset the password of user\n */\n @Transactional\n @Override\n public CRAPIResponse validateOtp(OtpForm otpForm) { /* <=== */ \n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {" + "sample": "OtpForm otpForm", + "lineNumber": 75, + "columnNumber": 36, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " * @param otpForm\n * @return otp object, validate the otp and then reset the password of user\n */\n @Transactional\n @Override\n public CRAPIResponse validateOtp(OtpForm otpForm) { /* <=== */ \n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {" }, { - "sample" : "otpForm", - "lineNumber" : 79, - "columnNumber" : 39, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " @Override\n public CRAPIResponse validateOtp(OtpForm otpForm) {\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.model.OtpForm */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" + "sample": "otpForm", + "lineNumber": 79, + "columnNumber": 39, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " @Override\n public CRAPIResponse validateOtp(OtpForm otpForm) {\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.model.OtpForm */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" }, { - "sample" : "findByEmail(otpForm.getEmail())", - "lineNumber" : 79, - "columnNumber" : 12, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " @Override\n public CRAPIResponse validateOtp(OtpForm otpForm) {\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" + "sample": "findByEmail(otpForm.getEmail())", + "lineNumber": 79, + "columnNumber": 12, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " @Override\n public CRAPIResponse validateOtp(OtpForm otpForm) {\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" }, { - "sample" : "user", - "lineNumber" : 79, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " @Override\n public CRAPIResponse validateOtp(OtpForm otpForm) {\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.entity.User */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" + "sample": "user", + "lineNumber": 79, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " @Override\n public CRAPIResponse validateOtp(OtpForm otpForm) {\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.entity.User */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" }, { - "sample" : "user", - "lineNumber" : 80, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " public CRAPIResponse validateOtp(OtpForm otpForm) {\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) { /* <=== com.crapi.entity.User */ \n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());" + "sample": "user", + "lineNumber": 80, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " public CRAPIResponse validateOtp(OtpForm otpForm) {\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) { /* <=== com.crapi.entity.User */ \n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());" }, { - "sample" : "user", - "lineNumber" : 81, - "columnNumber" : 38, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user); /* <=== com.crapi.entity.User */ \n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);" + "sample": "user", + "lineNumber": 81, + "columnNumber": 38, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user); /* <=== com.crapi.entity.User */ \n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);" }, { - "sample" : "otpRepository.findByUser(user)", - "lineNumber" : 81, - "columnNumber" : 13, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user); /* <=== com.crapi.repository.OtpRepository.findByUser */ \n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);" + "sample": "otpRepository.findByUser(user)", + "lineNumber": 81, + "columnNumber": 13, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user); /* <=== com.crapi.repository.OtpRepository.findByUser */ \n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);" }, { - "sample" : "otp", - "lineNumber" : 81, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user); /* <=== com.crapi.entity.Otp */ \n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);" + "sample": "otp", + "lineNumber": 81, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user); /* <=== com.crapi.entity.Otp */ \n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);" }, { - "sample" : "otp", - "lineNumber" : 82, - "columnNumber" : 31, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) { /* <=== com.crapi.entity.Otp */ \n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {" + "sample": "otp", + "lineNumber": 82, + "columnNumber": 31, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) { /* <=== com.crapi.entity.Otp */ \n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {" }, { - "sample" : "Otp otp", - "lineNumber" : 173, - "columnNumber" : 38, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : "\n /**\n * @param otp\n * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) { /* <=== */ \n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;" + "sample": "Otp otp", + "lineNumber": 173, + "columnNumber": 38, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": "\n /**\n * @param otp\n * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) { /* <=== */ \n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;" }, { - "sample" : "otp", - "lineNumber" : 174, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " /**\n * @param otp\n * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) {\n if (otp != null) { /* <=== com.crapi.entity.Otp */ \n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;\n }" + "sample": "otp", + "lineNumber": 174, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " /**\n * @param otp\n * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) {\n if (otp != null) { /* <=== com.crapi.entity.Otp */ \n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;\n }" }, { - "sample" : "otp", - "lineNumber" : 175, - "columnNumber" : 11, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " * @param otp\n * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) {\n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString()) /* <=== com.crapi.entity.Otp */ \n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;\n }\n return false;" + "sample": "otp", + "lineNumber": 175, + "columnNumber": 11, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " * @param otp\n * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) {\n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString()) /* <=== com.crapi.entity.Otp */ \n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;\n }\n return false;" }, { - "sample" : "otp", - "lineNumber" : 176, - "columnNumber" : 14, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) {\n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp()) /* <=== com.crapi.entity.Otp */ \n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;\n }\n return false;\n }" + "sample": "otp", + "lineNumber": 176, + "columnNumber": 14, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) {\n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp()) /* <=== com.crapi.entity.Otp */ \n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;\n }\n return false;\n }" }, { - "sample" : "otp", - "lineNumber" : 177, - "columnNumber" : 14, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) {\n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) { /* <=== com.crapi.entity.Otp */ \n return true;\n }\n return false;\n }\n throw new EntityNotFoundException(Otp.class, \"OTP Details Not Found\", otpForm.getEmail());" + "sample": "otp", + "lineNumber": 177, + "columnNumber": 14, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) {\n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) { /* <=== com.crapi.entity.Otp */ \n return true;\n }\n return false;\n }\n throw new EntityNotFoundException(Otp.class, \"OTP Details Not Found\", otpForm.getEmail());" }, { - "sample" : "Otp otp", - "lineNumber" : 173, - "columnNumber" : 38, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : "\n /**\n * @param otp\n * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) { /* <=== */ \n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;" + "sample": "Otp otp", + "lineNumber": 173, + "columnNumber": 38, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": "\n /**\n * @param otp\n * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) { /* <=== */ \n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;" }, { - "sample" : "otp", - "lineNumber" : 82, - "columnNumber" : 31, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) { /* <=== com.crapi.entity.Otp */ \n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {" + "sample": "otp", + "lineNumber": 82, + "columnNumber": 31, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) { /* <=== com.crapi.entity.Otp */ \n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {" }, { - "sample" : "otp", - "lineNumber" : 88, - "columnNumber" : 22, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {\n otp.setCount(otp.getCount() + 1); /* <=== com.crapi.entity.Otp */ \n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);\n }\n otpRepository.save(otp);\n return validateOTPResponse;\n }" + "sample": "otp", + "lineNumber": 88, + "columnNumber": 22, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {\n otp.setCount(otp.getCount() + 1); /* <=== com.crapi.entity.Otp */ \n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);\n }\n otpRepository.save(otp);\n return validateOTPResponse;\n }" }, { - "sample" : "otp.getCount() + 1", - "lineNumber" : 88, - "columnNumber" : 22, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {\n otp.setCount(otp.getCount() + 1); /* <=== */ \n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);\n }\n otpRepository.save(otp);\n return validateOTPResponse;\n }" + "sample": "otp.getCount() + 1", + "lineNumber": 88, + "columnNumber": 22, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {\n otp.setCount(otp.getCount() + 1); /* <=== */ \n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);\n }\n otpRepository.save(otp);\n return validateOTPResponse;\n }" }, { - "sample" : "otp", - "lineNumber" : 88, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {\n otp.setCount(otp.getCount() + 1); /* <=== com.crapi.entity.Otp */ \n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);\n }\n otpRepository.save(otp);\n return validateOTPResponse;\n }" + "sample": "otp", + "lineNumber": 88, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {\n otp.setCount(otp.getCount() + 1); /* <=== com.crapi.entity.Otp */ \n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);\n }\n otpRepository.save(otp);\n return validateOTPResponse;\n }" }, { - "sample" : "otpRepository.save(otp)", - "lineNumber" : 91, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);\n }\n otpRepository.save(otp); /* <=== com.crapi.repository.OtpRepository.save */ \n return validateOTPResponse;\n }\n throw new EntityNotFoundException(User.class, \"userEmail\", otpForm.getEmail());\n }\n" + "sample": "otpRepository.save(otp)", + "lineNumber": 91, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);\n }\n otpRepository.save(otp); /* <=== com.crapi.repository.OtpRepository.save */ \n return validateOTPResponse;\n }\n throw new EntityNotFoundException(User.class, \"userEmail\", otpForm.getEmail());\n }\n" } ] }, { - "pathId" : "6690-6699-6698-6695-6694-6693-6704-6700", - "path" : [ + "pathId": "6690-6699-6698-6695-6694-6693-6704-6700", + "path": [ { - "sample" : "java.lang.String email", - "lineNumber" : 33, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/model/OtpForm.java", - "excerpt" : " @Size(min = 5, max = 30)\n private String password;\n\n @NotBlank\n @Size(min = 5, max = 30)\n private String email; /* <=== 'email' is a member of 'com.crapi.model.OtpForm' class */ \n}" + "sample": "java.lang.String email", + "lineNumber": 33, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/model/OtpForm.java", + "excerpt": " @Size(min = 5, max = 30)\n private String password;\n\n @NotBlank\n @Size(min = 5, max = 30)\n private String email; /* <=== 'email' is a member of 'com.crapi.model.OtpForm' class */ \n}" }, { - "sample" : "otpForm", - "lineNumber" : 82, - "columnNumber" : 36, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) { /* <=== com.crapi.model.OtpForm */ \n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {" + "sample": "otpForm", + "lineNumber": 82, + "columnNumber": 36, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) { /* <=== com.crapi.model.OtpForm */ \n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {" }, { - "sample" : "otpForm", - "lineNumber" : 83, - "columnNumber" : 41, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword())); /* <=== com.crapi.model.OtpForm */ \n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {\n otp.setCount(otp.getCount() + 1);" + "sample": "otpForm", + "lineNumber": 83, + "columnNumber": 41, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword())); /* <=== com.crapi.model.OtpForm */ \n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {\n otp.setCount(otp.getCount() + 1);" }, { - "sample" : "getPassword()", - "lineNumber" : 83, - "columnNumber" : 41, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword())); /* <=== com.crapi.model.OtpForm.getPassword */ \n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {\n otp.setCount(otp.getCount() + 1);" + "sample": "getPassword()", + "lineNumber": 83, + "columnNumber": 41, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword())); /* <=== com.crapi.model.OtpForm.getPassword */ \n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {\n otp.setCount(otp.getCount() + 1);" }, { - "sample" : "this.encoder", - "lineNumber" : 83, - "columnNumber" : 26, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword())); /* <=== */ \n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {\n otp.setCount(otp.getCount() + 1);" + "sample": "this.encoder", + "lineNumber": 83, + "columnNumber": 26, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword())); /* <=== */ \n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {\n otp.setCount(otp.getCount() + 1);" }, { - "sample" : "encode(otpForm.getPassword())", - "lineNumber" : 83, - "columnNumber" : 26, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword())); /* <=== org.springframework.security.crypto.password.PasswordEncoder.encode */ \n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {\n otp.setCount(otp.getCount() + 1);" + "sample": "encode(otpForm.getPassword())", + "lineNumber": 83, + "columnNumber": 26, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword())); /* <=== org.springframework.security.crypto.password.PasswordEncoder.encode */ \n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {\n otp.setCount(otp.getCount() + 1);" }, { - "sample" : "user", - "lineNumber" : 83, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword())); /* <=== com.crapi.entity.User */ \n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {\n otp.setCount(otp.getCount() + 1);" + "sample": "user", + "lineNumber": 83, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword())); /* <=== com.crapi.entity.User */ \n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {\n otp.setCount(otp.getCount() + 1);" }, { - "sample" : "user", - "lineNumber" : 84, - "columnNumber" : 29, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user); /* <=== com.crapi.entity.User */ \n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);" + "sample": "user", + "lineNumber": 84, + "columnNumber": 29, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user); /* <=== com.crapi.entity.User */ \n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);" }, { - "sample" : "userRepository.save(user)", - "lineNumber" : 84, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user); /* <=== com.crapi.repository.UserRepository.save */ \n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);" + "sample": "userRepository.save(user)", + "lineNumber": 84, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user); /* <=== com.crapi.repository.UserRepository.save */ \n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);" } ] }, { - "pathId" : "6805-6814-6813-6810-6809-6808-6819-6815", - "path" : [ + "pathId": "6805-6814-6813-6810-6809-6808-6819-6815", + "path": [ { - "sample" : "java.lang.String email", - "lineNumber" : 33, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/model/OtpForm.java", - "excerpt" : " @Size(min = 5, max = 30)\n private String password;\n\n @NotBlank\n @Size(min = 5, max = 30)\n private String email; /* <=== 'email' is a member of 'com.crapi.model.OtpForm' class */ \n}" + "sample": "java.lang.String email", + "lineNumber": 33, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/model/OtpForm.java", + "excerpt": " @Size(min = 5, max = 30)\n private String password;\n\n @NotBlank\n @Size(min = 5, max = 30)\n private String email; /* <=== 'email' is a member of 'com.crapi.model.OtpForm' class */ \n}" }, { - "sample" : "otpForm", - "lineNumber" : 106, - "columnNumber" : 36, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) { /* <=== com.crapi.model.OtpForm */ \n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) {" + "sample": "otpForm", + "lineNumber": 106, + "columnNumber": 36, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) { /* <=== com.crapi.model.OtpForm */ \n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) {" }, { - "sample" : "otpForm", - "lineNumber" : 107, - "columnNumber" : 41, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword())); /* <=== com.crapi.model.OtpForm */ \n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);" + "sample": "otpForm", + "lineNumber": 107, + "columnNumber": 41, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword())); /* <=== com.crapi.model.OtpForm */ \n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);" }, { - "sample" : "getPassword()", - "lineNumber" : 107, - "columnNumber" : 41, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword())); /* <=== com.crapi.model.OtpForm.getPassword */ \n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);" + "sample": "getPassword()", + "lineNumber": 107, + "columnNumber": 41, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword())); /* <=== com.crapi.model.OtpForm.getPassword */ \n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);" }, { - "sample" : "this.encoder", - "lineNumber" : 107, - "columnNumber" : 26, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword())); /* <=== */ \n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);" + "sample": "this.encoder", + "lineNumber": 107, + "columnNumber": 26, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword())); /* <=== */ \n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);" }, { - "sample" : "encode(otpForm.getPassword())", - "lineNumber" : 107, - "columnNumber" : 26, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword())); /* <=== org.springframework.security.crypto.password.PasswordEncoder.encode */ \n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);" + "sample": "encode(otpForm.getPassword())", + "lineNumber": 107, + "columnNumber": 26, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword())); /* <=== org.springframework.security.crypto.password.PasswordEncoder.encode */ \n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);" }, { - "sample" : "user", - "lineNumber" : 107, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword())); /* <=== com.crapi.entity.User */ \n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);" + "sample": "user", + "lineNumber": 107, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword())); /* <=== com.crapi.entity.User */ \n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);" }, { - "sample" : "user", - "lineNumber" : 108, - "columnNumber" : 29, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user); /* <=== com.crapi.entity.User */ \n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);\n invalidateOtp(otp);" + "sample": "user", + "lineNumber": 108, + "columnNumber": 29, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user); /* <=== com.crapi.entity.User */ \n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);\n invalidateOtp(otp);" }, { - "sample" : "userRepository.save(user)", - "lineNumber" : 108, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user); /* <=== com.crapi.repository.UserRepository.save */ \n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);\n invalidateOtp(otp);" + "sample": "userRepository.save(user)", + "lineNumber": 108, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user); /* <=== com.crapi.repository.UserRepository.save */ \n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);\n invalidateOtp(otp);" } ] }, { - "pathId" : "8084-8087-8107-8103", - "path" : [ + "pathId": "8084-8087-8107-8103", + "path": [ { - "sample" : "java.lang.String email", - "lineNumber" : 35, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", - "excerpt" : " name = \"user_generator\",\n sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email; /* <=== 'email' is a member of 'com.crapi.entity.User' class */ \n private String password;\n private String number;\n\n @Column(length = 500)\n private String jwtToken;" + "sample": "java.lang.String email", + "lineNumber": 35, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", + "excerpt": " name = \"user_generator\",\n sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email; /* <=== 'email' is a member of 'com.crapi.entity.User' class */ \n private String password;\n private String number;\n\n @Column(length = 500)\n private String jwtToken;" }, { - "sample" : "user", - "lineNumber" : 90, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", - "excerpt" : " if (userRepository.existsByEmail(signUpRequest.getEmail())) {\n return new CRAPIResponse(\n UserMessage.EMAIL_ALREADY_REGISTERED + signUpRequest.getEmail(), 403);\n }\n // Register new user in Database\n user = /* <=== com.crapi.entity.User */ \n new User(\n signUpRequest.getEmail(),\n signUpRequest.getNumber(),\n encoder.encode(signUpRequest.getPassword()),\n ERole.ROLE_USER);" + "sample": "user", + "lineNumber": 90, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", + "excerpt": " if (userRepository.existsByEmail(signUpRequest.getEmail())) {\n return new CRAPIResponse(\n UserMessage.EMAIL_ALREADY_REGISTERED + signUpRequest.getEmail(), 403);\n }\n // Register new user in Database\n user = /* <=== com.crapi.entity.User */ \n new User(\n signUpRequest.getEmail(),\n signUpRequest.getNumber(),\n encoder.encode(signUpRequest.getPassword()),\n ERole.ROLE_USER);" }, { - "sample" : "user", - "lineNumber" : 90, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", - "excerpt" : " if (userRepository.existsByEmail(signUpRequest.getEmail())) {\n return new CRAPIResponse(\n UserMessage.EMAIL_ALREADY_REGISTERED + signUpRequest.getEmail(), 403);\n }\n // Register new user in Database\n user = /* <=== com.crapi.entity.User */ \n new User(\n signUpRequest.getEmail(),\n signUpRequest.getNumber(),\n encoder.encode(signUpRequest.getPassword()),\n ERole.ROLE_USER);" + "sample": "user", + "lineNumber": 90, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", + "excerpt": " if (userRepository.existsByEmail(signUpRequest.getEmail())) {\n return new CRAPIResponse(\n UserMessage.EMAIL_ALREADY_REGISTERED + signUpRequest.getEmail(), 403);\n }\n // Register new user in Database\n user = /* <=== com.crapi.entity.User */ \n new User(\n signUpRequest.getEmail(),\n signUpRequest.getNumber(),\n encoder.encode(signUpRequest.getPassword()),\n ERole.ROLE_USER);" }, { - "sample" : "user", - "lineNumber" : 96, - "columnNumber" : 32, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", - "excerpt" : " new User(\n signUpRequest.getEmail(),\n signUpRequest.getNumber(),\n encoder.encode(signUpRequest.getPassword()),\n ERole.ROLE_USER);\n user = userRepository.save(user); /* <=== com.crapi.entity.User */ \n if (user != null) {\n logger.info(\"User registered successful with userId {}\", user.getId());\n // Creating User Details for same user\n userDetails = createUserDetails(signUpRequest.getName(), user);\n if (userDetails != null) {" + "sample": "user", + "lineNumber": 96, + "columnNumber": 32, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", + "excerpt": " new User(\n signUpRequest.getEmail(),\n signUpRequest.getNumber(),\n encoder.encode(signUpRequest.getPassword()),\n ERole.ROLE_USER);\n user = userRepository.save(user); /* <=== com.crapi.entity.User */ \n if (user != null) {\n logger.info(\"User registered successful with userId {}\", user.getId());\n // Creating User Details for same user\n userDetails = createUserDetails(signUpRequest.getName(), user);\n if (userDetails != null) {" }, { - "sample" : "userRepository.save(user)", - "lineNumber" : 96, - "columnNumber" : 12, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", - "excerpt" : " new User(\n signUpRequest.getEmail(),\n signUpRequest.getNumber(),\n encoder.encode(signUpRequest.getPassword()),\n ERole.ROLE_USER);\n user = userRepository.save(user); /* <=== com.crapi.repository.UserRepository.save */ \n if (user != null) {\n logger.info(\"User registered successful with userId {}\", user.getId());\n // Creating User Details for same user\n userDetails = createUserDetails(signUpRequest.getName(), user);\n if (userDetails != null) {" + "sample": "userRepository.save(user)", + "lineNumber": 96, + "columnNumber": 12, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", + "excerpt": " new User(\n signUpRequest.getEmail(),\n signUpRequest.getNumber(),\n encoder.encode(signUpRequest.getPassword()),\n ERole.ROLE_USER);\n user = userRepository.save(user); /* <=== com.crapi.repository.UserRepository.save */ \n if (user != null) {\n logger.info(\"User registered successful with userId {}\", user.getId());\n // Creating User Details for same user\n userDetails = createUserDetails(signUpRequest.getName(), user);\n if (userDetails != null) {" } ] }, { - "pathId" : "7421-7434-7429-7428-7437-7441-3602-21692-7441-7454-3744-3746-3752-7453-7446-3754-3759-3757-21693-7445-7455", - "path" : [ + "pathId": "7421-7434-7429-7428-7437-7441-3602-21692-7441-7454-3744-3746-3752-7453-7446-3754-3759-3757-21693-7445-7455", + "path": [ { - "sample" : "java.lang.String email", - "lineNumber" : 35, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", - "excerpt" : " name = \"user_generator\",\n sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email; /* <=== 'email' is a member of 'com.crapi.entity.User' class */ \n private String password;\n private String number;\n\n @Column(length = 500)\n private String jwtToken;" + "sample": "java.lang.String email", + "lineNumber": 35, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", + "excerpt": " name = \"user_generator\",\n sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email; /* <=== 'email' is a member of 'com.crapi.entity.User' class */ \n private String password;\n private String number;\n\n @Column(length = 500)\n private String jwtToken;" }, { - "sample" : "user", - "lineNumber" : 146, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " @Transactional\n @Override\n public ProfileVideo updateProfileVideo(VideoForm videoForm, HttpServletRequest request) {\n User user;\n ProfileVideo profileVideo;\n user = userService.getUserFromToken(request); /* <=== com.crapi.entity.User */ \n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n if (profileVideo != null) {\n profileVideo.setVideo_name(videoForm.getVideoName());\n profileVideo.setConversion_params(\n (videoForm.getConversion_params() != null" + "sample": "user", + "lineNumber": 146, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " @Transactional\n @Override\n public ProfileVideo updateProfileVideo(VideoForm videoForm, HttpServletRequest request) {\n User user;\n ProfileVideo profileVideo;\n user = userService.getUserFromToken(request); /* <=== com.crapi.entity.User */ \n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n if (profileVideo != null) {\n profileVideo.setVideo_name(videoForm.getVideoName());\n profileVideo.setConversion_params(\n (videoForm.getConversion_params() != null" }, { - "sample" : "user", - "lineNumber" : 147, - "columnNumber" : 57, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " @Override\n public ProfileVideo updateProfileVideo(VideoForm videoForm, HttpServletRequest request) {\n User user;\n ProfileVideo profileVideo;\n user = userService.getUserFromToken(request);\n profileVideo = profileVideoRepository.findByUser_id(user.getId()); /* <=== com.crapi.entity.User */ \n if (profileVideo != null) {\n profileVideo.setVideo_name(videoForm.getVideoName());\n profileVideo.setConversion_params(\n (videoForm.getConversion_params() != null\n ? videoForm.getConversion_params()" + "sample": "user", + "lineNumber": 147, + "columnNumber": 57, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " @Override\n public ProfileVideo updateProfileVideo(VideoForm videoForm, HttpServletRequest request) {\n User user;\n ProfileVideo profileVideo;\n user = userService.getUserFromToken(request);\n profileVideo = profileVideoRepository.findByUser_id(user.getId()); /* <=== com.crapi.entity.User */ \n if (profileVideo != null) {\n profileVideo.setVideo_name(videoForm.getVideoName());\n profileVideo.setConversion_params(\n (videoForm.getConversion_params() != null\n ? videoForm.getConversion_params()" }, { - "sample" : "findByUser_id(user.getId())", - "lineNumber" : 147, - "columnNumber" : 20, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " @Override\n public ProfileVideo updateProfileVideo(VideoForm videoForm, HttpServletRequest request) {\n User user;\n ProfileVideo profileVideo;\n user = userService.getUserFromToken(request);\n profileVideo = profileVideoRepository.findByUser_id(user.getId()); /* <=== com.crapi.repository.ProfileVideoRepository.findByUser_id */ \n if (profileVideo != null) {\n profileVideo.setVideo_name(videoForm.getVideoName());\n profileVideo.setConversion_params(\n (videoForm.getConversion_params() != null\n ? videoForm.getConversion_params()" + "sample": "findByUser_id(user.getId())", + "lineNumber": 147, + "columnNumber": 20, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " @Override\n public ProfileVideo updateProfileVideo(VideoForm videoForm, HttpServletRequest request) {\n User user;\n ProfileVideo profileVideo;\n user = userService.getUserFromToken(request);\n profileVideo = profileVideoRepository.findByUser_id(user.getId()); /* <=== com.crapi.repository.ProfileVideoRepository.findByUser_id */ \n if (profileVideo != null) {\n profileVideo.setVideo_name(videoForm.getVideoName());\n profileVideo.setConversion_params(\n (videoForm.getConversion_params() != null\n ? videoForm.getConversion_params()" }, { - "sample" : "profileVideo", - "lineNumber" : 147, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " @Override\n public ProfileVideo updateProfileVideo(VideoForm videoForm, HttpServletRequest request) {\n User user;\n ProfileVideo profileVideo;\n user = userService.getUserFromToken(request);\n profileVideo = profileVideoRepository.findByUser_id(user.getId()); /* <=== com.crapi.entity.ProfileVideo */ \n if (profileVideo != null) {\n profileVideo.setVideo_name(videoForm.getVideoName());\n profileVideo.setConversion_params(\n (videoForm.getConversion_params() != null\n ? videoForm.getConversion_params()" + "sample": "profileVideo", + "lineNumber": 147, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " @Override\n public ProfileVideo updateProfileVideo(VideoForm videoForm, HttpServletRequest request) {\n User user;\n ProfileVideo profileVideo;\n user = userService.getUserFromToken(request);\n profileVideo = profileVideoRepository.findByUser_id(user.getId()); /* <=== com.crapi.entity.ProfileVideo */ \n if (profileVideo != null) {\n profileVideo.setVideo_name(videoForm.getVideoName());\n profileVideo.setConversion_params(\n (videoForm.getConversion_params() != null\n ? videoForm.getConversion_params()" }, { - "sample" : "profileVideo", - "lineNumber" : 148, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " public ProfileVideo updateProfileVideo(VideoForm videoForm, HttpServletRequest request) {\n User user;\n ProfileVideo profileVideo;\n user = userService.getUserFromToken(request);\n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n if (profileVideo != null) { /* <=== com.crapi.entity.ProfileVideo */ \n profileVideo.setVideo_name(videoForm.getVideoName());\n profileVideo.setConversion_params(\n (videoForm.getConversion_params() != null\n ? videoForm.getConversion_params()\n : profileVideo.getConversion_params()));" + "sample": "profileVideo", + "lineNumber": 148, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " public ProfileVideo updateProfileVideo(VideoForm videoForm, HttpServletRequest request) {\n User user;\n ProfileVideo profileVideo;\n user = userService.getUserFromToken(request);\n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n if (profileVideo != null) { /* <=== com.crapi.entity.ProfileVideo */ \n profileVideo.setVideo_name(videoForm.getVideoName());\n profileVideo.setConversion_params(\n (videoForm.getConversion_params() != null\n ? videoForm.getConversion_params()\n : profileVideo.getConversion_params()));" }, { - "sample" : "profileVideo", - "lineNumber" : 149, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " User user;\n ProfileVideo profileVideo;\n user = userService.getUserFromToken(request);\n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n if (profileVideo != null) {\n profileVideo.setVideo_name(videoForm.getVideoName()); /* <=== com.crapi.entity.ProfileVideo */ \n profileVideo.setConversion_params(\n (videoForm.getConversion_params() != null\n ? videoForm.getConversion_params()\n : profileVideo.getConversion_params()));\n profileVideoRepository.save(profileVideo);" + "sample": "profileVideo", + "lineNumber": 149, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " User user;\n ProfileVideo profileVideo;\n user = userService.getUserFromToken(request);\n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n if (profileVideo != null) {\n profileVideo.setVideo_name(videoForm.getVideoName()); /* <=== com.crapi.entity.ProfileVideo */ \n profileVideo.setConversion_params(\n (videoForm.getConversion_params() != null\n ? videoForm.getConversion_params()\n : profileVideo.getConversion_params()));\n profileVideoRepository.save(profileVideo);" }, { - "sample" : "this", - "lineNumber" : 64, - "columnNumber" : -1, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", - "excerpt" : "\n public String getVideo_name() {\n return video_name;\n }\n\n public void setVideo_name(String video_name) { /* <=== */ \n this.video_name = video_name;\n }\n\n public String getConversion_params() {\n return conversion_params;" + "sample": "this", + "lineNumber": 64, + "columnNumber": -1, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", + "excerpt": "\n public String getVideo_name() {\n return video_name;\n }\n\n public void setVideo_name(String video_name) { /* <=== */ \n this.video_name = video_name;\n }\n\n public String getConversion_params() {\n return conversion_params;" }, { - "sample" : "this", - "lineNumber" : 64, - "columnNumber" : -1, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", - "excerpt" : "\n public String getVideo_name() {\n return video_name;\n }\n\n public void setVideo_name(String video_name) { /* <=== */ \n this.video_name = video_name;\n }\n\n public String getConversion_params() {\n return conversion_params;" + "sample": "this", + "lineNumber": 64, + "columnNumber": -1, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", + "excerpt": "\n public String getVideo_name() {\n return video_name;\n }\n\n public void setVideo_name(String video_name) { /* <=== */ \n this.video_name = video_name;\n }\n\n public String getConversion_params() {\n return conversion_params;" }, { - "sample" : "profileVideo", - "lineNumber" : 149, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " User user;\n ProfileVideo profileVideo;\n user = userService.getUserFromToken(request);\n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n if (profileVideo != null) {\n profileVideo.setVideo_name(videoForm.getVideoName()); /* <=== com.crapi.entity.ProfileVideo */ \n profileVideo.setConversion_params(\n (videoForm.getConversion_params() != null\n ? videoForm.getConversion_params()\n : profileVideo.getConversion_params()));\n profileVideoRepository.save(profileVideo);" + "sample": "profileVideo", + "lineNumber": 149, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " User user;\n ProfileVideo profileVideo;\n user = userService.getUserFromToken(request);\n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n if (profileVideo != null) {\n profileVideo.setVideo_name(videoForm.getVideoName()); /* <=== com.crapi.entity.ProfileVideo */ \n profileVideo.setConversion_params(\n (videoForm.getConversion_params() != null\n ? videoForm.getConversion_params()\n : profileVideo.getConversion_params()));\n profileVideoRepository.save(profileVideo);" }, { - "sample" : "profileVideo", - "lineNumber" : 153, - "columnNumber" : 17, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " if (profileVideo != null) {\n profileVideo.setVideo_name(videoForm.getVideoName());\n profileVideo.setConversion_params(\n (videoForm.getConversion_params() != null\n ? videoForm.getConversion_params()\n : profileVideo.getConversion_params())); /* <=== com.crapi.entity.ProfileVideo */ \n profileVideoRepository.save(profileVideo);\n return profileVideo;\n }\n throw new CRAPIExceptionHandler(UserMessage.SORRY_DIDNT_GET_PROFILE + user.getEmail(), 404);\n }" + "sample": "profileVideo", + "lineNumber": 153, + "columnNumber": 17, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " if (profileVideo != null) {\n profileVideo.setVideo_name(videoForm.getVideoName());\n profileVideo.setConversion_params(\n (videoForm.getConversion_params() != null\n ? videoForm.getConversion_params()\n : profileVideo.getConversion_params())); /* <=== com.crapi.entity.ProfileVideo */ \n profileVideoRepository.save(profileVideo);\n return profileVideo;\n }\n throw new CRAPIExceptionHandler(UserMessage.SORRY_DIDNT_GET_PROFILE + user.getEmail(), 404);\n }" }, { - "sample" : "this", - "lineNumber" : 68, - "columnNumber" : -1, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", - "excerpt" : "\n public void setVideo_name(String video_name) {\n this.video_name = video_name;\n }\n\n public String getConversion_params() { /* <=== */ \n return conversion_params;\n }\n\n public void setConversion_params(String conversion_params) {\n this.conversion_params = conversion_params;" + "sample": "this", + "lineNumber": 68, + "columnNumber": -1, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", + "excerpt": "\n public void setVideo_name(String video_name) {\n this.video_name = video_name;\n }\n\n public String getConversion_params() { /* <=== */ \n return conversion_params;\n }\n\n public void setConversion_params(String conversion_params) {\n this.conversion_params = conversion_params;" }, { - "sample" : "return conversion_params;", - "lineNumber" : 69, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", - "excerpt" : " public void setVideo_name(String video_name) {\n this.video_name = video_name;\n }\n\n public String getConversion_params() {\n return conversion_params; /* <=== */ \n }\n\n public void setConversion_params(String conversion_params) {\n this.conversion_params = conversion_params;\n }" + "sample": "return conversion_params;", + "lineNumber": 69, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", + "excerpt": " public void setVideo_name(String video_name) {\n this.video_name = video_name;\n }\n\n public String getConversion_params() {\n return conversion_params; /* <=== */ \n }\n\n public void setConversion_params(String conversion_params) {\n this.conversion_params = conversion_params;\n }" }, { - "sample" : "java.lang.String", - "lineNumber" : 68, - "columnNumber" : 10, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", - "excerpt" : "\n public void setVideo_name(String video_name) {\n this.video_name = video_name;\n }\n\n public String getConversion_params() { /* <=== */ \n return conversion_params;\n }\n\n public void setConversion_params(String conversion_params) {\n this.conversion_params = conversion_params;" + "sample": "java.lang.String", + "lineNumber": 68, + "columnNumber": 10, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", + "excerpt": "\n public void setVideo_name(String video_name) {\n this.video_name = video_name;\n }\n\n public String getConversion_params() { /* <=== */ \n return conversion_params;\n }\n\n public void setConversion_params(String conversion_params) {\n this.conversion_params = conversion_params;" }, { - "sample" : "profileVideo.getConversion_params()", - "lineNumber" : 153, - "columnNumber" : 17, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " if (profileVideo != null) {\n profileVideo.setVideo_name(videoForm.getVideoName());\n profileVideo.setConversion_params(\n (videoForm.getConversion_params() != null\n ? videoForm.getConversion_params()\n : profileVideo.getConversion_params())); /* <=== com.crapi.entity.ProfileVideo.getConversion_params */ \n profileVideoRepository.save(profileVideo);\n return profileVideo;\n }\n throw new CRAPIExceptionHandler(UserMessage.SORRY_DIDNT_GET_PROFILE + user.getEmail(), 404);\n }" + "sample": "profileVideo.getConversion_params()", + "lineNumber": 153, + "columnNumber": 17, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " if (profileVideo != null) {\n profileVideo.setVideo_name(videoForm.getVideoName());\n profileVideo.setConversion_params(\n (videoForm.getConversion_params() != null\n ? videoForm.getConversion_params()\n : profileVideo.getConversion_params())); /* <=== com.crapi.entity.ProfileVideo.getConversion_params */ \n profileVideoRepository.save(profileVideo);\n return profileVideo;\n }\n throw new CRAPIExceptionHandler(UserMessage.SORRY_DIDNT_GET_PROFILE + user.getEmail(), 404);\n }" }, { - "sample" : "videoForm.getConversion_params() != null ? videoForm.getConversion_params() : profileVideo.getConversion_params()", - "lineNumber" : 151, - "columnNumber" : 12, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " user = userService.getUserFromToken(request);\n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n if (profileVideo != null) {\n profileVideo.setVideo_name(videoForm.getVideoName());\n profileVideo.setConversion_params(\n (videoForm.getConversion_params() != null /* <=== */ \n ? videoForm.getConversion_params()\n : profileVideo.getConversion_params()));\n profileVideoRepository.save(profileVideo);\n return profileVideo;\n }" + "sample": "videoForm.getConversion_params() != null ? videoForm.getConversion_params() : profileVideo.getConversion_params()", + "lineNumber": 151, + "columnNumber": 12, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " user = userService.getUserFromToken(request);\n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n if (profileVideo != null) {\n profileVideo.setVideo_name(videoForm.getVideoName());\n profileVideo.setConversion_params(\n (videoForm.getConversion_params() != null /* <=== */ \n ? videoForm.getConversion_params()\n : profileVideo.getConversion_params()));\n profileVideoRepository.save(profileVideo);\n return profileVideo;\n }" }, { - "sample" : "String conversion_params", - "lineNumber" : 72, - "columnNumber" : 36, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", - "excerpt" : "\n public String getConversion_params() {\n return conversion_params;\n }\n\n public void setConversion_params(String conversion_params) { /* <=== */ \n this.conversion_params = conversion_params;\n }\n\n @JsonIgnore\n public byte[] getVideo() {" + "sample": "String conversion_params", + "lineNumber": 72, + "columnNumber": 36, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", + "excerpt": "\n public String getConversion_params() {\n return conversion_params;\n }\n\n public void setConversion_params(String conversion_params) { /* <=== */ \n this.conversion_params = conversion_params;\n }\n\n @JsonIgnore\n public byte[] getVideo() {" }, { - "sample" : "conversion_params", - "lineNumber" : 73, - "columnNumber" : 30, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", - "excerpt" : " public String getConversion_params() {\n return conversion_params;\n }\n\n public void setConversion_params(String conversion_params) {\n this.conversion_params = conversion_params; /* <=== java.lang.String */ \n }\n\n @JsonIgnore\n public byte[] getVideo() {\n return video;" + "sample": "conversion_params", + "lineNumber": 73, + "columnNumber": 30, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", + "excerpt": " public String getConversion_params() {\n return conversion_params;\n }\n\n public void setConversion_params(String conversion_params) {\n this.conversion_params = conversion_params; /* <=== java.lang.String */ \n }\n\n @JsonIgnore\n public byte[] getVideo() {\n return video;" }, { - "sample" : "this.conversion_params", - "lineNumber" : 73, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", - "excerpt" : " public String getConversion_params() {\n return conversion_params;\n }\n\n public void setConversion_params(String conversion_params) {\n this.conversion_params = conversion_params; /* <=== */ \n }\n\n @JsonIgnore\n public byte[] getVideo() {\n return video;" + "sample": "this.conversion_params", + "lineNumber": 73, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", + "excerpt": " public String getConversion_params() {\n return conversion_params;\n }\n\n public void setConversion_params(String conversion_params) {\n this.conversion_params = conversion_params; /* <=== */ \n }\n\n @JsonIgnore\n public byte[] getVideo() {\n return video;" }, { - "sample" : "this", - "lineNumber" : 72, - "columnNumber" : -1, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", - "excerpt" : "\n public String getConversion_params() {\n return conversion_params;\n }\n\n public void setConversion_params(String conversion_params) { /* <=== */ \n this.conversion_params = conversion_params;\n }\n\n @JsonIgnore\n public byte[] getVideo() {" + "sample": "this", + "lineNumber": 72, + "columnNumber": -1, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", + "excerpt": "\n public String getConversion_params() {\n return conversion_params;\n }\n\n public void setConversion_params(String conversion_params) { /* <=== */ \n this.conversion_params = conversion_params;\n }\n\n @JsonIgnore\n public byte[] getVideo() {" }, { - "sample" : "profileVideo", - "lineNumber" : 150, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " ProfileVideo profileVideo;\n user = userService.getUserFromToken(request);\n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n if (profileVideo != null) {\n profileVideo.setVideo_name(videoForm.getVideoName());\n profileVideo.setConversion_params( /* <=== com.crapi.entity.ProfileVideo */ \n (videoForm.getConversion_params() != null\n ? videoForm.getConversion_params()\n : profileVideo.getConversion_params()));\n profileVideoRepository.save(profileVideo);\n return profileVideo;" + "sample": "profileVideo", + "lineNumber": 150, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " ProfileVideo profileVideo;\n user = userService.getUserFromToken(request);\n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n if (profileVideo != null) {\n profileVideo.setVideo_name(videoForm.getVideoName());\n profileVideo.setConversion_params( /* <=== com.crapi.entity.ProfileVideo */ \n (videoForm.getConversion_params() != null\n ? videoForm.getConversion_params()\n : profileVideo.getConversion_params()));\n profileVideoRepository.save(profileVideo);\n return profileVideo;" }, { - "sample" : "profileVideoRepository.save(profileVideo)", - "lineNumber" : 154, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " profileVideo.setVideo_name(videoForm.getVideoName());\n profileVideo.setConversion_params(\n (videoForm.getConversion_params() != null\n ? videoForm.getConversion_params()\n : profileVideo.getConversion_params()));\n profileVideoRepository.save(profileVideo); /* <=== com.crapi.repository.ProfileVideoRepository.save */ \n return profileVideo;\n }\n throw new CRAPIExceptionHandler(UserMessage.SORRY_DIDNT_GET_PROFILE + user.getEmail(), 404);\n }\n" + "sample": "profileVideoRepository.save(profileVideo)", + "lineNumber": 154, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " profileVideo.setVideo_name(videoForm.getVideoName());\n profileVideo.setConversion_params(\n (videoForm.getConversion_params() != null\n ? videoForm.getConversion_params()\n : profileVideo.getConversion_params()));\n profileVideoRepository.save(profileVideo); /* <=== com.crapi.repository.ProfileVideoRepository.save */ \n return profileVideo;\n }\n throw new CRAPIExceptionHandler(UserMessage.SORRY_DIDNT_GET_PROFILE + user.getEmail(), 404);\n }\n" } ] }, { - "pathId" : "9401-9409-9414-9413-9416-9424-9420", - "path" : [ + "pathId": "9401-9409-9414-9413-9416-9424-9420", + "path": [ { - "sample" : "java.lang.String email", - "lineNumber" : 35, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", - "excerpt" : " name = \"user_generator\",\n sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email; /* <=== 'email' is a member of 'com.crapi.entity.User' class */ \n private String password;\n private String number;\n\n @Column(length = 500)\n private String jwtToken;" + "sample": "java.lang.String email", + "lineNumber": 35, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", + "excerpt": " name = \"user_generator\",\n sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email; /* <=== 'email' is a member of 'com.crapi.entity.User' class */ \n private String password;\n private String number;\n\n @Column(length = 500)\n private String jwtToken;" }, { - "sample" : "user", - "lineNumber" : 67, - "columnNumber" : 14, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " public boolean addVehicleDetails(VehicleForm vehicleForm, HttpServletRequest request) {\n try {\n VehicleDetails vehicleDetails = vehicleDetailsRepository.findByVin(vehicleForm.getVin());\n if (vehicleDetails != null\n && vehicleDetails.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n User user = userService.getUserFromToken(request); /* <=== com.crapi.entity.User */ \n if (user != null) {\n vehicleDetails.setOwner(user);\n vehicleDetails.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(vehicleDetails);\n logger.info(\"Success Owner updated in vehicle details\");" + "sample": "user", + "lineNumber": 67, + "columnNumber": 14, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " public boolean addVehicleDetails(VehicleForm vehicleForm, HttpServletRequest request) {\n try {\n VehicleDetails vehicleDetails = vehicleDetailsRepository.findByVin(vehicleForm.getVin());\n if (vehicleDetails != null\n && vehicleDetails.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n User user = userService.getUserFromToken(request); /* <=== com.crapi.entity.User */ \n if (user != null) {\n vehicleDetails.setOwner(user);\n vehicleDetails.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(vehicleDetails);\n logger.info(\"Success Owner updated in vehicle details\");" }, { - "sample" : "user", - "lineNumber" : 68, - "columnNumber" : 13, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " try {\n VehicleDetails vehicleDetails = vehicleDetailsRepository.findByVin(vehicleForm.getVin());\n if (vehicleDetails != null\n && vehicleDetails.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n User user = userService.getUserFromToken(request);\n if (user != null) { /* <=== com.crapi.entity.User */ \n vehicleDetails.setOwner(user);\n vehicleDetails.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(vehicleDetails);\n logger.info(\"Success Owner updated in vehicle details\");\n return true;" + "sample": "user", + "lineNumber": 68, + "columnNumber": 13, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " try {\n VehicleDetails vehicleDetails = vehicleDetailsRepository.findByVin(vehicleForm.getVin());\n if (vehicleDetails != null\n && vehicleDetails.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n User user = userService.getUserFromToken(request);\n if (user != null) { /* <=== com.crapi.entity.User */ \n vehicleDetails.setOwner(user);\n vehicleDetails.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(vehicleDetails);\n logger.info(\"Success Owner updated in vehicle details\");\n return true;" }, { - "sample" : "user", - "lineNumber" : 69, - "columnNumber" : 35, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " VehicleDetails vehicleDetails = vehicleDetailsRepository.findByVin(vehicleForm.getVin());\n if (vehicleDetails != null\n && vehicleDetails.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n User user = userService.getUserFromToken(request);\n if (user != null) {\n vehicleDetails.setOwner(user); /* <=== com.crapi.entity.User */ \n vehicleDetails.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(vehicleDetails);\n logger.info(\"Success Owner updated in vehicle details\");\n return true;\n }" + "sample": "user", + "lineNumber": 69, + "columnNumber": 35, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " VehicleDetails vehicleDetails = vehicleDetailsRepository.findByVin(vehicleForm.getVin());\n if (vehicleDetails != null\n && vehicleDetails.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n User user = userService.getUserFromToken(request);\n if (user != null) {\n vehicleDetails.setOwner(user); /* <=== com.crapi.entity.User */ \n vehicleDetails.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(vehicleDetails);\n logger.info(\"Success Owner updated in vehicle details\");\n return true;\n }" }, { - "sample" : "vehicleDetails", - "lineNumber" : 69, - "columnNumber" : 11, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " VehicleDetails vehicleDetails = vehicleDetailsRepository.findByVin(vehicleForm.getVin());\n if (vehicleDetails != null\n && vehicleDetails.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n User user = userService.getUserFromToken(request);\n if (user != null) {\n vehicleDetails.setOwner(user); /* <=== com.crapi.entity.VehicleDetails */ \n vehicleDetails.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(vehicleDetails);\n logger.info(\"Success Owner updated in vehicle details\");\n return true;\n }" + "sample": "vehicleDetails", + "lineNumber": 69, + "columnNumber": 11, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " VehicleDetails vehicleDetails = vehicleDetailsRepository.findByVin(vehicleForm.getVin());\n if (vehicleDetails != null\n && vehicleDetails.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n User user = userService.getUserFromToken(request);\n if (user != null) {\n vehicleDetails.setOwner(user); /* <=== com.crapi.entity.VehicleDetails */ \n vehicleDetails.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(vehicleDetails);\n logger.info(\"Success Owner updated in vehicle details\");\n return true;\n }" }, { - "sample" : "vehicleDetails", - "lineNumber" : 70, - "columnNumber" : 11, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " if (vehicleDetails != null\n && vehicleDetails.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n User user = userService.getUserFromToken(request);\n if (user != null) {\n vehicleDetails.setOwner(user);\n vehicleDetails.setStatus(EStatus.INACTIVE); /* <=== com.crapi.entity.VehicleDetails */ \n vehicleDetailsRepository.save(vehicleDetails);\n logger.info(\"Success Owner updated in vehicle details\");\n return true;\n }\n }" + "sample": "vehicleDetails", + "lineNumber": 70, + "columnNumber": 11, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " if (vehicleDetails != null\n && vehicleDetails.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n User user = userService.getUserFromToken(request);\n if (user != null) {\n vehicleDetails.setOwner(user);\n vehicleDetails.setStatus(EStatus.INACTIVE); /* <=== com.crapi.entity.VehicleDetails */ \n vehicleDetailsRepository.save(vehicleDetails);\n logger.info(\"Success Owner updated in vehicle details\");\n return true;\n }\n }" }, { - "sample" : "vehicleDetails", - "lineNumber" : 71, - "columnNumber" : 41, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " && vehicleDetails.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n User user = userService.getUserFromToken(request);\n if (user != null) {\n vehicleDetails.setOwner(user);\n vehicleDetails.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(vehicleDetails); /* <=== com.crapi.entity.VehicleDetails */ \n logger.info(\"Success Owner updated in vehicle details\");\n return true;\n }\n }\n } catch (Exception e) {" + "sample": "vehicleDetails", + "lineNumber": 71, + "columnNumber": 41, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " && vehicleDetails.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n User user = userService.getUserFromToken(request);\n if (user != null) {\n vehicleDetails.setOwner(user);\n vehicleDetails.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(vehicleDetails); /* <=== com.crapi.entity.VehicleDetails */ \n logger.info(\"Success Owner updated in vehicle details\");\n return true;\n }\n }\n } catch (Exception e) {" }, { - "sample" : "vehicleDetailsRepository.save(vehicleDetails)", - "lineNumber" : 71, - "columnNumber" : 11, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " && vehicleDetails.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n User user = userService.getUserFromToken(request);\n if (user != null) {\n vehicleDetails.setOwner(user);\n vehicleDetails.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(vehicleDetails); /* <=== com.crapi.repository.VehicleDetailsRepository.save */ \n logger.info(\"Success Owner updated in vehicle details\");\n return true;\n }\n }\n } catch (Exception e) {" + "sample": "vehicleDetailsRepository.save(vehicleDetails)", + "lineNumber": 71, + "columnNumber": 11, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " && vehicleDetails.getPincode().equalsIgnoreCase(vehicleForm.getPincode())) {\n User user = userService.getUserFromToken(request);\n if (user != null) {\n vehicleDetails.setOwner(user);\n vehicleDetails.setStatus(EStatus.INACTIVE);\n vehicleDetailsRepository.save(vehicleDetails); /* <=== com.crapi.repository.VehicleDetailsRepository.save */ \n logger.info(\"Success Owner updated in vehicle details\");\n return true;\n }\n }\n } catch (Exception e) {" } ] }, { - "pathId" : "8580-8579-8576-8575-8574-8585-8581", - "path" : [ + "pathId": "8580-8579-8576-8575-8574-8585-8581", + "path": [ { - "sample" : "java.lang.String email", - "lineNumber" : 26, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/model/LoginForm.java", - "excerpt" : "@Data\npublic class LoginForm {\n\n @NotBlank\n @Size(min = 3, max = 100)\n private String email; /* <=== 'email' is a member of 'com.crapi.model.LoginForm' class */ \n\n @NotBlank\n @Size(min = 4, max = 100)\n private String password;\n" + "sample": "java.lang.String email", + "lineNumber": 26, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/model/LoginForm.java", + "excerpt": "@Data\npublic class LoginForm {\n\n @NotBlank\n @Size(min = 3, max = 100)\n private String email; /* <=== 'email' is a member of 'com.crapi.model.LoginForm' class */ \n\n @NotBlank\n @Size(min = 4, max = 100)\n private String password;\n" }, { - "sample" : "loginForm", - "lineNumber" : 160, - "columnNumber" : 39, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " @Transactional\n @Override\n public CRAPIResponse resetPassword(LoginForm loginForm, HttpServletRequest request) {\n User user = getUserFromToken(request);\n if (user != null) {\n user.setPassword(encoder.encode(loginForm.getPassword())); /* <=== com.crapi.model.LoginForm */ \n userRepository.saveAndFlush(user);\n return new CRAPIResponse(UserMessage.PASSWORD_GOT_RESET, 200);\n }\n throw new EntityNotFoundException(User.class, UserMessage.ERROR, loginForm.getEmail());\n }" + "sample": "loginForm", + "lineNumber": 160, + "columnNumber": 39, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " @Transactional\n @Override\n public CRAPIResponse resetPassword(LoginForm loginForm, HttpServletRequest request) {\n User user = getUserFromToken(request);\n if (user != null) {\n user.setPassword(encoder.encode(loginForm.getPassword())); /* <=== com.crapi.model.LoginForm */ \n userRepository.saveAndFlush(user);\n return new CRAPIResponse(UserMessage.PASSWORD_GOT_RESET, 200);\n }\n throw new EntityNotFoundException(User.class, UserMessage.ERROR, loginForm.getEmail());\n }" }, { - "sample" : "getPassword()", - "lineNumber" : 160, - "columnNumber" : 39, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " @Transactional\n @Override\n public CRAPIResponse resetPassword(LoginForm loginForm, HttpServletRequest request) {\n User user = getUserFromToken(request);\n if (user != null) {\n user.setPassword(encoder.encode(loginForm.getPassword())); /* <=== com.crapi.model.LoginForm.getPassword */ \n userRepository.saveAndFlush(user);\n return new CRAPIResponse(UserMessage.PASSWORD_GOT_RESET, 200);\n }\n throw new EntityNotFoundException(User.class, UserMessage.ERROR, loginForm.getEmail());\n }" + "sample": "getPassword()", + "lineNumber": 160, + "columnNumber": 39, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " @Transactional\n @Override\n public CRAPIResponse resetPassword(LoginForm loginForm, HttpServletRequest request) {\n User user = getUserFromToken(request);\n if (user != null) {\n user.setPassword(encoder.encode(loginForm.getPassword())); /* <=== com.crapi.model.LoginForm.getPassword */ \n userRepository.saveAndFlush(user);\n return new CRAPIResponse(UserMessage.PASSWORD_GOT_RESET, 200);\n }\n throw new EntityNotFoundException(User.class, UserMessage.ERROR, loginForm.getEmail());\n }" }, { - "sample" : "this.encoder", - "lineNumber" : 160, - "columnNumber" : 24, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " @Transactional\n @Override\n public CRAPIResponse resetPassword(LoginForm loginForm, HttpServletRequest request) {\n User user = getUserFromToken(request);\n if (user != null) {\n user.setPassword(encoder.encode(loginForm.getPassword())); /* <=== */ \n userRepository.saveAndFlush(user);\n return new CRAPIResponse(UserMessage.PASSWORD_GOT_RESET, 200);\n }\n throw new EntityNotFoundException(User.class, UserMessage.ERROR, loginForm.getEmail());\n }" + "sample": "this.encoder", + "lineNumber": 160, + "columnNumber": 24, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " @Transactional\n @Override\n public CRAPIResponse resetPassword(LoginForm loginForm, HttpServletRequest request) {\n User user = getUserFromToken(request);\n if (user != null) {\n user.setPassword(encoder.encode(loginForm.getPassword())); /* <=== */ \n userRepository.saveAndFlush(user);\n return new CRAPIResponse(UserMessage.PASSWORD_GOT_RESET, 200);\n }\n throw new EntityNotFoundException(User.class, UserMessage.ERROR, loginForm.getEmail());\n }" }, { - "sample" : "encode(loginForm.getPassword())", - "lineNumber" : 160, - "columnNumber" : 24, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " @Transactional\n @Override\n public CRAPIResponse resetPassword(LoginForm loginForm, HttpServletRequest request) {\n User user = getUserFromToken(request);\n if (user != null) {\n user.setPassword(encoder.encode(loginForm.getPassword())); /* <=== org.springframework.security.crypto.password.PasswordEncoder.encode */ \n userRepository.saveAndFlush(user);\n return new CRAPIResponse(UserMessage.PASSWORD_GOT_RESET, 200);\n }\n throw new EntityNotFoundException(User.class, UserMessage.ERROR, loginForm.getEmail());\n }" + "sample": "encode(loginForm.getPassword())", + "lineNumber": 160, + "columnNumber": 24, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " @Transactional\n @Override\n public CRAPIResponse resetPassword(LoginForm loginForm, HttpServletRequest request) {\n User user = getUserFromToken(request);\n if (user != null) {\n user.setPassword(encoder.encode(loginForm.getPassword())); /* <=== org.springframework.security.crypto.password.PasswordEncoder.encode */ \n userRepository.saveAndFlush(user);\n return new CRAPIResponse(UserMessage.PASSWORD_GOT_RESET, 200);\n }\n throw new EntityNotFoundException(User.class, UserMessage.ERROR, loginForm.getEmail());\n }" }, { - "sample" : "user", - "lineNumber" : 160, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " @Transactional\n @Override\n public CRAPIResponse resetPassword(LoginForm loginForm, HttpServletRequest request) {\n User user = getUserFromToken(request);\n if (user != null) {\n user.setPassword(encoder.encode(loginForm.getPassword())); /* <=== com.crapi.entity.User */ \n userRepository.saveAndFlush(user);\n return new CRAPIResponse(UserMessage.PASSWORD_GOT_RESET, 200);\n }\n throw new EntityNotFoundException(User.class, UserMessage.ERROR, loginForm.getEmail());\n }" + "sample": "user", + "lineNumber": 160, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " @Transactional\n @Override\n public CRAPIResponse resetPassword(LoginForm loginForm, HttpServletRequest request) {\n User user = getUserFromToken(request);\n if (user != null) {\n user.setPassword(encoder.encode(loginForm.getPassword())); /* <=== com.crapi.entity.User */ \n userRepository.saveAndFlush(user);\n return new CRAPIResponse(UserMessage.PASSWORD_GOT_RESET, 200);\n }\n throw new EntityNotFoundException(User.class, UserMessage.ERROR, loginForm.getEmail());\n }" }, { - "sample" : "user", - "lineNumber" : 161, - "columnNumber" : 35, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " @Override\n public CRAPIResponse resetPassword(LoginForm loginForm, HttpServletRequest request) {\n User user = getUserFromToken(request);\n if (user != null) {\n user.setPassword(encoder.encode(loginForm.getPassword()));\n userRepository.saveAndFlush(user); /* <=== com.crapi.entity.User */ \n return new CRAPIResponse(UserMessage.PASSWORD_GOT_RESET, 200);\n }\n throw new EntityNotFoundException(User.class, UserMessage.ERROR, loginForm.getEmail());\n }\n" + "sample": "user", + "lineNumber": 161, + "columnNumber": 35, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " @Override\n public CRAPIResponse resetPassword(LoginForm loginForm, HttpServletRequest request) {\n User user = getUserFromToken(request);\n if (user != null) {\n user.setPassword(encoder.encode(loginForm.getPassword()));\n userRepository.saveAndFlush(user); /* <=== com.crapi.entity.User */ \n return new CRAPIResponse(UserMessage.PASSWORD_GOT_RESET, 200);\n }\n throw new EntityNotFoundException(User.class, UserMessage.ERROR, loginForm.getEmail());\n }\n" }, { - "sample" : "userRepository.saveAndFlush(user)", - "lineNumber" : 161, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " @Override\n public CRAPIResponse resetPassword(LoginForm loginForm, HttpServletRequest request) {\n User user = getUserFromToken(request);\n if (user != null) {\n user.setPassword(encoder.encode(loginForm.getPassword()));\n userRepository.saveAndFlush(user); /* <=== com.crapi.repository.UserRepository.saveAndFlush */ \n return new CRAPIResponse(UserMessage.PASSWORD_GOT_RESET, 200);\n }\n throw new EntityNotFoundException(User.class, UserMessage.ERROR, loginForm.getEmail());\n }\n" + "sample": "userRepository.saveAndFlush(user)", + "lineNumber": 161, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " @Override\n public CRAPIResponse resetPassword(LoginForm loginForm, HttpServletRequest request) {\n User user = getUserFromToken(request);\n if (user != null) {\n user.setPassword(encoder.encode(loginForm.getPassword()));\n userRepository.saveAndFlush(user); /* <=== com.crapi.repository.UserRepository.saveAndFlush */ \n return new CRAPIResponse(UserMessage.PASSWORD_GOT_RESET, 200);\n }\n throw new EntityNotFoundException(User.class, UserMessage.ERROR, loginForm.getEmail());\n }\n" } ] }, { - "pathId" : "7325-3674-3688-3686-21690-7320-7326", - "path" : [ + "pathId": "7325-3674-3688-3686-21690-7320-7326", + "path": [ { - "sample" : "java.lang.String email", - "lineNumber" : 35, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", - "excerpt" : " name = \"user_generator\",\n sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email; /* <=== 'email' is a member of 'com.crapi.entity.User' class */ \n private String password;\n private String number;\n\n @Column(length = 500)\n private String jwtToken;" + "sample": "java.lang.String email", + "lineNumber": 35, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", + "excerpt": " name = \"user_generator\",\n sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email; /* <=== 'email' is a member of 'com.crapi.entity.User' class */ \n private String password;\n private String number;\n\n @Column(length = 500)\n private String jwtToken;" }, { - "sample" : "user", - "lineNumber" : 106, - "columnNumber" : 86, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " if (profileVideo != null) {\n profileVideo.setVideo(file.getBytes());\n profileVideo.setConversion_params(conversionParam);\n profileVideo.setVideo_name(file.getOriginalFilename());\n } else {\n profileVideo = new ProfileVideo(file.getOriginalFilename(), file.getBytes(), user); /* <=== com.crapi.entity.User */ \n }\n profileVideoRepository.save(profileVideo);\n return profileVideo;\n } catch (IOException exception) {\n logger.error(\"unable to upload video -> Message: {} \", exception);" + "sample": "user", + "lineNumber": 106, + "columnNumber": 86, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " if (profileVideo != null) {\n profileVideo.setVideo(file.getBytes());\n profileVideo.setConversion_params(conversionParam);\n profileVideo.setVideo_name(file.getOriginalFilename());\n } else {\n profileVideo = new ProfileVideo(file.getOriginalFilename(), file.getBytes(), user); /* <=== com.crapi.entity.User */ \n }\n profileVideoRepository.save(profileVideo);\n return profileVideo;\n } catch (IOException exception) {\n logger.error(\"unable to upload video -> Message: {} \", exception);" }, { - "sample" : "User user", - "lineNumber" : 44, - "columnNumber" : 55, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", - "excerpt" : " this.video_name = video_name;\n this.user = user;\n }\n\n // constructor for new object\n public ProfileVideo(String video_name, byte[] file, User user) { /* <=== */ \n this.video_name = video_name;\n this.user = user;\n this.video = file;\n }\n" + "sample": "User user", + "lineNumber": 44, + "columnNumber": 55, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", + "excerpt": " this.video_name = video_name;\n this.user = user;\n }\n\n // constructor for new object\n public ProfileVideo(String video_name, byte[] file, User user) { /* <=== */ \n this.video_name = video_name;\n this.user = user;\n this.video = file;\n }\n" }, { - "sample" : "user", - "lineNumber" : 46, - "columnNumber" : 17, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", - "excerpt" : " }\n\n // constructor for new object\n public ProfileVideo(String video_name, byte[] file, User user) {\n this.video_name = video_name;\n this.user = user; /* <=== com.crapi.entity.User */ \n this.video = file;\n }\n\n public ProfileVideo() {}\n" + "sample": "user", + "lineNumber": 46, + "columnNumber": 17, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", + "excerpt": " }\n\n // constructor for new object\n public ProfileVideo(String video_name, byte[] file, User user) {\n this.video_name = video_name;\n this.user = user; /* <=== com.crapi.entity.User */ \n this.video = file;\n }\n\n public ProfileVideo() {}\n" }, { - "sample" : "this.user", - "lineNumber" : 46, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", - "excerpt" : " }\n\n // constructor for new object\n public ProfileVideo(String video_name, byte[] file, User user) {\n this.video_name = video_name;\n this.user = user; /* <=== */ \n this.video = file;\n }\n\n public ProfileVideo() {}\n" + "sample": "this.user", + "lineNumber": 46, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", + "excerpt": " }\n\n // constructor for new object\n public ProfileVideo(String video_name, byte[] file, User user) {\n this.video_name = video_name;\n this.user = user; /* <=== */ \n this.video = file;\n }\n\n public ProfileVideo() {}\n" }, { - "sample" : "this", - "lineNumber" : 44, - "columnNumber" : -1, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", - "excerpt" : " this.video_name = video_name;\n this.user = user;\n }\n\n // constructor for new object\n public ProfileVideo(String video_name, byte[] file, User user) { /* <=== */ \n this.video_name = video_name;\n this.user = user;\n this.video = file;\n }\n" + "sample": "this", + "lineNumber": 44, + "columnNumber": -1, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/ProfileVideo.java", + "excerpt": " this.video_name = video_name;\n this.user = user;\n }\n\n // constructor for new object\n public ProfileVideo(String video_name, byte[] file, User user) { /* <=== */ \n this.video_name = video_name;\n this.user = user;\n this.video = file;\n }\n" }, { - "sample" : "profileVideo", - "lineNumber" : 106, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " if (profileVideo != null) {\n profileVideo.setVideo(file.getBytes());\n profileVideo.setConversion_params(conversionParam);\n profileVideo.setVideo_name(file.getOriginalFilename());\n } else {\n profileVideo = new ProfileVideo(file.getOriginalFilename(), file.getBytes(), user); /* <=== com.crapi.entity.ProfileVideo */ \n }\n profileVideoRepository.save(profileVideo);\n return profileVideo;\n } catch (IOException exception) {\n logger.error(\"unable to upload video -> Message: {} \", exception);" + "sample": "profileVideo", + "lineNumber": 106, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " if (profileVideo != null) {\n profileVideo.setVideo(file.getBytes());\n profileVideo.setConversion_params(conversionParam);\n profileVideo.setVideo_name(file.getOriginalFilename());\n } else {\n profileVideo = new ProfileVideo(file.getOriginalFilename(), file.getBytes(), user); /* <=== com.crapi.entity.ProfileVideo */ \n }\n profileVideoRepository.save(profileVideo);\n return profileVideo;\n } catch (IOException exception) {\n logger.error(\"unable to upload video -> Message: {} \", exception);" }, { - "sample" : "profileVideoRepository.save(profileVideo)", - "lineNumber" : 108, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " profileVideo.setConversion_params(conversionParam);\n profileVideo.setVideo_name(file.getOriginalFilename());\n } else {\n profileVideo = new ProfileVideo(file.getOriginalFilename(), file.getBytes(), user);\n }\n profileVideoRepository.save(profileVideo); /* <=== com.crapi.repository.ProfileVideoRepository.save */ \n return profileVideo;\n } catch (IOException exception) {\n logger.error(\"unable to upload video -> Message: {} \", exception);\n throw new IOExceptionHandler(ProfileServiceImpl.class, UserMessage.CUSTOM_IO_EXCEPTION);\n }" + "sample": "profileVideoRepository.save(profileVideo)", + "lineNumber": 108, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " profileVideo.setConversion_params(conversionParam);\n profileVideo.setVideo_name(file.getOriginalFilename());\n } else {\n profileVideo = new ProfileVideo(file.getOriginalFilename(), file.getBytes(), user);\n }\n profileVideoRepository.save(profileVideo); /* <=== com.crapi.repository.ProfileVideoRepository.save */ \n return profileVideo;\n } catch (IOException exception) {\n logger.error(\"unable to upload video -> Message: {} \", exception);\n throw new IOExceptionHandler(ProfileServiceImpl.class, UserMessage.CUSTOM_IO_EXCEPTION);\n }" } ] }, { - "pathId" : "6789-6784-6783-6792-6801-6797-6796-6804-7067-7072-7080-7087-7093-21895-6804-6839-6863-6870-6868-6867-6882-6617-6622-6630", - "path" : [ + "pathId": "6789-6784-6783-6792-6801-6797-6796-6804-7067-7072-7080-7087-7093-21895-6804-6839-6863-6870-6868-6867-6882-6617-6622-6630", + "path": [ { - "sample" : "java.lang.String email", - "lineNumber" : 33, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/model/OtpForm.java", - "excerpt" : " @Size(min = 5, max = 30)\n private String password;\n\n @NotBlank\n @Size(min = 5, max = 30)\n private String email; /* <=== 'email' is a member of 'com.crapi.model.OtpForm' class */ \n}" + "sample": "java.lang.String email", + "lineNumber": 33, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/model/OtpForm.java", + "excerpt": " @Size(min = 5, max = 30)\n private String password;\n\n @NotBlank\n @Size(min = 5, max = 30)\n private String email; /* <=== 'email' is a member of 'com.crapi.model.OtpForm' class */ \n}" }, { - "sample" : "otpForm", - "lineNumber" : 103, - "columnNumber" : 39, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " public CRAPIResponse secureValidateOtp(OtpForm otpForm) {\n CRAPIResponse crapiAPIResponse = null;\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.model.OtpForm */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" + "sample": "otpForm", + "lineNumber": 103, + "columnNumber": 39, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " public CRAPIResponse secureValidateOtp(OtpForm otpForm) {\n CRAPIResponse crapiAPIResponse = null;\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.model.OtpForm */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" }, { - "sample" : "findByEmail(otpForm.getEmail())", - "lineNumber" : 103, - "columnNumber" : 12, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " public CRAPIResponse secureValidateOtp(OtpForm otpForm) {\n CRAPIResponse crapiAPIResponse = null;\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" + "sample": "findByEmail(otpForm.getEmail())", + "lineNumber": 103, + "columnNumber": 12, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " public CRAPIResponse secureValidateOtp(OtpForm otpForm) {\n CRAPIResponse crapiAPIResponse = null;\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" }, { - "sample" : "user", - "lineNumber" : 103, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " public CRAPIResponse secureValidateOtp(OtpForm otpForm) {\n CRAPIResponse crapiAPIResponse = null;\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.entity.User */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" + "sample": "user", + "lineNumber": 103, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " public CRAPIResponse secureValidateOtp(OtpForm otpForm) {\n CRAPIResponse crapiAPIResponse = null;\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.entity.User */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" }, { - "sample" : "user", - "lineNumber" : 104, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " CRAPIResponse crapiAPIResponse = null;\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) { /* <=== com.crapi.entity.User */ \n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());" + "sample": "user", + "lineNumber": 104, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " CRAPIResponse crapiAPIResponse = null;\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) { /* <=== com.crapi.entity.User */ \n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());" }, { - "sample" : "user", - "lineNumber" : 105, - "columnNumber" : 38, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user); /* <=== com.crapi.entity.User */ \n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);" + "sample": "user", + "lineNumber": 105, + "columnNumber": 38, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user); /* <=== com.crapi.entity.User */ \n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);" }, { - "sample" : "otpRepository.findByUser(user)", - "lineNumber" : 105, - "columnNumber" : 13, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user); /* <=== com.crapi.repository.OtpRepository.findByUser */ \n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);" + "sample": "otpRepository.findByUser(user)", + "lineNumber": 105, + "columnNumber": 13, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user); /* <=== com.crapi.repository.OtpRepository.findByUser */ \n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);" }, { - "sample" : "otp", - "lineNumber" : 105, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user); /* <=== com.crapi.entity.Otp */ \n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);" + "sample": "otp", + "lineNumber": 105, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user); /* <=== com.crapi.entity.Otp */ \n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);" }, { - "sample" : "otp", - "lineNumber" : 106, - "columnNumber" : 31, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) { /* <=== com.crapi.entity.Otp */ \n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) {" + "sample": "otp", + "lineNumber": 106, + "columnNumber": 31, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) { /* <=== com.crapi.entity.Otp */ \n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) {" }, { - "sample" : "Otp otp", - "lineNumber" : 173, - "columnNumber" : 38, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : "\n /**\n * @param otp\n * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) { /* <=== */ \n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;" + "sample": "Otp otp", + "lineNumber": 173, + "columnNumber": 38, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": "\n /**\n * @param otp\n * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) { /* <=== */ \n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;" }, { - "sample" : "otp", - "lineNumber" : 174, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " /**\n * @param otp\n * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) {\n if (otp != null) { /* <=== com.crapi.entity.Otp */ \n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;\n }" + "sample": "otp", + "lineNumber": 174, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " /**\n * @param otp\n * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) {\n if (otp != null) { /* <=== com.crapi.entity.Otp */ \n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;\n }" }, { - "sample" : "otp", - "lineNumber" : 175, - "columnNumber" : 11, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " * @param otp\n * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) {\n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString()) /* <=== com.crapi.entity.Otp */ \n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;\n }\n return false;" + "sample": "otp", + "lineNumber": 175, + "columnNumber": 11, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " * @param otp\n * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) {\n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString()) /* <=== com.crapi.entity.Otp */ \n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;\n }\n return false;" }, { - "sample" : "otp", - "lineNumber" : 176, - "columnNumber" : 14, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) {\n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp()) /* <=== com.crapi.entity.Otp */ \n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;\n }\n return false;\n }" + "sample": "otp", + "lineNumber": 176, + "columnNumber": 14, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) {\n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp()) /* <=== com.crapi.entity.Otp */ \n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;\n }\n return false;\n }" }, { - "sample" : "otp", - "lineNumber" : 177, - "columnNumber" : 14, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) {\n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) { /* <=== com.crapi.entity.Otp */ \n return true;\n }\n return false;\n }\n throw new EntityNotFoundException(Otp.class, \"OTP Details Not Found\", otpForm.getEmail());" + "sample": "otp", + "lineNumber": 177, + "columnNumber": 14, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) {\n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) { /* <=== com.crapi.entity.Otp */ \n return true;\n }\n return false;\n }\n throw new EntityNotFoundException(Otp.class, \"OTP Details Not Found\", otpForm.getEmail());" }, { - "sample" : "Otp otp", - "lineNumber" : 173, - "columnNumber" : 38, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : "\n /**\n * @param otp\n * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) { /* <=== */ \n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;" + "sample": "Otp otp", + "lineNumber": 173, + "columnNumber": 38, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": "\n /**\n * @param otp\n * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) { /* <=== */ \n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;" }, { - "sample" : "otp", - "lineNumber" : 106, - "columnNumber" : 31, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) { /* <=== com.crapi.entity.Otp */ \n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) {" + "sample": "otp", + "lineNumber": 106, + "columnNumber": 31, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) { /* <=== com.crapi.entity.Otp */ \n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) {" }, { - "sample" : "otp", - "lineNumber" : 111, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) { /* <=== com.crapi.entity.Otp */ \n otp.setCount(otp.getCount() + 1);\n invalidateOtp(otp);\n validateOTPResponse = new CRAPIResponse(UserMessage.EXCEED_NUMBER_OF_ATTEMPS, 503);\n } else if (otp.getCount() > 9) {\n otp.setCount(otp.getCount() + 1);" + "sample": "otp", + "lineNumber": 111, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) { /* <=== com.crapi.entity.Otp */ \n otp.setCount(otp.getCount() + 1);\n invalidateOtp(otp);\n validateOTPResponse = new CRAPIResponse(UserMessage.EXCEED_NUMBER_OF_ATTEMPS, 503);\n } else if (otp.getCount() > 9) {\n otp.setCount(otp.getCount() + 1);" }, { - "sample" : "otp", - "lineNumber" : 115, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);\n invalidateOtp(otp);\n validateOTPResponse = new CRAPIResponse(UserMessage.EXCEED_NUMBER_OF_ATTEMPS, 503);\n } else if (otp.getCount() > 9) { /* <=== com.crapi.entity.Otp */ \n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.ERROR, 500);\n invalidateOtp(otp);\n } else {\n otp.setCount(otp.getCount() + 1);" + "sample": "otp", + "lineNumber": 115, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);\n invalidateOtp(otp);\n validateOTPResponse = new CRAPIResponse(UserMessage.EXCEED_NUMBER_OF_ATTEMPS, 503);\n } else if (otp.getCount() > 9) { /* <=== com.crapi.entity.Otp */ \n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.ERROR, 500);\n invalidateOtp(otp);\n } else {\n otp.setCount(otp.getCount() + 1);" }, { - "sample" : "otp", - "lineNumber" : 116, - "columnNumber" : 22, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);\n invalidateOtp(otp);\n validateOTPResponse = new CRAPIResponse(UserMessage.EXCEED_NUMBER_OF_ATTEMPS, 503);\n } else if (otp.getCount() > 9) {\n otp.setCount(otp.getCount() + 1); /* <=== com.crapi.entity.Otp */ \n validateOTPResponse = new CRAPIResponse(UserMessage.ERROR, 500);\n invalidateOtp(otp);\n } else {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);" + "sample": "otp", + "lineNumber": 116, + "columnNumber": 22, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);\n invalidateOtp(otp);\n validateOTPResponse = new CRAPIResponse(UserMessage.EXCEED_NUMBER_OF_ATTEMPS, 503);\n } else if (otp.getCount() > 9) {\n otp.setCount(otp.getCount() + 1); /* <=== com.crapi.entity.Otp */ \n validateOTPResponse = new CRAPIResponse(UserMessage.ERROR, 500);\n invalidateOtp(otp);\n } else {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);" }, { - "sample" : "otp.getCount() + 1", - "lineNumber" : 116, - "columnNumber" : 22, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);\n invalidateOtp(otp);\n validateOTPResponse = new CRAPIResponse(UserMessage.EXCEED_NUMBER_OF_ATTEMPS, 503);\n } else if (otp.getCount() > 9) {\n otp.setCount(otp.getCount() + 1); /* <=== */ \n validateOTPResponse = new CRAPIResponse(UserMessage.ERROR, 500);\n invalidateOtp(otp);\n } else {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);" + "sample": "otp.getCount() + 1", + "lineNumber": 116, + "columnNumber": 22, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);\n invalidateOtp(otp);\n validateOTPResponse = new CRAPIResponse(UserMessage.EXCEED_NUMBER_OF_ATTEMPS, 503);\n } else if (otp.getCount() > 9) {\n otp.setCount(otp.getCount() + 1); /* <=== */ \n validateOTPResponse = new CRAPIResponse(UserMessage.ERROR, 500);\n invalidateOtp(otp);\n } else {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);" }, { - "sample" : "otp", - "lineNumber" : 116, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);\n invalidateOtp(otp);\n validateOTPResponse = new CRAPIResponse(UserMessage.EXCEED_NUMBER_OF_ATTEMPS, 503);\n } else if (otp.getCount() > 9) {\n otp.setCount(otp.getCount() + 1); /* <=== com.crapi.entity.Otp */ \n validateOTPResponse = new CRAPIResponse(UserMessage.ERROR, 500);\n invalidateOtp(otp);\n } else {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);" + "sample": "otp", + "lineNumber": 116, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);\n invalidateOtp(otp);\n validateOTPResponse = new CRAPIResponse(UserMessage.EXCEED_NUMBER_OF_ATTEMPS, 503);\n } else if (otp.getCount() > 9) {\n otp.setCount(otp.getCount() + 1); /* <=== com.crapi.entity.Otp */ \n validateOTPResponse = new CRAPIResponse(UserMessage.ERROR, 500);\n invalidateOtp(otp);\n } else {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);" }, { - "sample" : "otp", - "lineNumber" : 118, - "columnNumber" : 23, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " invalidateOtp(otp);\n validateOTPResponse = new CRAPIResponse(UserMessage.EXCEED_NUMBER_OF_ATTEMPS, 503);\n } else if (otp.getCount() > 9) {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.ERROR, 500);\n invalidateOtp(otp); /* <=== com.crapi.entity.Otp */ \n } else {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);\n }\n otpRepository.save(otp);" + "sample": "otp", + "lineNumber": 118, + "columnNumber": 23, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " invalidateOtp(otp);\n validateOTPResponse = new CRAPIResponse(UserMessage.EXCEED_NUMBER_OF_ATTEMPS, 503);\n } else if (otp.getCount() > 9) {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.ERROR, 500);\n invalidateOtp(otp); /* <=== com.crapi.entity.Otp */ \n } else {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);\n }\n otpRepository.save(otp);" }, { - "sample" : "Otp otp", - "lineNumber" : 58, - "columnNumber" : 32, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " *\n * @param {Otp} otp\n */\n @Transactional\n @Override\n public boolean invalidateOtp(Otp otp) { /* <=== */ \n try {\n otp.setStatus(EStatus.INACTIVE.toString());\n Otp saveOtp = otpRepository.save(otp);\n return true;\n } catch (Exception e) {" + "sample": "Otp otp", + "lineNumber": 58, + "columnNumber": 32, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " *\n * @param {Otp} otp\n */\n @Transactional\n @Override\n public boolean invalidateOtp(Otp otp) { /* <=== */ \n try {\n otp.setStatus(EStatus.INACTIVE.toString());\n Otp saveOtp = otpRepository.save(otp);\n return true;\n } catch (Exception e) {" }, { - "sample" : "otp", - "lineNumber" : 60, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " */\n @Transactional\n @Override\n public boolean invalidateOtp(Otp otp) {\n try {\n otp.setStatus(EStatus.INACTIVE.toString()); /* <=== com.crapi.entity.Otp */ \n Otp saveOtp = otpRepository.save(otp);\n return true;\n } catch (Exception e) {\n logger.error(\"Fail to invalidate otp -> Message: {}\", e);\n return false;" + "sample": "otp", + "lineNumber": 60, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " */\n @Transactional\n @Override\n public boolean invalidateOtp(Otp otp) {\n try {\n otp.setStatus(EStatus.INACTIVE.toString()); /* <=== com.crapi.entity.Otp */ \n Otp saveOtp = otpRepository.save(otp);\n return true;\n } catch (Exception e) {\n logger.error(\"Fail to invalidate otp -> Message: {}\", e);\n return false;" }, { - "sample" : "otpRepository.save(otp)", - "lineNumber" : 61, - "columnNumber" : 21, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " @Transactional\n @Override\n public boolean invalidateOtp(Otp otp) {\n try {\n otp.setStatus(EStatus.INACTIVE.toString());\n Otp saveOtp = otpRepository.save(otp); /* <=== com.crapi.repository.OtpRepository.save */ \n return true;\n } catch (Exception e) {\n logger.error(\"Fail to invalidate otp -> Message: {}\", e);\n return false;\n }" + "sample": "otpRepository.save(otp)", + "lineNumber": 61, + "columnNumber": 21, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " @Transactional\n @Override\n public boolean invalidateOtp(Otp otp) {\n try {\n otp.setStatus(EStatus.INACTIVE.toString());\n Otp saveOtp = otpRepository.save(otp); /* <=== com.crapi.repository.OtpRepository.save */ \n return true;\n } catch (Exception e) {\n logger.error(\"Fail to invalidate otp -> Message: {}\", e);\n return false;\n }" } ] }, { - "pathId" : "8462-8461-8531-8540-8536-8535-8543-8547-8553-8549", - "path" : [ + "pathId": "8462-8461-8531-8540-8536-8535-8543-8547-8553-8549", + "path": [ { - "sample" : "java.lang.String email", - "lineNumber" : 26, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/model/LoginForm.java", - "excerpt" : "@Data\npublic class LoginForm {\n\n @NotBlank\n @Size(min = 3, max = 100)\n private String email; /* <=== 'email' is a member of 'com.crapi.model.LoginForm' class */ \n\n @NotBlank\n @Size(min = 4, max = 100)\n private String password;\n" + "sample": "java.lang.String email", + "lineNumber": 26, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/model/LoginForm.java", + "excerpt": "@Data\npublic class LoginForm {\n\n @NotBlank\n @Size(min = 3, max = 100)\n private String email; /* <=== 'email' is a member of 'com.crapi.model.LoginForm' class */ \n\n @NotBlank\n @Size(min = 4, max = 100)\n private String password;\n" }, { - "sample" : "loginForm", - "lineNumber" : 110, - "columnNumber" : 32, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " authenticationManager.authenticate(\n new UsernamePasswordAuthenticationToken(\n loginForm.getEmail(), loginForm.getPassword()));\n String jwt = jwtProvider.generateJwtToken(user);\n if (jwt != null) {\n updateUserToken(jwt, loginForm.getEmail()); /* <=== com.crapi.model.LoginForm */ \n jwtResponse.setToken(jwt);\n } else {\n jwtResponse.setMessage(UserMessage.INVALID_CREDENTIALS);\n }\n }" + "sample": "loginForm", + "lineNumber": 110, + "columnNumber": 32, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " authenticationManager.authenticate(\n new UsernamePasswordAuthenticationToken(\n loginForm.getEmail(), loginForm.getPassword()));\n String jwt = jwtProvider.generateJwtToken(user);\n if (jwt != null) {\n updateUserToken(jwt, loginForm.getEmail()); /* <=== com.crapi.model.LoginForm */ \n jwtResponse.setToken(jwt);\n } else {\n jwtResponse.setMessage(UserMessage.INVALID_CREDENTIALS);\n }\n }" }, { - "sample" : "getEmail()", - "lineNumber" : 110, - "columnNumber" : 32, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " authenticationManager.authenticate(\n new UsernamePasswordAuthenticationToken(\n loginForm.getEmail(), loginForm.getPassword()));\n String jwt = jwtProvider.generateJwtToken(user);\n if (jwt != null) {\n updateUserToken(jwt, loginForm.getEmail()); /* <=== com.crapi.model.LoginForm.getEmail */ \n jwtResponse.setToken(jwt);\n } else {\n jwtResponse.setMessage(UserMessage.INVALID_CREDENTIALS);\n }\n }" + "sample": "getEmail()", + "lineNumber": 110, + "columnNumber": 32, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " authenticationManager.authenticate(\n new UsernamePasswordAuthenticationToken(\n loginForm.getEmail(), loginForm.getPassword()));\n String jwt = jwtProvider.generateJwtToken(user);\n if (jwt != null) {\n updateUserToken(jwt, loginForm.getEmail()); /* <=== com.crapi.model.LoginForm.getEmail */ \n jwtResponse.setToken(jwt);\n } else {\n jwtResponse.setMessage(UserMessage.INVALID_CREDENTIALS);\n }\n }" }, { - "sample" : "String email", - "lineNumber" : 142, - "columnNumber" : 43, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " * @param jwt update token in database\n * @param email by email user details and update token\n */\n @Transactional\n @Override\n public void updateUserToken(String jwt, String email) { /* <=== */ \n User user = userRepository.findByEmail(email);\n if (user != null) {\n user.setJwtToken(jwt);\n userRepository.saveAndFlush(user);\n }" + "sample": "String email", + "lineNumber": 142, + "columnNumber": 43, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " * @param jwt update token in database\n * @param email by email user details and update token\n */\n @Transactional\n @Override\n public void updateUserToken(String jwt, String email) { /* <=== */ \n User user = userRepository.findByEmail(email);\n if (user != null) {\n user.setJwtToken(jwt);\n userRepository.saveAndFlush(user);\n }" }, { - "sample" : "email", - "lineNumber" : 143, - "columnNumber" : 44, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " * @param email by email user details and update token\n */\n @Transactional\n @Override\n public void updateUserToken(String jwt, String email) {\n User user = userRepository.findByEmail(email); /* <=== java.lang.String */ \n if (user != null) {\n user.setJwtToken(jwt);\n userRepository.saveAndFlush(user);\n }\n }" + "sample": "email", + "lineNumber": 143, + "columnNumber": 44, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " * @param email by email user details and update token\n */\n @Transactional\n @Override\n public void updateUserToken(String jwt, String email) {\n User user = userRepository.findByEmail(email); /* <=== java.lang.String */ \n if (user != null) {\n user.setJwtToken(jwt);\n userRepository.saveAndFlush(user);\n }\n }" }, { - "sample" : "userRepository.findByEmail(email)", - "lineNumber" : 143, - "columnNumber" : 17, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " * @param email by email user details and update token\n */\n @Transactional\n @Override\n public void updateUserToken(String jwt, String email) {\n User user = userRepository.findByEmail(email); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n if (user != null) {\n user.setJwtToken(jwt);\n userRepository.saveAndFlush(user);\n }\n }" + "sample": "userRepository.findByEmail(email)", + "lineNumber": 143, + "columnNumber": 17, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " * @param email by email user details and update token\n */\n @Transactional\n @Override\n public void updateUserToken(String jwt, String email) {\n User user = userRepository.findByEmail(email); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n if (user != null) {\n user.setJwtToken(jwt);\n userRepository.saveAndFlush(user);\n }\n }" }, { - "sample" : "user", - "lineNumber" : 143, - "columnNumber" : 10, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " * @param email by email user details and update token\n */\n @Transactional\n @Override\n public void updateUserToken(String jwt, String email) {\n User user = userRepository.findByEmail(email); /* <=== com.crapi.entity.User */ \n if (user != null) {\n user.setJwtToken(jwt);\n userRepository.saveAndFlush(user);\n }\n }" + "sample": "user", + "lineNumber": 143, + "columnNumber": 10, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " * @param email by email user details and update token\n */\n @Transactional\n @Override\n public void updateUserToken(String jwt, String email) {\n User user = userRepository.findByEmail(email); /* <=== com.crapi.entity.User */ \n if (user != null) {\n user.setJwtToken(jwt);\n userRepository.saveAndFlush(user);\n }\n }" }, { - "sample" : "user", - "lineNumber" : 144, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " */\n @Transactional\n @Override\n public void updateUserToken(String jwt, String email) {\n User user = userRepository.findByEmail(email);\n if (user != null) { /* <=== com.crapi.entity.User */ \n user.setJwtToken(jwt);\n userRepository.saveAndFlush(user);\n }\n }\n" + "sample": "user", + "lineNumber": 144, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " */\n @Transactional\n @Override\n public void updateUserToken(String jwt, String email) {\n User user = userRepository.findByEmail(email);\n if (user != null) { /* <=== com.crapi.entity.User */ \n user.setJwtToken(jwt);\n userRepository.saveAndFlush(user);\n }\n }\n" }, { - "sample" : "user", - "lineNumber" : 145, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " @Transactional\n @Override\n public void updateUserToken(String jwt, String email) {\n User user = userRepository.findByEmail(email);\n if (user != null) {\n user.setJwtToken(jwt); /* <=== com.crapi.entity.User */ \n userRepository.saveAndFlush(user);\n }\n }\n\n /**" + "sample": "user", + "lineNumber": 145, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " @Transactional\n @Override\n public void updateUserToken(String jwt, String email) {\n User user = userRepository.findByEmail(email);\n if (user != null) {\n user.setJwtToken(jwt); /* <=== com.crapi.entity.User */ \n userRepository.saveAndFlush(user);\n }\n }\n\n /**" }, { - "sample" : "user", - "lineNumber" : 146, - "columnNumber" : 35, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " @Override\n public void updateUserToken(String jwt, String email) {\n User user = userRepository.findByEmail(email);\n if (user != null) {\n user.setJwtToken(jwt);\n userRepository.saveAndFlush(user); /* <=== com.crapi.entity.User */ \n }\n }\n\n /**\n * @param loginForm Contains user email, password and number" + "sample": "user", + "lineNumber": 146, + "columnNumber": 35, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " @Override\n public void updateUserToken(String jwt, String email) {\n User user = userRepository.findByEmail(email);\n if (user != null) {\n user.setJwtToken(jwt);\n userRepository.saveAndFlush(user); /* <=== com.crapi.entity.User */ \n }\n }\n\n /**\n * @param loginForm Contains user email, password and number" }, { - "sample" : "userRepository.saveAndFlush(user)", - "lineNumber" : 146, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " @Override\n public void updateUserToken(String jwt, String email) {\n User user = userRepository.findByEmail(email);\n if (user != null) {\n user.setJwtToken(jwt);\n userRepository.saveAndFlush(user); /* <=== com.crapi.repository.UserRepository.saveAndFlush */ \n }\n }\n\n /**\n * @param loginForm Contains user email, password and number" + "sample": "userRepository.saveAndFlush(user)", + "lineNumber": 146, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " @Override\n public void updateUserToken(String jwt, String email) {\n User user = userRepository.findByEmail(email);\n if (user != null) {\n user.setJwtToken(jwt);\n userRepository.saveAndFlush(user); /* <=== com.crapi.repository.UserRepository.saveAndFlush */ \n }\n }\n\n /**\n * @param loginForm Contains user email, password and number" } ] }, { - "pathId" : "6789-6784-6783-6792-6801-6797-6796-6804-7067-7072-7080-7087-7093-21895-6804-6839-6863-6870-6868-6867-6882-6617-6622-6634-21889-6882-6900", - "path" : [ + "pathId": "6789-6784-6783-6792-6801-6797-6796-6804-7067-7072-7080-7087-7093-21895-6804-6839-6863-6870-6868-6867-6882-6617-6622-6634-21889-6882-6900", + "path": [ { - "sample" : "java.lang.String email", - "lineNumber" : 33, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/model/OtpForm.java", - "excerpt" : " @Size(min = 5, max = 30)\n private String password;\n\n @NotBlank\n @Size(min = 5, max = 30)\n private String email; /* <=== 'email' is a member of 'com.crapi.model.OtpForm' class */ \n}" + "sample": "java.lang.String email", + "lineNumber": 33, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/model/OtpForm.java", + "excerpt": " @Size(min = 5, max = 30)\n private String password;\n\n @NotBlank\n @Size(min = 5, max = 30)\n private String email; /* <=== 'email' is a member of 'com.crapi.model.OtpForm' class */ \n}" }, { - "sample" : "otpForm", - "lineNumber" : 103, - "columnNumber" : 39, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " public CRAPIResponse secureValidateOtp(OtpForm otpForm) {\n CRAPIResponse crapiAPIResponse = null;\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.model.OtpForm */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" + "sample": "otpForm", + "lineNumber": 103, + "columnNumber": 39, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " public CRAPIResponse secureValidateOtp(OtpForm otpForm) {\n CRAPIResponse crapiAPIResponse = null;\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.model.OtpForm */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" }, { - "sample" : "findByEmail(otpForm.getEmail())", - "lineNumber" : 103, - "columnNumber" : 12, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " public CRAPIResponse secureValidateOtp(OtpForm otpForm) {\n CRAPIResponse crapiAPIResponse = null;\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" + "sample": "findByEmail(otpForm.getEmail())", + "lineNumber": 103, + "columnNumber": 12, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " public CRAPIResponse secureValidateOtp(OtpForm otpForm) {\n CRAPIResponse crapiAPIResponse = null;\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" }, { - "sample" : "user", - "lineNumber" : 103, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " public CRAPIResponse secureValidateOtp(OtpForm otpForm) {\n CRAPIResponse crapiAPIResponse = null;\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.entity.User */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" + "sample": "user", + "lineNumber": 103, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " public CRAPIResponse secureValidateOtp(OtpForm otpForm) {\n CRAPIResponse crapiAPIResponse = null;\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.entity.User */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" }, { - "sample" : "user", - "lineNumber" : 104, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " CRAPIResponse crapiAPIResponse = null;\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) { /* <=== com.crapi.entity.User */ \n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());" + "sample": "user", + "lineNumber": 104, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " CRAPIResponse crapiAPIResponse = null;\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) { /* <=== com.crapi.entity.User */ \n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());" }, { - "sample" : "user", - "lineNumber" : 105, - "columnNumber" : 38, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user); /* <=== com.crapi.entity.User */ \n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);" + "sample": "user", + "lineNumber": 105, + "columnNumber": 38, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user); /* <=== com.crapi.entity.User */ \n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);" }, { - "sample" : "otpRepository.findByUser(user)", - "lineNumber" : 105, - "columnNumber" : 13, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user); /* <=== com.crapi.repository.OtpRepository.findByUser */ \n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);" + "sample": "otpRepository.findByUser(user)", + "lineNumber": 105, + "columnNumber": 13, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user); /* <=== com.crapi.repository.OtpRepository.findByUser */ \n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);" }, { - "sample" : "otp", - "lineNumber" : 105, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user); /* <=== com.crapi.entity.Otp */ \n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);" + "sample": "otp", + "lineNumber": 105, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user); /* <=== com.crapi.entity.Otp */ \n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);" }, { - "sample" : "otp", - "lineNumber" : 106, - "columnNumber" : 31, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) { /* <=== com.crapi.entity.Otp */ \n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) {" + "sample": "otp", + "lineNumber": 106, + "columnNumber": 31, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) { /* <=== com.crapi.entity.Otp */ \n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) {" }, { - "sample" : "Otp otp", - "lineNumber" : 173, - "columnNumber" : 38, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : "\n /**\n * @param otp\n * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) { /* <=== */ \n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;" + "sample": "Otp otp", + "lineNumber": 173, + "columnNumber": 38, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": "\n /**\n * @param otp\n * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) { /* <=== */ \n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;" }, { - "sample" : "otp", - "lineNumber" : 174, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " /**\n * @param otp\n * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) {\n if (otp != null) { /* <=== com.crapi.entity.Otp */ \n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;\n }" + "sample": "otp", + "lineNumber": 174, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " /**\n * @param otp\n * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) {\n if (otp != null) { /* <=== com.crapi.entity.Otp */ \n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;\n }" }, { - "sample" : "otp", - "lineNumber" : 175, - "columnNumber" : 11, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " * @param otp\n * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) {\n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString()) /* <=== com.crapi.entity.Otp */ \n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;\n }\n return false;" + "sample": "otp", + "lineNumber": 175, + "columnNumber": 11, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " * @param otp\n * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) {\n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString()) /* <=== com.crapi.entity.Otp */ \n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;\n }\n return false;" }, { - "sample" : "otp", - "lineNumber" : 176, - "columnNumber" : 14, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) {\n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp()) /* <=== com.crapi.entity.Otp */ \n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;\n }\n return false;\n }" + "sample": "otp", + "lineNumber": 176, + "columnNumber": 14, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) {\n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp()) /* <=== com.crapi.entity.Otp */ \n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;\n }\n return false;\n }" }, { - "sample" : "otp", - "lineNumber" : 177, - "columnNumber" : 14, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) {\n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) { /* <=== com.crapi.entity.Otp */ \n return true;\n }\n return false;\n }\n throw new EntityNotFoundException(Otp.class, \"OTP Details Not Found\", otpForm.getEmail());" + "sample": "otp", + "lineNumber": 177, + "columnNumber": 14, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) {\n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) { /* <=== com.crapi.entity.Otp */ \n return true;\n }\n return false;\n }\n throw new EntityNotFoundException(Otp.class, \"OTP Details Not Found\", otpForm.getEmail());" }, { - "sample" : "Otp otp", - "lineNumber" : 173, - "columnNumber" : 38, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : "\n /**\n * @param otp\n * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) { /* <=== */ \n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;" + "sample": "Otp otp", + "lineNumber": 173, + "columnNumber": 38, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": "\n /**\n * @param otp\n * @return\n */\n public boolean validateOTPAndEmail(Otp otp, OtpForm otpForm) { /* <=== */ \n if (otp != null) {\n if (otp.getStatus().equalsIgnoreCase(EStatus.ACTIVE.toString())\n && otp.getOtp().equalsIgnoreCase(otpForm.getOtp())\n && otp.getUser().getEmail().equalsIgnoreCase(otpForm.getEmail())) {\n return true;" }, { - "sample" : "otp", - "lineNumber" : 106, - "columnNumber" : 31, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) { /* <=== com.crapi.entity.Otp */ \n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) {" + "sample": "otp", + "lineNumber": 106, + "columnNumber": 31, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) { /* <=== com.crapi.entity.Otp */ \n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) {" }, { - "sample" : "otp", - "lineNumber" : 111, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) { /* <=== com.crapi.entity.Otp */ \n otp.setCount(otp.getCount() + 1);\n invalidateOtp(otp);\n validateOTPResponse = new CRAPIResponse(UserMessage.EXCEED_NUMBER_OF_ATTEMPS, 503);\n } else if (otp.getCount() > 9) {\n otp.setCount(otp.getCount() + 1);" + "sample": "otp", + "lineNumber": 111, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) { /* <=== com.crapi.entity.Otp */ \n otp.setCount(otp.getCount() + 1);\n invalidateOtp(otp);\n validateOTPResponse = new CRAPIResponse(UserMessage.EXCEED_NUMBER_OF_ATTEMPS, 503);\n } else if (otp.getCount() > 9) {\n otp.setCount(otp.getCount() + 1);" }, { - "sample" : "otp", - "lineNumber" : 115, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);\n invalidateOtp(otp);\n validateOTPResponse = new CRAPIResponse(UserMessage.EXCEED_NUMBER_OF_ATTEMPS, 503);\n } else if (otp.getCount() > 9) { /* <=== com.crapi.entity.Otp */ \n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.ERROR, 500);\n invalidateOtp(otp);\n } else {\n otp.setCount(otp.getCount() + 1);" + "sample": "otp", + "lineNumber": 115, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);\n invalidateOtp(otp);\n validateOTPResponse = new CRAPIResponse(UserMessage.EXCEED_NUMBER_OF_ATTEMPS, 503);\n } else if (otp.getCount() > 9) { /* <=== com.crapi.entity.Otp */ \n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.ERROR, 500);\n invalidateOtp(otp);\n } else {\n otp.setCount(otp.getCount() + 1);" }, { - "sample" : "otp", - "lineNumber" : 116, - "columnNumber" : 22, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);\n invalidateOtp(otp);\n validateOTPResponse = new CRAPIResponse(UserMessage.EXCEED_NUMBER_OF_ATTEMPS, 503);\n } else if (otp.getCount() > 9) {\n otp.setCount(otp.getCount() + 1); /* <=== com.crapi.entity.Otp */ \n validateOTPResponse = new CRAPIResponse(UserMessage.ERROR, 500);\n invalidateOtp(otp);\n } else {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);" + "sample": "otp", + "lineNumber": 116, + "columnNumber": 22, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);\n invalidateOtp(otp);\n validateOTPResponse = new CRAPIResponse(UserMessage.EXCEED_NUMBER_OF_ATTEMPS, 503);\n } else if (otp.getCount() > 9) {\n otp.setCount(otp.getCount() + 1); /* <=== com.crapi.entity.Otp */ \n validateOTPResponse = new CRAPIResponse(UserMessage.ERROR, 500);\n invalidateOtp(otp);\n } else {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);" }, { - "sample" : "otp.getCount() + 1", - "lineNumber" : 116, - "columnNumber" : 22, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);\n invalidateOtp(otp);\n validateOTPResponse = new CRAPIResponse(UserMessage.EXCEED_NUMBER_OF_ATTEMPS, 503);\n } else if (otp.getCount() > 9) {\n otp.setCount(otp.getCount() + 1); /* <=== */ \n validateOTPResponse = new CRAPIResponse(UserMessage.ERROR, 500);\n invalidateOtp(otp);\n } else {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);" + "sample": "otp.getCount() + 1", + "lineNumber": 116, + "columnNumber": 22, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);\n invalidateOtp(otp);\n validateOTPResponse = new CRAPIResponse(UserMessage.EXCEED_NUMBER_OF_ATTEMPS, 503);\n } else if (otp.getCount() > 9) {\n otp.setCount(otp.getCount() + 1); /* <=== */ \n validateOTPResponse = new CRAPIResponse(UserMessage.ERROR, 500);\n invalidateOtp(otp);\n } else {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);" }, { - "sample" : "otp", - "lineNumber" : 116, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);\n invalidateOtp(otp);\n validateOTPResponse = new CRAPIResponse(UserMessage.EXCEED_NUMBER_OF_ATTEMPS, 503);\n } else if (otp.getCount() > 9) {\n otp.setCount(otp.getCount() + 1); /* <=== com.crapi.entity.Otp */ \n validateOTPResponse = new CRAPIResponse(UserMessage.ERROR, 500);\n invalidateOtp(otp);\n } else {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);" + "sample": "otp", + "lineNumber": 116, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " } else if (otp.getCount() == 9) {\n otp.setCount(otp.getCount() + 1);\n invalidateOtp(otp);\n validateOTPResponse = new CRAPIResponse(UserMessage.EXCEED_NUMBER_OF_ATTEMPS, 503);\n } else if (otp.getCount() > 9) {\n otp.setCount(otp.getCount() + 1); /* <=== com.crapi.entity.Otp */ \n validateOTPResponse = new CRAPIResponse(UserMessage.ERROR, 500);\n invalidateOtp(otp);\n } else {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);" }, { - "sample" : "otp", - "lineNumber" : 118, - "columnNumber" : 23, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " invalidateOtp(otp);\n validateOTPResponse = new CRAPIResponse(UserMessage.EXCEED_NUMBER_OF_ATTEMPS, 503);\n } else if (otp.getCount() > 9) {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.ERROR, 500);\n invalidateOtp(otp); /* <=== com.crapi.entity.Otp */ \n } else {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);\n }\n otpRepository.save(otp);" + "sample": "otp", + "lineNumber": 118, + "columnNumber": 23, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " invalidateOtp(otp);\n validateOTPResponse = new CRAPIResponse(UserMessage.EXCEED_NUMBER_OF_ATTEMPS, 503);\n } else if (otp.getCount() > 9) {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.ERROR, 500);\n invalidateOtp(otp); /* <=== com.crapi.entity.Otp */ \n } else {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);\n }\n otpRepository.save(otp);" }, { - "sample" : "Otp otp", - "lineNumber" : 58, - "columnNumber" : 32, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " *\n * @param {Otp} otp\n */\n @Transactional\n @Override\n public boolean invalidateOtp(Otp otp) { /* <=== */ \n try {\n otp.setStatus(EStatus.INACTIVE.toString());\n Otp saveOtp = otpRepository.save(otp);\n return true;\n } catch (Exception e) {" + "sample": "Otp otp", + "lineNumber": 58, + "columnNumber": 32, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " *\n * @param {Otp} otp\n */\n @Transactional\n @Override\n public boolean invalidateOtp(Otp otp) { /* <=== */ \n try {\n otp.setStatus(EStatus.INACTIVE.toString());\n Otp saveOtp = otpRepository.save(otp);\n return true;\n } catch (Exception e) {" }, { - "sample" : "otp", - "lineNumber" : 60, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " */\n @Transactional\n @Override\n public boolean invalidateOtp(Otp otp) {\n try {\n otp.setStatus(EStatus.INACTIVE.toString()); /* <=== com.crapi.entity.Otp */ \n Otp saveOtp = otpRepository.save(otp);\n return true;\n } catch (Exception e) {\n logger.error(\"Fail to invalidate otp -> Message: {}\", e);\n return false;" + "sample": "otp", + "lineNumber": 60, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " */\n @Transactional\n @Override\n public boolean invalidateOtp(Otp otp) {\n try {\n otp.setStatus(EStatus.INACTIVE.toString()); /* <=== com.crapi.entity.Otp */ \n Otp saveOtp = otpRepository.save(otp);\n return true;\n } catch (Exception e) {\n logger.error(\"Fail to invalidate otp -> Message: {}\", e);\n return false;" }, { - "sample" : "otp", - "lineNumber" : 61, - "columnNumber" : 40, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " @Transactional\n @Override\n public boolean invalidateOtp(Otp otp) {\n try {\n otp.setStatus(EStatus.INACTIVE.toString());\n Otp saveOtp = otpRepository.save(otp); /* <=== com.crapi.entity.Otp */ \n return true;\n } catch (Exception e) {\n logger.error(\"Fail to invalidate otp -> Message: {}\", e);\n return false;\n }" + "sample": "otp", + "lineNumber": 61, + "columnNumber": 40, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " @Transactional\n @Override\n public boolean invalidateOtp(Otp otp) {\n try {\n otp.setStatus(EStatus.INACTIVE.toString());\n Otp saveOtp = otpRepository.save(otp); /* <=== com.crapi.entity.Otp */ \n return true;\n } catch (Exception e) {\n logger.error(\"Fail to invalidate otp -> Message: {}\", e);\n return false;\n }" }, { - "sample" : "Otp otp", - "lineNumber" : 58, - "columnNumber" : 32, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " *\n * @param {Otp} otp\n */\n @Transactional\n @Override\n public boolean invalidateOtp(Otp otp) { /* <=== */ \n try {\n otp.setStatus(EStatus.INACTIVE.toString());\n Otp saveOtp = otpRepository.save(otp);\n return true;\n } catch (Exception e) {" + "sample": "Otp otp", + "lineNumber": 58, + "columnNumber": 32, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " *\n * @param {Otp} otp\n */\n @Transactional\n @Override\n public boolean invalidateOtp(Otp otp) { /* <=== */ \n try {\n otp.setStatus(EStatus.INACTIVE.toString());\n Otp saveOtp = otpRepository.save(otp);\n return true;\n } catch (Exception e) {" }, { - "sample" : "otp", - "lineNumber" : 118, - "columnNumber" : 23, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " invalidateOtp(otp);\n validateOTPResponse = new CRAPIResponse(UserMessage.EXCEED_NUMBER_OF_ATTEMPS, 503);\n } else if (otp.getCount() > 9) {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.ERROR, 500);\n invalidateOtp(otp); /* <=== com.crapi.entity.Otp */ \n } else {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);\n }\n otpRepository.save(otp);" + "sample": "otp", + "lineNumber": 118, + "columnNumber": 23, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " invalidateOtp(otp);\n validateOTPResponse = new CRAPIResponse(UserMessage.EXCEED_NUMBER_OF_ATTEMPS, 503);\n } else if (otp.getCount() > 9) {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.ERROR, 500);\n invalidateOtp(otp); /* <=== com.crapi.entity.Otp */ \n } else {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);\n }\n otpRepository.save(otp);" }, { - "sample" : "otpRepository.save(otp)", - "lineNumber" : 123, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " invalidateOtp(otp);\n } else {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);\n }\n otpRepository.save(otp); /* <=== com.crapi.repository.OtpRepository.save */ \n return validateOTPResponse;\n }\n throw new EntityNotFoundException(User.class, \"userEmail\", otpForm.getEmail());\n }\n" + "sample": "otpRepository.save(otp)", + "lineNumber": 123, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " invalidateOtp(otp);\n } else {\n otp.setCount(otp.getCount() + 1);\n validateOTPResponse = new CRAPIResponse(UserMessage.INVALID_OTP, 500);\n }\n otpRepository.save(otp); /* <=== com.crapi.repository.OtpRepository.save */ \n return validateOTPResponse;\n }\n throw new EntityNotFoundException(User.class, \"userEmail\", otpForm.getEmail());\n }\n" } ] }, { - "pathId" : "7234-4118-4123-4121-21724-7233-7235", - "path" : [ + "pathId": "7234-4118-4123-4121-21724-7233-7235", + "path": [ { - "sample" : "java.lang.String email", - "lineNumber" : 35, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", - "excerpt" : " name = \"user_generator\",\n sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email; /* <=== 'email' is a member of 'com.crapi.entity.User' class */ \n private String password;\n private String number;\n\n @Column(length = 500)\n private String jwtToken;" + "sample": "java.lang.String email", + "lineNumber": 35, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", + "excerpt": " name = \"user_generator\",\n sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email; /* <=== 'email' is a member of 'com.crapi.entity.User' class */ \n private String password;\n private String number;\n\n @Column(length = 500)\n private String jwtToken;" }, { - "sample" : "user", - "lineNumber" : 77, - "columnNumber" : 29, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " userDetails.setPicture(file.getBytes());\n } else {\n userDetails = new UserDetails();\n userDetails.setAvailable_credit(100.0);\n userDetails.setPicture(file.getBytes());\n userDetails.setUser(user); /* <=== com.crapi.entity.User */ \n }\n userDetailsRepository.save(userDetails);\n return userDetails;\n } catch (IOException exception) {\n logger.error(\"unable to upload image -> Message: %d\", exception);" + "sample": "user", + "lineNumber": 77, + "columnNumber": 29, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " userDetails.setPicture(file.getBytes());\n } else {\n userDetails = new UserDetails();\n userDetails.setAvailable_credit(100.0);\n userDetails.setPicture(file.getBytes());\n userDetails.setUser(user); /* <=== com.crapi.entity.User */ \n }\n userDetailsRepository.save(userDetails);\n return userDetails;\n } catch (IOException exception) {\n logger.error(\"unable to upload image -> Message: %d\", exception);" }, { - "sample" : "User user", - "lineNumber" : 86, - "columnNumber" : 23, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/UserDetails.java", - "excerpt" : "\n public User getUser() {\n return user;\n }\n\n public void setUser(User user) { /* <=== */ \n this.user = user;\n }\n\n @JsonProperty(\"picture\")\n public String getPhotoBase64() {" + "sample": "User user", + "lineNumber": 86, + "columnNumber": 23, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/UserDetails.java", + "excerpt": "\n public User getUser() {\n return user;\n }\n\n public void setUser(User user) { /* <=== */ \n this.user = user;\n }\n\n @JsonProperty(\"picture\")\n public String getPhotoBase64() {" }, { - "sample" : "user", - "lineNumber" : 87, - "columnNumber" : 17, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/UserDetails.java", - "excerpt" : " public User getUser() {\n return user;\n }\n\n public void setUser(User user) {\n this.user = user; /* <=== com.crapi.entity.User */ \n }\n\n @JsonProperty(\"picture\")\n public String getPhotoBase64() {\n // just assuming it is a jpeg. you would need to cater for different media types" + "sample": "user", + "lineNumber": 87, + "columnNumber": 17, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/UserDetails.java", + "excerpt": " public User getUser() {\n return user;\n }\n\n public void setUser(User user) {\n this.user = user; /* <=== com.crapi.entity.User */ \n }\n\n @JsonProperty(\"picture\")\n public String getPhotoBase64() {\n // just assuming it is a jpeg. you would need to cater for different media types" }, { - "sample" : "this.user", - "lineNumber" : 87, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/UserDetails.java", - "excerpt" : " public User getUser() {\n return user;\n }\n\n public void setUser(User user) {\n this.user = user; /* <=== */ \n }\n\n @JsonProperty(\"picture\")\n public String getPhotoBase64() {\n // just assuming it is a jpeg. you would need to cater for different media types" + "sample": "this.user", + "lineNumber": 87, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/UserDetails.java", + "excerpt": " public User getUser() {\n return user;\n }\n\n public void setUser(User user) {\n this.user = user; /* <=== */ \n }\n\n @JsonProperty(\"picture\")\n public String getPhotoBase64() {\n // just assuming it is a jpeg. you would need to cater for different media types" }, { - "sample" : "this", - "lineNumber" : 86, - "columnNumber" : -1, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/UserDetails.java", - "excerpt" : "\n public User getUser() {\n return user;\n }\n\n public void setUser(User user) { /* <=== */ \n this.user = user;\n }\n\n @JsonProperty(\"picture\")\n public String getPhotoBase64() {" + "sample": "this", + "lineNumber": 86, + "columnNumber": -1, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/UserDetails.java", + "excerpt": "\n public User getUser() {\n return user;\n }\n\n public void setUser(User user) { /* <=== */ \n this.user = user;\n }\n\n @JsonProperty(\"picture\")\n public String getPhotoBase64() {" }, { - "sample" : "userDetails", - "lineNumber" : 77, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " userDetails.setPicture(file.getBytes());\n } else {\n userDetails = new UserDetails();\n userDetails.setAvailable_credit(100.0);\n userDetails.setPicture(file.getBytes());\n userDetails.setUser(user); /* <=== com.crapi.entity.UserDetails */ \n }\n userDetailsRepository.save(userDetails);\n return userDetails;\n } catch (IOException exception) {\n logger.error(\"unable to upload image -> Message: %d\", exception);" + "sample": "userDetails", + "lineNumber": 77, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " userDetails.setPicture(file.getBytes());\n } else {\n userDetails = new UserDetails();\n userDetails.setAvailable_credit(100.0);\n userDetails.setPicture(file.getBytes());\n userDetails.setUser(user); /* <=== com.crapi.entity.UserDetails */ \n }\n userDetailsRepository.save(userDetails);\n return userDetails;\n } catch (IOException exception) {\n logger.error(\"unable to upload image -> Message: %d\", exception);" }, { - "sample" : "userDetailsRepository.save(userDetails)", - "lineNumber" : 79, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " userDetails = new UserDetails();\n userDetails.setAvailable_credit(100.0);\n userDetails.setPicture(file.getBytes());\n userDetails.setUser(user);\n }\n userDetailsRepository.save(userDetails); /* <=== com.crapi.repository.UserDetailsRepository.save */ \n return userDetails;\n } catch (IOException exception) {\n logger.error(\"unable to upload image -> Message: %d\", exception);\n throw new IOExceptionHandler(ProfileServiceImpl.class, UserMessage.CUSTOM_IO_EXCEPTION);\n }" + "sample": "userDetailsRepository.save(userDetails)", + "lineNumber": 79, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " userDetails = new UserDetails();\n userDetails.setAvailable_credit(100.0);\n userDetails.setPicture(file.getBytes());\n userDetails.setUser(user);\n }\n userDetailsRepository.save(userDetails); /* <=== com.crapi.repository.UserDetailsRepository.save */ \n return userDetails;\n } catch (IOException exception) {\n logger.error(\"unable to upload image -> Message: %d\", exception);\n throw new IOExceptionHandler(ProfileServiceImpl.class, UserMessage.CUSTOM_IO_EXCEPTION);\n }" } ] }, { - "pathId" : "267-270-285-281", - "path" : [ + "pathId": "267-270-285-281", + "path": [ { - "sample" : "java.lang.String email", - "lineNumber" : 35, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", - "excerpt" : " name = \"user_generator\",\n sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email; /* <=== 'email' is a member of 'com.crapi.entity.User' class */ \n private String password;\n private String number;\n\n @Column(length = 500)\n private String jwtToken;" + "sample": "java.lang.String email", + "lineNumber": 35, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", + "excerpt": " name = \"user_generator\",\n sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email; /* <=== 'email' is a member of 'com.crapi.entity.User' class */ \n private String password;\n private String number;\n\n @Column(length = 500)\n private String jwtToken;" }, { - "sample" : "user", - "lineNumber" : 106, - "columnNumber" : 12, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", - "excerpt" : " String name, String email, String password, String number, ERole role) {\n UserData userData = new UserData();\n VehicleDetails vehicleDetails = null;\n UserDetails userDetails = null;\n try {\n User user = new User(email, number, encoder.encode(password), role); /* <=== com.crapi.entity.User */ \n user = userRepository.save(user);\n userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {" + "sample": "user", + "lineNumber": 106, + "columnNumber": 12, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", + "excerpt": " String name, String email, String password, String number, ERole role) {\n UserData userData = new UserData();\n VehicleDetails vehicleDetails = null;\n UserDetails userDetails = null;\n try {\n User user = new User(email, number, encoder.encode(password), role); /* <=== com.crapi.entity.User */ \n user = userRepository.save(user);\n userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {" }, { - "sample" : "user", - "lineNumber" : 106, - "columnNumber" : 12, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", - "excerpt" : " String name, String email, String password, String number, ERole role) {\n UserData userData = new UserData();\n VehicleDetails vehicleDetails = null;\n UserDetails userDetails = null;\n try {\n User user = new User(email, number, encoder.encode(password), role); /* <=== com.crapi.entity.User */ \n user = userRepository.save(user);\n userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {" + "sample": "user", + "lineNumber": 106, + "columnNumber": 12, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", + "excerpt": " String name, String email, String password, String number, ERole role) {\n UserData userData = new UserData();\n VehicleDetails vehicleDetails = null;\n UserDetails userDetails = null;\n try {\n User user = new User(email, number, encoder.encode(password), role); /* <=== com.crapi.entity.User */ \n user = userRepository.save(user);\n userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {" }, { - "sample" : "user", - "lineNumber" : 107, - "columnNumber" : 34, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", - "excerpt" : " UserData userData = new UserData();\n VehicleDetails vehicleDetails = null;\n UserDetails userDetails = null;\n try {\n User user = new User(email, number, encoder.encode(password), role);\n user = userRepository.save(user); /* <=== com.crapi.entity.User */ \n userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {\n vehicleDetails.setOwner(user);" + "sample": "user", + "lineNumber": 107, + "columnNumber": 34, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", + "excerpt": " UserData userData = new UserData();\n VehicleDetails vehicleDetails = null;\n UserDetails userDetails = null;\n try {\n User user = new User(email, number, encoder.encode(password), role);\n user = userRepository.save(user); /* <=== com.crapi.entity.User */ \n userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {\n vehicleDetails.setOwner(user);" }, { - "sample" : "userRepository.save(user)", - "lineNumber" : 107, - "columnNumber" : 14, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", - "excerpt" : " UserData userData = new UserData();\n VehicleDetails vehicleDetails = null;\n UserDetails userDetails = null;\n try {\n User user = new User(email, number, encoder.encode(password), role);\n user = userRepository.save(user); /* <=== com.crapi.repository.UserRepository.save */ \n userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {\n vehicleDetails.setOwner(user);" + "sample": "userRepository.save(user)", + "lineNumber": 107, + "columnNumber": 14, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", + "excerpt": " UserData userData = new UserData();\n VehicleDetails vehicleDetails = null;\n UserDetails userDetails = null;\n try {\n User user = new User(email, number, encoder.encode(password), role);\n user = userRepository.save(user); /* <=== com.crapi.repository.UserRepository.save */ \n userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {\n vehicleDetails.setOwner(user);" } ] }, { - "pathId" : "267-270-285-281-280-291-310-309-315-311", - "path" : [ + "pathId": "267-270-285-281-280-291-310-309-315-311", + "path": [ { - "sample" : "java.lang.String email", - "lineNumber" : 35, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", - "excerpt" : " name = \"user_generator\",\n sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email; /* <=== 'email' is a member of 'com.crapi.entity.User' class */ \n private String password;\n private String number;\n\n @Column(length = 500)\n private String jwtToken;" + "sample": "java.lang.String email", + "lineNumber": 35, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", + "excerpt": " name = \"user_generator\",\n sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email; /* <=== 'email' is a member of 'com.crapi.entity.User' class */ \n private String password;\n private String number;\n\n @Column(length = 500)\n private String jwtToken;" }, { - "sample" : "user", - "lineNumber" : 106, - "columnNumber" : 12, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", - "excerpt" : " String name, String email, String password, String number, ERole role) {\n UserData userData = new UserData();\n VehicleDetails vehicleDetails = null;\n UserDetails userDetails = null;\n try {\n User user = new User(email, number, encoder.encode(password), role); /* <=== com.crapi.entity.User */ \n user = userRepository.save(user);\n userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {" + "sample": "user", + "lineNumber": 106, + "columnNumber": 12, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", + "excerpt": " String name, String email, String password, String number, ERole role) {\n UserData userData = new UserData();\n VehicleDetails vehicleDetails = null;\n UserDetails userDetails = null;\n try {\n User user = new User(email, number, encoder.encode(password), role); /* <=== com.crapi.entity.User */ \n user = userRepository.save(user);\n userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {" }, { - "sample" : "user", - "lineNumber" : 106, - "columnNumber" : 12, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", - "excerpt" : " String name, String email, String password, String number, ERole role) {\n UserData userData = new UserData();\n VehicleDetails vehicleDetails = null;\n UserDetails userDetails = null;\n try {\n User user = new User(email, number, encoder.encode(password), role); /* <=== com.crapi.entity.User */ \n user = userRepository.save(user);\n userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {" + "sample": "user", + "lineNumber": 106, + "columnNumber": 12, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", + "excerpt": " String name, String email, String password, String number, ERole role) {\n UserData userData = new UserData();\n VehicleDetails vehicleDetails = null;\n UserDetails userDetails = null;\n try {\n User user = new User(email, number, encoder.encode(password), role); /* <=== com.crapi.entity.User */ \n user = userRepository.save(user);\n userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {" }, { - "sample" : "user", - "lineNumber" : 107, - "columnNumber" : 34, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", - "excerpt" : " UserData userData = new UserData();\n VehicleDetails vehicleDetails = null;\n UserDetails userDetails = null;\n try {\n User user = new User(email, number, encoder.encode(password), role);\n user = userRepository.save(user); /* <=== com.crapi.entity.User */ \n userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {\n vehicleDetails.setOwner(user);" + "sample": "user", + "lineNumber": 107, + "columnNumber": 34, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", + "excerpt": " UserData userData = new UserData();\n VehicleDetails vehicleDetails = null;\n UserDetails userDetails = null;\n try {\n User user = new User(email, number, encoder.encode(password), role);\n user = userRepository.save(user); /* <=== com.crapi.entity.User */ \n userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {\n vehicleDetails.setOwner(user);" }, { - "sample" : "userRepository.save(user)", - "lineNumber" : 107, - "columnNumber" : 14, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", - "excerpt" : " UserData userData = new UserData();\n VehicleDetails vehicleDetails = null;\n UserDetails userDetails = null;\n try {\n User user = new User(email, number, encoder.encode(password), role);\n user = userRepository.save(user); /* <=== com.crapi.repository.UserRepository.save */ \n userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {\n vehicleDetails.setOwner(user);" + "sample": "userRepository.save(user)", + "lineNumber": 107, + "columnNumber": 14, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", + "excerpt": " UserData userData = new UserData();\n VehicleDetails vehicleDetails = null;\n UserDetails userDetails = null;\n try {\n User user = new User(email, number, encoder.encode(password), role);\n user = userRepository.save(user); /* <=== com.crapi.repository.UserRepository.save */ \n userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {\n vehicleDetails.setOwner(user);" }, { - "sample" : "user", - "lineNumber" : 107, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", - "excerpt" : " UserData userData = new UserData();\n VehicleDetails vehicleDetails = null;\n UserDetails userDetails = null;\n try {\n User user = new User(email, number, encoder.encode(password), role);\n user = userRepository.save(user); /* <=== com.crapi.entity.User */ \n userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {\n vehicleDetails.setOwner(user);" + "sample": "user", + "lineNumber": 107, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", + "excerpt": " UserData userData = new UserData();\n VehicleDetails vehicleDetails = null;\n UserDetails userDetails = null;\n try {\n User user = new User(email, number, encoder.encode(password), role);\n user = userRepository.save(user); /* <=== com.crapi.entity.User */ \n userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {\n vehicleDetails.setOwner(user);" }, { - "sample" : "user", - "lineNumber" : 108, - "columnNumber" : 53, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", - "excerpt" : " VehicleDetails vehicleDetails = null;\n UserDetails userDetails = null;\n try {\n User user = new User(email, number, encoder.encode(password), role);\n user = userRepository.save(user);\n userDetails = userData.getPredefineUser(name, user); /* <=== com.crapi.entity.User */ \n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {\n vehicleDetails.setOwner(user);\n vehicleDetailsRepository.save(vehicleDetails);" + "sample": "user", + "lineNumber": 108, + "columnNumber": 53, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", + "excerpt": " VehicleDetails vehicleDetails = null;\n UserDetails userDetails = null;\n try {\n User user = new User(email, number, encoder.encode(password), role);\n user = userRepository.save(user);\n userDetails = userData.getPredefineUser(name, user); /* <=== com.crapi.entity.User */ \n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {\n vehicleDetails.setOwner(user);\n vehicleDetailsRepository.save(vehicleDetails);" }, { - "sample" : "user", - "lineNumber" : 112, - "columnNumber" : 33, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", - "excerpt" : " user = userRepository.save(user);\n userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {\n vehicleDetails.setOwner(user); /* <=== com.crapi.entity.User */ \n vehicleDetailsRepository.save(vehicleDetails);\n return true;\n }\n logger.error(\"Fail to create vehicle for user {}\", email);\n return false;" + "sample": "user", + "lineNumber": 112, + "columnNumber": 33, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", + "excerpt": " user = userRepository.save(user);\n userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {\n vehicleDetails.setOwner(user); /* <=== com.crapi.entity.User */ \n vehicleDetailsRepository.save(vehicleDetails);\n return true;\n }\n logger.error(\"Fail to create vehicle for user {}\", email);\n return false;" }, { - "sample" : "vehicleDetails", - "lineNumber" : 112, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", - "excerpt" : " user = userRepository.save(user);\n userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {\n vehicleDetails.setOwner(user); /* <=== com.crapi.entity.VehicleDetails */ \n vehicleDetailsRepository.save(vehicleDetails);\n return true;\n }\n logger.error(\"Fail to create vehicle for user {}\", email);\n return false;" + "sample": "vehicleDetails", + "lineNumber": 112, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", + "excerpt": " user = userRepository.save(user);\n userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {\n vehicleDetails.setOwner(user); /* <=== com.crapi.entity.VehicleDetails */ \n vehicleDetailsRepository.save(vehicleDetails);\n return true;\n }\n logger.error(\"Fail to create vehicle for user {}\", email);\n return false;" }, { - "sample" : "vehicleDetails", - "lineNumber" : 113, - "columnNumber" : 39, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", - "excerpt" : " userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {\n vehicleDetails.setOwner(user);\n vehicleDetailsRepository.save(vehicleDetails); /* <=== com.crapi.entity.VehicleDetails */ \n return true;\n }\n logger.error(\"Fail to create vehicle for user {}\", email);\n return false;\n } catch (Exception e) {" + "sample": "vehicleDetails", + "lineNumber": 113, + "columnNumber": 39, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", + "excerpt": " userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {\n vehicleDetails.setOwner(user);\n vehicleDetailsRepository.save(vehicleDetails); /* <=== com.crapi.entity.VehicleDetails */ \n return true;\n }\n logger.error(\"Fail to create vehicle for user {}\", email);\n return false;\n } catch (Exception e) {" }, { - "sample" : "vehicleDetailsRepository.save(vehicleDetails)", - "lineNumber" : 113, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", - "excerpt" : " userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {\n vehicleDetails.setOwner(user);\n vehicleDetailsRepository.save(vehicleDetails); /* <=== com.crapi.repository.VehicleDetailsRepository.save */ \n return true;\n }\n logger.error(\"Fail to create vehicle for user {}\", email);\n return false;\n } catch (Exception e) {" + "sample": "vehicleDetailsRepository.save(vehicleDetails)", + "lineNumber": 113, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", + "excerpt": " userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {\n vehicleDetails.setOwner(user);\n vehicleDetailsRepository.save(vehicleDetails); /* <=== com.crapi.repository.VehicleDetailsRepository.save */ \n return true;\n }\n logger.error(\"Fail to create vehicle for user {}\", email);\n return false;\n } catch (Exception e) {" } ] } ] }, { - "sinkType" : "storages", - "id" : "Storages.SpringFramework.Jdbc.Read", - "name" : "Java Database Connector(Read)", - "category" : "", - "domains" : [ - "oracle.com" - ], - "sensitivity" : "", - "isSensitive" : false, - "tags" : { - + "sinkType": "storages", + "id": "Storages.SpringFramework.Jdbc.Read", + "name": "Java Database Connector(Read)", + "category": "", + "domains": ["oracle.com"], + "sensitivity": "", + "isSensitive": false, + "tags": {}, + "apiUrl": [], + "databaseDetails": { + "dbName": "${DB_NAME}", + "dbVendor": "postgresql", + "dbLocation": "${DB_HOST}:${DB_PORT}", + "dbOperation": "Read" }, - "apiUrl" : [ - ], - "databaseDetails" : { - "dbName" : "${DB_NAME}", - "dbVendor" : "postgresql", - "dbLocation" : "${DB_HOST}:${DB_PORT}", - "dbOperation" : "Read" - }, - "paths" : [ + "paths": [ { - "pathId" : "6958-6953", - "path" : [ + "pathId": "6958-6953", + "path": [ { - "sample" : "java.lang.String email", - "lineNumber" : 29, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/model/ForgetPassword.java", - "excerpt" : "public class ForgetPassword implements Serializable {\n\n @NotBlank\n @Size(min = 3, max = 100)\n @Email\n private String email; /* <=== 'email' is a member of 'com.crapi.model.ForgetPassword' class */ \n}" + "sample": "java.lang.String email", + "lineNumber": 29, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/model/ForgetPassword.java", + "excerpt": "public class ForgetPassword implements Serializable {\n\n @NotBlank\n @Size(min = 3, max = 100)\n @Email\n private String email; /* <=== 'email' is a member of 'com.crapi.model.ForgetPassword' class */ \n}" }, { - "sample" : "forgetPassword", - "lineNumber" : 141, - "columnNumber" : 39, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " CRAPIResponse forgetPasswordResponse = null;\n OTPGenerator otpGenerator = new OTPGenerator();\n Otp checkOtpEnteryForUser = null;\n User user = null;\n String otp = \"\";\n user = userRepository.findByEmail(forgetPassword.getEmail()); /* <=== com.crapi.model.ForgetPassword */ \n if (user != null) {\n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database." + "sample": "forgetPassword", + "lineNumber": 141, + "columnNumber": 39, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " CRAPIResponse forgetPasswordResponse = null;\n OTPGenerator otpGenerator = new OTPGenerator();\n Otp checkOtpEnteryForUser = null;\n User user = null;\n String otp = \"\";\n user = userRepository.findByEmail(forgetPassword.getEmail()); /* <=== com.crapi.model.ForgetPassword */ \n if (user != null) {\n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database." }, { - "sample" : "findByEmail(forgetPassword.getEmail())", - "lineNumber" : 141, - "columnNumber" : 12, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " CRAPIResponse forgetPasswordResponse = null;\n OTPGenerator otpGenerator = new OTPGenerator();\n Otp checkOtpEnteryForUser = null;\n User user = null;\n String otp = \"\";\n user = userRepository.findByEmail(forgetPassword.getEmail()); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n if (user != null) {\n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database." + "sample": "findByEmail(forgetPassword.getEmail())", + "lineNumber": 141, + "columnNumber": 12, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " CRAPIResponse forgetPasswordResponse = null;\n OTPGenerator otpGenerator = new OTPGenerator();\n Otp checkOtpEnteryForUser = null;\n User user = null;\n String otp = \"\";\n user = userRepository.findByEmail(forgetPassword.getEmail()); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n if (user != null) {\n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database." } ] }, { - "pathId" : "6690-6699-21890-12059-6653-6674-6669", - "path" : [ + "pathId": "6690-6699-21890-12059-6653-6674-6669", + "path": [ { - "sample" : "java.lang.String email", - "lineNumber" : 33, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/model/OtpForm.java", - "excerpt" : " @Size(min = 5, max = 30)\n private String password;\n\n @NotBlank\n @Size(min = 5, max = 30)\n private String email; /* <=== 'email' is a member of 'com.crapi.model.OtpForm' class */ \n}" + "sample": "java.lang.String email", + "lineNumber": 33, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/model/OtpForm.java", + "excerpt": " @Size(min = 5, max = 30)\n private String password;\n\n @NotBlank\n @Size(min = 5, max = 30)\n private String email; /* <=== 'email' is a member of 'com.crapi.model.OtpForm' class */ \n}" }, { - "sample" : "otpForm", - "lineNumber" : 82, - "columnNumber" : 36, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) { /* <=== com.crapi.model.OtpForm */ \n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {" + "sample": "otpForm", + "lineNumber": 82, + "columnNumber": 36, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) { /* <=== com.crapi.model.OtpForm */ \n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {" }, { - "sample" : "otpForm", - "lineNumber" : 83, - "columnNumber" : 41, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword())); /* <=== com.crapi.model.OtpForm */ \n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {\n otp.setCount(otp.getCount() + 1);" + "sample": "otpForm", + "lineNumber": 83, + "columnNumber": 41, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword())); /* <=== com.crapi.model.OtpForm */ \n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {\n otp.setCount(otp.getCount() + 1);" }, { - "sample" : "OtpForm otpForm", - "lineNumber" : 75, - "columnNumber" : 36, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " * @param otpForm\n * @return otp object, validate the otp and then reset the password of user\n */\n @Transactional\n @Override\n public CRAPIResponse validateOtp(OtpForm otpForm) { /* <=== */ \n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {" + "sample": "OtpForm otpForm", + "lineNumber": 75, + "columnNumber": 36, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " * @param otpForm\n * @return otp object, validate the otp and then reset the password of user\n */\n @Transactional\n @Override\n public CRAPIResponse validateOtp(OtpForm otpForm) { /* <=== */ \n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {" }, { - "sample" : "this.getDummyOtpForm()", - "lineNumber" : 83, - "columnNumber" : 28, - "fileName" : "/app/code/services/identity/src/test/java/com/crapi/service/Impl/OtpServiceImplTest.java", - "excerpt" : " }\n\n @Test(expected = EntityNotFoundException.class)\n public void validateOtpThrowsExceptionWhenUserNotFound() {\n Mockito.when(userRepository.findByEmail(Mockito.anyString())).thenReturn(null);\n otpService.validateOtp(getDummyOtpForm()); /* <=== com.crapi.service.Impl.OtpServiceImplTest.getDummyOtpForm */ \n }\n\n @Test\n public void validateOtpSuccess() {\n Otp otp = getDummyOtp();" + "sample": "this.getDummyOtpForm()", + "lineNumber": 83, + "columnNumber": 28, + "fileName": "/app/code/services/identity/src/test/java/com/crapi/service/Impl/OtpServiceImplTest.java", + "excerpt": " }\n\n @Test(expected = EntityNotFoundException.class)\n public void validateOtpThrowsExceptionWhenUserNotFound() {\n Mockito.when(userRepository.findByEmail(Mockito.anyString())).thenReturn(null);\n otpService.validateOtp(getDummyOtpForm()); /* <=== com.crapi.service.Impl.OtpServiceImplTest.getDummyOtpForm */ \n }\n\n @Test\n public void validateOtpSuccess() {\n Otp otp = getDummyOtp();" }, { - "sample" : "OtpForm otpForm", - "lineNumber" : 75, - "columnNumber" : 36, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " * @param otpForm\n * @return otp object, validate the otp and then reset the password of user\n */\n @Transactional\n @Override\n public CRAPIResponse validateOtp(OtpForm otpForm) { /* <=== */ \n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {" + "sample": "OtpForm otpForm", + "lineNumber": 75, + "columnNumber": 36, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " * @param otpForm\n * @return otp object, validate the otp and then reset the password of user\n */\n @Transactional\n @Override\n public CRAPIResponse validateOtp(OtpForm otpForm) { /* <=== */ \n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {" }, { - "sample" : "otpForm", - "lineNumber" : 79, - "columnNumber" : 39, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " @Override\n public CRAPIResponse validateOtp(OtpForm otpForm) {\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.model.OtpForm */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" + "sample": "otpForm", + "lineNumber": 79, + "columnNumber": 39, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " @Override\n public CRAPIResponse validateOtp(OtpForm otpForm) {\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.model.OtpForm */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" }, { - "sample" : "findByEmail(otpForm.getEmail())", - "lineNumber" : 79, - "columnNumber" : 12, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " @Override\n public CRAPIResponse validateOtp(OtpForm otpForm) {\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" + "sample": "findByEmail(otpForm.getEmail())", + "lineNumber": 79, + "columnNumber": 12, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " @Override\n public CRAPIResponse validateOtp(OtpForm otpForm) {\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" } ] }, { - "pathId" : "8462-8461-8531-8540-8536", - "path" : [ + "pathId": "8462-8461-8531-8540-8536", + "path": [ { - "sample" : "java.lang.String email", - "lineNumber" : 26, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/model/LoginForm.java", - "excerpt" : "@Data\npublic class LoginForm {\n\n @NotBlank\n @Size(min = 3, max = 100)\n private String email; /* <=== 'email' is a member of 'com.crapi.model.LoginForm' class */ \n\n @NotBlank\n @Size(min = 4, max = 100)\n private String password;\n" + "sample": "java.lang.String email", + "lineNumber": 26, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/model/LoginForm.java", + "excerpt": "@Data\npublic class LoginForm {\n\n @NotBlank\n @Size(min = 3, max = 100)\n private String email; /* <=== 'email' is a member of 'com.crapi.model.LoginForm' class */ \n\n @NotBlank\n @Size(min = 4, max = 100)\n private String password;\n" }, { - "sample" : "loginForm", - "lineNumber" : 110, - "columnNumber" : 32, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " authenticationManager.authenticate(\n new UsernamePasswordAuthenticationToken(\n loginForm.getEmail(), loginForm.getPassword()));\n String jwt = jwtProvider.generateJwtToken(user);\n if (jwt != null) {\n updateUserToken(jwt, loginForm.getEmail()); /* <=== com.crapi.model.LoginForm */ \n jwtResponse.setToken(jwt);\n } else {\n jwtResponse.setMessage(UserMessage.INVALID_CREDENTIALS);\n }\n }" + "sample": "loginForm", + "lineNumber": 110, + "columnNumber": 32, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " authenticationManager.authenticate(\n new UsernamePasswordAuthenticationToken(\n loginForm.getEmail(), loginForm.getPassword()));\n String jwt = jwtProvider.generateJwtToken(user);\n if (jwt != null) {\n updateUserToken(jwt, loginForm.getEmail()); /* <=== com.crapi.model.LoginForm */ \n jwtResponse.setToken(jwt);\n } else {\n jwtResponse.setMessage(UserMessage.INVALID_CREDENTIALS);\n }\n }" }, { - "sample" : "getEmail()", - "lineNumber" : 110, - "columnNumber" : 32, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " authenticationManager.authenticate(\n new UsernamePasswordAuthenticationToken(\n loginForm.getEmail(), loginForm.getPassword()));\n String jwt = jwtProvider.generateJwtToken(user);\n if (jwt != null) {\n updateUserToken(jwt, loginForm.getEmail()); /* <=== com.crapi.model.LoginForm.getEmail */ \n jwtResponse.setToken(jwt);\n } else {\n jwtResponse.setMessage(UserMessage.INVALID_CREDENTIALS);\n }\n }" + "sample": "getEmail()", + "lineNumber": 110, + "columnNumber": 32, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " authenticationManager.authenticate(\n new UsernamePasswordAuthenticationToken(\n loginForm.getEmail(), loginForm.getPassword()));\n String jwt = jwtProvider.generateJwtToken(user);\n if (jwt != null) {\n updateUserToken(jwt, loginForm.getEmail()); /* <=== com.crapi.model.LoginForm.getEmail */ \n jwtResponse.setToken(jwt);\n } else {\n jwtResponse.setMessage(UserMessage.INVALID_CREDENTIALS);\n }\n }" }, { - "sample" : "String email", - "lineNumber" : 142, - "columnNumber" : 43, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " * @param jwt update token in database\n * @param email by email user details and update token\n */\n @Transactional\n @Override\n public void updateUserToken(String jwt, String email) { /* <=== */ \n User user = userRepository.findByEmail(email);\n if (user != null) {\n user.setJwtToken(jwt);\n userRepository.saveAndFlush(user);\n }" + "sample": "String email", + "lineNumber": 142, + "columnNumber": 43, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " * @param jwt update token in database\n * @param email by email user details and update token\n */\n @Transactional\n @Override\n public void updateUserToken(String jwt, String email) { /* <=== */ \n User user = userRepository.findByEmail(email);\n if (user != null) {\n user.setJwtToken(jwt);\n userRepository.saveAndFlush(user);\n }" }, { - "sample" : "email", - "lineNumber" : 143, - "columnNumber" : 44, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " * @param email by email user details and update token\n */\n @Transactional\n @Override\n public void updateUserToken(String jwt, String email) {\n User user = userRepository.findByEmail(email); /* <=== java.lang.String */ \n if (user != null) {\n user.setJwtToken(jwt);\n userRepository.saveAndFlush(user);\n }\n }" + "sample": "email", + "lineNumber": 143, + "columnNumber": 44, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " * @param email by email user details and update token\n */\n @Transactional\n @Override\n public void updateUserToken(String jwt, String email) {\n User user = userRepository.findByEmail(email); /* <=== java.lang.String */ \n if (user != null) {\n user.setJwtToken(jwt);\n userRepository.saveAndFlush(user);\n }\n }" }, { - "sample" : "userRepository.findByEmail(email)", - "lineNumber" : 143, - "columnNumber" : 17, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " * @param email by email user details and update token\n */\n @Transactional\n @Override\n public void updateUserToken(String jwt, String email) {\n User user = userRepository.findByEmail(email); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n if (user != null) {\n user.setJwtToken(jwt);\n userRepository.saveAndFlush(user);\n }\n }" + "sample": "userRepository.findByEmail(email)", + "lineNumber": 143, + "columnNumber": 17, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " * @param email by email user details and update token\n */\n @Transactional\n @Override\n public void updateUserToken(String jwt, String email) {\n User user = userRepository.findByEmail(email); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n if (user != null) {\n user.setJwtToken(jwt);\n userRepository.saveAndFlush(user);\n }\n }" } ] }, { - "pathId" : "7369-7382-7377", - "path" : [ + "pathId": "7369-7382-7377", + "path": [ { - "sample" : "java.lang.String email", - "lineNumber" : 35, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", - "excerpt" : " name = \"user_generator\",\n sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email; /* <=== 'email' is a member of 'com.crapi.entity.User' class */ \n private String password;\n private String number;\n\n @Column(length = 500)\n private String jwtToken;" + "sample": "java.lang.String email", + "lineNumber": 35, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", + "excerpt": " name = \"user_generator\",\n sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email; /* <=== 'email' is a member of 'com.crapi.entity.User' class */ \n private String password;\n private String number;\n\n @Column(length = 500)\n private String jwtToken;" }, { - "sample" : "user", - "lineNumber" : 126, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " @Transactional\n @Override\n public ProfileVideo getProfileVideo(Long videoId, HttpServletRequest request) {\n User user;\n ProfileVideo profileVideo;\n user = userService.getUserFromToken(request); /* <=== com.crapi.entity.User */ \n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n if (profileVideo != null) {\n if (profileVideo.getId() == videoId) {\n return profileVideo;\n }" + "sample": "user", + "lineNumber": 126, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " @Transactional\n @Override\n public ProfileVideo getProfileVideo(Long videoId, HttpServletRequest request) {\n User user;\n ProfileVideo profileVideo;\n user = userService.getUserFromToken(request); /* <=== com.crapi.entity.User */ \n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n if (profileVideo != null) {\n if (profileVideo.getId() == videoId) {\n return profileVideo;\n }" }, { - "sample" : "user", - "lineNumber" : 127, - "columnNumber" : 57, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " @Override\n public ProfileVideo getProfileVideo(Long videoId, HttpServletRequest request) {\n User user;\n ProfileVideo profileVideo;\n user = userService.getUserFromToken(request);\n profileVideo = profileVideoRepository.findByUser_id(user.getId()); /* <=== com.crapi.entity.User */ \n if (profileVideo != null) {\n if (profileVideo.getId() == videoId) {\n return profileVideo;\n }\n }" + "sample": "user", + "lineNumber": 127, + "columnNumber": 57, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " @Override\n public ProfileVideo getProfileVideo(Long videoId, HttpServletRequest request) {\n User user;\n ProfileVideo profileVideo;\n user = userService.getUserFromToken(request);\n profileVideo = profileVideoRepository.findByUser_id(user.getId()); /* <=== com.crapi.entity.User */ \n if (profileVideo != null) {\n if (profileVideo.getId() == videoId) {\n return profileVideo;\n }\n }" }, { - "sample" : "findByUser_id(user.getId())", - "lineNumber" : 127, - "columnNumber" : 20, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " @Override\n public ProfileVideo getProfileVideo(Long videoId, HttpServletRequest request) {\n User user;\n ProfileVideo profileVideo;\n user = userService.getUserFromToken(request);\n profileVideo = profileVideoRepository.findByUser_id(user.getId()); /* <=== com.crapi.repository.ProfileVideoRepository.findByUser_id */ \n if (profileVideo != null) {\n if (profileVideo.getId() == videoId) {\n return profileVideo;\n }\n }" + "sample": "findByUser_id(user.getId())", + "lineNumber": 127, + "columnNumber": 20, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " @Override\n public ProfileVideo getProfileVideo(Long videoId, HttpServletRequest request) {\n User user;\n ProfileVideo profileVideo;\n user = userService.getUserFromToken(request);\n profileVideo = profileVideoRepository.findByUser_id(user.getId()); /* <=== com.crapi.repository.ProfileVideoRepository.findByUser_id */ \n if (profileVideo != null) {\n if (profileVideo.getId() == videoId) {\n return profileVideo;\n }\n }" } ] }, { - "pathId" : "9830-9843-9838", - "path" : [ + "pathId": "9830-9843-9838", + "path": [ { - "sample" : "java.lang.String email", - "lineNumber" : 35, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", - "excerpt" : " name = \"user_generator\",\n sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email; /* <=== 'email' is a member of 'com.crapi.entity.User' class */ \n private String password;\n private String number;\n\n @Column(length = 500)\n private String jwtToken;" + "sample": "java.lang.String email", + "lineNumber": 35, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", + "excerpt": " name = \"user_generator\",\n sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email; /* <=== 'email' is a member of 'com.crapi.entity.User' class */ \n private String password;\n private String number;\n\n @Column(length = 500)\n private String jwtToken;" }, { - "sample" : "user", - "lineNumber" : 209, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " public CRAPIResponse sendVehicleDetails(HttpServletRequest request) {\n User user;\n UserDetails userDetails;\n VehicleDetails vehicleDetails = null;\n List vehicleDetailList = null;\n user = userService.getUserFromToken(request); /* <=== com.crapi.entity.User */ \n userDetails = userDetailsRepository.findByUser_id(user.getId());\n vehicleDetailList = vehicleDetailsRepository.findAll();\n for (VehicleDetails vehicleDetail : vehicleDetailList) {\n if (vehicleDetail.getOwner() == null) {\n vehicleDetails = vehicleDetail;" + "sample": "user", + "lineNumber": 209, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " public CRAPIResponse sendVehicleDetails(HttpServletRequest request) {\n User user;\n UserDetails userDetails;\n VehicleDetails vehicleDetails = null;\n List vehicleDetailList = null;\n user = userService.getUserFromToken(request); /* <=== com.crapi.entity.User */ \n userDetails = userDetailsRepository.findByUser_id(user.getId());\n vehicleDetailList = vehicleDetailsRepository.findAll();\n for (VehicleDetails vehicleDetail : vehicleDetailList) {\n if (vehicleDetail.getOwner() == null) {\n vehicleDetails = vehicleDetail;" }, { - "sample" : "user", - "lineNumber" : 210, - "columnNumber" : 55, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " User user;\n UserDetails userDetails;\n VehicleDetails vehicleDetails = null;\n List vehicleDetailList = null;\n user = userService.getUserFromToken(request);\n userDetails = userDetailsRepository.findByUser_id(user.getId()); /* <=== com.crapi.entity.User */ \n vehicleDetailList = vehicleDetailsRepository.findAll();\n for (VehicleDetails vehicleDetail : vehicleDetailList) {\n if (vehicleDetail.getOwner() == null) {\n vehicleDetails = vehicleDetail;\n break;" + "sample": "user", + "lineNumber": 210, + "columnNumber": 55, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " User user;\n UserDetails userDetails;\n VehicleDetails vehicleDetails = null;\n List vehicleDetailList = null;\n user = userService.getUserFromToken(request);\n userDetails = userDetailsRepository.findByUser_id(user.getId()); /* <=== com.crapi.entity.User */ \n vehicleDetailList = vehicleDetailsRepository.findAll();\n for (VehicleDetails vehicleDetail : vehicleDetailList) {\n if (vehicleDetail.getOwner() == null) {\n vehicleDetails = vehicleDetail;\n break;" }, { - "sample" : "findByUser_id(user.getId())", - "lineNumber" : 210, - "columnNumber" : 19, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " User user;\n UserDetails userDetails;\n VehicleDetails vehicleDetails = null;\n List vehicleDetailList = null;\n user = userService.getUserFromToken(request);\n userDetails = userDetailsRepository.findByUser_id(user.getId()); /* <=== com.crapi.repository.UserDetailsRepository.findByUser_id */ \n vehicleDetailList = vehicleDetailsRepository.findAll();\n for (VehicleDetails vehicleDetail : vehicleDetailList) {\n if (vehicleDetail.getOwner() == null) {\n vehicleDetails = vehicleDetail;\n break;" + "sample": "findByUser_id(user.getId())", + "lineNumber": 210, + "columnNumber": 19, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " User user;\n UserDetails userDetails;\n VehicleDetails vehicleDetails = null;\n List vehicleDetailList = null;\n user = userService.getUserFromToken(request);\n userDetails = userDetailsRepository.findByUser_id(user.getId()); /* <=== com.crapi.repository.UserDetailsRepository.findByUser_id */ \n vehicleDetailList = vehicleDetailsRepository.findAll();\n for (VehicleDetails vehicleDetail : vehicleDetailList) {\n if (vehicleDetail.getOwner() == null) {\n vehicleDetails = vehicleDetail;\n break;" } ] }, { - "pathId" : "7189-7202-7197", - "path" : [ + "pathId": "7189-7202-7197", + "path": [ { - "sample" : "java.lang.String email", - "lineNumber" : 35, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", - "excerpt" : " name = \"user_generator\",\n sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email; /* <=== 'email' is a member of 'com.crapi.entity.User' class */ \n private String password;\n private String number;\n\n @Column(length = 500)\n private String jwtToken;" + "sample": "java.lang.String email", + "lineNumber": 35, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", + "excerpt": " name = \"user_generator\",\n sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email; /* <=== 'email' is a member of 'com.crapi.entity.User' class */ \n private String password;\n private String number;\n\n @Column(length = 500)\n private String jwtToken;" }, { - "sample" : "user", - "lineNumber" : 69, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " @Override\n public UserDetails uploadProfilePicture(MultipartFile file, HttpServletRequest request) {\n User user;\n UserDetails userDetails;\n try {\n user = userService.getUserFromToken(request); /* <=== com.crapi.entity.User */ \n userDetails = userDetailsRepository.findByUser_id(user.getId());\n if (userDetails != null && ProfileValidator.validateFile(file) != null) {\n userDetails.setPicture(file.getBytes());\n } else {\n userDetails = new UserDetails();" + "sample": "user", + "lineNumber": 69, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " @Override\n public UserDetails uploadProfilePicture(MultipartFile file, HttpServletRequest request) {\n User user;\n UserDetails userDetails;\n try {\n user = userService.getUserFromToken(request); /* <=== com.crapi.entity.User */ \n userDetails = userDetailsRepository.findByUser_id(user.getId());\n if (userDetails != null && ProfileValidator.validateFile(file) != null) {\n userDetails.setPicture(file.getBytes());\n } else {\n userDetails = new UserDetails();" }, { - "sample" : "user", - "lineNumber" : 70, - "columnNumber" : 57, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " public UserDetails uploadProfilePicture(MultipartFile file, HttpServletRequest request) {\n User user;\n UserDetails userDetails;\n try {\n user = userService.getUserFromToken(request);\n userDetails = userDetailsRepository.findByUser_id(user.getId()); /* <=== com.crapi.entity.User */ \n if (userDetails != null && ProfileValidator.validateFile(file) != null) {\n userDetails.setPicture(file.getBytes());\n } else {\n userDetails = new UserDetails();\n userDetails.setAvailable_credit(100.0);" + "sample": "user", + "lineNumber": 70, + "columnNumber": 57, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " public UserDetails uploadProfilePicture(MultipartFile file, HttpServletRequest request) {\n User user;\n UserDetails userDetails;\n try {\n user = userService.getUserFromToken(request);\n userDetails = userDetailsRepository.findByUser_id(user.getId()); /* <=== com.crapi.entity.User */ \n if (userDetails != null && ProfileValidator.validateFile(file) != null) {\n userDetails.setPicture(file.getBytes());\n } else {\n userDetails = new UserDetails();\n userDetails.setAvailable_credit(100.0);" }, { - "sample" : "findByUser_id(user.getId())", - "lineNumber" : 70, - "columnNumber" : 21, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " public UserDetails uploadProfilePicture(MultipartFile file, HttpServletRequest request) {\n User user;\n UserDetails userDetails;\n try {\n user = userService.getUserFromToken(request);\n userDetails = userDetailsRepository.findByUser_id(user.getId()); /* <=== com.crapi.repository.UserDetailsRepository.findByUser_id */ \n if (userDetails != null && ProfileValidator.validateFile(file) != null) {\n userDetails.setPicture(file.getBytes());\n } else {\n userDetails = new UserDetails();\n userDetails.setAvailable_credit(100.0);" + "sample": "findByUser_id(user.getId())", + "lineNumber": 70, + "columnNumber": 21, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " public UserDetails uploadProfilePicture(MultipartFile file, HttpServletRequest request) {\n User user;\n UserDetails userDetails;\n try {\n user = userService.getUserFromToken(request);\n userDetails = userDetailsRepository.findByUser_id(user.getId()); /* <=== com.crapi.repository.UserDetailsRepository.findByUser_id */ \n if (userDetails != null && ProfileValidator.validateFile(file) != null) {\n userDetails.setPicture(file.getBytes());\n } else {\n userDetails = new UserDetails();\n userDetails.setAvailable_credit(100.0);" } ] }, { - "pathId" : "8884-8879", - "path" : [ + "pathId": "8884-8879", + "path": [ { - "sample" : "java.lang.String old_email", - "lineNumber" : 26, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/model/ChangeEmailForm.java", - "excerpt" : "@Data\npublic class ChangeEmailForm {\n\n @NotBlank\n @Size(min = 3, max = 40)\n private String old_email; /* <=== 'old_email' is a member of 'com.crapi.model.ChangeEmailForm' class */ \n\n @NotBlank\n @Size(min = 3, max = 40)\n private String new_email;\n" + "sample": "java.lang.String old_email", + "lineNumber": 26, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/model/ChangeEmailForm.java", + "excerpt": "@Data\npublic class ChangeEmailForm {\n\n @NotBlank\n @Size(min = 3, max = 40)\n private String old_email; /* <=== 'old_email' is a member of 'com.crapi.model.ChangeEmailForm' class */ \n\n @NotBlank\n @Size(min = 3, max = 40)\n private String new_email;\n" }, { - "sample" : "changeEmailForm", - "lineNumber" : 268, - "columnNumber" : 65, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " @Override\n public CRAPIResponse verifyEmailToken(\n HttpServletRequest request, ChangeEmailForm changeEmailForm) {\n ChangeEmailRequest changeEmailRequest;\n User user;\n changeEmailRequest = changeEmailRepository.findByEmailToken(changeEmailForm.getToken()); /* <=== com.crapi.model.ChangeEmailForm */ \n user = getUserFromToken(request);\n if (changeEmailRequest != null) {\n if (user.getEmail().equalsIgnoreCase(changeEmailRequest.getOldEmail())) {\n if (changeEmailRequest.getNewEmail().equalsIgnoreCase(changeEmailForm.getNew_email())) {\n user.setEmail(changeEmailRequest.getNewEmail());" + "sample": "changeEmailForm", + "lineNumber": 268, + "columnNumber": 65, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " @Override\n public CRAPIResponse verifyEmailToken(\n HttpServletRequest request, ChangeEmailForm changeEmailForm) {\n ChangeEmailRequest changeEmailRequest;\n User user;\n changeEmailRequest = changeEmailRepository.findByEmailToken(changeEmailForm.getToken()); /* <=== com.crapi.model.ChangeEmailForm */ \n user = getUserFromToken(request);\n if (changeEmailRequest != null) {\n if (user.getEmail().equalsIgnoreCase(changeEmailRequest.getOldEmail())) {\n if (changeEmailRequest.getNewEmail().equalsIgnoreCase(changeEmailForm.getNew_email())) {\n user.setEmail(changeEmailRequest.getNewEmail());" }, { - "sample" : "findByEmailToken(changeEmailForm.getToken())", - "lineNumber" : 268, - "columnNumber" : 26, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " @Override\n public CRAPIResponse verifyEmailToken(\n HttpServletRequest request, ChangeEmailForm changeEmailForm) {\n ChangeEmailRequest changeEmailRequest;\n User user;\n changeEmailRequest = changeEmailRepository.findByEmailToken(changeEmailForm.getToken()); /* <=== com.crapi.repository.ChangeEmailRepository.findByEmailToken */ \n user = getUserFromToken(request);\n if (changeEmailRequest != null) {\n if (user.getEmail().equalsIgnoreCase(changeEmailRequest.getOldEmail())) {\n if (changeEmailRequest.getNewEmail().equalsIgnoreCase(changeEmailForm.getNew_email())) {\n user.setEmail(changeEmailRequest.getNewEmail());" + "sample": "findByEmailToken(changeEmailForm.getToken())", + "lineNumber": 268, + "columnNumber": 26, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " @Override\n public CRAPIResponse verifyEmailToken(\n HttpServletRequest request, ChangeEmailForm changeEmailForm) {\n ChangeEmailRequest changeEmailRequest;\n User user;\n changeEmailRequest = changeEmailRepository.findByEmailToken(changeEmailForm.getToken()); /* <=== com.crapi.repository.ChangeEmailRepository.findByEmailToken */ \n user = getUserFromToken(request);\n if (changeEmailRequest != null) {\n if (user.getEmail().equalsIgnoreCase(changeEmailRequest.getOldEmail())) {\n if (changeEmailRequest.getNewEmail().equalsIgnoreCase(changeEmailForm.getNew_email())) {\n user.setEmail(changeEmailRequest.getNewEmail());" } ] }, { - "pathId" : "9120-9119-9162-8630-8629-8639-8647-8642", - "path" : [ + "pathId": "9120-9119-9162-8630-8629-8639-8647-8642", + "path": [ { - "sample" : "java.lang.String email", - "lineNumber" : 35, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", - "excerpt" : " name = \"user_generator\",\n sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email; /* <=== 'email' is a member of 'com.crapi.entity.User' class */ \n private String password;\n private String number;\n\n @Column(length = 500)\n private String jwtToken;" + "sample": "java.lang.String email", + "lineNumber": 35, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", + "excerpt": " name = \"user_generator\",\n sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email; /* <=== 'email' is a member of 'com.crapi.entity.User' class */ \n private String password;\n private String number;\n\n @Column(length = 500)\n private String jwtToken;" }, { - "sample" : "user", - "lineNumber" : 324, - "columnNumber" : 16, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n\n if (user != null) {\n return user; /* <=== com.crapi.entity.User */ \n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {\n logger.error(\"fail to get username from token -> Message:%d\", exception);" + "sample": "user", + "lineNumber": 324, + "columnNumber": 16, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n\n if (user != null) {\n return user; /* <=== com.crapi.entity.User */ \n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {\n logger.error(\"fail to get username from token -> Message:%d\", exception);" }, { - "sample" : "return user;", - "lineNumber" : 324, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n\n if (user != null) {\n return user; /* <=== */ \n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {\n logger.error(\"fail to get username from token -> Message:%d\", exception);" + "sample": "return user;", + "lineNumber": 324, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n\n if (user != null) {\n return user; /* <=== */ \n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {\n logger.error(\"fail to get username from token -> Message:%d\", exception);" }, { - "sample" : "com.crapi.entity.User", - "lineNumber" : 314, - "columnNumber" : 10, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " }\n }\n\n @Transactional\n @Override\n public User getUserFromTokenWithoutValidation(HttpServletRequest request) { /* <=== */ \n User user = null;\n try {\n String jwt = jwtAuthTokenFilter.getJwt(request);\n String username = jwtProvider.getUserNameFromJwtToken(jwt);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {" + "sample": "com.crapi.entity.User", + "lineNumber": 314, + "columnNumber": 10, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " }\n }\n\n @Transactional\n @Override\n public User getUserFromTokenWithoutValidation(HttpServletRequest request) { /* <=== */ \n User user = null;\n try {\n String jwt = jwtAuthTokenFilter.getJwt(request);\n String username = jwtProvider.getUserNameFromJwtToken(jwt);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {" }, { - "sample" : "this.getUserFromTokenWithoutValidation(request)", - "lineNumber" : 181, - "columnNumber" : 14, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " DashboardResponse dashboardResponse;\n ProfileVideo profileVideo;\n try {\n // Invalid Signature vulnerability\n // Not Checking the validity of the token for this request\n user = getUserFromTokenWithoutValidation(request); /* <=== com.crapi.service.Impl.UserServiceImpl.getUserFromTokenWithoutValidation */ \n userDetails = userDetailsRepository.findByUser_id(user.getId());\n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n dashboardResponse =\n new DashboardResponse(\n user.getId()," + "sample": "this.getUserFromTokenWithoutValidation(request)", + "lineNumber": 181, + "columnNumber": 14, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " DashboardResponse dashboardResponse;\n ProfileVideo profileVideo;\n try {\n // Invalid Signature vulnerability\n // Not Checking the validity of the token for this request\n user = getUserFromTokenWithoutValidation(request); /* <=== com.crapi.service.Impl.UserServiceImpl.getUserFromTokenWithoutValidation */ \n userDetails = userDetailsRepository.findByUser_id(user.getId());\n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n dashboardResponse =\n new DashboardResponse(\n user.getId()," }, { - "sample" : "user", - "lineNumber" : 181, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " DashboardResponse dashboardResponse;\n ProfileVideo profileVideo;\n try {\n // Invalid Signature vulnerability\n // Not Checking the validity of the token for this request\n user = getUserFromTokenWithoutValidation(request); /* <=== com.crapi.entity.User */ \n userDetails = userDetailsRepository.findByUser_id(user.getId());\n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n dashboardResponse =\n new DashboardResponse(\n user.getId()," + "sample": "user", + "lineNumber": 181, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " DashboardResponse dashboardResponse;\n ProfileVideo profileVideo;\n try {\n // Invalid Signature vulnerability\n // Not Checking the validity of the token for this request\n user = getUserFromTokenWithoutValidation(request); /* <=== com.crapi.entity.User */ \n userDetails = userDetailsRepository.findByUser_id(user.getId());\n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n dashboardResponse =\n new DashboardResponse(\n user.getId()," }, { - "sample" : "user", - "lineNumber" : 182, - "columnNumber" : 57, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " ProfileVideo profileVideo;\n try {\n // Invalid Signature vulnerability\n // Not Checking the validity of the token for this request\n user = getUserFromTokenWithoutValidation(request);\n userDetails = userDetailsRepository.findByUser_id(user.getId()); /* <=== com.crapi.entity.User */ \n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n dashboardResponse =\n new DashboardResponse(\n user.getId(),\n (userDetails != null ? userDetails.getName() : \"\")," + "sample": "user", + "lineNumber": 182, + "columnNumber": 57, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " ProfileVideo profileVideo;\n try {\n // Invalid Signature vulnerability\n // Not Checking the validity of the token for this request\n user = getUserFromTokenWithoutValidation(request);\n userDetails = userDetailsRepository.findByUser_id(user.getId()); /* <=== com.crapi.entity.User */ \n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n dashboardResponse =\n new DashboardResponse(\n user.getId(),\n (userDetails != null ? userDetails.getName() : \"\")," }, { - "sample" : "user", - "lineNumber" : 183, - "columnNumber" : 59, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " try {\n // Invalid Signature vulnerability\n // Not Checking the validity of the token for this request\n user = getUserFromTokenWithoutValidation(request);\n userDetails = userDetailsRepository.findByUser_id(user.getId());\n profileVideo = profileVideoRepository.findByUser_id(user.getId()); /* <=== com.crapi.entity.User */ \n dashboardResponse =\n new DashboardResponse(\n user.getId(),\n (userDetails != null ? userDetails.getName() : \"\"),\n user.getEmail()," + "sample": "user", + "lineNumber": 183, + "columnNumber": 59, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " try {\n // Invalid Signature vulnerability\n // Not Checking the validity of the token for this request\n user = getUserFromTokenWithoutValidation(request);\n userDetails = userDetailsRepository.findByUser_id(user.getId());\n profileVideo = profileVideoRepository.findByUser_id(user.getId()); /* <=== com.crapi.entity.User */ \n dashboardResponse =\n new DashboardResponse(\n user.getId(),\n (userDetails != null ? userDetails.getName() : \"\"),\n user.getEmail()," }, { - "sample" : "findByUser_id(user.getId())", - "lineNumber" : 183, - "columnNumber" : 22, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " try {\n // Invalid Signature vulnerability\n // Not Checking the validity of the token for this request\n user = getUserFromTokenWithoutValidation(request);\n userDetails = userDetailsRepository.findByUser_id(user.getId());\n profileVideo = profileVideoRepository.findByUser_id(user.getId()); /* <=== com.crapi.repository.ProfileVideoRepository.findByUser_id */ \n dashboardResponse =\n new DashboardResponse(\n user.getId(),\n (userDetails != null ? userDetails.getName() : \"\"),\n user.getEmail()," + "sample": "findByUser_id(user.getId())", + "lineNumber": 183, + "columnNumber": 22, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " try {\n // Invalid Signature vulnerability\n // Not Checking the validity of the token for this request\n user = getUserFromTokenWithoutValidation(request);\n userDetails = userDetailsRepository.findByUser_id(user.getId());\n profileVideo = profileVideoRepository.findByUser_id(user.getId()); /* <=== com.crapi.repository.ProfileVideoRepository.findByUser_id */ \n dashboardResponse =\n new DashboardResponse(\n user.getId(),\n (userDetails != null ? userDetails.getName() : \"\"),\n user.getEmail()," } ] }, { - "pathId" : "8354-8367-8384-8401-8416-8411", - "path" : [ + "pathId": "8354-8367-8384-8401-8416-8411", + "path": [ { - "sample" : "java.lang.String email", - "lineNumber" : 26, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/model/LoginForm.java", - "excerpt" : "@Data\npublic class LoginForm {\n\n @NotBlank\n @Size(min = 3, max = 100)\n private String email; /* <=== 'email' is a member of 'com.crapi.model.LoginForm' class */ \n\n @NotBlank\n @Size(min = 4, max = 100)\n private String password;\n" + "sample": "java.lang.String email", + "lineNumber": 26, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/model/LoginForm.java", + "excerpt": "@Data\npublic class LoginForm {\n\n @NotBlank\n @Size(min = 3, max = 100)\n private String email; /* <=== 'email' is a member of 'com.crapi.model.LoginForm' class */ \n\n @NotBlank\n @Size(min = 4, max = 100)\n private String password;\n" }, { - "sample" : "loginForm", - "lineNumber" : 84, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " @Override\n public JwtResponse authenticateUserLogin(LoginForm loginForm) throws BadCredentialsException {\n JwtResponse jwtResponse = new JwtResponse();\n Authentication authentication = null;\n User user;\n if (loginForm.getEmail() == null) { /* <=== com.crapi.model.LoginForm */ \n jwtResponse.setMessage(UserMessage.EMAIL_NOT_PROVIDED);\n } else {\n if (loginForm.getEmail().contains(\"jndi:\")) {\n if (isLog4jEnabled()) {\n logger.info(\"Log4j is enabled\");" + "sample": "loginForm", + "lineNumber": 84, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " @Override\n public JwtResponse authenticateUserLogin(LoginForm loginForm) throws BadCredentialsException {\n JwtResponse jwtResponse = new JwtResponse();\n Authentication authentication = null;\n User user;\n if (loginForm.getEmail() == null) { /* <=== com.crapi.model.LoginForm */ \n jwtResponse.setMessage(UserMessage.EMAIL_NOT_PROVIDED);\n } else {\n if (loginForm.getEmail().contains(\"jndi:\")) {\n if (isLog4jEnabled()) {\n logger.info(\"Log4j is enabled\");" }, { - "sample" : "loginForm", - "lineNumber" : 87, - "columnNumber" : 11, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " Authentication authentication = null;\n User user;\n if (loginForm.getEmail() == null) {\n jwtResponse.setMessage(UserMessage.EMAIL_NOT_PROVIDED);\n } else {\n if (loginForm.getEmail().contains(\"jndi:\")) { /* <=== com.crapi.model.LoginForm */ \n if (isLog4jEnabled()) {\n logger.info(\"Log4j is enabled\");\n logger.info(\n \"Log4j Exploit Try With Email: {} with Logger: {}, Main Logger: {}\",\n loginForm.getEmail()," + "sample": "loginForm", + "lineNumber": 87, + "columnNumber": 11, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " Authentication authentication = null;\n User user;\n if (loginForm.getEmail() == null) {\n jwtResponse.setMessage(UserMessage.EMAIL_NOT_PROVIDED);\n } else {\n if (loginForm.getEmail().contains(\"jndi:\")) { /* <=== com.crapi.model.LoginForm */ \n if (isLog4jEnabled()) {\n logger.info(\"Log4j is enabled\");\n logger.info(\n \"Log4j Exploit Try With Email: {} with Logger: {}, Main Logger: {}\",\n loginForm.getEmail()," }, { - "sample" : "loginForm", - "lineNumber" : 92, - "columnNumber" : 15, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " if (loginForm.getEmail().contains(\"jndi:\")) {\n if (isLog4jEnabled()) {\n logger.info(\"Log4j is enabled\");\n logger.info(\n \"Log4j Exploit Try With Email: {} with Logger: {}, Main Logger: {}\",\n loginForm.getEmail(), /* <=== com.crapi.model.LoginForm */ \n LOG4J_LOGGER.getClass().getName(),\n logger.getClass().getName());\n LOG4J_LOGGER.error(\"Log4j Exploit Success With Email: {}\", loginForm.getEmail());\n } else {\n logger.info(\"Log4j is disabled\");" + "sample": "loginForm", + "lineNumber": 92, + "columnNumber": 15, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " if (loginForm.getEmail().contains(\"jndi:\")) {\n if (isLog4jEnabled()) {\n logger.info(\"Log4j is enabled\");\n logger.info(\n \"Log4j Exploit Try With Email: {} with Logger: {}, Main Logger: {}\",\n loginForm.getEmail(), /* <=== com.crapi.model.LoginForm */ \n LOG4J_LOGGER.getClass().getName(),\n logger.getClass().getName());\n LOG4J_LOGGER.error(\"Log4j Exploit Success With Email: {}\", loginForm.getEmail());\n } else {\n logger.info(\"Log4j is disabled\");" }, { - "sample" : "loginForm", - "lineNumber" : 95, - "columnNumber" : 70, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " logger.info(\n \"Log4j Exploit Try With Email: {} with Logger: {}, Main Logger: {}\",\n loginForm.getEmail(),\n LOG4J_LOGGER.getClass().getName(),\n logger.getClass().getName());\n LOG4J_LOGGER.error(\"Log4j Exploit Success With Email: {}\", loginForm.getEmail()); /* <=== com.crapi.model.LoginForm */ \n } else {\n logger.info(\"Log4j is disabled\");\n }\n }\n user = userRepository.findByEmail(loginForm.getEmail());" + "sample": "loginForm", + "lineNumber": 95, + "columnNumber": 70, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " logger.info(\n \"Log4j Exploit Try With Email: {} with Logger: {}, Main Logger: {}\",\n loginForm.getEmail(),\n LOG4J_LOGGER.getClass().getName(),\n logger.getClass().getName());\n LOG4J_LOGGER.error(\"Log4j Exploit Success With Email: {}\", loginForm.getEmail()); /* <=== com.crapi.model.LoginForm */ \n } else {\n logger.info(\"Log4j is disabled\");\n }\n }\n user = userRepository.findByEmail(loginForm.getEmail());" }, { - "sample" : "loginForm", - "lineNumber" : 100, - "columnNumber" : 41, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " LOG4J_LOGGER.error(\"Log4j Exploit Success With Email: {}\", loginForm.getEmail());\n } else {\n logger.info(\"Log4j is disabled\");\n }\n }\n user = userRepository.findByEmail(loginForm.getEmail()); /* <=== com.crapi.model.LoginForm */ \n if (user == null) {\n jwtResponse.setMessage(UserMessage.EMAIL_NOT_REGISTERED);\n } else {\n authentication =\n authenticationManager.authenticate(" + "sample": "loginForm", + "lineNumber": 100, + "columnNumber": 41, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " LOG4J_LOGGER.error(\"Log4j Exploit Success With Email: {}\", loginForm.getEmail());\n } else {\n logger.info(\"Log4j is disabled\");\n }\n }\n user = userRepository.findByEmail(loginForm.getEmail()); /* <=== com.crapi.model.LoginForm */ \n if (user == null) {\n jwtResponse.setMessage(UserMessage.EMAIL_NOT_REGISTERED);\n } else {\n authentication =\n authenticationManager.authenticate(" }, { - "sample" : "findByEmail(loginForm.getEmail())", - "lineNumber" : 100, - "columnNumber" : 14, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " LOG4J_LOGGER.error(\"Log4j Exploit Success With Email: {}\", loginForm.getEmail());\n } else {\n logger.info(\"Log4j is disabled\");\n }\n }\n user = userRepository.findByEmail(loginForm.getEmail()); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n if (user == null) {\n jwtResponse.setMessage(UserMessage.EMAIL_NOT_REGISTERED);\n } else {\n authentication =\n authenticationManager.authenticate(" + "sample": "findByEmail(loginForm.getEmail())", + "lineNumber": 100, + "columnNumber": 14, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " LOG4J_LOGGER.error(\"Log4j Exploit Success With Email: {}\", loginForm.getEmail());\n } else {\n logger.info(\"Log4j is disabled\");\n }\n }\n user = userRepository.findByEmail(loginForm.getEmail()); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n if (user == null) {\n jwtResponse.setMessage(UserMessage.EMAIL_NOT_REGISTERED);\n } else {\n authentication =\n authenticationManager.authenticate(" } ] }, { - "pathId" : "7284-7297-7292", - "path" : [ + "pathId": "7284-7297-7292", + "path": [ { - "sample" : "java.lang.String email", - "lineNumber" : 35, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", - "excerpt" : " name = \"user_generator\",\n sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email; /* <=== 'email' is a member of 'com.crapi.entity.User' class */ \n private String password;\n private String number;\n\n @Column(length = 500)\n private String jwtToken;" + "sample": "java.lang.String email", + "lineNumber": 35, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", + "excerpt": " name = \"user_generator\",\n sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email; /* <=== 'email' is a member of 'com.crapi.entity.User' class */ \n private String password;\n private String number;\n\n @Column(length = 500)\n private String jwtToken;" }, { - "sample" : "user", - "lineNumber" : 99, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " public ProfileVideo uploadProfileVideo(MultipartFile file, HttpServletRequest request) {\n ProfileVideo profileVideo;\n String conversionParam = \"-v codec h264\";\n User user;\n try {\n user = userService.getUserFromToken(request); /* <=== com.crapi.entity.User */ \n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n if (profileVideo != null) {\n profileVideo.setVideo(file.getBytes());\n profileVideo.setConversion_params(conversionParam);\n profileVideo.setVideo_name(file.getOriginalFilename());" + "sample": "user", + "lineNumber": 99, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " public ProfileVideo uploadProfileVideo(MultipartFile file, HttpServletRequest request) {\n ProfileVideo profileVideo;\n String conversionParam = \"-v codec h264\";\n User user;\n try {\n user = userService.getUserFromToken(request); /* <=== com.crapi.entity.User */ \n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n if (profileVideo != null) {\n profileVideo.setVideo(file.getBytes());\n profileVideo.setConversion_params(conversionParam);\n profileVideo.setVideo_name(file.getOriginalFilename());" }, { - "sample" : "user", - "lineNumber" : 100, - "columnNumber" : 59, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " ProfileVideo profileVideo;\n String conversionParam = \"-v codec h264\";\n User user;\n try {\n user = userService.getUserFromToken(request);\n profileVideo = profileVideoRepository.findByUser_id(user.getId()); /* <=== com.crapi.entity.User */ \n if (profileVideo != null) {\n profileVideo.setVideo(file.getBytes());\n profileVideo.setConversion_params(conversionParam);\n profileVideo.setVideo_name(file.getOriginalFilename());\n } else {" + "sample": "user", + "lineNumber": 100, + "columnNumber": 59, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " ProfileVideo profileVideo;\n String conversionParam = \"-v codec h264\";\n User user;\n try {\n user = userService.getUserFromToken(request);\n profileVideo = profileVideoRepository.findByUser_id(user.getId()); /* <=== com.crapi.entity.User */ \n if (profileVideo != null) {\n profileVideo.setVideo(file.getBytes());\n profileVideo.setConversion_params(conversionParam);\n profileVideo.setVideo_name(file.getOriginalFilename());\n } else {" }, { - "sample" : "findByUser_id(user.getId())", - "lineNumber" : 100, - "columnNumber" : 22, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " ProfileVideo profileVideo;\n String conversionParam = \"-v codec h264\";\n User user;\n try {\n user = userService.getUserFromToken(request);\n profileVideo = profileVideoRepository.findByUser_id(user.getId()); /* <=== com.crapi.repository.ProfileVideoRepository.findByUser_id */ \n if (profileVideo != null) {\n profileVideo.setVideo(file.getBytes());\n profileVideo.setConversion_params(conversionParam);\n profileVideo.setVideo_name(file.getOriginalFilename());\n } else {" + "sample": "findByUser_id(user.getId())", + "lineNumber": 100, + "columnNumber": 22, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " ProfileVideo profileVideo;\n String conversionParam = \"-v codec h264\";\n User user;\n try {\n user = userService.getUserFromToken(request);\n profileVideo = profileVideoRepository.findByUser_id(user.getId()); /* <=== com.crapi.repository.ProfileVideoRepository.findByUser_id */ \n if (profileVideo != null) {\n profileVideo.setVideo(file.getBytes());\n profileVideo.setConversion_params(conversionParam);\n profileVideo.setVideo_name(file.getOriginalFilename());\n } else {" } ] }, { - "pathId" : "9238-9246-9241", - "path" : [ + "pathId": "9238-9246-9241", + "path": [ { - "sample" : "java.lang.String email", - "lineNumber" : 26, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/model/LoginWithEmailToken.java", - "excerpt" : "@Data\npublic class LoginWithEmailToken {\n\n @NotBlank\n @Size(min = 3, max = 100)\n private String email; /* <=== 'email' is a member of 'com.crapi.model.LoginWithEmailToken' class */ \n\n @NotBlank\n @Size(min = 3, max = 100)\n private String token;\n}" + "sample": "java.lang.String email", + "lineNumber": 26, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/model/LoginWithEmailToken.java", + "excerpt": "@Data\npublic class LoginWithEmailToken {\n\n @NotBlank\n @Size(min = 3, max = 100)\n private String email; /* <=== 'email' is a member of 'com.crapi.model.LoginWithEmailToken' class */ \n\n @NotBlank\n @Size(min = 3, max = 100)\n private String token;\n}" }, { - "sample" : "loginWithEmailToken", - "lineNumber" : 360, - "columnNumber" : 65, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " @Override\n public JwtResponse loginWithEmailTokenV2(LoginWithEmailToken loginWithEmailToken) {\n ChangeEmailRequest changeEmailRequest;\n User user;\n String jwt;\n changeEmailRequest = changeEmailRepository.findByEmailToken(loginWithEmailToken.getToken()); /* <=== com.crapi.model.LoginWithEmailToken */ \n user = userRepository.findByEmail(loginWithEmailToken.getEmail());\n if (changeEmailRequest != null\n && user != null\n && changeEmailRequest.getOldEmail().equalsIgnoreCase(user.getEmail())) {\n jwt = jwtProvider.generateJwtToken(user);" + "sample": "loginWithEmailToken", + "lineNumber": 360, + "columnNumber": 65, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " @Override\n public JwtResponse loginWithEmailTokenV2(LoginWithEmailToken loginWithEmailToken) {\n ChangeEmailRequest changeEmailRequest;\n User user;\n String jwt;\n changeEmailRequest = changeEmailRepository.findByEmailToken(loginWithEmailToken.getToken()); /* <=== com.crapi.model.LoginWithEmailToken */ \n user = userRepository.findByEmail(loginWithEmailToken.getEmail());\n if (changeEmailRequest != null\n && user != null\n && changeEmailRequest.getOldEmail().equalsIgnoreCase(user.getEmail())) {\n jwt = jwtProvider.generateJwtToken(user);" }, { - "sample" : "loginWithEmailToken", - "lineNumber" : 361, - "columnNumber" : 39, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " public JwtResponse loginWithEmailTokenV2(LoginWithEmailToken loginWithEmailToken) {\n ChangeEmailRequest changeEmailRequest;\n User user;\n String jwt;\n changeEmailRequest = changeEmailRepository.findByEmailToken(loginWithEmailToken.getToken());\n user = userRepository.findByEmail(loginWithEmailToken.getEmail()); /* <=== com.crapi.model.LoginWithEmailToken */ \n if (changeEmailRequest != null\n && user != null\n && changeEmailRequest.getOldEmail().equalsIgnoreCase(user.getEmail())) {\n jwt = jwtProvider.generateJwtToken(user);\n if (jwt != null) {" + "sample": "loginWithEmailToken", + "lineNumber": 361, + "columnNumber": 39, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " public JwtResponse loginWithEmailTokenV2(LoginWithEmailToken loginWithEmailToken) {\n ChangeEmailRequest changeEmailRequest;\n User user;\n String jwt;\n changeEmailRequest = changeEmailRepository.findByEmailToken(loginWithEmailToken.getToken());\n user = userRepository.findByEmail(loginWithEmailToken.getEmail()); /* <=== com.crapi.model.LoginWithEmailToken */ \n if (changeEmailRequest != null\n && user != null\n && changeEmailRequest.getOldEmail().equalsIgnoreCase(user.getEmail())) {\n jwt = jwtProvider.generateJwtToken(user);\n if (jwt != null) {" }, { - "sample" : "findByEmail(loginWithEmailToken.getEmail())", - "lineNumber" : 361, - "columnNumber" : 12, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " public JwtResponse loginWithEmailTokenV2(LoginWithEmailToken loginWithEmailToken) {\n ChangeEmailRequest changeEmailRequest;\n User user;\n String jwt;\n changeEmailRequest = changeEmailRepository.findByEmailToken(loginWithEmailToken.getToken());\n user = userRepository.findByEmail(loginWithEmailToken.getEmail()); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n if (changeEmailRequest != null\n && user != null\n && changeEmailRequest.getOldEmail().equalsIgnoreCase(user.getEmail())) {\n jwt = jwtProvider.generateJwtToken(user);\n if (jwt != null) {" + "sample": "findByEmail(loginWithEmailToken.getEmail())", + "lineNumber": 361, + "columnNumber": 12, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " public JwtResponse loginWithEmailTokenV2(LoginWithEmailToken loginWithEmailToken) {\n ChangeEmailRequest changeEmailRequest;\n User user;\n String jwt;\n changeEmailRequest = changeEmailRepository.findByEmailToken(loginWithEmailToken.getToken());\n user = userRepository.findByEmail(loginWithEmailToken.getEmail()); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n if (changeEmailRequest != null\n && user != null\n && changeEmailRequest.getOldEmail().equalsIgnoreCase(user.getEmail())) {\n jwt = jwtProvider.generateJwtToken(user);\n if (jwt != null) {" } ] }, { - "pathId" : "6958-6953-6952-6961-6980-6976", - "path" : [ + "pathId": "6958-6953-6952-6961-6980-6976", + "path": [ { - "sample" : "java.lang.String email", - "lineNumber" : 29, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/model/ForgetPassword.java", - "excerpt" : "public class ForgetPassword implements Serializable {\n\n @NotBlank\n @Size(min = 3, max = 100)\n @Email\n private String email; /* <=== 'email' is a member of 'com.crapi.model.ForgetPassword' class */ \n}" + "sample": "java.lang.String email", + "lineNumber": 29, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/model/ForgetPassword.java", + "excerpt": "public class ForgetPassword implements Serializable {\n\n @NotBlank\n @Size(min = 3, max = 100)\n @Email\n private String email; /* <=== 'email' is a member of 'com.crapi.model.ForgetPassword' class */ \n}" }, { - "sample" : "forgetPassword", - "lineNumber" : 141, - "columnNumber" : 39, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " CRAPIResponse forgetPasswordResponse = null;\n OTPGenerator otpGenerator = new OTPGenerator();\n Otp checkOtpEnteryForUser = null;\n User user = null;\n String otp = \"\";\n user = userRepository.findByEmail(forgetPassword.getEmail()); /* <=== com.crapi.model.ForgetPassword */ \n if (user != null) {\n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database." + "sample": "forgetPassword", + "lineNumber": 141, + "columnNumber": 39, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " CRAPIResponse forgetPasswordResponse = null;\n OTPGenerator otpGenerator = new OTPGenerator();\n Otp checkOtpEnteryForUser = null;\n User user = null;\n String otp = \"\";\n user = userRepository.findByEmail(forgetPassword.getEmail()); /* <=== com.crapi.model.ForgetPassword */ \n if (user != null) {\n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database." }, { - "sample" : "findByEmail(forgetPassword.getEmail())", - "lineNumber" : 141, - "columnNumber" : 12, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " CRAPIResponse forgetPasswordResponse = null;\n OTPGenerator otpGenerator = new OTPGenerator();\n Otp checkOtpEnteryForUser = null;\n User user = null;\n String otp = \"\";\n user = userRepository.findByEmail(forgetPassword.getEmail()); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n if (user != null) {\n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database." + "sample": "findByEmail(forgetPassword.getEmail())", + "lineNumber": 141, + "columnNumber": 12, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " CRAPIResponse forgetPasswordResponse = null;\n OTPGenerator otpGenerator = new OTPGenerator();\n Otp checkOtpEnteryForUser = null;\n User user = null;\n String otp = \"\";\n user = userRepository.findByEmail(forgetPassword.getEmail()); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n if (user != null) {\n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database." }, { - "sample" : "user", - "lineNumber" : 141, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " CRAPIResponse forgetPasswordResponse = null;\n OTPGenerator otpGenerator = new OTPGenerator();\n Otp checkOtpEnteryForUser = null;\n User user = null;\n String otp = \"\";\n user = userRepository.findByEmail(forgetPassword.getEmail()); /* <=== com.crapi.entity.User */ \n if (user != null) {\n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database." + "sample": "user", + "lineNumber": 141, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " CRAPIResponse forgetPasswordResponse = null;\n OTPGenerator otpGenerator = new OTPGenerator();\n Otp checkOtpEnteryForUser = null;\n User user = null;\n String otp = \"\";\n user = userRepository.findByEmail(forgetPassword.getEmail()); /* <=== com.crapi.entity.User */ \n if (user != null) {\n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database." }, { - "sample" : "user", - "lineNumber" : 142, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " OTPGenerator otpGenerator = new OTPGenerator();\n Otp checkOtpEnteryForUser = null;\n User user = null;\n String otp = \"\";\n user = userRepository.findByEmail(forgetPassword.getEmail());\n if (user != null) { /* <=== com.crapi.entity.User */ \n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database.\n checkOtpEnteryForUser = otpRepository.findByUser(user);" + "sample": "user", + "lineNumber": 142, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " OTPGenerator otpGenerator = new OTPGenerator();\n Otp checkOtpEnteryForUser = null;\n User user = null;\n String otp = \"\";\n user = userRepository.findByEmail(forgetPassword.getEmail());\n if (user != null) { /* <=== com.crapi.entity.User */ \n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database.\n checkOtpEnteryForUser = otpRepository.findByUser(user);" }, { - "sample" : "user", - "lineNumber" : 147, - "columnNumber" : 58, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " if (user != null) {\n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database.\n checkOtpEnteryForUser = otpRepository.findByUser(user); /* <=== com.crapi.entity.User */ \n if (checkOtpEnteryForUser != null) {\n // Update existing object\n checkOtpEnteryForUser.setCount(0);\n checkOtpEnteryForUser.setOtp(otp);\n } else {" + "sample": "user", + "lineNumber": 147, + "columnNumber": 58, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " if (user != null) {\n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database.\n checkOtpEnteryForUser = otpRepository.findByUser(user); /* <=== com.crapi.entity.User */ \n if (checkOtpEnteryForUser != null) {\n // Update existing object\n checkOtpEnteryForUser.setCount(0);\n checkOtpEnteryForUser.setOtp(otp);\n } else {" }, { - "sample" : "otpRepository.findByUser(user)", - "lineNumber" : 147, - "columnNumber" : 33, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " if (user != null) {\n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database.\n checkOtpEnteryForUser = otpRepository.findByUser(user); /* <=== com.crapi.repository.OtpRepository.findByUser */ \n if (checkOtpEnteryForUser != null) {\n // Update existing object\n checkOtpEnteryForUser.setCount(0);\n checkOtpEnteryForUser.setOtp(otp);\n } else {" + "sample": "otpRepository.findByUser(user)", + "lineNumber": 147, + "columnNumber": 33, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " if (user != null) {\n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database.\n checkOtpEnteryForUser = otpRepository.findByUser(user); /* <=== com.crapi.repository.OtpRepository.findByUser */ \n if (checkOtpEnteryForUser != null) {\n // Update existing object\n checkOtpEnteryForUser.setCount(0);\n checkOtpEnteryForUser.setOtp(otp);\n } else {" } ] }, { - "pathId" : "7421-7434-7429", - "path" : [ + "pathId": "7421-7434-7429", + "path": [ { - "sample" : "java.lang.String email", - "lineNumber" : 35, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", - "excerpt" : " name = \"user_generator\",\n sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email; /* <=== 'email' is a member of 'com.crapi.entity.User' class */ \n private String password;\n private String number;\n\n @Column(length = 500)\n private String jwtToken;" + "sample": "java.lang.String email", + "lineNumber": 35, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", + "excerpt": " name = \"user_generator\",\n sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email; /* <=== 'email' is a member of 'com.crapi.entity.User' class */ \n private String password;\n private String number;\n\n @Column(length = 500)\n private String jwtToken;" }, { - "sample" : "user", - "lineNumber" : 146, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " @Transactional\n @Override\n public ProfileVideo updateProfileVideo(VideoForm videoForm, HttpServletRequest request) {\n User user;\n ProfileVideo profileVideo;\n user = userService.getUserFromToken(request); /* <=== com.crapi.entity.User */ \n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n if (profileVideo != null) {\n profileVideo.setVideo_name(videoForm.getVideoName());\n profileVideo.setConversion_params(\n (videoForm.getConversion_params() != null" + "sample": "user", + "lineNumber": 146, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " @Transactional\n @Override\n public ProfileVideo updateProfileVideo(VideoForm videoForm, HttpServletRequest request) {\n User user;\n ProfileVideo profileVideo;\n user = userService.getUserFromToken(request); /* <=== com.crapi.entity.User */ \n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n if (profileVideo != null) {\n profileVideo.setVideo_name(videoForm.getVideoName());\n profileVideo.setConversion_params(\n (videoForm.getConversion_params() != null" }, { - "sample" : "user", - "lineNumber" : 147, - "columnNumber" : 57, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " @Override\n public ProfileVideo updateProfileVideo(VideoForm videoForm, HttpServletRequest request) {\n User user;\n ProfileVideo profileVideo;\n user = userService.getUserFromToken(request);\n profileVideo = profileVideoRepository.findByUser_id(user.getId()); /* <=== com.crapi.entity.User */ \n if (profileVideo != null) {\n profileVideo.setVideo_name(videoForm.getVideoName());\n profileVideo.setConversion_params(\n (videoForm.getConversion_params() != null\n ? videoForm.getConversion_params()" + "sample": "user", + "lineNumber": 147, + "columnNumber": 57, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " @Override\n public ProfileVideo updateProfileVideo(VideoForm videoForm, HttpServletRequest request) {\n User user;\n ProfileVideo profileVideo;\n user = userService.getUserFromToken(request);\n profileVideo = profileVideoRepository.findByUser_id(user.getId()); /* <=== com.crapi.entity.User */ \n if (profileVideo != null) {\n profileVideo.setVideo_name(videoForm.getVideoName());\n profileVideo.setConversion_params(\n (videoForm.getConversion_params() != null\n ? videoForm.getConversion_params()" }, { - "sample" : "findByUser_id(user.getId())", - "lineNumber" : 147, - "columnNumber" : 20, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", - "excerpt" : " @Override\n public ProfileVideo updateProfileVideo(VideoForm videoForm, HttpServletRequest request) {\n User user;\n ProfileVideo profileVideo;\n user = userService.getUserFromToken(request);\n profileVideo = profileVideoRepository.findByUser_id(user.getId()); /* <=== com.crapi.repository.ProfileVideoRepository.findByUser_id */ \n if (profileVideo != null) {\n profileVideo.setVideo_name(videoForm.getVideoName());\n profileVideo.setConversion_params(\n (videoForm.getConversion_params() != null\n ? videoForm.getConversion_params()" + "sample": "findByUser_id(user.getId())", + "lineNumber": 147, + "columnNumber": 20, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/ProfileServiceImpl.java", + "excerpt": " @Override\n public ProfileVideo updateProfileVideo(VideoForm videoForm, HttpServletRequest request) {\n User user;\n ProfileVideo profileVideo;\n user = userService.getUserFromToken(request);\n profileVideo = profileVideoRepository.findByUser_id(user.getId()); /* <=== com.crapi.repository.ProfileVideoRepository.findByUser_id */ \n if (profileVideo != null) {\n profileVideo.setVideo_name(videoForm.getVideoName());\n profileVideo.setConversion_params(\n (videoForm.getConversion_params() != null\n ? videoForm.getConversion_params()" } ] }, { - "pathId" : "7918-7914", - "path" : [ + "pathId": "7918-7914", + "path": [ { - "sample" : "email", - "lineNumber" : 41, - "columnNumber" : 46, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserDetailsServiceImpl.java", - "excerpt" : " */\n @Transactional\n @Override\n public UserDetails loadUserByUsername(String email) {\n try {\n User user = userRepository.findByEmail(email); /* <=== java.lang.String */ \n System.out.println(user);\n return UserPrinciple.build(user);\n } catch (Exception e) {\n throw new UsernameNotFoundException(\"User does not exist with Email :\" + email);\n }" + "sample": "email", + "lineNumber": 41, + "columnNumber": 46, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserDetailsServiceImpl.java", + "excerpt": " */\n @Transactional\n @Override\n public UserDetails loadUserByUsername(String email) {\n try {\n User user = userRepository.findByEmail(email); /* <=== java.lang.String */ \n System.out.println(user);\n return UserPrinciple.build(user);\n } catch (Exception e) {\n throw new UsernameNotFoundException(\"User does not exist with Email :\" + email);\n }" }, { - "sample" : "userRepository.findByEmail(email)", - "lineNumber" : 41, - "columnNumber" : 19, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserDetailsServiceImpl.java", - "excerpt" : " */\n @Transactional\n @Override\n public UserDetails loadUserByUsername(String email) {\n try {\n User user = userRepository.findByEmail(email); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n System.out.println(user);\n return UserPrinciple.build(user);\n } catch (Exception e) {\n throw new UsernameNotFoundException(\"User does not exist with Email :\" + email);\n }" + "sample": "userRepository.findByEmail(email)", + "lineNumber": 41, + "columnNumber": 19, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserDetailsServiceImpl.java", + "excerpt": " */\n @Transactional\n @Override\n public UserDetails loadUserByUsername(String email) {\n try {\n User user = userRepository.findByEmail(email); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n System.out.println(user);\n return UserPrinciple.build(user);\n } catch (Exception e) {\n throw new UsernameNotFoundException(\"User does not exist with Email :\" + email);\n }" } ] }, { - "pathId" : "9024-9023-9067-8795-8794-8803-8799", - "path" : [ + "pathId": "9024-9023-9067-8795-8794-8803-8799", + "path": [ { - "sample" : "java.lang.String email", - "lineNumber" : 35, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", - "excerpt" : " name = \"user_generator\",\n sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email; /* <=== 'email' is a member of 'com.crapi.entity.User' class */ \n private String password;\n private String number;\n\n @Column(length = 500)\n private String jwtToken;" + "sample": "java.lang.String email", + "lineNumber": 35, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", + "excerpt": " name = \"user_generator\",\n sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email; /* <=== 'email' is a member of 'com.crapi.entity.User' class */ \n private String password;\n private String number;\n\n @Column(length = 500)\n private String jwtToken;" }, { - "sample" : "user", - "lineNumber" : 302, - "columnNumber" : 16, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n if (user != null) {\n return user; /* <=== com.crapi.entity.User */ \n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {\n logger.error(\"fail to get username from token -> Message:%d\", exception);" + "sample": "user", + "lineNumber": 302, + "columnNumber": 16, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n if (user != null) {\n return user; /* <=== com.crapi.entity.User */ \n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {\n logger.error(\"fail to get username from token -> Message:%d\", exception);" }, { - "sample" : "return user;", - "lineNumber" : 302, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n if (user != null) {\n return user; /* <=== */ \n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {\n logger.error(\"fail to get username from token -> Message:%d\", exception);" + "sample": "return user;", + "lineNumber": 302, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n if (user != null) {\n return user; /* <=== */ \n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {\n logger.error(\"fail to get username from token -> Message:%d\", exception);" }, { - "sample" : "com.crapi.entity.User", - "lineNumber" : 293, - "columnNumber" : 10, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " * @param request request getting jwt token for user from request header\n * @return User object from token throw entity not found if user not found.\n */\n @Transactional\n @Override\n public User getUserFromToken(HttpServletRequest request) { /* <=== */ \n User user = null;\n String username = null;\n try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {" + "sample": "com.crapi.entity.User", + "lineNumber": 293, + "columnNumber": 10, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " * @param request request getting jwt token for user from request header\n * @return User object from token throw entity not found if user not found.\n */\n @Transactional\n @Override\n public User getUserFromToken(HttpServletRequest request) { /* <=== */ \n User user = null;\n String username = null;\n try {\n username = jwtAuthTokenFilter.getUserFromToken(request);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {" }, { - "sample" : "this.getUserFromToken(request)", - "lineNumber" : 231, - "columnNumber" : 12, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " if (!userRepository.existsByEmail(changeEmailForm.getOld_email())) {\n return new CRAPIResponse(\n UserMessage.EMAIL_NOT_REGISTERED + changeEmailForm.getOld_email(), 404);\n }\n token = emailTokenGenerator.generateRandom(10);\n user = getUserFromToken(request); /* <=== com.crapi.service.Impl.UserServiceImpl.getUserFromToken */ \n // fetching ChangeEmail Data for user\n changeEmailRequest = changeEmailRepository.findByUser(user);\n if (changeEmailRequest == null) {\n // Creating new object if changeEmail data for user is not in database\n changeEmailRequest =" + "sample": "this.getUserFromToken(request)", + "lineNumber": 231, + "columnNumber": 12, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " if (!userRepository.existsByEmail(changeEmailForm.getOld_email())) {\n return new CRAPIResponse(\n UserMessage.EMAIL_NOT_REGISTERED + changeEmailForm.getOld_email(), 404);\n }\n token = emailTokenGenerator.generateRandom(10);\n user = getUserFromToken(request); /* <=== com.crapi.service.Impl.UserServiceImpl.getUserFromToken */ \n // fetching ChangeEmail Data for user\n changeEmailRequest = changeEmailRepository.findByUser(user);\n if (changeEmailRequest == null) {\n // Creating new object if changeEmail data for user is not in database\n changeEmailRequest =" }, { - "sample" : "user", - "lineNumber" : 231, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " if (!userRepository.existsByEmail(changeEmailForm.getOld_email())) {\n return new CRAPIResponse(\n UserMessage.EMAIL_NOT_REGISTERED + changeEmailForm.getOld_email(), 404);\n }\n token = emailTokenGenerator.generateRandom(10);\n user = getUserFromToken(request); /* <=== com.crapi.entity.User */ \n // fetching ChangeEmail Data for user\n changeEmailRequest = changeEmailRepository.findByUser(user);\n if (changeEmailRequest == null) {\n // Creating new object if changeEmail data for user is not in database\n changeEmailRequest =" + "sample": "user", + "lineNumber": 231, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " if (!userRepository.existsByEmail(changeEmailForm.getOld_email())) {\n return new CRAPIResponse(\n UserMessage.EMAIL_NOT_REGISTERED + changeEmailForm.getOld_email(), 404);\n }\n token = emailTokenGenerator.generateRandom(10);\n user = getUserFromToken(request); /* <=== com.crapi.entity.User */ \n // fetching ChangeEmail Data for user\n changeEmailRequest = changeEmailRepository.findByUser(user);\n if (changeEmailRequest == null) {\n // Creating new object if changeEmail data for user is not in database\n changeEmailRequest =" }, { - "sample" : "user", - "lineNumber" : 233, - "columnNumber" : 59, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " UserMessage.EMAIL_NOT_REGISTERED + changeEmailForm.getOld_email(), 404);\n }\n token = emailTokenGenerator.generateRandom(10);\n user = getUserFromToken(request);\n // fetching ChangeEmail Data for user\n changeEmailRequest = changeEmailRepository.findByUser(user); /* <=== com.crapi.entity.User */ \n if (changeEmailRequest == null) {\n // Creating new object if changeEmail data for user is not in database\n changeEmailRequest =\n new ChangeEmailRequest(\n changeEmailForm.getNew_email(), changeEmailForm.getOld_email(), token, user);" + "sample": "user", + "lineNumber": 233, + "columnNumber": 59, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " UserMessage.EMAIL_NOT_REGISTERED + changeEmailForm.getOld_email(), 404);\n }\n token = emailTokenGenerator.generateRandom(10);\n user = getUserFromToken(request);\n // fetching ChangeEmail Data for user\n changeEmailRequest = changeEmailRepository.findByUser(user); /* <=== com.crapi.entity.User */ \n if (changeEmailRequest == null) {\n // Creating new object if changeEmail data for user is not in database\n changeEmailRequest =\n new ChangeEmailRequest(\n changeEmailForm.getNew_email(), changeEmailForm.getOld_email(), token, user);" }, { - "sample" : "changeEmailRepository.findByUser(user)", - "lineNumber" : 233, - "columnNumber" : 26, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " UserMessage.EMAIL_NOT_REGISTERED + changeEmailForm.getOld_email(), 404);\n }\n token = emailTokenGenerator.generateRandom(10);\n user = getUserFromToken(request);\n // fetching ChangeEmail Data for user\n changeEmailRequest = changeEmailRepository.findByUser(user); /* <=== com.crapi.repository.ChangeEmailRepository.findByUser */ \n if (changeEmailRequest == null) {\n // Creating new object if changeEmail data for user is not in database\n changeEmailRequest =\n new ChangeEmailRequest(\n changeEmailForm.getNew_email(), changeEmailForm.getOld_email(), token, user);" + "sample": "changeEmailRepository.findByUser(user)", + "lineNumber": 233, + "columnNumber": 26, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " UserMessage.EMAIL_NOT_REGISTERED + changeEmailForm.getOld_email(), 404);\n }\n token = emailTokenGenerator.generateRandom(10);\n user = getUserFromToken(request);\n // fetching ChangeEmail Data for user\n changeEmailRequest = changeEmailRepository.findByUser(user); /* <=== com.crapi.repository.ChangeEmailRepository.findByUser */ \n if (changeEmailRequest == null) {\n // Creating new object if changeEmail data for user is not in database\n changeEmailRequest =\n new ChangeEmailRequest(\n changeEmailForm.getNew_email(), changeEmailForm.getOld_email(), token, user);" } ] }, { - "pathId" : "9564-9572-9582-9577", - "path" : [ + "pathId": "9564-9572-9582-9577", + "path": [ { - "sample" : "java.lang.String email", - "lineNumber" : 35, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", - "excerpt" : " name = \"user_generator\",\n sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email; /* <=== 'email' is a member of 'com.crapi.entity.User' class */ \n private String password;\n private String number;\n\n @Column(length = 500)\n private String jwtToken;" + "sample": "java.lang.String email", + "lineNumber": 35, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", + "excerpt": " name = \"user_generator\",\n sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email; /* <=== 'email' is a member of 'com.crapi.entity.User' class */ \n private String password;\n private String number;\n\n @Column(length = 500)\n private String jwtToken;" }, { - "sample" : "user", - "lineNumber" : 121, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " @Override\n public List getVehicleDetails(HttpServletRequest request) {\n User user = null;\n List vehicleDetailsList = null;\n try {\n user = userService.getUserFromToken(request); /* <=== com.crapi.entity.User */ \n if (user != null) {\n vehicleDetailsList = vehicleDetailsRepository.findAllByOwner_id(user.getId());\n if (vehicleDetailsList != null) {\n for (VehicleDetails vehicleDetails : vehicleDetailsList) {\n vehicleDetails.setOwner(null);" + "sample": "user", + "lineNumber": 121, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " @Override\n public List getVehicleDetails(HttpServletRequest request) {\n User user = null;\n List vehicleDetailsList = null;\n try {\n user = userService.getUserFromToken(request); /* <=== com.crapi.entity.User */ \n if (user != null) {\n vehicleDetailsList = vehicleDetailsRepository.findAllByOwner_id(user.getId());\n if (vehicleDetailsList != null) {\n for (VehicleDetails vehicleDetails : vehicleDetailsList) {\n vehicleDetails.setOwner(null);" }, { - "sample" : "user", - "lineNumber" : 122, - "columnNumber" : 11, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " public List getVehicleDetails(HttpServletRequest request) {\n User user = null;\n List vehicleDetailsList = null;\n try {\n user = userService.getUserFromToken(request);\n if (user != null) { /* <=== com.crapi.entity.User */ \n vehicleDetailsList = vehicleDetailsRepository.findAllByOwner_id(user.getId());\n if (vehicleDetailsList != null) {\n for (VehicleDetails vehicleDetails : vehicleDetailsList) {\n vehicleDetails.setOwner(null);\n }" + "sample": "user", + "lineNumber": 122, + "columnNumber": 11, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " public List getVehicleDetails(HttpServletRequest request) {\n User user = null;\n List vehicleDetailsList = null;\n try {\n user = userService.getUserFromToken(request);\n if (user != null) { /* <=== com.crapi.entity.User */ \n vehicleDetailsList = vehicleDetailsRepository.findAllByOwner_id(user.getId());\n if (vehicleDetailsList != null) {\n for (VehicleDetails vehicleDetails : vehicleDetailsList) {\n vehicleDetails.setOwner(null);\n }" }, { - "sample" : "user", - "lineNumber" : 123, - "columnNumber" : 73, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " User user = null;\n List vehicleDetailsList = null;\n try {\n user = userService.getUserFromToken(request);\n if (user != null) {\n vehicleDetailsList = vehicleDetailsRepository.findAllByOwner_id(user.getId()); /* <=== com.crapi.entity.User */ \n if (vehicleDetailsList != null) {\n for (VehicleDetails vehicleDetails : vehicleDetailsList) {\n vehicleDetails.setOwner(null);\n }\n return vehicleDetailsList;" + "sample": "user", + "lineNumber": 123, + "columnNumber": 73, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " User user = null;\n List vehicleDetailsList = null;\n try {\n user = userService.getUserFromToken(request);\n if (user != null) {\n vehicleDetailsList = vehicleDetailsRepository.findAllByOwner_id(user.getId()); /* <=== com.crapi.entity.User */ \n if (vehicleDetailsList != null) {\n for (VehicleDetails vehicleDetails : vehicleDetailsList) {\n vehicleDetails.setOwner(null);\n }\n return vehicleDetailsList;" }, { - "sample" : "findAllByOwner_id(user.getId())", - "lineNumber" : 123, - "columnNumber" : 30, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " User user = null;\n List vehicleDetailsList = null;\n try {\n user = userService.getUserFromToken(request);\n if (user != null) {\n vehicleDetailsList = vehicleDetailsRepository.findAllByOwner_id(user.getId()); /* <=== com.crapi.repository.VehicleDetailsRepository.findAllByOwner_id */ \n if (vehicleDetailsList != null) {\n for (VehicleDetails vehicleDetails : vehicleDetailsList) {\n vehicleDetails.setOwner(null);\n }\n return vehicleDetailsList;" + "sample": "findAllByOwner_id(user.getId())", + "lineNumber": 123, + "columnNumber": 30, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " User user = null;\n List vehicleDetailsList = null;\n try {\n user = userService.getUserFromToken(request);\n if (user != null) {\n vehicleDetailsList = vehicleDetailsRepository.findAllByOwner_id(user.getId()); /* <=== com.crapi.repository.VehicleDetailsRepository.findAllByOwner_id */ \n if (vehicleDetailsList != null) {\n for (VehicleDetails vehicleDetails : vehicleDetailsList) {\n vehicleDetails.setOwner(null);\n }\n return vehicleDetailsList;" } ] }, { - "pathId" : "6690-6699-21890-12059-6653-6674-6669-6668-6677-6686-6682", - "path" : [ + "pathId": "6690-6699-21890-12059-6653-6674-6669-6668-6677-6686-6682", + "path": [ { - "sample" : "java.lang.String email", - "lineNumber" : 33, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/model/OtpForm.java", - "excerpt" : " @Size(min = 5, max = 30)\n private String password;\n\n @NotBlank\n @Size(min = 5, max = 30)\n private String email; /* <=== 'email' is a member of 'com.crapi.model.OtpForm' class */ \n}" + "sample": "java.lang.String email", + "lineNumber": 33, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/model/OtpForm.java", + "excerpt": " @Size(min = 5, max = 30)\n private String password;\n\n @NotBlank\n @Size(min = 5, max = 30)\n private String email; /* <=== 'email' is a member of 'com.crapi.model.OtpForm' class */ \n}" }, { - "sample" : "otpForm", - "lineNumber" : 82, - "columnNumber" : 36, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) { /* <=== com.crapi.model.OtpForm */ \n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {" + "sample": "otpForm", + "lineNumber": 82, + "columnNumber": 36, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) { /* <=== com.crapi.model.OtpForm */ \n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {" }, { - "sample" : "otpForm", - "lineNumber" : 83, - "columnNumber" : 41, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword())); /* <=== com.crapi.model.OtpForm */ \n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {\n otp.setCount(otp.getCount() + 1);" + "sample": "otpForm", + "lineNumber": 83, + "columnNumber": 41, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword())); /* <=== com.crapi.model.OtpForm */ \n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);\n } else {\n otp.setCount(otp.getCount() + 1);" }, { - "sample" : "OtpForm otpForm", - "lineNumber" : 75, - "columnNumber" : 36, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " * @param otpForm\n * @return otp object, validate the otp and then reset the password of user\n */\n @Transactional\n @Override\n public CRAPIResponse validateOtp(OtpForm otpForm) { /* <=== */ \n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {" + "sample": "OtpForm otpForm", + "lineNumber": 75, + "columnNumber": 36, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " * @param otpForm\n * @return otp object, validate the otp and then reset the password of user\n */\n @Transactional\n @Override\n public CRAPIResponse validateOtp(OtpForm otpForm) { /* <=== */ \n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {" }, { - "sample" : "this.getDummyOtpForm()", - "lineNumber" : 83, - "columnNumber" : 28, - "fileName" : "/app/code/services/identity/src/test/java/com/crapi/service/Impl/OtpServiceImplTest.java", - "excerpt" : " }\n\n @Test(expected = EntityNotFoundException.class)\n public void validateOtpThrowsExceptionWhenUserNotFound() {\n Mockito.when(userRepository.findByEmail(Mockito.anyString())).thenReturn(null);\n otpService.validateOtp(getDummyOtpForm()); /* <=== com.crapi.service.Impl.OtpServiceImplTest.getDummyOtpForm */ \n }\n\n @Test\n public void validateOtpSuccess() {\n Otp otp = getDummyOtp();" + "sample": "this.getDummyOtpForm()", + "lineNumber": 83, + "columnNumber": 28, + "fileName": "/app/code/services/identity/src/test/java/com/crapi/service/Impl/OtpServiceImplTest.java", + "excerpt": " }\n\n @Test(expected = EntityNotFoundException.class)\n public void validateOtpThrowsExceptionWhenUserNotFound() {\n Mockito.when(userRepository.findByEmail(Mockito.anyString())).thenReturn(null);\n otpService.validateOtp(getDummyOtpForm()); /* <=== com.crapi.service.Impl.OtpServiceImplTest.getDummyOtpForm */ \n }\n\n @Test\n public void validateOtpSuccess() {\n Otp otp = getDummyOtp();" }, { - "sample" : "OtpForm otpForm", - "lineNumber" : 75, - "columnNumber" : 36, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " * @param otpForm\n * @return otp object, validate the otp and then reset the password of user\n */\n @Transactional\n @Override\n public CRAPIResponse validateOtp(OtpForm otpForm) { /* <=== */ \n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {" + "sample": "OtpForm otpForm", + "lineNumber": 75, + "columnNumber": 36, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " * @param otpForm\n * @return otp object, validate the otp and then reset the password of user\n */\n @Transactional\n @Override\n public CRAPIResponse validateOtp(OtpForm otpForm) { /* <=== */ \n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {" }, { - "sample" : "otpForm", - "lineNumber" : 79, - "columnNumber" : 39, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " @Override\n public CRAPIResponse validateOtp(OtpForm otpForm) {\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.model.OtpForm */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" + "sample": "otpForm", + "lineNumber": 79, + "columnNumber": 39, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " @Override\n public CRAPIResponse validateOtp(OtpForm otpForm) {\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.model.OtpForm */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" }, { - "sample" : "findByEmail(otpForm.getEmail())", - "lineNumber" : 79, - "columnNumber" : 12, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " @Override\n public CRAPIResponse validateOtp(OtpForm otpForm) {\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" + "sample": "findByEmail(otpForm.getEmail())", + "lineNumber": 79, + "columnNumber": 12, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " @Override\n public CRAPIResponse validateOtp(OtpForm otpForm) {\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" }, { - "sample" : "user", - "lineNumber" : 79, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " @Override\n public CRAPIResponse validateOtp(OtpForm otpForm) {\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.entity.User */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" + "sample": "user", + "lineNumber": 79, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " @Override\n public CRAPIResponse validateOtp(OtpForm otpForm) {\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.entity.User */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" }, { - "sample" : "user", - "lineNumber" : 80, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " public CRAPIResponse validateOtp(OtpForm otpForm) {\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) { /* <=== com.crapi.entity.User */ \n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());" + "sample": "user", + "lineNumber": 80, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " public CRAPIResponse validateOtp(OtpForm otpForm) {\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) { /* <=== com.crapi.entity.User */ \n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());" }, { - "sample" : "user", - "lineNumber" : 81, - "columnNumber" : 38, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user); /* <=== com.crapi.entity.User */ \n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);" + "sample": "user", + "lineNumber": 81, + "columnNumber": 38, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user); /* <=== com.crapi.entity.User */ \n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);" }, { - "sample" : "otpRepository.findByUser(user)", - "lineNumber" : 81, - "columnNumber" : 13, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user); /* <=== com.crapi.repository.OtpRepository.findByUser */ \n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);" + "sample": "otpRepository.findByUser(user)", + "lineNumber": 81, + "columnNumber": 13, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user); /* <=== com.crapi.repository.OtpRepository.findByUser */ \n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);" } ] }, { - "pathId" : "6789-6784-6783-6792-6801-6797", - "path" : [ + "pathId": "6789-6784-6783-6792-6801-6797", + "path": [ { - "sample" : "java.lang.String email", - "lineNumber" : 33, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/model/OtpForm.java", - "excerpt" : " @Size(min = 5, max = 30)\n private String password;\n\n @NotBlank\n @Size(min = 5, max = 30)\n private String email; /* <=== 'email' is a member of 'com.crapi.model.OtpForm' class */ \n}" + "sample": "java.lang.String email", + "lineNumber": 33, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/model/OtpForm.java", + "excerpt": " @Size(min = 5, max = 30)\n private String password;\n\n @NotBlank\n @Size(min = 5, max = 30)\n private String email; /* <=== 'email' is a member of 'com.crapi.model.OtpForm' class */ \n}" }, { - "sample" : "otpForm", - "lineNumber" : 103, - "columnNumber" : 39, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " public CRAPIResponse secureValidateOtp(OtpForm otpForm) {\n CRAPIResponse crapiAPIResponse = null;\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.model.OtpForm */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" + "sample": "otpForm", + "lineNumber": 103, + "columnNumber": 39, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " public CRAPIResponse secureValidateOtp(OtpForm otpForm) {\n CRAPIResponse crapiAPIResponse = null;\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.model.OtpForm */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" }, { - "sample" : "findByEmail(otpForm.getEmail())", - "lineNumber" : 103, - "columnNumber" : 12, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " public CRAPIResponse secureValidateOtp(OtpForm otpForm) {\n CRAPIResponse crapiAPIResponse = null;\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" + "sample": "findByEmail(otpForm.getEmail())", + "lineNumber": 103, + "columnNumber": 12, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " public CRAPIResponse secureValidateOtp(OtpForm otpForm) {\n CRAPIResponse crapiAPIResponse = null;\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" }, { - "sample" : "user", - "lineNumber" : 103, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " public CRAPIResponse secureValidateOtp(OtpForm otpForm) {\n CRAPIResponse crapiAPIResponse = null;\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.entity.User */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" + "sample": "user", + "lineNumber": 103, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " public CRAPIResponse secureValidateOtp(OtpForm otpForm) {\n CRAPIResponse crapiAPIResponse = null;\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.entity.User */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" }, { - "sample" : "user", - "lineNumber" : 104, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " CRAPIResponse crapiAPIResponse = null;\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) { /* <=== com.crapi.entity.User */ \n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());" + "sample": "user", + "lineNumber": 104, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " CRAPIResponse crapiAPIResponse = null;\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) { /* <=== com.crapi.entity.User */ \n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());" }, { - "sample" : "user", - "lineNumber" : 105, - "columnNumber" : 38, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user); /* <=== com.crapi.entity.User */ \n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);" + "sample": "user", + "lineNumber": 105, + "columnNumber": 38, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user); /* <=== com.crapi.entity.User */ \n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);" }, { - "sample" : "otpRepository.findByUser(user)", - "lineNumber" : 105, - "columnNumber" : 13, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user); /* <=== com.crapi.repository.OtpRepository.findByUser */ \n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);" + "sample": "otpRepository.findByUser(user)", + "lineNumber": 105, + "columnNumber": 13, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail());\n if (user != null) {\n otp = otpRepository.findByUser(user); /* <=== com.crapi.repository.OtpRepository.findByUser */ \n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);\n otp.setStatus(EStatus.INACTIVE.toString());\n validateOTPResponse = new CRAPIResponse(UserMessage.OTP_VARIFIED_SUCCESS, 200);" } ] }, { - "pathId" : "9120-9119-9162-8630-8629-8639-8634", - "path" : [ + "pathId": "9120-9119-9162-8630-8629-8639-8634", + "path": [ { - "sample" : "java.lang.String email", - "lineNumber" : 35, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", - "excerpt" : " name = \"user_generator\",\n sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email; /* <=== 'email' is a member of 'com.crapi.entity.User' class */ \n private String password;\n private String number;\n\n @Column(length = 500)\n private String jwtToken;" + "sample": "java.lang.String email", + "lineNumber": 35, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", + "excerpt": " name = \"user_generator\",\n sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email; /* <=== 'email' is a member of 'com.crapi.entity.User' class */ \n private String password;\n private String number;\n\n @Column(length = 500)\n private String jwtToken;" }, { - "sample" : "user", - "lineNumber" : 324, - "columnNumber" : 16, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n\n if (user != null) {\n return user; /* <=== com.crapi.entity.User */ \n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {\n logger.error(\"fail to get username from token -> Message:%d\", exception);" + "sample": "user", + "lineNumber": 324, + "columnNumber": 16, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n\n if (user != null) {\n return user; /* <=== com.crapi.entity.User */ \n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {\n logger.error(\"fail to get username from token -> Message:%d\", exception);" }, { - "sample" : "return user;", - "lineNumber" : 324, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n\n if (user != null) {\n return user; /* <=== */ \n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {\n logger.error(\"fail to get username from token -> Message:%d\", exception);" + "sample": "return user;", + "lineNumber": 324, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {\n user = userRepository.findByEmail(username);\n }\n\n if (user != null) {\n return user; /* <=== */ \n } else {\n throw new EntityNotFoundException(User.class, \"userEmail\", username);\n }\n } catch (ParseException exception) {\n logger.error(\"fail to get username from token -> Message:%d\", exception);" }, { - "sample" : "com.crapi.entity.User", - "lineNumber" : 314, - "columnNumber" : 10, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " }\n }\n\n @Transactional\n @Override\n public User getUserFromTokenWithoutValidation(HttpServletRequest request) { /* <=== */ \n User user = null;\n try {\n String jwt = jwtAuthTokenFilter.getJwt(request);\n String username = jwtProvider.getUserNameFromJwtToken(jwt);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {" + "sample": "com.crapi.entity.User", + "lineNumber": 314, + "columnNumber": 10, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " }\n }\n\n @Transactional\n @Override\n public User getUserFromTokenWithoutValidation(HttpServletRequest request) { /* <=== */ \n User user = null;\n try {\n String jwt = jwtAuthTokenFilter.getJwt(request);\n String username = jwtProvider.getUserNameFromJwtToken(jwt);\n if (username != null && !username.equalsIgnoreCase(EStatus.INVALID.toString())) {" }, { - "sample" : "this.getUserFromTokenWithoutValidation(request)", - "lineNumber" : 181, - "columnNumber" : 14, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " DashboardResponse dashboardResponse;\n ProfileVideo profileVideo;\n try {\n // Invalid Signature vulnerability\n // Not Checking the validity of the token for this request\n user = getUserFromTokenWithoutValidation(request); /* <=== com.crapi.service.Impl.UserServiceImpl.getUserFromTokenWithoutValidation */ \n userDetails = userDetailsRepository.findByUser_id(user.getId());\n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n dashboardResponse =\n new DashboardResponse(\n user.getId()," + "sample": "this.getUserFromTokenWithoutValidation(request)", + "lineNumber": 181, + "columnNumber": 14, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " DashboardResponse dashboardResponse;\n ProfileVideo profileVideo;\n try {\n // Invalid Signature vulnerability\n // Not Checking the validity of the token for this request\n user = getUserFromTokenWithoutValidation(request); /* <=== com.crapi.service.Impl.UserServiceImpl.getUserFromTokenWithoutValidation */ \n userDetails = userDetailsRepository.findByUser_id(user.getId());\n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n dashboardResponse =\n new DashboardResponse(\n user.getId()," }, { - "sample" : "user", - "lineNumber" : 181, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " DashboardResponse dashboardResponse;\n ProfileVideo profileVideo;\n try {\n // Invalid Signature vulnerability\n // Not Checking the validity of the token for this request\n user = getUserFromTokenWithoutValidation(request); /* <=== com.crapi.entity.User */ \n userDetails = userDetailsRepository.findByUser_id(user.getId());\n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n dashboardResponse =\n new DashboardResponse(\n user.getId()," + "sample": "user", + "lineNumber": 181, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " DashboardResponse dashboardResponse;\n ProfileVideo profileVideo;\n try {\n // Invalid Signature vulnerability\n // Not Checking the validity of the token for this request\n user = getUserFromTokenWithoutValidation(request); /* <=== com.crapi.entity.User */ \n userDetails = userDetailsRepository.findByUser_id(user.getId());\n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n dashboardResponse =\n new DashboardResponse(\n user.getId()," }, { - "sample" : "user", - "lineNumber" : 182, - "columnNumber" : 57, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " ProfileVideo profileVideo;\n try {\n // Invalid Signature vulnerability\n // Not Checking the validity of the token for this request\n user = getUserFromTokenWithoutValidation(request);\n userDetails = userDetailsRepository.findByUser_id(user.getId()); /* <=== com.crapi.entity.User */ \n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n dashboardResponse =\n new DashboardResponse(\n user.getId(),\n (userDetails != null ? userDetails.getName() : \"\")," + "sample": "user", + "lineNumber": 182, + "columnNumber": 57, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " ProfileVideo profileVideo;\n try {\n // Invalid Signature vulnerability\n // Not Checking the validity of the token for this request\n user = getUserFromTokenWithoutValidation(request);\n userDetails = userDetailsRepository.findByUser_id(user.getId()); /* <=== com.crapi.entity.User */ \n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n dashboardResponse =\n new DashboardResponse(\n user.getId(),\n (userDetails != null ? userDetails.getName() : \"\")," }, { - "sample" : "findByUser_id(user.getId())", - "lineNumber" : 182, - "columnNumber" : 21, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " ProfileVideo profileVideo;\n try {\n // Invalid Signature vulnerability\n // Not Checking the validity of the token for this request\n user = getUserFromTokenWithoutValidation(request);\n userDetails = userDetailsRepository.findByUser_id(user.getId()); /* <=== com.crapi.repository.UserDetailsRepository.findByUser_id */ \n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n dashboardResponse =\n new DashboardResponse(\n user.getId(),\n (userDetails != null ? userDetails.getName() : \"\")," + "sample": "findByUser_id(user.getId())", + "lineNumber": 182, + "columnNumber": 21, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " ProfileVideo profileVideo;\n try {\n // Invalid Signature vulnerability\n // Not Checking the validity of the token for this request\n user = getUserFromTokenWithoutValidation(request);\n userDetails = userDetailsRepository.findByUser_id(user.getId()); /* <=== com.crapi.repository.UserDetailsRepository.findByUser_id */ \n profileVideo = profileVideoRepository.findByUser_id(user.getId());\n dashboardResponse =\n new DashboardResponse(\n user.getId(),\n (userDetails != null ? userDetails.getName() : \"\")," } ] }, { - "pathId" : "6789-6784", - "path" : [ + "pathId": "6789-6784", + "path": [ { - "sample" : "java.lang.String email", - "lineNumber" : 33, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/model/OtpForm.java", - "excerpt" : " @Size(min = 5, max = 30)\n private String password;\n\n @NotBlank\n @Size(min = 5, max = 30)\n private String email; /* <=== 'email' is a member of 'com.crapi.model.OtpForm' class */ \n}" + "sample": "java.lang.String email", + "lineNumber": 33, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/model/OtpForm.java", + "excerpt": " @Size(min = 5, max = 30)\n private String password;\n\n @NotBlank\n @Size(min = 5, max = 30)\n private String email; /* <=== 'email' is a member of 'com.crapi.model.OtpForm' class */ \n}" }, { - "sample" : "otpForm", - "lineNumber" : 103, - "columnNumber" : 39, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " public CRAPIResponse secureValidateOtp(OtpForm otpForm) {\n CRAPIResponse crapiAPIResponse = null;\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.model.OtpForm */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" + "sample": "otpForm", + "lineNumber": 103, + "columnNumber": 39, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " public CRAPIResponse secureValidateOtp(OtpForm otpForm) {\n CRAPIResponse crapiAPIResponse = null;\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.model.OtpForm */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" }, { - "sample" : "findByEmail(otpForm.getEmail())", - "lineNumber" : 103, - "columnNumber" : 12, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " public CRAPIResponse secureValidateOtp(OtpForm otpForm) {\n CRAPIResponse crapiAPIResponse = null;\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" + "sample": "findByEmail(otpForm.getEmail())", + "lineNumber": 103, + "columnNumber": 12, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " public CRAPIResponse secureValidateOtp(OtpForm otpForm) {\n CRAPIResponse crapiAPIResponse = null;\n CRAPIResponse validateOTPResponse = null;\n User user = null;\n Otp otp = null;\n user = userRepository.findByEmail(otpForm.getEmail()); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n if (user != null) {\n otp = otpRepository.findByUser(user);\n if (validateOTPAndEmail(otp, otpForm)) {\n user.setPassword(encoder.encode(otpForm.getPassword()));\n userRepository.save(user);" } ] }, { - "pathId" : "9238-9233", - "path" : [ + "pathId": "9238-9233", + "path": [ { - "sample" : "java.lang.String email", - "lineNumber" : 26, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/model/LoginWithEmailToken.java", - "excerpt" : "@Data\npublic class LoginWithEmailToken {\n\n @NotBlank\n @Size(min = 3, max = 100)\n private String email; /* <=== 'email' is a member of 'com.crapi.model.LoginWithEmailToken' class */ \n\n @NotBlank\n @Size(min = 3, max = 100)\n private String token;\n}" + "sample": "java.lang.String email", + "lineNumber": 26, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/model/LoginWithEmailToken.java", + "excerpt": "@Data\npublic class LoginWithEmailToken {\n\n @NotBlank\n @Size(min = 3, max = 100)\n private String email; /* <=== 'email' is a member of 'com.crapi.model.LoginWithEmailToken' class */ \n\n @NotBlank\n @Size(min = 3, max = 100)\n private String token;\n}" }, { - "sample" : "loginWithEmailToken", - "lineNumber" : 360, - "columnNumber" : 65, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " @Override\n public JwtResponse loginWithEmailTokenV2(LoginWithEmailToken loginWithEmailToken) {\n ChangeEmailRequest changeEmailRequest;\n User user;\n String jwt;\n changeEmailRequest = changeEmailRepository.findByEmailToken(loginWithEmailToken.getToken()); /* <=== com.crapi.model.LoginWithEmailToken */ \n user = userRepository.findByEmail(loginWithEmailToken.getEmail());\n if (changeEmailRequest != null\n && user != null\n && changeEmailRequest.getOldEmail().equalsIgnoreCase(user.getEmail())) {\n jwt = jwtProvider.generateJwtToken(user);" + "sample": "loginWithEmailToken", + "lineNumber": 360, + "columnNumber": 65, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " @Override\n public JwtResponse loginWithEmailTokenV2(LoginWithEmailToken loginWithEmailToken) {\n ChangeEmailRequest changeEmailRequest;\n User user;\n String jwt;\n changeEmailRequest = changeEmailRepository.findByEmailToken(loginWithEmailToken.getToken()); /* <=== com.crapi.model.LoginWithEmailToken */ \n user = userRepository.findByEmail(loginWithEmailToken.getEmail());\n if (changeEmailRequest != null\n && user != null\n && changeEmailRequest.getOldEmail().equalsIgnoreCase(user.getEmail())) {\n jwt = jwtProvider.generateJwtToken(user);" }, { - "sample" : "findByEmailToken(loginWithEmailToken.getToken())", - "lineNumber" : 360, - "columnNumber" : 26, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " @Override\n public JwtResponse loginWithEmailTokenV2(LoginWithEmailToken loginWithEmailToken) {\n ChangeEmailRequest changeEmailRequest;\n User user;\n String jwt;\n changeEmailRequest = changeEmailRepository.findByEmailToken(loginWithEmailToken.getToken()); /* <=== com.crapi.repository.ChangeEmailRepository.findByEmailToken */ \n user = userRepository.findByEmail(loginWithEmailToken.getEmail());\n if (changeEmailRequest != null\n && user != null\n && changeEmailRequest.getOldEmail().equalsIgnoreCase(user.getEmail())) {\n jwt = jwtProvider.generateJwtToken(user);" + "sample": "findByEmailToken(loginWithEmailToken.getToken())", + "lineNumber": 360, + "columnNumber": 26, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " @Override\n public JwtResponse loginWithEmailTokenV2(LoginWithEmailToken loginWithEmailToken) {\n ChangeEmailRequest changeEmailRequest;\n User user;\n String jwt;\n changeEmailRequest = changeEmailRepository.findByEmailToken(loginWithEmailToken.getToken()); /* <=== com.crapi.repository.ChangeEmailRepository.findByEmailToken */ \n user = userRepository.findByEmail(loginWithEmailToken.getEmail());\n if (changeEmailRequest != null\n && user != null\n && changeEmailRequest.getOldEmail().equalsIgnoreCase(user.getEmail())) {\n jwt = jwtProvider.generateJwtToken(user);" } ] } @@ -7250,292 +7193,282 @@ ] } ], - "miscellaneous" : [ - ], - "internal_apis" : [ - ], - "leakages" : [ + "miscellaneous": [], + "internal_apis": [], + "leakages": [ { - "sourceId" : "Data.Sensitive.AccountData.AccountPassword", - "sinks" : [ + "sourceId": "Data.Sensitive.AccountData.AccountPassword", + "sinks": [ { - "sinkType" : "leakages", - "id" : "Leakages.Log.Info", - "name" : "Log Info", - "category" : "", - "domains" : [ - ], - "sensitivity" : "", - "isSensitive" : false, - "tags" : { - - }, - "apiUrl" : [ - ], - "databaseDetails" : { - "dbName" : "", - "dbVendor" : "", - "dbLocation" : "", - "dbOperation" : "" + "sinkType": "leakages", + "id": "Leakages.Log.Info", + "name": "Log Info", + "category": "", + "domains": [], + "sensitivity": "", + "isSensitive": false, + "tags": {}, + "apiUrl": [], + "databaseDetails": { + "dbName": "", + "dbVendor": "", + "dbLocation": "", + "dbOperation": "" }, - "paths" : [ + "paths": [ { - "pathId" : "6958-6953-6952-6961-6980-7000-7017-7016-11220-11244", - "path" : [ + "pathId": "6958-6953-6952-6961-6980-7000-7017-7016-11220-11244", + "path": [ { - "sample" : "forgetPassword", - "lineNumber" : 141, - "columnNumber" : 39, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " CRAPIResponse forgetPasswordResponse = null;\n OTPGenerator otpGenerator = new OTPGenerator();\n Otp checkOtpEnteryForUser = null;\n User user = null;\n String otp = \"\";\n user = userRepository.findByEmail(forgetPassword.getEmail()); /* <=== com.crapi.model.ForgetPassword */ \n if (user != null) {\n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database." + "sample": "forgetPassword", + "lineNumber": 141, + "columnNumber": 39, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " CRAPIResponse forgetPasswordResponse = null;\n OTPGenerator otpGenerator = new OTPGenerator();\n Otp checkOtpEnteryForUser = null;\n User user = null;\n String otp = \"\";\n user = userRepository.findByEmail(forgetPassword.getEmail()); /* <=== com.crapi.model.ForgetPassword */ \n if (user != null) {\n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database." }, { - "sample" : "findByEmail(forgetPassword.getEmail())", - "lineNumber" : 141, - "columnNumber" : 12, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " CRAPIResponse forgetPasswordResponse = null;\n OTPGenerator otpGenerator = new OTPGenerator();\n Otp checkOtpEnteryForUser = null;\n User user = null;\n String otp = \"\";\n user = userRepository.findByEmail(forgetPassword.getEmail()); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n if (user != null) {\n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database." + "sample": "findByEmail(forgetPassword.getEmail())", + "lineNumber": 141, + "columnNumber": 12, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " CRAPIResponse forgetPasswordResponse = null;\n OTPGenerator otpGenerator = new OTPGenerator();\n Otp checkOtpEnteryForUser = null;\n User user = null;\n String otp = \"\";\n user = userRepository.findByEmail(forgetPassword.getEmail()); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n if (user != null) {\n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database." }, { - "sample" : "user", - "lineNumber" : 141, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " CRAPIResponse forgetPasswordResponse = null;\n OTPGenerator otpGenerator = new OTPGenerator();\n Otp checkOtpEnteryForUser = null;\n User user = null;\n String otp = \"\";\n user = userRepository.findByEmail(forgetPassword.getEmail()); /* <=== com.crapi.entity.User */ \n if (user != null) {\n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database." + "sample": "user", + "lineNumber": 141, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " CRAPIResponse forgetPasswordResponse = null;\n OTPGenerator otpGenerator = new OTPGenerator();\n Otp checkOtpEnteryForUser = null;\n User user = null;\n String otp = \"\";\n user = userRepository.findByEmail(forgetPassword.getEmail()); /* <=== com.crapi.entity.User */ \n if (user != null) {\n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database." }, { - "sample" : "user", - "lineNumber" : 142, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " OTPGenerator otpGenerator = new OTPGenerator();\n Otp checkOtpEnteryForUser = null;\n User user = null;\n String otp = \"\";\n user = userRepository.findByEmail(forgetPassword.getEmail());\n if (user != null) { /* <=== com.crapi.entity.User */ \n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database.\n checkOtpEnteryForUser = otpRepository.findByUser(user);" + "sample": "user", + "lineNumber": 142, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " OTPGenerator otpGenerator = new OTPGenerator();\n Otp checkOtpEnteryForUser = null;\n User user = null;\n String otp = \"\";\n user = userRepository.findByEmail(forgetPassword.getEmail());\n if (user != null) { /* <=== com.crapi.entity.User */ \n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database.\n checkOtpEnteryForUser = otpRepository.findByUser(user);" }, { - "sample" : "user", - "lineNumber" : 147, - "columnNumber" : 58, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " if (user != null) {\n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database.\n checkOtpEnteryForUser = otpRepository.findByUser(user); /* <=== com.crapi.entity.User */ \n if (checkOtpEnteryForUser != null) {\n // Update existing object\n checkOtpEnteryForUser.setCount(0);\n checkOtpEnteryForUser.setOtp(otp);\n } else {" + "sample": "user", + "lineNumber": 147, + "columnNumber": 58, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " if (user != null) {\n // Generate random 4 digit otp\n otp = otpGenerator.generateRandom(4);\n if (otp != null) {\n // Check OTP entry for user in database.\n checkOtpEnteryForUser = otpRepository.findByUser(user); /* <=== com.crapi.entity.User */ \n if (checkOtpEnteryForUser != null) {\n // Update existing object\n checkOtpEnteryForUser.setCount(0);\n checkOtpEnteryForUser.setOtp(otp);\n } else {" }, { - "sample" : "user", - "lineNumber" : 154, - "columnNumber" : 48, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " // Update existing object\n checkOtpEnteryForUser.setCount(0);\n checkOtpEnteryForUser.setOtp(otp);\n } else {\n // Create new OTP object\n checkOtpEnteryForUser = new Otp(otp, user); /* <=== com.crapi.entity.User */ \n }\n checkOtpEnteryForUser.setStatus(EStatus.ACTIVE.toString());\n // Save otp details in Database.\n otpRepository.save(checkOtpEnteryForUser);\n // Sent OTP mail to user email address." + "sample": "user", + "lineNumber": 154, + "columnNumber": 48, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " // Update existing object\n checkOtpEnteryForUser.setCount(0);\n checkOtpEnteryForUser.setOtp(otp);\n } else {\n // Create new OTP object\n checkOtpEnteryForUser = new Otp(otp, user); /* <=== com.crapi.entity.User */ \n }\n checkOtpEnteryForUser.setStatus(EStatus.ACTIVE.toString());\n // Save otp details in Database.\n otpRepository.save(checkOtpEnteryForUser);\n // Sent OTP mail to user email address." }, { - "sample" : "user", - "lineNumber" : 161, - "columnNumber" : 13, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " checkOtpEnteryForUser.setStatus(EStatus.ACTIVE.toString());\n // Save otp details in Database.\n otpRepository.save(checkOtpEnteryForUser);\n // Sent OTP mail to user email address.\n smtpMailServer.sendMail(\n user.getEmail(), MailBody.otpMailBody(checkOtpEnteryForUser), \"crAPI OTP\"); /* <=== com.crapi.entity.User */ \n return new CRAPIResponse(UserMessage.OTP_SEND_SUCCESS_ON_EMAIL + user.getEmail(), 200);\n }\n throw new RuntimeException();\n }\n return new CRAPIResponse(UserMessage.EMAIL_NOT_REGISTERED + forgetPassword.getEmail(), 404);" + "sample": "user", + "lineNumber": 161, + "columnNumber": 13, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " checkOtpEnteryForUser.setStatus(EStatus.ACTIVE.toString());\n // Save otp details in Database.\n otpRepository.save(checkOtpEnteryForUser);\n // Sent OTP mail to user email address.\n smtpMailServer.sendMail(\n user.getEmail(), MailBody.otpMailBody(checkOtpEnteryForUser), \"crAPI OTP\"); /* <=== com.crapi.entity.User */ \n return new CRAPIResponse(UserMessage.OTP_SEND_SUCCESS_ON_EMAIL + user.getEmail(), 200);\n }\n throw new RuntimeException();\n }\n return new CRAPIResponse(UserMessage.EMAIL_NOT_REGISTERED + forgetPassword.getEmail(), 404);" }, { - "sample" : "getEmail()", - "lineNumber" : 161, - "columnNumber" : 13, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", - "excerpt" : " checkOtpEnteryForUser.setStatus(EStatus.ACTIVE.toString());\n // Save otp details in Database.\n otpRepository.save(checkOtpEnteryForUser);\n // Sent OTP mail to user email address.\n smtpMailServer.sendMail(\n user.getEmail(), MailBody.otpMailBody(checkOtpEnteryForUser), \"crAPI OTP\"); /* <=== com.crapi.entity.User.getEmail */ \n return new CRAPIResponse(UserMessage.OTP_SEND_SUCCESS_ON_EMAIL + user.getEmail(), 200);\n }\n throw new RuntimeException();\n }\n return new CRAPIResponse(UserMessage.EMAIL_NOT_REGISTERED + forgetPassword.getEmail(), 404);" + "sample": "getEmail()", + "lineNumber": 161, + "columnNumber": 13, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/OtpServiceImpl.java", + "excerpt": " checkOtpEnteryForUser.setStatus(EStatus.ACTIVE.toString());\n // Save otp details in Database.\n otpRepository.save(checkOtpEnteryForUser);\n // Sent OTP mail to user email address.\n smtpMailServer.sendMail(\n user.getEmail(), MailBody.otpMailBody(checkOtpEnteryForUser), \"crAPI OTP\"); /* <=== com.crapi.entity.User.getEmail */ \n return new CRAPIResponse(UserMessage.OTP_SEND_SUCCESS_ON_EMAIL + user.getEmail(), 200);\n }\n throw new RuntimeException();\n }\n return new CRAPIResponse(UserMessage.EMAIL_NOT_REGISTERED + forgetPassword.getEmail(), 404);" }, { - "sample" : "String sendMail", - "lineNumber" : 42, - "columnNumber" : 24, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/utils/SMTPMailServer.java", - "excerpt" : " /**\n * @param sendMail\n * @param body\n * @param subject send mail to given email with dynamic subject and body\n */\n public void sendMail(String sendMail, String body, String subject) { /* <=== */ \n String mhogDomain = mailhogConfiguration.getDomain();\n Session session = mailhogConfiguration.sendmail();\n boolean useMailHog = false;\n try {\n logger.info(\"sendMail mhogDomain: {}, emails: {}\", mhogDomain, sendMail);" + "sample": "String sendMail", + "lineNumber": 42, + "columnNumber": 24, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/utils/SMTPMailServer.java", + "excerpt": " /**\n * @param sendMail\n * @param body\n * @param subject send mail to given email with dynamic subject and body\n */\n public void sendMail(String sendMail, String body, String subject) { /* <=== */ \n String mhogDomain = mailhogConfiguration.getDomain();\n Session session = mailhogConfiguration.sendmail();\n boolean useMailHog = false;\n try {\n logger.info(\"sendMail mhogDomain: {}, emails: {}\", mhogDomain, sendMail);" }, { - "sample" : "logger.info(\"sendMail mhogDomain: {}, emails: {}\", mhogDomain, sendMail)", - "lineNumber" : 47, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/utils/SMTPMailServer.java", - "excerpt" : " public void sendMail(String sendMail, String body, String subject) {\n String mhogDomain = mailhogConfiguration.getDomain();\n Session session = mailhogConfiguration.sendmail();\n boolean useMailHog = false;\n try {\n logger.info(\"sendMail mhogDomain: {}, emails: {}\", mhogDomain, sendMail); /* <=== org.slf4j.Logger.info */ \n InternetAddress[] emails = InternetAddress.parse(sendMail);\n if (mhogDomain != null && !mhogDomain.isEmpty()) {\n if (mailConfiguration.getHost().trim().endsWith(mhogDomain)) {\n logger.info(\n \"SMTP host matches MailHog host. Using MailHog Configuration for sending emails\");" + "sample": "logger.info(\"sendMail mhogDomain: {}, emails: {}\", mhogDomain, sendMail)", + "lineNumber": 47, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/utils/SMTPMailServer.java", + "excerpt": " public void sendMail(String sendMail, String body, String subject) {\n String mhogDomain = mailhogConfiguration.getDomain();\n Session session = mailhogConfiguration.sendmail();\n boolean useMailHog = false;\n try {\n logger.info(\"sendMail mhogDomain: {}, emails: {}\", mhogDomain, sendMail); /* <=== org.slf4j.Logger.info */ \n InternetAddress[] emails = InternetAddress.parse(sendMail);\n if (mhogDomain != null && !mhogDomain.isEmpty()) {\n if (mailConfiguration.getHost().trim().endsWith(mhogDomain)) {\n logger.info(\n \"SMTP host matches MailHog host. Using MailHog Configuration for sending emails\");" } ] }, { - "pathId" : "8084-8087-8107-8103-8102-8110-8119-8113", - "path" : [ + "pathId": "8084-8087-8107-8103-8102-8110-8119-8113", + "path": [ { - "sample" : "java.lang.String password", - "lineNumber" : 36, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", - "excerpt" : " sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email;\n private String password; /* <=== 'password' is a member of 'com.crapi.entity.User' class */ \n private String number;\n\n @Column(length = 500)\n private String jwtToken;\n" + "sample": "java.lang.String password", + "lineNumber": 36, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", + "excerpt": " sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email;\n private String password; /* <=== 'password' is a member of 'com.crapi.entity.User' class */ \n private String number;\n\n @Column(length = 500)\n private String jwtToken;\n" }, { - "sample" : "user", - "lineNumber" : 90, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", - "excerpt" : " if (userRepository.existsByEmail(signUpRequest.getEmail())) {\n return new CRAPIResponse(\n UserMessage.EMAIL_ALREADY_REGISTERED + signUpRequest.getEmail(), 403);\n }\n // Register new user in Database\n user = /* <=== com.crapi.entity.User */ \n new User(\n signUpRequest.getEmail(),\n signUpRequest.getNumber(),\n encoder.encode(signUpRequest.getPassword()),\n ERole.ROLE_USER);" + "sample": "user", + "lineNumber": 90, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", + "excerpt": " if (userRepository.existsByEmail(signUpRequest.getEmail())) {\n return new CRAPIResponse(\n UserMessage.EMAIL_ALREADY_REGISTERED + signUpRequest.getEmail(), 403);\n }\n // Register new user in Database\n user = /* <=== com.crapi.entity.User */ \n new User(\n signUpRequest.getEmail(),\n signUpRequest.getNumber(),\n encoder.encode(signUpRequest.getPassword()),\n ERole.ROLE_USER);" }, { - "sample" : "user", - "lineNumber" : 90, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", - "excerpt" : " if (userRepository.existsByEmail(signUpRequest.getEmail())) {\n return new CRAPIResponse(\n UserMessage.EMAIL_ALREADY_REGISTERED + signUpRequest.getEmail(), 403);\n }\n // Register new user in Database\n user = /* <=== com.crapi.entity.User */ \n new User(\n signUpRequest.getEmail(),\n signUpRequest.getNumber(),\n encoder.encode(signUpRequest.getPassword()),\n ERole.ROLE_USER);" + "sample": "user", + "lineNumber": 90, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", + "excerpt": " if (userRepository.existsByEmail(signUpRequest.getEmail())) {\n return new CRAPIResponse(\n UserMessage.EMAIL_ALREADY_REGISTERED + signUpRequest.getEmail(), 403);\n }\n // Register new user in Database\n user = /* <=== com.crapi.entity.User */ \n new User(\n signUpRequest.getEmail(),\n signUpRequest.getNumber(),\n encoder.encode(signUpRequest.getPassword()),\n ERole.ROLE_USER);" }, { - "sample" : "user", - "lineNumber" : 96, - "columnNumber" : 32, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", - "excerpt" : " new User(\n signUpRequest.getEmail(),\n signUpRequest.getNumber(),\n encoder.encode(signUpRequest.getPassword()),\n ERole.ROLE_USER);\n user = userRepository.save(user); /* <=== com.crapi.entity.User */ \n if (user != null) {\n logger.info(\"User registered successful with userId {}\", user.getId());\n // Creating User Details for same user\n userDetails = createUserDetails(signUpRequest.getName(), user);\n if (userDetails != null) {" + "sample": "user", + "lineNumber": 96, + "columnNumber": 32, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", + "excerpt": " new User(\n signUpRequest.getEmail(),\n signUpRequest.getNumber(),\n encoder.encode(signUpRequest.getPassword()),\n ERole.ROLE_USER);\n user = userRepository.save(user); /* <=== com.crapi.entity.User */ \n if (user != null) {\n logger.info(\"User registered successful with userId {}\", user.getId());\n // Creating User Details for same user\n userDetails = createUserDetails(signUpRequest.getName(), user);\n if (userDetails != null) {" }, { - "sample" : "userRepository.save(user)", - "lineNumber" : 96, - "columnNumber" : 12, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", - "excerpt" : " new User(\n signUpRequest.getEmail(),\n signUpRequest.getNumber(),\n encoder.encode(signUpRequest.getPassword()),\n ERole.ROLE_USER);\n user = userRepository.save(user); /* <=== com.crapi.repository.UserRepository.save */ \n if (user != null) {\n logger.info(\"User registered successful with userId {}\", user.getId());\n // Creating User Details for same user\n userDetails = createUserDetails(signUpRequest.getName(), user);\n if (userDetails != null) {" + "sample": "userRepository.save(user)", + "lineNumber": 96, + "columnNumber": 12, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", + "excerpt": " new User(\n signUpRequest.getEmail(),\n signUpRequest.getNumber(),\n encoder.encode(signUpRequest.getPassword()),\n ERole.ROLE_USER);\n user = userRepository.save(user); /* <=== com.crapi.repository.UserRepository.save */ \n if (user != null) {\n logger.info(\"User registered successful with userId {}\", user.getId());\n // Creating User Details for same user\n userDetails = createUserDetails(signUpRequest.getName(), user);\n if (userDetails != null) {" }, { - "sample" : "user", - "lineNumber" : 96, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", - "excerpt" : " new User(\n signUpRequest.getEmail(),\n signUpRequest.getNumber(),\n encoder.encode(signUpRequest.getPassword()),\n ERole.ROLE_USER);\n user = userRepository.save(user); /* <=== com.crapi.entity.User */ \n if (user != null) {\n logger.info(\"User registered successful with userId {}\", user.getId());\n // Creating User Details for same user\n userDetails = createUserDetails(signUpRequest.getName(), user);\n if (userDetails != null) {" + "sample": "user", + "lineNumber": 96, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", + "excerpt": " new User(\n signUpRequest.getEmail(),\n signUpRequest.getNumber(),\n encoder.encode(signUpRequest.getPassword()),\n ERole.ROLE_USER);\n user = userRepository.save(user); /* <=== com.crapi.entity.User */ \n if (user != null) {\n logger.info(\"User registered successful with userId {}\", user.getId());\n // Creating User Details for same user\n userDetails = createUserDetails(signUpRequest.getName(), user);\n if (userDetails != null) {" }, { - "sample" : "user", - "lineNumber" : 97, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", - "excerpt" : " signUpRequest.getEmail(),\n signUpRequest.getNumber(),\n encoder.encode(signUpRequest.getPassword()),\n ERole.ROLE_USER);\n user = userRepository.save(user);\n if (user != null) { /* <=== com.crapi.entity.User */ \n logger.info(\"User registered successful with userId {}\", user.getId());\n // Creating User Details for same user\n userDetails = createUserDetails(signUpRequest.getName(), user);\n if (userDetails != null) {\n userDetailsRepository.save(userDetails);" + "sample": "user", + "lineNumber": 97, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", + "excerpt": " signUpRequest.getEmail(),\n signUpRequest.getNumber(),\n encoder.encode(signUpRequest.getPassword()),\n ERole.ROLE_USER);\n user = userRepository.save(user);\n if (user != null) { /* <=== com.crapi.entity.User */ \n logger.info(\"User registered successful with userId {}\", user.getId());\n // Creating User Details for same user\n userDetails = createUserDetails(signUpRequest.getName(), user);\n if (userDetails != null) {\n userDetailsRepository.save(userDetails);" }, { - "sample" : "user", - "lineNumber" : 98, - "columnNumber" : 64, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", - "excerpt" : " signUpRequest.getNumber(),\n encoder.encode(signUpRequest.getPassword()),\n ERole.ROLE_USER);\n user = userRepository.save(user);\n if (user != null) {\n logger.info(\"User registered successful with userId {}\", user.getId()); /* <=== com.crapi.entity.User */ \n // Creating User Details for same user\n userDetails = createUserDetails(signUpRequest.getName(), user);\n if (userDetails != null) {\n userDetailsRepository.save(userDetails);\n logger.info(\"User Details Created successful with userId {}\", userDetails.getId());" + "sample": "user", + "lineNumber": 98, + "columnNumber": 64, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", + "excerpt": " signUpRequest.getNumber(),\n encoder.encode(signUpRequest.getPassword()),\n ERole.ROLE_USER);\n user = userRepository.save(user);\n if (user != null) {\n logger.info(\"User registered successful with userId {}\", user.getId()); /* <=== com.crapi.entity.User */ \n // Creating User Details for same user\n userDetails = createUserDetails(signUpRequest.getName(), user);\n if (userDetails != null) {\n userDetailsRepository.save(userDetails);\n logger.info(\"User Details Created successful with userId {}\", userDetails.getId());" }, { - "sample" : "info(\"User registered successful with userId {}\", user.getId())", - "lineNumber" : 98, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", - "excerpt" : " signUpRequest.getNumber(),\n encoder.encode(signUpRequest.getPassword()),\n ERole.ROLE_USER);\n user = userRepository.save(user);\n if (user != null) {\n logger.info(\"User registered successful with userId {}\", user.getId()); /* <=== org.slf4j.Logger.info */ \n // Creating User Details for same user\n userDetails = createUserDetails(signUpRequest.getName(), user);\n if (userDetails != null) {\n userDetailsRepository.save(userDetails);\n logger.info(\"User Details Created successful with userId {}\", userDetails.getId());" + "sample": "info(\"User registered successful with userId {}\", user.getId())", + "lineNumber": 98, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", + "excerpt": " signUpRequest.getNumber(),\n encoder.encode(signUpRequest.getPassword()),\n ERole.ROLE_USER);\n user = userRepository.save(user);\n if (user != null) {\n logger.info(\"User registered successful with userId {}\", user.getId()); /* <=== org.slf4j.Logger.info */ \n // Creating User Details for same user\n userDetails = createUserDetails(signUpRequest.getName(), user);\n if (userDetails != null) {\n userDetailsRepository.save(userDetails);\n logger.info(\"User Details Created successful with userId {}\", userDetails.getId());" } ] }, { - "pathId" : "9830-9843-9887-9886-11220-11256-11353", - "path" : [ + "pathId": "9830-9843-9887-9886-11220-11256-11353", + "path": [ { - "sample" : "java.lang.String password", - "lineNumber" : 36, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", - "excerpt" : " sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email;\n private String password; /* <=== 'password' is a member of 'com.crapi.entity.User' class */ \n private String number;\n\n @Column(length = 500)\n private String jwtToken;\n" + "sample": "java.lang.String password", + "lineNumber": 36, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", + "excerpt": " sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email;\n private String password; /* <=== 'password' is a member of 'com.crapi.entity.User' class */ \n private String number;\n\n @Column(length = 500)\n private String jwtToken;\n" }, { - "sample" : "user", - "lineNumber" : 209, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " public CRAPIResponse sendVehicleDetails(HttpServletRequest request) {\n User user;\n UserDetails userDetails;\n VehicleDetails vehicleDetails = null;\n List vehicleDetailList = null;\n user = userService.getUserFromToken(request); /* <=== com.crapi.entity.User */ \n userDetails = userDetailsRepository.findByUser_id(user.getId());\n vehicleDetailList = vehicleDetailsRepository.findAll();\n for (VehicleDetails vehicleDetail : vehicleDetailList) {\n if (vehicleDetail.getOwner() == null) {\n vehicleDetails = vehicleDetail;" + "sample": "user", + "lineNumber": 209, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " public CRAPIResponse sendVehicleDetails(HttpServletRequest request) {\n User user;\n UserDetails userDetails;\n VehicleDetails vehicleDetails = null;\n List vehicleDetailList = null;\n user = userService.getUserFromToken(request); /* <=== com.crapi.entity.User */ \n userDetails = userDetailsRepository.findByUser_id(user.getId());\n vehicleDetailList = vehicleDetailsRepository.findAll();\n for (VehicleDetails vehicleDetail : vehicleDetailList) {\n if (vehicleDetail.getOwner() == null) {\n vehicleDetails = vehicleDetail;" }, { - "sample" : "user", - "lineNumber" : 210, - "columnNumber" : 55, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " User user;\n UserDetails userDetails;\n VehicleDetails vehicleDetails = null;\n List vehicleDetailList = null;\n user = userService.getUserFromToken(request);\n userDetails = userDetailsRepository.findByUser_id(user.getId()); /* <=== com.crapi.entity.User */ \n vehicleDetailList = vehicleDetailsRepository.findAll();\n for (VehicleDetails vehicleDetail : vehicleDetailList) {\n if (vehicleDetail.getOwner() == null) {\n vehicleDetails = vehicleDetail;\n break;" + "sample": "user", + "lineNumber": 210, + "columnNumber": 55, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " User user;\n UserDetails userDetails;\n VehicleDetails vehicleDetails = null;\n List vehicleDetailList = null;\n user = userService.getUserFromToken(request);\n userDetails = userDetailsRepository.findByUser_id(user.getId()); /* <=== com.crapi.entity.User */ \n vehicleDetailList = vehicleDetailsRepository.findAll();\n for (VehicleDetails vehicleDetail : vehicleDetailList) {\n if (vehicleDetail.getOwner() == null) {\n vehicleDetails = vehicleDetail;\n break;" }, { - "sample" : "user", - "lineNumber" : 222, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " }\n if (vehicleDetails == null) {\n vehicleDetails = createVehicle();\n }\n smtpMailServer.sendMail(\n user.getEmail(), /* <=== com.crapi.entity.User */ \n MailBody.signupMailBody(\n vehicleDetails,\n (userDetails != null && userDetails.getName() != null ? userDetails.getName() : \"\")),\n \"Welcome to crAPI\");\n return new CRAPIResponse(UserMessage.VEHICLE_DETAILS_SENT_TO_EMAIL, 200);" + "sample": "user", + "lineNumber": 222, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " }\n if (vehicleDetails == null) {\n vehicleDetails = createVehicle();\n }\n smtpMailServer.sendMail(\n user.getEmail(), /* <=== com.crapi.entity.User */ \n MailBody.signupMailBody(\n vehicleDetails,\n (userDetails != null && userDetails.getName() != null ? userDetails.getName() : \"\")),\n \"Welcome to crAPI\");\n return new CRAPIResponse(UserMessage.VEHICLE_DETAILS_SENT_TO_EMAIL, 200);" }, { - "sample" : "getEmail()", - "lineNumber" : 222, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " }\n if (vehicleDetails == null) {\n vehicleDetails = createVehicle();\n }\n smtpMailServer.sendMail(\n user.getEmail(), /* <=== com.crapi.entity.User.getEmail */ \n MailBody.signupMailBody(\n vehicleDetails,\n (userDetails != null && userDetails.getName() != null ? userDetails.getName() : \"\")),\n \"Welcome to crAPI\");\n return new CRAPIResponse(UserMessage.VEHICLE_DETAILS_SENT_TO_EMAIL, 200);" + "sample": "getEmail()", + "lineNumber": 222, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " }\n if (vehicleDetails == null) {\n vehicleDetails = createVehicle();\n }\n smtpMailServer.sendMail(\n user.getEmail(), /* <=== com.crapi.entity.User.getEmail */ \n MailBody.signupMailBody(\n vehicleDetails,\n (userDetails != null && userDetails.getName() != null ? userDetails.getName() : \"\")),\n \"Welcome to crAPI\");\n return new CRAPIResponse(UserMessage.VEHICLE_DETAILS_SENT_TO_EMAIL, 200);" }, { - "sample" : "String sendMail", - "lineNumber" : 42, - "columnNumber" : 24, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/utils/SMTPMailServer.java", - "excerpt" : " /**\n * @param sendMail\n * @param body\n * @param subject send mail to given email with dynamic subject and body\n */\n public void sendMail(String sendMail, String body, String subject) { /* <=== */ \n String mhogDomain = mailhogConfiguration.getDomain();\n Session session = mailhogConfiguration.sendmail();\n boolean useMailHog = false;\n try {\n logger.info(\"sendMail mhogDomain: {}, emails: {}\", mhogDomain, sendMail);" + "sample": "String sendMail", + "lineNumber": 42, + "columnNumber": 24, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/utils/SMTPMailServer.java", + "excerpt": " /**\n * @param sendMail\n * @param body\n * @param subject send mail to given email with dynamic subject and body\n */\n public void sendMail(String sendMail, String body, String subject) { /* <=== */ \n String mhogDomain = mailhogConfiguration.getDomain();\n Session session = mailhogConfiguration.sendmail();\n boolean useMailHog = false;\n try {\n logger.info(\"sendMail mhogDomain: {}, emails: {}\", mhogDomain, sendMail);" }, { - "sample" : "sendMail", - "lineNumber" : 48, - "columnNumber" : 56, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/utils/SMTPMailServer.java", - "excerpt" : " String mhogDomain = mailhogConfiguration.getDomain();\n Session session = mailhogConfiguration.sendmail();\n boolean useMailHog = false;\n try {\n logger.info(\"sendMail mhogDomain: {}, emails: {}\", mhogDomain, sendMail);\n InternetAddress[] emails = InternetAddress.parse(sendMail); /* <=== java.lang.String */ \n if (mhogDomain != null && !mhogDomain.isEmpty()) {\n if (mailConfiguration.getHost().trim().endsWith(mhogDomain)) {\n logger.info(\n \"SMTP host matches MailHog host. Using MailHog Configuration for sending emails\");\n useMailHog = true;" + "sample": "sendMail", + "lineNumber": 48, + "columnNumber": 56, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/utils/SMTPMailServer.java", + "excerpt": " String mhogDomain = mailhogConfiguration.getDomain();\n Session session = mailhogConfiguration.sendmail();\n boolean useMailHog = false;\n try {\n logger.info(\"sendMail mhogDomain: {}, emails: {}\", mhogDomain, sendMail);\n InternetAddress[] emails = InternetAddress.parse(sendMail); /* <=== java.lang.String */ \n if (mhogDomain != null && !mhogDomain.isEmpty()) {\n if (mailConfiguration.getHost().trim().endsWith(mhogDomain)) {\n logger.info(\n \"SMTP host matches MailHog host. Using MailHog Configuration for sending emails\");\n useMailHog = true;" }, { - "sample" : "logger.info(\"Using Mail Configuration for sending email: \" + sendMail)", - "lineNumber" : 68, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/utils/SMTPMailServer.java", - "excerpt" : " }\n }\n }\n if (!useMailHog) {\n session = mailConfiguration.sendmail();\n logger.info(\"Using Mail Configuration for sending email: \" + sendMail); /* <=== org.slf4j.Logger.info */ \n }\n\n Message msg = new MimeMessage(session);\n\n msg.setFrom(new InternetAddress(mailhogConfiguration.getFrom(), false));" + "sample": "logger.info(\"Using Mail Configuration for sending email: \" + sendMail)", + "lineNumber": 68, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/utils/SMTPMailServer.java", + "excerpt": " }\n }\n }\n if (!useMailHog) {\n session = mailConfiguration.sendmail();\n logger.info(\"Using Mail Configuration for sending email: \" + sendMail); /* <=== org.slf4j.Logger.info */ \n }\n\n Message msg = new MimeMessage(session);\n\n msg.setFrom(new InternetAddress(mailhogConfiguration.getFrom(), false));" } ] } ] }, { - "sinkType" : "leakages", - "id" : "Leakages.Log.Console", - "name" : "Log Console", - "category" : "", - "domains" : [ - ], - "sensitivity" : "", - "isSensitive" : false, - "tags" : { - - }, - "apiUrl" : [ - ], - "databaseDetails" : { - "dbName" : "", - "dbVendor" : "", - "dbLocation" : "", - "dbOperation" : "" + "sinkType": "leakages", + "id": "Leakages.Log.Console", + "name": "Log Console", + "category": "", + "domains": [], + "sensitivity": "", + "isSensitive": false, + "tags": {}, + "apiUrl": [], + "databaseDetails": { + "dbName": "", + "dbVendor": "", + "dbLocation": "", + "dbOperation": "" }, - "paths" : [ + "paths": [ { - "pathId" : "7913-7923-7919", - "path" : [ + "pathId": "7913-7923-7919", + "path": [ { - "sample" : "java.lang.String password", - "lineNumber" : 36, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", - "excerpt" : " sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email;\n private String password; /* <=== 'password' is a member of 'com.crapi.entity.User' class */ \n private String number;\n\n @Column(length = 500)\n private String jwtToken;\n" + "sample": "java.lang.String password", + "lineNumber": 36, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", + "excerpt": " sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email;\n private String password; /* <=== 'password' is a member of 'com.crapi.entity.User' class */ \n private String number;\n\n @Column(length = 500)\n private String jwtToken;\n" }, { - "sample" : "user", - "lineNumber" : 41, - "columnNumber" : 12, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserDetailsServiceImpl.java", - "excerpt" : " */\n @Transactional\n @Override\n public UserDetails loadUserByUsername(String email) {\n try {\n User user = userRepository.findByEmail(email); /* <=== com.crapi.entity.User */ \n System.out.println(user);\n return UserPrinciple.build(user);\n } catch (Exception e) {\n throw new UsernameNotFoundException(\"User does not exist with Email :\" + email);\n }" + "sample": "user", + "lineNumber": 41, + "columnNumber": 12, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserDetailsServiceImpl.java", + "excerpt": " */\n @Transactional\n @Override\n public UserDetails loadUserByUsername(String email) {\n try {\n User user = userRepository.findByEmail(email); /* <=== com.crapi.entity.User */ \n System.out.println(user);\n return UserPrinciple.build(user);\n } catch (Exception e) {\n throw new UsernameNotFoundException(\"User does not exist with Email :\" + email);\n }" }, { - "sample" : "user", - "lineNumber" : 42, - "columnNumber" : 26, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserDetailsServiceImpl.java", - "excerpt" : " @Transactional\n @Override\n public UserDetails loadUserByUsername(String email) {\n try {\n User user = userRepository.findByEmail(email);\n System.out.println(user); /* <=== com.crapi.entity.User */ \n return UserPrinciple.build(user);\n } catch (Exception e) {\n throw new UsernameNotFoundException(\"User does not exist with Email :\" + email);\n }\n }" + "sample": "user", + "lineNumber": 42, + "columnNumber": 26, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserDetailsServiceImpl.java", + "excerpt": " @Transactional\n @Override\n public UserDetails loadUserByUsername(String email) {\n try {\n User user = userRepository.findByEmail(email);\n System.out.println(user); /* <=== com.crapi.entity.User */ \n return UserPrinciple.build(user);\n } catch (Exception e) {\n throw new UsernameNotFoundException(\"User does not exist with Email :\" + email);\n }\n }" }, { - "sample" : "System.out.println(user)", - "lineNumber" : 42, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserDetailsServiceImpl.java", - "excerpt" : " @Transactional\n @Override\n public UserDetails loadUserByUsername(String email) {\n try {\n User user = userRepository.findByEmail(email);\n System.out.println(user); /* <=== java.io.PrintStream.println */ \n return UserPrinciple.build(user);\n } catch (Exception e) {\n throw new UsernameNotFoundException(\"User does not exist with Email :\" + email);\n }\n }" + "sample": "System.out.println(user)", + "lineNumber": 42, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserDetailsServiceImpl.java", + "excerpt": " @Transactional\n @Override\n public UserDetails loadUserByUsername(String email) {\n try {\n User user = userRepository.findByEmail(email);\n System.out.println(user); /* <=== java.io.PrintStream.println */ \n return UserPrinciple.build(user);\n } catch (Exception e) {\n throw new UsernameNotFoundException(\"User does not exist with Email :\" + email);\n }\n }" } ] } @@ -7544,607 +7477,591 @@ ] }, { - "sourceId" : "Data.Sensitive.ContactData.EmailAddress", - "sinks" : [ + "sourceId": "Data.Sensitive.ContactData.EmailAddress", + "sinks": [ { - "sinkType" : "leakages", - "id" : "Leakages.Log.Info", - "name" : "Log Info", - "category" : "", - "domains" : [ - ], - "sensitivity" : "", - "isSensitive" : false, - "tags" : { - + "sinkType": "leakages", + "id": "Leakages.Log.Info", + "name": "Log Info", + "category": "", + "domains": [], + "sensitivity": "", + "isSensitive": false, + "tags": {}, + "apiUrl": [], + "databaseDetails": { + "dbName": "", + "dbVendor": "", + "dbLocation": "", + "dbOperation": "" }, - "apiUrl" : [ - ], - "databaseDetails" : { - "dbName" : "", - "dbVendor" : "", - "dbLocation" : "", - "dbOperation" : "" - }, - "paths" : [ + "paths": [ { - "pathId" : "8354-8367-8384-8378", - "path" : [ + "pathId": "8354-8367-8384-8378", + "path": [ { - "sample" : "java.lang.String email", - "lineNumber" : 26, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/model/LoginForm.java", - "excerpt" : "@Data\npublic class LoginForm {\n\n @NotBlank\n @Size(min = 3, max = 100)\n private String email; /* <=== 'email' is a member of 'com.crapi.model.LoginForm' class */ \n\n @NotBlank\n @Size(min = 4, max = 100)\n private String password;\n" + "sample": "java.lang.String email", + "lineNumber": 26, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/model/LoginForm.java", + "excerpt": "@Data\npublic class LoginForm {\n\n @NotBlank\n @Size(min = 3, max = 100)\n private String email; /* <=== 'email' is a member of 'com.crapi.model.LoginForm' class */ \n\n @NotBlank\n @Size(min = 4, max = 100)\n private String password;\n" }, { - "sample" : "loginForm", - "lineNumber" : 84, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " @Override\n public JwtResponse authenticateUserLogin(LoginForm loginForm) throws BadCredentialsException {\n JwtResponse jwtResponse = new JwtResponse();\n Authentication authentication = null;\n User user;\n if (loginForm.getEmail() == null) { /* <=== com.crapi.model.LoginForm */ \n jwtResponse.setMessage(UserMessage.EMAIL_NOT_PROVIDED);\n } else {\n if (loginForm.getEmail().contains(\"jndi:\")) {\n if (isLog4jEnabled()) {\n logger.info(\"Log4j is enabled\");" + "sample": "loginForm", + "lineNumber": 84, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " @Override\n public JwtResponse authenticateUserLogin(LoginForm loginForm) throws BadCredentialsException {\n JwtResponse jwtResponse = new JwtResponse();\n Authentication authentication = null;\n User user;\n if (loginForm.getEmail() == null) { /* <=== com.crapi.model.LoginForm */ \n jwtResponse.setMessage(UserMessage.EMAIL_NOT_PROVIDED);\n } else {\n if (loginForm.getEmail().contains(\"jndi:\")) {\n if (isLog4jEnabled()) {\n logger.info(\"Log4j is enabled\");" }, { - "sample" : "loginForm", - "lineNumber" : 87, - "columnNumber" : 11, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " Authentication authentication = null;\n User user;\n if (loginForm.getEmail() == null) {\n jwtResponse.setMessage(UserMessage.EMAIL_NOT_PROVIDED);\n } else {\n if (loginForm.getEmail().contains(\"jndi:\")) { /* <=== com.crapi.model.LoginForm */ \n if (isLog4jEnabled()) {\n logger.info(\"Log4j is enabled\");\n logger.info(\n \"Log4j Exploit Try With Email: {} with Logger: {}, Main Logger: {}\",\n loginForm.getEmail()," + "sample": "loginForm", + "lineNumber": 87, + "columnNumber": 11, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " Authentication authentication = null;\n User user;\n if (loginForm.getEmail() == null) {\n jwtResponse.setMessage(UserMessage.EMAIL_NOT_PROVIDED);\n } else {\n if (loginForm.getEmail().contains(\"jndi:\")) { /* <=== com.crapi.model.LoginForm */ \n if (isLog4jEnabled()) {\n logger.info(\"Log4j is enabled\");\n logger.info(\n \"Log4j Exploit Try With Email: {} with Logger: {}, Main Logger: {}\",\n loginForm.getEmail()," }, { - "sample" : "loginForm", - "lineNumber" : 92, - "columnNumber" : 15, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " if (loginForm.getEmail().contains(\"jndi:\")) {\n if (isLog4jEnabled()) {\n logger.info(\"Log4j is enabled\");\n logger.info(\n \"Log4j Exploit Try With Email: {} with Logger: {}, Main Logger: {}\",\n loginForm.getEmail(), /* <=== com.crapi.model.LoginForm */ \n LOG4J_LOGGER.getClass().getName(),\n logger.getClass().getName());\n LOG4J_LOGGER.error(\"Log4j Exploit Success With Email: {}\", loginForm.getEmail());\n } else {\n logger.info(\"Log4j is disabled\");" + "sample": "loginForm", + "lineNumber": 92, + "columnNumber": 15, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " if (loginForm.getEmail().contains(\"jndi:\")) {\n if (isLog4jEnabled()) {\n logger.info(\"Log4j is enabled\");\n logger.info(\n \"Log4j Exploit Try With Email: {} with Logger: {}, Main Logger: {}\",\n loginForm.getEmail(), /* <=== com.crapi.model.LoginForm */ \n LOG4J_LOGGER.getClass().getName(),\n logger.getClass().getName());\n LOG4J_LOGGER.error(\"Log4j Exploit Success With Email: {}\", loginForm.getEmail());\n } else {\n logger.info(\"Log4j is disabled\");" }, { - "sample" : "info(\"Log4j Exploit Try With Email: {} with Logger: {}, Main Logger: {}\", loginForm.getEmail(), LOG4J_LOGGER.getClass().getName(), logger.getClass().getName())", - "lineNumber" : 90, - "columnNumber" : 11, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " jwtResponse.setMessage(UserMessage.EMAIL_NOT_PROVIDED);\n } else {\n if (loginForm.getEmail().contains(\"jndi:\")) {\n if (isLog4jEnabled()) {\n logger.info(\"Log4j is enabled\");\n logger.info( /* <=== org.slf4j.Logger.info */ \n \"Log4j Exploit Try With Email: {} with Logger: {}, Main Logger: {}\",\n loginForm.getEmail(),\n LOG4J_LOGGER.getClass().getName(),\n logger.getClass().getName());\n LOG4J_LOGGER.error(\"Log4j Exploit Success With Email: {}\", loginForm.getEmail());" + "sample": "info(\"Log4j Exploit Try With Email: {} with Logger: {}, Main Logger: {}\", loginForm.getEmail(), LOG4J_LOGGER.getClass().getName(), logger.getClass().getName())", + "lineNumber": 90, + "columnNumber": 11, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " jwtResponse.setMessage(UserMessage.EMAIL_NOT_PROVIDED);\n } else {\n if (loginForm.getEmail().contains(\"jndi:\")) {\n if (isLog4jEnabled()) {\n logger.info(\"Log4j is enabled\");\n logger.info( /* <=== org.slf4j.Logger.info */ \n \"Log4j Exploit Try With Email: {} with Logger: {}, Main Logger: {}\",\n loginForm.getEmail(),\n LOG4J_LOGGER.getClass().getName(),\n logger.getClass().getName());\n LOG4J_LOGGER.error(\"Log4j Exploit Success With Email: {}\", loginForm.getEmail());" } ] }, { - "pathId" : "9830-9843-9887-9886-11220-11244", - "path" : [ + "pathId": "9830-9843-9887-9886-11220-11244", + "path": [ { - "sample" : "java.lang.String email", - "lineNumber" : 35, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", - "excerpt" : " name = \"user_generator\",\n sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email; /* <=== 'email' is a member of 'com.crapi.entity.User' class */ \n private String password;\n private String number;\n\n @Column(length = 500)\n private String jwtToken;" + "sample": "java.lang.String email", + "lineNumber": 35, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", + "excerpt": " name = \"user_generator\",\n sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email; /* <=== 'email' is a member of 'com.crapi.entity.User' class */ \n private String password;\n private String number;\n\n @Column(length = 500)\n private String jwtToken;" }, { - "sample" : "user", - "lineNumber" : 209, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " public CRAPIResponse sendVehicleDetails(HttpServletRequest request) {\n User user;\n UserDetails userDetails;\n VehicleDetails vehicleDetails = null;\n List vehicleDetailList = null;\n user = userService.getUserFromToken(request); /* <=== com.crapi.entity.User */ \n userDetails = userDetailsRepository.findByUser_id(user.getId());\n vehicleDetailList = vehicleDetailsRepository.findAll();\n for (VehicleDetails vehicleDetail : vehicleDetailList) {\n if (vehicleDetail.getOwner() == null) {\n vehicleDetails = vehicleDetail;" + "sample": "user", + "lineNumber": 209, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " public CRAPIResponse sendVehicleDetails(HttpServletRequest request) {\n User user;\n UserDetails userDetails;\n VehicleDetails vehicleDetails = null;\n List vehicleDetailList = null;\n user = userService.getUserFromToken(request); /* <=== com.crapi.entity.User */ \n userDetails = userDetailsRepository.findByUser_id(user.getId());\n vehicleDetailList = vehicleDetailsRepository.findAll();\n for (VehicleDetails vehicleDetail : vehicleDetailList) {\n if (vehicleDetail.getOwner() == null) {\n vehicleDetails = vehicleDetail;" }, { - "sample" : "user", - "lineNumber" : 210, - "columnNumber" : 55, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " User user;\n UserDetails userDetails;\n VehicleDetails vehicleDetails = null;\n List vehicleDetailList = null;\n user = userService.getUserFromToken(request);\n userDetails = userDetailsRepository.findByUser_id(user.getId()); /* <=== com.crapi.entity.User */ \n vehicleDetailList = vehicleDetailsRepository.findAll();\n for (VehicleDetails vehicleDetail : vehicleDetailList) {\n if (vehicleDetail.getOwner() == null) {\n vehicleDetails = vehicleDetail;\n break;" + "sample": "user", + "lineNumber": 210, + "columnNumber": 55, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " User user;\n UserDetails userDetails;\n VehicleDetails vehicleDetails = null;\n List vehicleDetailList = null;\n user = userService.getUserFromToken(request);\n userDetails = userDetailsRepository.findByUser_id(user.getId()); /* <=== com.crapi.entity.User */ \n vehicleDetailList = vehicleDetailsRepository.findAll();\n for (VehicleDetails vehicleDetail : vehicleDetailList) {\n if (vehicleDetail.getOwner() == null) {\n vehicleDetails = vehicleDetail;\n break;" }, { - "sample" : "user", - "lineNumber" : 222, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " }\n if (vehicleDetails == null) {\n vehicleDetails = createVehicle();\n }\n smtpMailServer.sendMail(\n user.getEmail(), /* <=== com.crapi.entity.User */ \n MailBody.signupMailBody(\n vehicleDetails,\n (userDetails != null && userDetails.getName() != null ? userDetails.getName() : \"\")),\n \"Welcome to crAPI\");\n return new CRAPIResponse(UserMessage.VEHICLE_DETAILS_SENT_TO_EMAIL, 200);" + "sample": "user", + "lineNumber": 222, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " }\n if (vehicleDetails == null) {\n vehicleDetails = createVehicle();\n }\n smtpMailServer.sendMail(\n user.getEmail(), /* <=== com.crapi.entity.User */ \n MailBody.signupMailBody(\n vehicleDetails,\n (userDetails != null && userDetails.getName() != null ? userDetails.getName() : \"\")),\n \"Welcome to crAPI\");\n return new CRAPIResponse(UserMessage.VEHICLE_DETAILS_SENT_TO_EMAIL, 200);" }, { - "sample" : "getEmail()", - "lineNumber" : 222, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " }\n if (vehicleDetails == null) {\n vehicleDetails = createVehicle();\n }\n smtpMailServer.sendMail(\n user.getEmail(), /* <=== com.crapi.entity.User.getEmail */ \n MailBody.signupMailBody(\n vehicleDetails,\n (userDetails != null && userDetails.getName() != null ? userDetails.getName() : \"\")),\n \"Welcome to crAPI\");\n return new CRAPIResponse(UserMessage.VEHICLE_DETAILS_SENT_TO_EMAIL, 200);" + "sample": "getEmail()", + "lineNumber": 222, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " }\n if (vehicleDetails == null) {\n vehicleDetails = createVehicle();\n }\n smtpMailServer.sendMail(\n user.getEmail(), /* <=== com.crapi.entity.User.getEmail */ \n MailBody.signupMailBody(\n vehicleDetails,\n (userDetails != null && userDetails.getName() != null ? userDetails.getName() : \"\")),\n \"Welcome to crAPI\");\n return new CRAPIResponse(UserMessage.VEHICLE_DETAILS_SENT_TO_EMAIL, 200);" }, { - "sample" : "String sendMail", - "lineNumber" : 42, - "columnNumber" : 24, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/utils/SMTPMailServer.java", - "excerpt" : " /**\n * @param sendMail\n * @param body\n * @param subject send mail to given email with dynamic subject and body\n */\n public void sendMail(String sendMail, String body, String subject) { /* <=== */ \n String mhogDomain = mailhogConfiguration.getDomain();\n Session session = mailhogConfiguration.sendmail();\n boolean useMailHog = false;\n try {\n logger.info(\"sendMail mhogDomain: {}, emails: {}\", mhogDomain, sendMail);" + "sample": "String sendMail", + "lineNumber": 42, + "columnNumber": 24, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/utils/SMTPMailServer.java", + "excerpt": " /**\n * @param sendMail\n * @param body\n * @param subject send mail to given email with dynamic subject and body\n */\n public void sendMail(String sendMail, String body, String subject) { /* <=== */ \n String mhogDomain = mailhogConfiguration.getDomain();\n Session session = mailhogConfiguration.sendmail();\n boolean useMailHog = false;\n try {\n logger.info(\"sendMail mhogDomain: {}, emails: {}\", mhogDomain, sendMail);" }, { - "sample" : "logger.info(\"sendMail mhogDomain: {}, emails: {}\", mhogDomain, sendMail)", - "lineNumber" : 47, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/utils/SMTPMailServer.java", - "excerpt" : " public void sendMail(String sendMail, String body, String subject) {\n String mhogDomain = mailhogConfiguration.getDomain();\n Session session = mailhogConfiguration.sendmail();\n boolean useMailHog = false;\n try {\n logger.info(\"sendMail mhogDomain: {}, emails: {}\", mhogDomain, sendMail); /* <=== org.slf4j.Logger.info */ \n InternetAddress[] emails = InternetAddress.parse(sendMail);\n if (mhogDomain != null && !mhogDomain.isEmpty()) {\n if (mailConfiguration.getHost().trim().endsWith(mhogDomain)) {\n logger.info(\n \"SMTP host matches MailHog host. Using MailHog Configuration for sending emails\");" + "sample": "logger.info(\"sendMail mhogDomain: {}, emails: {}\", mhogDomain, sendMail)", + "lineNumber": 47, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/utils/SMTPMailServer.java", + "excerpt": " public void sendMail(String sendMail, String body, String subject) {\n String mhogDomain = mailhogConfiguration.getDomain();\n Session session = mailhogConfiguration.sendmail();\n boolean useMailHog = false;\n try {\n logger.info(\"sendMail mhogDomain: {}, emails: {}\", mhogDomain, sendMail); /* <=== org.slf4j.Logger.info */ \n InternetAddress[] emails = InternetAddress.parse(sendMail);\n if (mhogDomain != null && !mhogDomain.isEmpty()) {\n if (mailConfiguration.getHost().trim().endsWith(mhogDomain)) {\n logger.info(\n \"SMTP host matches MailHog host. Using MailHog Configuration for sending emails\");" } ] }, { - "pathId" : "8043-8066-8089-8091-8097-8124-8202-8210-8204", - "path" : [ + "pathId": "8043-8066-8089-8091-8097-8124-8202-8210-8204", + "path": [ { - "sample" : "java.lang.String email", - "lineNumber" : 37, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/model/SignUpForm.java", - "excerpt" : " private String password;\n\n @NotBlank\n @Size(max = 100)\n @Email\n private String email; /* <=== 'email' is a member of 'com.crapi.model.SignUpForm' class */ \n\n @NotBlank\n @Size(max = 15)\n private String number;\n" + "sample": "java.lang.String email", + "lineNumber": 37, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/model/SignUpForm.java", + "excerpt": " private String password;\n\n @NotBlank\n @Size(max = 100)\n @Email\n private String email; /* <=== 'email' is a member of 'com.crapi.model.SignUpForm' class */ \n\n @NotBlank\n @Size(max = 15)\n private String number;\n" }, { - "sample" : "signUpRequest", - "lineNumber" : 80, - "columnNumber" : 39, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", - "excerpt" : " public CRAPIResponse registerUser(SignUpForm signUpRequest) {\n User user;\n UserDetails userDetails;\n VehicleDetails vehicleDetails;\n // Check Number in database\n if (userRepository.existsByNumber(signUpRequest.getNumber())) { /* <=== com.crapi.model.SignUpForm */ \n return new CRAPIResponse(\n UserMessage.NUMBER_ALREADY_REGISTERED + signUpRequest.getNumber(), 403);\n }\n // check Number in database\n if (userRepository.existsByEmail(signUpRequest.getEmail())) {" + "sample": "signUpRequest", + "lineNumber": 80, + "columnNumber": 39, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", + "excerpt": " public CRAPIResponse registerUser(SignUpForm signUpRequest) {\n User user;\n UserDetails userDetails;\n VehicleDetails vehicleDetails;\n // Check Number in database\n if (userRepository.existsByNumber(signUpRequest.getNumber())) { /* <=== com.crapi.model.SignUpForm */ \n return new CRAPIResponse(\n UserMessage.NUMBER_ALREADY_REGISTERED + signUpRequest.getNumber(), 403);\n }\n // check Number in database\n if (userRepository.existsByEmail(signUpRequest.getEmail())) {" }, { - "sample" : "signUpRequest", - "lineNumber" : 85, - "columnNumber" : 38, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", - "excerpt" : " if (userRepository.existsByNumber(signUpRequest.getNumber())) {\n return new CRAPIResponse(\n UserMessage.NUMBER_ALREADY_REGISTERED + signUpRequest.getNumber(), 403);\n }\n // check Number in database\n if (userRepository.existsByEmail(signUpRequest.getEmail())) { /* <=== com.crapi.model.SignUpForm */ \n return new CRAPIResponse(\n UserMessage.EMAIL_ALREADY_REGISTERED + signUpRequest.getEmail(), 403);\n }\n // Register new user in Database\n user =" + "sample": "signUpRequest", + "lineNumber": 85, + "columnNumber": 38, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", + "excerpt": " if (userRepository.existsByNumber(signUpRequest.getNumber())) {\n return new CRAPIResponse(\n UserMessage.NUMBER_ALREADY_REGISTERED + signUpRequest.getNumber(), 403);\n }\n // check Number in database\n if (userRepository.existsByEmail(signUpRequest.getEmail())) { /* <=== com.crapi.model.SignUpForm */ \n return new CRAPIResponse(\n UserMessage.EMAIL_ALREADY_REGISTERED + signUpRequest.getEmail(), 403);\n }\n // Register new user in Database\n user =" }, { - "sample" : "signUpRequest", - "lineNumber" : 92, - "columnNumber" : 13, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", - "excerpt" : " UserMessage.EMAIL_ALREADY_REGISTERED + signUpRequest.getEmail(), 403);\n }\n // Register new user in Database\n user =\n new User(\n signUpRequest.getEmail(), /* <=== com.crapi.model.SignUpForm */ \n signUpRequest.getNumber(),\n encoder.encode(signUpRequest.getPassword()),\n ERole.ROLE_USER);\n user = userRepository.save(user);\n if (user != null) {" + "sample": "signUpRequest", + "lineNumber": 92, + "columnNumber": 13, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", + "excerpt": " UserMessage.EMAIL_ALREADY_REGISTERED + signUpRequest.getEmail(), 403);\n }\n // Register new user in Database\n user =\n new User(\n signUpRequest.getEmail(), /* <=== com.crapi.model.SignUpForm */ \n signUpRequest.getNumber(),\n encoder.encode(signUpRequest.getPassword()),\n ERole.ROLE_USER);\n user = userRepository.save(user);\n if (user != null) {" }, { - "sample" : "signUpRequest", - "lineNumber" : 93, - "columnNumber" : 13, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", - "excerpt" : " }\n // Register new user in Database\n user =\n new User(\n signUpRequest.getEmail(),\n signUpRequest.getNumber(), /* <=== com.crapi.model.SignUpForm */ \n encoder.encode(signUpRequest.getPassword()),\n ERole.ROLE_USER);\n user = userRepository.save(user);\n if (user != null) {\n logger.info(\"User registered successful with userId {}\", user.getId());" + "sample": "signUpRequest", + "lineNumber": 93, + "columnNumber": 13, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", + "excerpt": " }\n // Register new user in Database\n user =\n new User(\n signUpRequest.getEmail(),\n signUpRequest.getNumber(), /* <=== com.crapi.model.SignUpForm */ \n encoder.encode(signUpRequest.getPassword()),\n ERole.ROLE_USER);\n user = userRepository.save(user);\n if (user != null) {\n logger.info(\"User registered successful with userId {}\", user.getId());" }, { - "sample" : "signUpRequest", - "lineNumber" : 94, - "columnNumber" : 28, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", - "excerpt" : " // Register new user in Database\n user =\n new User(\n signUpRequest.getEmail(),\n signUpRequest.getNumber(),\n encoder.encode(signUpRequest.getPassword()), /* <=== com.crapi.model.SignUpForm */ \n ERole.ROLE_USER);\n user = userRepository.save(user);\n if (user != null) {\n logger.info(\"User registered successful with userId {}\", user.getId());\n // Creating User Details for same user" + "sample": "signUpRequest", + "lineNumber": 94, + "columnNumber": 28, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", + "excerpt": " // Register new user in Database\n user =\n new User(\n signUpRequest.getEmail(),\n signUpRequest.getNumber(),\n encoder.encode(signUpRequest.getPassword()), /* <=== com.crapi.model.SignUpForm */ \n ERole.ROLE_USER);\n user = userRepository.save(user);\n if (user != null) {\n logger.info(\"User registered successful with userId {}\", user.getId());\n // Creating User Details for same user" }, { - "sample" : "signUpRequest", - "lineNumber" : 100, - "columnNumber" : 39, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", - "excerpt" : " ERole.ROLE_USER);\n user = userRepository.save(user);\n if (user != null) {\n logger.info(\"User registered successful with userId {}\", user.getId());\n // Creating User Details for same user\n userDetails = createUserDetails(signUpRequest.getName(), user); /* <=== com.crapi.model.SignUpForm */ \n if (userDetails != null) {\n userDetailsRepository.save(userDetails);\n logger.info(\"User Details Created successful with userId {}\", userDetails.getId());\n }\n" + "sample": "signUpRequest", + "lineNumber": 100, + "columnNumber": 39, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", + "excerpt": " ERole.ROLE_USER);\n user = userRepository.save(user);\n if (user != null) {\n logger.info(\"User registered successful with userId {}\", user.getId());\n // Creating User Details for same user\n userDetails = createUserDetails(signUpRequest.getName(), user); /* <=== com.crapi.model.SignUpForm */ \n if (userDetails != null) {\n userDetailsRepository.save(userDetails);\n logger.info(\"User Details Created successful with userId {}\", userDetails.getId());\n }\n" }, { - "sample" : "signUpRequest", - "lineNumber" : 120, - "columnNumber" : 52, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", - "excerpt" : " : \"\")),\n \"Welcome to crAPI\");\n return new CRAPIResponse(UserMessage.SIGN_UP_SUCCESS_MESSAGE, 200);\n }\n throw new EntityNotFoundException(\n VehicleDetails.class, UserMessage.ERROR, signUpRequest.getName()); /* <=== com.crapi.model.SignUpForm */ \n }\n logger.info(\"User registration failed {}\", signUpRequest.getEmail());\n return new CRAPIResponse(UserMessage.SIGN_UP_FAILED + signUpRequest.getEmail(), 400);\n }\n}" + "sample": "signUpRequest", + "lineNumber": 120, + "columnNumber": 52, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", + "excerpt": " : \"\")),\n \"Welcome to crAPI\");\n return new CRAPIResponse(UserMessage.SIGN_UP_SUCCESS_MESSAGE, 200);\n }\n throw new EntityNotFoundException(\n VehicleDetails.class, UserMessage.ERROR, signUpRequest.getName()); /* <=== com.crapi.model.SignUpForm */ \n }\n logger.info(\"User registration failed {}\", signUpRequest.getEmail());\n return new CRAPIResponse(UserMessage.SIGN_UP_FAILED + signUpRequest.getEmail(), 400);\n }\n}" }, { - "sample" : "signUpRequest", - "lineNumber" : 122, - "columnNumber" : 48, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", - "excerpt" : " return new CRAPIResponse(UserMessage.SIGN_UP_SUCCESS_MESSAGE, 200);\n }\n throw new EntityNotFoundException(\n VehicleDetails.class, UserMessage.ERROR, signUpRequest.getName());\n }\n logger.info(\"User registration failed {}\", signUpRequest.getEmail()); /* <=== com.crapi.model.SignUpForm */ \n return new CRAPIResponse(UserMessage.SIGN_UP_FAILED + signUpRequest.getEmail(), 400);\n }\n}" + "sample": "signUpRequest", + "lineNumber": 122, + "columnNumber": 48, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", + "excerpt": " return new CRAPIResponse(UserMessage.SIGN_UP_SUCCESS_MESSAGE, 200);\n }\n throw new EntityNotFoundException(\n VehicleDetails.class, UserMessage.ERROR, signUpRequest.getName());\n }\n logger.info(\"User registration failed {}\", signUpRequest.getEmail()); /* <=== com.crapi.model.SignUpForm */ \n return new CRAPIResponse(UserMessage.SIGN_UP_FAILED + signUpRequest.getEmail(), 400);\n }\n}" }, { - "sample" : "info(\"User registration failed {}\", signUpRequest.getEmail())", - "lineNumber" : 122, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", - "excerpt" : " return new CRAPIResponse(UserMessage.SIGN_UP_SUCCESS_MESSAGE, 200);\n }\n throw new EntityNotFoundException(\n VehicleDetails.class, UserMessage.ERROR, signUpRequest.getName());\n }\n logger.info(\"User registration failed {}\", signUpRequest.getEmail()); /* <=== org.slf4j.Logger.info */ \n return new CRAPIResponse(UserMessage.SIGN_UP_FAILED + signUpRequest.getEmail(), 400);\n }\n}" + "sample": "info(\"User registration failed {}\", signUpRequest.getEmail())", + "lineNumber": 122, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", + "excerpt": " return new CRAPIResponse(UserMessage.SIGN_UP_SUCCESS_MESSAGE, 200);\n }\n throw new EntityNotFoundException(\n VehicleDetails.class, UserMessage.ERROR, signUpRequest.getName());\n }\n logger.info(\"User registration failed {}\", signUpRequest.getEmail()); /* <=== org.slf4j.Logger.info */ \n return new CRAPIResponse(UserMessage.SIGN_UP_FAILED + signUpRequest.getEmail(), 400);\n }\n}" } ] }, { - "pathId" : "8084-8087-8107-8103-8102-8110-8119-8113", - "path" : [ + "pathId": "8084-8087-8107-8103-8102-8110-8119-8113", + "path": [ { - "sample" : "java.lang.String email", - "lineNumber" : 35, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", - "excerpt" : " name = \"user_generator\",\n sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email; /* <=== 'email' is a member of 'com.crapi.entity.User' class */ \n private String password;\n private String number;\n\n @Column(length = 500)\n private String jwtToken;" + "sample": "java.lang.String email", + "lineNumber": 35, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", + "excerpt": " name = \"user_generator\",\n sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email; /* <=== 'email' is a member of 'com.crapi.entity.User' class */ \n private String password;\n private String number;\n\n @Column(length = 500)\n private String jwtToken;" }, { - "sample" : "user", - "lineNumber" : 90, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", - "excerpt" : " if (userRepository.existsByEmail(signUpRequest.getEmail())) {\n return new CRAPIResponse(\n UserMessage.EMAIL_ALREADY_REGISTERED + signUpRequest.getEmail(), 403);\n }\n // Register new user in Database\n user = /* <=== com.crapi.entity.User */ \n new User(\n signUpRequest.getEmail(),\n signUpRequest.getNumber(),\n encoder.encode(signUpRequest.getPassword()),\n ERole.ROLE_USER);" + "sample": "user", + "lineNumber": 90, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", + "excerpt": " if (userRepository.existsByEmail(signUpRequest.getEmail())) {\n return new CRAPIResponse(\n UserMessage.EMAIL_ALREADY_REGISTERED + signUpRequest.getEmail(), 403);\n }\n // Register new user in Database\n user = /* <=== com.crapi.entity.User */ \n new User(\n signUpRequest.getEmail(),\n signUpRequest.getNumber(),\n encoder.encode(signUpRequest.getPassword()),\n ERole.ROLE_USER);" }, { - "sample" : "user", - "lineNumber" : 90, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", - "excerpt" : " if (userRepository.existsByEmail(signUpRequest.getEmail())) {\n return new CRAPIResponse(\n UserMessage.EMAIL_ALREADY_REGISTERED + signUpRequest.getEmail(), 403);\n }\n // Register new user in Database\n user = /* <=== com.crapi.entity.User */ \n new User(\n signUpRequest.getEmail(),\n signUpRequest.getNumber(),\n encoder.encode(signUpRequest.getPassword()),\n ERole.ROLE_USER);" + "sample": "user", + "lineNumber": 90, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", + "excerpt": " if (userRepository.existsByEmail(signUpRequest.getEmail())) {\n return new CRAPIResponse(\n UserMessage.EMAIL_ALREADY_REGISTERED + signUpRequest.getEmail(), 403);\n }\n // Register new user in Database\n user = /* <=== com.crapi.entity.User */ \n new User(\n signUpRequest.getEmail(),\n signUpRequest.getNumber(),\n encoder.encode(signUpRequest.getPassword()),\n ERole.ROLE_USER);" }, { - "sample" : "user", - "lineNumber" : 96, - "columnNumber" : 32, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", - "excerpt" : " new User(\n signUpRequest.getEmail(),\n signUpRequest.getNumber(),\n encoder.encode(signUpRequest.getPassword()),\n ERole.ROLE_USER);\n user = userRepository.save(user); /* <=== com.crapi.entity.User */ \n if (user != null) {\n logger.info(\"User registered successful with userId {}\", user.getId());\n // Creating User Details for same user\n userDetails = createUserDetails(signUpRequest.getName(), user);\n if (userDetails != null) {" + "sample": "user", + "lineNumber": 96, + "columnNumber": 32, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", + "excerpt": " new User(\n signUpRequest.getEmail(),\n signUpRequest.getNumber(),\n encoder.encode(signUpRequest.getPassword()),\n ERole.ROLE_USER);\n user = userRepository.save(user); /* <=== com.crapi.entity.User */ \n if (user != null) {\n logger.info(\"User registered successful with userId {}\", user.getId());\n // Creating User Details for same user\n userDetails = createUserDetails(signUpRequest.getName(), user);\n if (userDetails != null) {" }, { - "sample" : "userRepository.save(user)", - "lineNumber" : 96, - "columnNumber" : 12, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", - "excerpt" : " new User(\n signUpRequest.getEmail(),\n signUpRequest.getNumber(),\n encoder.encode(signUpRequest.getPassword()),\n ERole.ROLE_USER);\n user = userRepository.save(user); /* <=== com.crapi.repository.UserRepository.save */ \n if (user != null) {\n logger.info(\"User registered successful with userId {}\", user.getId());\n // Creating User Details for same user\n userDetails = createUserDetails(signUpRequest.getName(), user);\n if (userDetails != null) {" + "sample": "userRepository.save(user)", + "lineNumber": 96, + "columnNumber": 12, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", + "excerpt": " new User(\n signUpRequest.getEmail(),\n signUpRequest.getNumber(),\n encoder.encode(signUpRequest.getPassword()),\n ERole.ROLE_USER);\n user = userRepository.save(user); /* <=== com.crapi.repository.UserRepository.save */ \n if (user != null) {\n logger.info(\"User registered successful with userId {}\", user.getId());\n // Creating User Details for same user\n userDetails = createUserDetails(signUpRequest.getName(), user);\n if (userDetails != null) {" }, { - "sample" : "user", - "lineNumber" : 96, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", - "excerpt" : " new User(\n signUpRequest.getEmail(),\n signUpRequest.getNumber(),\n encoder.encode(signUpRequest.getPassword()),\n ERole.ROLE_USER);\n user = userRepository.save(user); /* <=== com.crapi.entity.User */ \n if (user != null) {\n logger.info(\"User registered successful with userId {}\", user.getId());\n // Creating User Details for same user\n userDetails = createUserDetails(signUpRequest.getName(), user);\n if (userDetails != null) {" + "sample": "user", + "lineNumber": 96, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", + "excerpt": " new User(\n signUpRequest.getEmail(),\n signUpRequest.getNumber(),\n encoder.encode(signUpRequest.getPassword()),\n ERole.ROLE_USER);\n user = userRepository.save(user); /* <=== com.crapi.entity.User */ \n if (user != null) {\n logger.info(\"User registered successful with userId {}\", user.getId());\n // Creating User Details for same user\n userDetails = createUserDetails(signUpRequest.getName(), user);\n if (userDetails != null) {" }, { - "sample" : "user", - "lineNumber" : 97, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", - "excerpt" : " signUpRequest.getEmail(),\n signUpRequest.getNumber(),\n encoder.encode(signUpRequest.getPassword()),\n ERole.ROLE_USER);\n user = userRepository.save(user);\n if (user != null) { /* <=== com.crapi.entity.User */ \n logger.info(\"User registered successful with userId {}\", user.getId());\n // Creating User Details for same user\n userDetails = createUserDetails(signUpRequest.getName(), user);\n if (userDetails != null) {\n userDetailsRepository.save(userDetails);" + "sample": "user", + "lineNumber": 97, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", + "excerpt": " signUpRequest.getEmail(),\n signUpRequest.getNumber(),\n encoder.encode(signUpRequest.getPassword()),\n ERole.ROLE_USER);\n user = userRepository.save(user);\n if (user != null) { /* <=== com.crapi.entity.User */ \n logger.info(\"User registered successful with userId {}\", user.getId());\n // Creating User Details for same user\n userDetails = createUserDetails(signUpRequest.getName(), user);\n if (userDetails != null) {\n userDetailsRepository.save(userDetails);" }, { - "sample" : "user", - "lineNumber" : 98, - "columnNumber" : 64, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", - "excerpt" : " signUpRequest.getNumber(),\n encoder.encode(signUpRequest.getPassword()),\n ERole.ROLE_USER);\n user = userRepository.save(user);\n if (user != null) {\n logger.info(\"User registered successful with userId {}\", user.getId()); /* <=== com.crapi.entity.User */ \n // Creating User Details for same user\n userDetails = createUserDetails(signUpRequest.getName(), user);\n if (userDetails != null) {\n userDetailsRepository.save(userDetails);\n logger.info(\"User Details Created successful with userId {}\", userDetails.getId());" + "sample": "user", + "lineNumber": 98, + "columnNumber": 64, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", + "excerpt": " signUpRequest.getNumber(),\n encoder.encode(signUpRequest.getPassword()),\n ERole.ROLE_USER);\n user = userRepository.save(user);\n if (user != null) {\n logger.info(\"User registered successful with userId {}\", user.getId()); /* <=== com.crapi.entity.User */ \n // Creating User Details for same user\n userDetails = createUserDetails(signUpRequest.getName(), user);\n if (userDetails != null) {\n userDetailsRepository.save(userDetails);\n logger.info(\"User Details Created successful with userId {}\", userDetails.getId());" }, { - "sample" : "info(\"User registered successful with userId {}\", user.getId())", - "lineNumber" : 98, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", - "excerpt" : " signUpRequest.getNumber(),\n encoder.encode(signUpRequest.getPassword()),\n ERole.ROLE_USER);\n user = userRepository.save(user);\n if (user != null) {\n logger.info(\"User registered successful with userId {}\", user.getId()); /* <=== org.slf4j.Logger.info */ \n // Creating User Details for same user\n userDetails = createUserDetails(signUpRequest.getName(), user);\n if (userDetails != null) {\n userDetailsRepository.save(userDetails);\n logger.info(\"User Details Created successful with userId {}\", userDetails.getId());" + "sample": "info(\"User registered successful with userId {}\", user.getId())", + "lineNumber": 98, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserRegistrationServiceImpl.java", + "excerpt": " signUpRequest.getNumber(),\n encoder.encode(signUpRequest.getPassword()),\n ERole.ROLE_USER);\n user = userRepository.save(user);\n if (user != null) {\n logger.info(\"User registered successful with userId {}\", user.getId()); /* <=== org.slf4j.Logger.info */ \n // Creating User Details for same user\n userDetails = createUserDetails(signUpRequest.getName(), user);\n if (userDetails != null) {\n userDetailsRepository.save(userDetails);\n logger.info(\"User Details Created successful with userId {}\", userDetails.getId());" } ] }, { - "pathId" : "9830-9843-9887-9886-11220-11256-11353", - "path" : [ + "pathId": "9830-9843-9887-9886-11220-11256-11353", + "path": [ { - "sample" : "java.lang.String email", - "lineNumber" : 35, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", - "excerpt" : " name = \"user_generator\",\n sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email; /* <=== 'email' is a member of 'com.crapi.entity.User' class */ \n private String password;\n private String number;\n\n @Column(length = 500)\n private String jwtToken;" + "sample": "java.lang.String email", + "lineNumber": 35, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", + "excerpt": " name = \"user_generator\",\n sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email; /* <=== 'email' is a member of 'com.crapi.entity.User' class */ \n private String password;\n private String number;\n\n @Column(length = 500)\n private String jwtToken;" }, { - "sample" : "user", - "lineNumber" : 209, - "columnNumber" : 5, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " public CRAPIResponse sendVehicleDetails(HttpServletRequest request) {\n User user;\n UserDetails userDetails;\n VehicleDetails vehicleDetails = null;\n List vehicleDetailList = null;\n user = userService.getUserFromToken(request); /* <=== com.crapi.entity.User */ \n userDetails = userDetailsRepository.findByUser_id(user.getId());\n vehicleDetailList = vehicleDetailsRepository.findAll();\n for (VehicleDetails vehicleDetail : vehicleDetailList) {\n if (vehicleDetail.getOwner() == null) {\n vehicleDetails = vehicleDetail;" + "sample": "user", + "lineNumber": 209, + "columnNumber": 5, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " public CRAPIResponse sendVehicleDetails(HttpServletRequest request) {\n User user;\n UserDetails userDetails;\n VehicleDetails vehicleDetails = null;\n List vehicleDetailList = null;\n user = userService.getUserFromToken(request); /* <=== com.crapi.entity.User */ \n userDetails = userDetailsRepository.findByUser_id(user.getId());\n vehicleDetailList = vehicleDetailsRepository.findAll();\n for (VehicleDetails vehicleDetail : vehicleDetailList) {\n if (vehicleDetail.getOwner() == null) {\n vehicleDetails = vehicleDetail;" }, { - "sample" : "user", - "lineNumber" : 210, - "columnNumber" : 55, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " User user;\n UserDetails userDetails;\n VehicleDetails vehicleDetails = null;\n List vehicleDetailList = null;\n user = userService.getUserFromToken(request);\n userDetails = userDetailsRepository.findByUser_id(user.getId()); /* <=== com.crapi.entity.User */ \n vehicleDetailList = vehicleDetailsRepository.findAll();\n for (VehicleDetails vehicleDetail : vehicleDetailList) {\n if (vehicleDetail.getOwner() == null) {\n vehicleDetails = vehicleDetail;\n break;" + "sample": "user", + "lineNumber": 210, + "columnNumber": 55, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " User user;\n UserDetails userDetails;\n VehicleDetails vehicleDetails = null;\n List vehicleDetailList = null;\n user = userService.getUserFromToken(request);\n userDetails = userDetailsRepository.findByUser_id(user.getId()); /* <=== com.crapi.entity.User */ \n vehicleDetailList = vehicleDetailsRepository.findAll();\n for (VehicleDetails vehicleDetail : vehicleDetailList) {\n if (vehicleDetail.getOwner() == null) {\n vehicleDetails = vehicleDetail;\n break;" }, { - "sample" : "user", - "lineNumber" : 222, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " }\n if (vehicleDetails == null) {\n vehicleDetails = createVehicle();\n }\n smtpMailServer.sendMail(\n user.getEmail(), /* <=== com.crapi.entity.User */ \n MailBody.signupMailBody(\n vehicleDetails,\n (userDetails != null && userDetails.getName() != null ? userDetails.getName() : \"\")),\n \"Welcome to crAPI\");\n return new CRAPIResponse(UserMessage.VEHICLE_DETAILS_SENT_TO_EMAIL, 200);" + "sample": "user", + "lineNumber": 222, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " }\n if (vehicleDetails == null) {\n vehicleDetails = createVehicle();\n }\n smtpMailServer.sendMail(\n user.getEmail(), /* <=== com.crapi.entity.User */ \n MailBody.signupMailBody(\n vehicleDetails,\n (userDetails != null && userDetails.getName() != null ? userDetails.getName() : \"\")),\n \"Welcome to crAPI\");\n return new CRAPIResponse(UserMessage.VEHICLE_DETAILS_SENT_TO_EMAIL, 200);" }, { - "sample" : "getEmail()", - "lineNumber" : 222, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " }\n if (vehicleDetails == null) {\n vehicleDetails = createVehicle();\n }\n smtpMailServer.sendMail(\n user.getEmail(), /* <=== com.crapi.entity.User.getEmail */ \n MailBody.signupMailBody(\n vehicleDetails,\n (userDetails != null && userDetails.getName() != null ? userDetails.getName() : \"\")),\n \"Welcome to crAPI\");\n return new CRAPIResponse(UserMessage.VEHICLE_DETAILS_SENT_TO_EMAIL, 200);" + "sample": "getEmail()", + "lineNumber": 222, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " }\n if (vehicleDetails == null) {\n vehicleDetails = createVehicle();\n }\n smtpMailServer.sendMail(\n user.getEmail(), /* <=== com.crapi.entity.User.getEmail */ \n MailBody.signupMailBody(\n vehicleDetails,\n (userDetails != null && userDetails.getName() != null ? userDetails.getName() : \"\")),\n \"Welcome to crAPI\");\n return new CRAPIResponse(UserMessage.VEHICLE_DETAILS_SENT_TO_EMAIL, 200);" }, { - "sample" : "String sendMail", - "lineNumber" : 42, - "columnNumber" : 24, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/utils/SMTPMailServer.java", - "excerpt" : " /**\n * @param sendMail\n * @param body\n * @param subject send mail to given email with dynamic subject and body\n */\n public void sendMail(String sendMail, String body, String subject) { /* <=== */ \n String mhogDomain = mailhogConfiguration.getDomain();\n Session session = mailhogConfiguration.sendmail();\n boolean useMailHog = false;\n try {\n logger.info(\"sendMail mhogDomain: {}, emails: {}\", mhogDomain, sendMail);" + "sample": "String sendMail", + "lineNumber": 42, + "columnNumber": 24, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/utils/SMTPMailServer.java", + "excerpt": " /**\n * @param sendMail\n * @param body\n * @param subject send mail to given email with dynamic subject and body\n */\n public void sendMail(String sendMail, String body, String subject) { /* <=== */ \n String mhogDomain = mailhogConfiguration.getDomain();\n Session session = mailhogConfiguration.sendmail();\n boolean useMailHog = false;\n try {\n logger.info(\"sendMail mhogDomain: {}, emails: {}\", mhogDomain, sendMail);" }, { - "sample" : "sendMail", - "lineNumber" : 48, - "columnNumber" : 56, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/utils/SMTPMailServer.java", - "excerpt" : " String mhogDomain = mailhogConfiguration.getDomain();\n Session session = mailhogConfiguration.sendmail();\n boolean useMailHog = false;\n try {\n logger.info(\"sendMail mhogDomain: {}, emails: {}\", mhogDomain, sendMail);\n InternetAddress[] emails = InternetAddress.parse(sendMail); /* <=== java.lang.String */ \n if (mhogDomain != null && !mhogDomain.isEmpty()) {\n if (mailConfiguration.getHost().trim().endsWith(mhogDomain)) {\n logger.info(\n \"SMTP host matches MailHog host. Using MailHog Configuration for sending emails\");\n useMailHog = true;" + "sample": "sendMail", + "lineNumber": 48, + "columnNumber": 56, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/utils/SMTPMailServer.java", + "excerpt": " String mhogDomain = mailhogConfiguration.getDomain();\n Session session = mailhogConfiguration.sendmail();\n boolean useMailHog = false;\n try {\n logger.info(\"sendMail mhogDomain: {}, emails: {}\", mhogDomain, sendMail);\n InternetAddress[] emails = InternetAddress.parse(sendMail); /* <=== java.lang.String */ \n if (mhogDomain != null && !mhogDomain.isEmpty()) {\n if (mailConfiguration.getHost().trim().endsWith(mhogDomain)) {\n logger.info(\n \"SMTP host matches MailHog host. Using MailHog Configuration for sending emails\");\n useMailHog = true;" }, { - "sample" : "logger.info(\"Using Mail Configuration for sending email: \" + sendMail)", - "lineNumber" : 68, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/utils/SMTPMailServer.java", - "excerpt" : " }\n }\n }\n if (!useMailHog) {\n session = mailConfiguration.sendmail();\n logger.info(\"Using Mail Configuration for sending email: \" + sendMail); /* <=== org.slf4j.Logger.info */ \n }\n\n Message msg = new MimeMessage(session);\n\n msg.setFrom(new InternetAddress(mailhogConfiguration.getFrom(), false));" + "sample": "logger.info(\"Using Mail Configuration for sending email: \" + sendMail)", + "lineNumber": 68, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/utils/SMTPMailServer.java", + "excerpt": " }\n }\n }\n if (!useMailHog) {\n session = mailConfiguration.sendmail();\n logger.info(\"Using Mail Configuration for sending email: \" + sendMail); /* <=== org.slf4j.Logger.info */ \n }\n\n Message msg = new MimeMessage(session);\n\n msg.setFrom(new InternetAddress(mailhogConfiguration.getFrom(), false));" } ] } ] }, { - "sinkType" : "leakages", - "id" : "Leakages.Log.Debug", - "name" : "Log Debug", - "category" : "", - "domains" : [ - ], - "sensitivity" : "", - "isSensitive" : false, - "tags" : { - - }, - "apiUrl" : [ - ], - "databaseDetails" : { - "dbName" : "", - "dbVendor" : "", - "dbLocation" : "", - "dbOperation" : "" + "sinkType": "leakages", + "id": "Leakages.Log.Debug", + "name": "Log Debug", + "category": "", + "domains": [], + "sensitivity": "", + "isSensitive": false, + "tags": {}, + "apiUrl": [], + "databaseDetails": { + "dbName": "", + "dbVendor": "", + "dbLocation": "", + "dbOperation": "" }, - "paths" : [ + "paths": [ { - "pathId" : "11315-11312-11310-11309-11326-11325-11324-11318", - "path" : [ + "pathId": "11315-11312-11310-11309-11326-11325-11324-11318", + "path": [ { - "sample" : "email", - "lineNumber" : 57, - "columnNumber" : 43, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/utils/SMTPMailServer.java", - "excerpt" : " \"SMTP host matches MailHog host. Using MailHog Configuration for sending emails\");\n useMailHog = true;\n }\n for (InternetAddress emailAddress : emails) {\n String email = emailAddress.toString();\n String domain = email.substring(email.indexOf(\"@\") + 1).trim(); /* <=== java.lang.String */ \n logger.debug(\n \"sendMail mhogDomain: {}, email: {}, domain: {}\", mhogDomain, email, domain);\n if (mhogDomain.trim().equals(domain)) {\n logger.info(\"Using MailHog Configuration for sending email for domain: \" + domain);\n useMailHog = true;" + "sample": "email", + "lineNumber": 57, + "columnNumber": 43, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/utils/SMTPMailServer.java", + "excerpt": " \"SMTP host matches MailHog host. Using MailHog Configuration for sending emails\");\n useMailHog = true;\n }\n for (InternetAddress emailAddress : emails) {\n String email = emailAddress.toString();\n String domain = email.substring(email.indexOf(\"@\") + 1).trim(); /* <=== java.lang.String */ \n logger.debug(\n \"sendMail mhogDomain: {}, email: {}, domain: {}\", mhogDomain, email, domain);\n if (mhogDomain.trim().equals(domain)) {\n logger.info(\"Using MailHog Configuration for sending email for domain: \" + domain);\n useMailHog = true;" }, { - "sample" : "email", - "lineNumber" : 57, - "columnNumber" : 27, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/utils/SMTPMailServer.java", - "excerpt" : " \"SMTP host matches MailHog host. Using MailHog Configuration for sending emails\");\n useMailHog = true;\n }\n for (InternetAddress emailAddress : emails) {\n String email = emailAddress.toString();\n String domain = email.substring(email.indexOf(\"@\") + 1).trim(); /* <=== java.lang.String */ \n logger.debug(\n \"sendMail mhogDomain: {}, email: {}, domain: {}\", mhogDomain, email, domain);\n if (mhogDomain.trim().equals(domain)) {\n logger.info(\"Using MailHog Configuration for sending email for domain: \" + domain);\n useMailHog = true;" + "sample": "email", + "lineNumber": 57, + "columnNumber": 27, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/utils/SMTPMailServer.java", + "excerpt": " \"SMTP host matches MailHog host. Using MailHog Configuration for sending emails\");\n useMailHog = true;\n }\n for (InternetAddress emailAddress : emails) {\n String email = emailAddress.toString();\n String domain = email.substring(email.indexOf(\"@\") + 1).trim(); /* <=== java.lang.String */ \n logger.debug(\n \"sendMail mhogDomain: {}, email: {}, domain: {}\", mhogDomain, email, domain);\n if (mhogDomain.trim().equals(domain)) {\n logger.info(\"Using MailHog Configuration for sending email for domain: \" + domain);\n useMailHog = true;" }, { - "sample" : "email.substring(email.indexOf(\"@\") + 1).trim()", - "lineNumber" : 57, - "columnNumber" : 27, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/utils/SMTPMailServer.java", - "excerpt" : " \"SMTP host matches MailHog host. Using MailHog Configuration for sending emails\");\n useMailHog = true;\n }\n for (InternetAddress emailAddress : emails) {\n String email = emailAddress.toString();\n String domain = email.substring(email.indexOf(\"@\") + 1).trim(); /* <=== java.lang.String.trim */ \n logger.debug(\n \"sendMail mhogDomain: {}, email: {}, domain: {}\", mhogDomain, email, domain);\n if (mhogDomain.trim().equals(domain)) {\n logger.info(\"Using MailHog Configuration for sending email for domain: \" + domain);\n useMailHog = true;" + "sample": "email.substring(email.indexOf(\"@\") + 1).trim()", + "lineNumber": 57, + "columnNumber": 27, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/utils/SMTPMailServer.java", + "excerpt": " \"SMTP host matches MailHog host. Using MailHog Configuration for sending emails\");\n useMailHog = true;\n }\n for (InternetAddress emailAddress : emails) {\n String email = emailAddress.toString();\n String domain = email.substring(email.indexOf(\"@\") + 1).trim(); /* <=== java.lang.String.trim */ \n logger.debug(\n \"sendMail mhogDomain: {}, email: {}, domain: {}\", mhogDomain, email, domain);\n if (mhogDomain.trim().equals(domain)) {\n logger.info(\"Using MailHog Configuration for sending email for domain: \" + domain);\n useMailHog = true;" }, { - "sample" : "domain", - "lineNumber" : 57, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/utils/SMTPMailServer.java", - "excerpt" : " \"SMTP host matches MailHog host. Using MailHog Configuration for sending emails\");\n useMailHog = true;\n }\n for (InternetAddress emailAddress : emails) {\n String email = emailAddress.toString();\n String domain = email.substring(email.indexOf(\"@\") + 1).trim(); /* <=== java.lang.String */ \n logger.debug(\n \"sendMail mhogDomain: {}, email: {}, domain: {}\", mhogDomain, email, domain);\n if (mhogDomain.trim().equals(domain)) {\n logger.info(\"Using MailHog Configuration for sending email for domain: \" + domain);\n useMailHog = true;" + "sample": "domain", + "lineNumber": 57, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/utils/SMTPMailServer.java", + "excerpt": " \"SMTP host matches MailHog host. Using MailHog Configuration for sending emails\");\n useMailHog = true;\n }\n for (InternetAddress emailAddress : emails) {\n String email = emailAddress.toString();\n String domain = email.substring(email.indexOf(\"@\") + 1).trim(); /* <=== java.lang.String */ \n logger.debug(\n \"sendMail mhogDomain: {}, email: {}, domain: {}\", mhogDomain, email, domain);\n if (mhogDomain.trim().equals(domain)) {\n logger.info(\"Using MailHog Configuration for sending email for domain: \" + domain);\n useMailHog = true;" }, { - "sample" : "domain", - "lineNumber" : 59, - "columnNumber" : 85, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/utils/SMTPMailServer.java", - "excerpt" : " }\n for (InternetAddress emailAddress : emails) {\n String email = emailAddress.toString();\n String domain = email.substring(email.indexOf(\"@\") + 1).trim();\n logger.debug(\n \"sendMail mhogDomain: {}, email: {}, domain: {}\", mhogDomain, email, domain); /* <=== java.lang.String */ \n if (mhogDomain.trim().equals(domain)) {\n logger.info(\"Using MailHog Configuration for sending email for domain: \" + domain);\n useMailHog = true;\n }\n }" + "sample": "domain", + "lineNumber": 59, + "columnNumber": 85, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/utils/SMTPMailServer.java", + "excerpt": " }\n for (InternetAddress emailAddress : emails) {\n String email = emailAddress.toString();\n String domain = email.substring(email.indexOf(\"@\") + 1).trim();\n logger.debug(\n \"sendMail mhogDomain: {}, email: {}, domain: {}\", mhogDomain, email, domain); /* <=== java.lang.String */ \n if (mhogDomain.trim().equals(domain)) {\n logger.info(\"Using MailHog Configuration for sending email for domain: \" + domain);\n useMailHog = true;\n }\n }" }, { - "sample" : "email", - "lineNumber" : 59, - "columnNumber" : 78, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/utils/SMTPMailServer.java", - "excerpt" : " }\n for (InternetAddress emailAddress : emails) {\n String email = emailAddress.toString();\n String domain = email.substring(email.indexOf(\"@\") + 1).trim();\n logger.debug(\n \"sendMail mhogDomain: {}, email: {}, domain: {}\", mhogDomain, email, domain); /* <=== java.lang.String */ \n if (mhogDomain.trim().equals(domain)) {\n logger.info(\"Using MailHog Configuration for sending email for domain: \" + domain);\n useMailHog = true;\n }\n }" + "sample": "email", + "lineNumber": 59, + "columnNumber": 78, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/utils/SMTPMailServer.java", + "excerpt": " }\n for (InternetAddress emailAddress : emails) {\n String email = emailAddress.toString();\n String domain = email.substring(email.indexOf(\"@\") + 1).trim();\n logger.debug(\n \"sendMail mhogDomain: {}, email: {}, domain: {}\", mhogDomain, email, domain); /* <=== java.lang.String */ \n if (mhogDomain.trim().equals(domain)) {\n logger.info(\"Using MailHog Configuration for sending email for domain: \" + domain);\n useMailHog = true;\n }\n }" }, { - "sample" : "mhogDomain", - "lineNumber" : 59, - "columnNumber" : 66, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/utils/SMTPMailServer.java", - "excerpt" : " }\n for (InternetAddress emailAddress : emails) {\n String email = emailAddress.toString();\n String domain = email.substring(email.indexOf(\"@\") + 1).trim();\n logger.debug(\n \"sendMail mhogDomain: {}, email: {}, domain: {}\", mhogDomain, email, domain); /* <=== java.lang.String */ \n if (mhogDomain.trim().equals(domain)) {\n logger.info(\"Using MailHog Configuration for sending email for domain: \" + domain);\n useMailHog = true;\n }\n }" + "sample": "mhogDomain", + "lineNumber": 59, + "columnNumber": 66, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/utils/SMTPMailServer.java", + "excerpt": " }\n for (InternetAddress emailAddress : emails) {\n String email = emailAddress.toString();\n String domain = email.substring(email.indexOf(\"@\") + 1).trim();\n logger.debug(\n \"sendMail mhogDomain: {}, email: {}, domain: {}\", mhogDomain, email, domain); /* <=== java.lang.String */ \n if (mhogDomain.trim().equals(domain)) {\n logger.info(\"Using MailHog Configuration for sending email for domain: \" + domain);\n useMailHog = true;\n }\n }" }, { - "sample" : "logger.debug(\"sendMail mhogDomain: {}, email: {}, domain: {}\", mhogDomain, email, domain)", - "lineNumber" : 58, - "columnNumber" : 11, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/utils/SMTPMailServer.java", - "excerpt" : " useMailHog = true;\n }\n for (InternetAddress emailAddress : emails) {\n String email = emailAddress.toString();\n String domain = email.substring(email.indexOf(\"@\") + 1).trim();\n logger.debug( /* <=== org.slf4j.Logger.debug */ \n \"sendMail mhogDomain: {}, email: {}, domain: {}\", mhogDomain, email, domain);\n if (mhogDomain.trim().equals(domain)) {\n logger.info(\"Using MailHog Configuration for sending email for domain: \" + domain);\n useMailHog = true;\n }" + "sample": "logger.debug(\"sendMail mhogDomain: {}, email: {}, domain: {}\", mhogDomain, email, domain)", + "lineNumber": 58, + "columnNumber": 11, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/utils/SMTPMailServer.java", + "excerpt": " useMailHog = true;\n }\n for (InternetAddress emailAddress : emails) {\n String email = emailAddress.toString();\n String domain = email.substring(email.indexOf(\"@\") + 1).trim();\n logger.debug( /* <=== org.slf4j.Logger.debug */ \n \"sendMail mhogDomain: {}, email: {}, domain: {}\", mhogDomain, email, domain);\n if (mhogDomain.trim().equals(domain)) {\n logger.info(\"Using MailHog Configuration for sending email for domain: \" + domain);\n useMailHog = true;\n }" } ] } ] }, { - "sinkType" : "leakages", - "id" : "Leakages.Log.Error", - "name" : "Log Error", - "category" : "", - "domains" : [ - ], - "sensitivity" : "", - "isSensitive" : false, - "tags" : { - + "sinkType": "leakages", + "id": "Leakages.Log.Error", + "name": "Log Error", + "category": "", + "domains": [], + "sensitivity": "", + "isSensitive": false, + "tags": {}, + "apiUrl": [], + "databaseDetails": { + "dbName": "", + "dbVendor": "", + "dbLocation": "", + "dbOperation": "" }, - "apiUrl" : [ - ], - "databaseDetails" : { - "dbName" : "", - "dbVendor" : "", - "dbLocation" : "", - "dbOperation" : "" - }, - "paths" : [ + "paths": [ { - "pathId" : "271-323-318", - "path" : [ + "pathId": "271-323-318", + "path": [ { - "sample" : "email", - "lineNumber" : 106, - "columnNumber" : 28, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", - "excerpt" : " String name, String email, String password, String number, ERole role) {\n UserData userData = new UserData();\n VehicleDetails vehicleDetails = null;\n UserDetails userDetails = null;\n try {\n User user = new User(email, number, encoder.encode(password), role); /* <=== java.lang.String */ \n user = userRepository.save(user);\n userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {" + "sample": "email", + "lineNumber": 106, + "columnNumber": 28, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", + "excerpt": " String name, String email, String password, String number, ERole role) {\n UserData userData = new UserData();\n VehicleDetails vehicleDetails = null;\n UserDetails userDetails = null;\n try {\n User user = new User(email, number, encoder.encode(password), role); /* <=== java.lang.String */ \n user = userRepository.save(user);\n userDetails = userData.getPredefineUser(name, user);\n userDetailsRepository.save(userDetails);\n vehicleDetails = vehicleService.createVehicle();\n if (vehicleDetails != null) {" }, { - "sample" : "email", - "lineNumber" : 116, - "columnNumber" : 58, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", - "excerpt" : " if (vehicleDetails != null) {\n vehicleDetails.setOwner(user);\n vehicleDetailsRepository.save(vehicleDetails);\n return true;\n }\n logger.error(\"Fail to create vehicle for user {}\", email); /* <=== java.lang.String */ \n return false;\n } catch (Exception e) {\n logger.error(\"Fail to create user {}, Exception :: {}\", email, e);\n return false;\n }" + "sample": "email", + "lineNumber": 116, + "columnNumber": 58, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", + "excerpt": " if (vehicleDetails != null) {\n vehicleDetails.setOwner(user);\n vehicleDetailsRepository.save(vehicleDetails);\n return true;\n }\n logger.error(\"Fail to create vehicle for user {}\", email); /* <=== java.lang.String */ \n return false;\n } catch (Exception e) {\n logger.error(\"Fail to create user {}, Exception :: {}\", email, e);\n return false;\n }" }, { - "sample" : "logger.error(\"Fail to create vehicle for user {}\", email)", - "lineNumber" : 116, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", - "excerpt" : " if (vehicleDetails != null) {\n vehicleDetails.setOwner(user);\n vehicleDetailsRepository.save(vehicleDetails);\n return true;\n }\n logger.error(\"Fail to create vehicle for user {}\", email); /* <=== org.slf4j.Logger.error */ \n return false;\n } catch (Exception e) {\n logger.error(\"Fail to create user {}, Exception :: {}\", email, e);\n return false;\n }" + "sample": "logger.error(\"Fail to create vehicle for user {}\", email)", + "lineNumber": 116, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/config/InitialDataConfig.java", + "excerpt": " if (vehicleDetails != null) {\n vehicleDetails.setOwner(user);\n vehicleDetailsRepository.save(vehicleDetails);\n return true;\n }\n logger.error(\"Fail to create vehicle for user {}\", email); /* <=== org.slf4j.Logger.error */ \n return false;\n } catch (Exception e) {\n logger.error(\"Fail to create user {}, Exception :: {}\", email, e);\n return false;\n }" } ] }, { - "pathId" : "9564-9572-9620-9614", - "path" : [ + "pathId": "9564-9572-9620-9614", + "path": [ { - "sample" : "java.lang.String email", - "lineNumber" : 35, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", - "excerpt" : " name = \"user_generator\",\n sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email; /* <=== 'email' is a member of 'com.crapi.entity.User' class */ \n private String password;\n private String number;\n\n @Column(length = 500)\n private String jwtToken;" + "sample": "java.lang.String email", + "lineNumber": 35, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/entity/User.java", + "excerpt": " name = \"user_generator\",\n sequenceName = \"user_login_id_seq\",\n allocationSize = 1)\n private Long id;\n\n private String email; /* <=== 'email' is a member of 'com.crapi.entity.User' class */ \n private String password;\n private String number;\n\n @Column(length = 500)\n private String jwtToken;" }, { - "sample" : "user", - "lineNumber" : 121, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " @Override\n public List getVehicleDetails(HttpServletRequest request) {\n User user = null;\n List vehicleDetailsList = null;\n try {\n user = userService.getUserFromToken(request); /* <=== com.crapi.entity.User */ \n if (user != null) {\n vehicleDetailsList = vehicleDetailsRepository.findAllByOwner_id(user.getId());\n if (vehicleDetailsList != null) {\n for (VehicleDetails vehicleDetails : vehicleDetailsList) {\n vehicleDetails.setOwner(null);" + "sample": "user", + "lineNumber": 121, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " @Override\n public List getVehicleDetails(HttpServletRequest request) {\n User user = null;\n List vehicleDetailsList = null;\n try {\n user = userService.getUserFromToken(request); /* <=== com.crapi.entity.User */ \n if (user != null) {\n vehicleDetailsList = vehicleDetailsRepository.findAllByOwner_id(user.getId());\n if (vehicleDetailsList != null) {\n for (VehicleDetails vehicleDetails : vehicleDetailsList) {\n vehicleDetails.setOwner(null);" }, { - "sample" : "user", - "lineNumber" : 122, - "columnNumber" : 11, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " public List getVehicleDetails(HttpServletRequest request) {\n User user = null;\n List vehicleDetailsList = null;\n try {\n user = userService.getUserFromToken(request);\n if (user != null) { /* <=== com.crapi.entity.User */ \n vehicleDetailsList = vehicleDetailsRepository.findAllByOwner_id(user.getId());\n if (vehicleDetailsList != null) {\n for (VehicleDetails vehicleDetails : vehicleDetailsList) {\n vehicleDetails.setOwner(null);\n }" + "sample": "user", + "lineNumber": 122, + "columnNumber": 11, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " public List getVehicleDetails(HttpServletRequest request) {\n User user = null;\n List vehicleDetailsList = null;\n try {\n user = userService.getUserFromToken(request);\n if (user != null) { /* <=== com.crapi.entity.User */ \n vehicleDetailsList = vehicleDetailsRepository.findAllByOwner_id(user.getId());\n if (vehicleDetailsList != null) {\n for (VehicleDetails vehicleDetails : vehicleDetailsList) {\n vehicleDetails.setOwner(null);\n }" }, { - "sample" : "user", - "lineNumber" : 135, - "columnNumber" : 70, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " return Collections.emptyList();\n }\n }\n } catch (Exception exception) {\n logger.error(\n \"Fail to get List of vehicle for user->{} -> Message: {}\", user.getEmail(), exception); /* <=== com.crapi.entity.User */ \n }\n throw new CRAPIExceptionHandler(\n UserMessage.CUSTOM_IO_EXCEPTION, UserMessage.VEHICLE_NOT_FOUND, 500);\n }\n" + "sample": "user", + "lineNumber": 135, + "columnNumber": 70, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " return Collections.emptyList();\n }\n }\n } catch (Exception exception) {\n logger.error(\n \"Fail to get List of vehicle for user->{} -> Message: {}\", user.getEmail(), exception); /* <=== com.crapi.entity.User */ \n }\n throw new CRAPIExceptionHandler(\n UserMessage.CUSTOM_IO_EXCEPTION, UserMessage.VEHICLE_NOT_FOUND, 500);\n }\n" }, { - "sample" : "error(\"Fail to get List of vehicle for user->{} -> Message: {}\", user.getEmail(), exception)", - "lineNumber" : 134, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", - "excerpt" : " } else {\n return Collections.emptyList();\n }\n }\n } catch (Exception exception) {\n logger.error( /* <=== org.slf4j.Logger.error */ \n \"Fail to get List of vehicle for user->{} -> Message: {}\", user.getEmail(), exception);\n }\n throw new CRAPIExceptionHandler(\n UserMessage.CUSTOM_IO_EXCEPTION, UserMessage.VEHICLE_NOT_FOUND, 500);\n }" + "sample": "error(\"Fail to get List of vehicle for user->{} -> Message: {}\", user.getEmail(), exception)", + "lineNumber": 134, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/VehicleServiceImpl.java", + "excerpt": " } else {\n return Collections.emptyList();\n }\n }\n } catch (Exception exception) {\n logger.error( /* <=== org.slf4j.Logger.error */ \n \"Fail to get List of vehicle for user->{} -> Message: {}\", user.getEmail(), exception);\n }\n throw new CRAPIExceptionHandler(\n UserMessage.CUSTOM_IO_EXCEPTION, UserMessage.VEHICLE_NOT_FOUND, 500);\n }" } ] }, { - "pathId" : "8354-8367-8384-8401-8395", - "path" : [ + "pathId": "8354-8367-8384-8401-8395", + "path": [ { - "sample" : "java.lang.String email", - "lineNumber" : 26, - "columnNumber" : 18, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/model/LoginForm.java", - "excerpt" : "@Data\npublic class LoginForm {\n\n @NotBlank\n @Size(min = 3, max = 100)\n private String email; /* <=== 'email' is a member of 'com.crapi.model.LoginForm' class */ \n\n @NotBlank\n @Size(min = 4, max = 100)\n private String password;\n" + "sample": "java.lang.String email", + "lineNumber": 26, + "columnNumber": 18, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/model/LoginForm.java", + "excerpt": "@Data\npublic class LoginForm {\n\n @NotBlank\n @Size(min = 3, max = 100)\n private String email; /* <=== 'email' is a member of 'com.crapi.model.LoginForm' class */ \n\n @NotBlank\n @Size(min = 4, max = 100)\n private String password;\n" }, { - "sample" : "loginForm", - "lineNumber" : 84, - "columnNumber" : 9, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " @Override\n public JwtResponse authenticateUserLogin(LoginForm loginForm) throws BadCredentialsException {\n JwtResponse jwtResponse = new JwtResponse();\n Authentication authentication = null;\n User user;\n if (loginForm.getEmail() == null) { /* <=== com.crapi.model.LoginForm */ \n jwtResponse.setMessage(UserMessage.EMAIL_NOT_PROVIDED);\n } else {\n if (loginForm.getEmail().contains(\"jndi:\")) {\n if (isLog4jEnabled()) {\n logger.info(\"Log4j is enabled\");" + "sample": "loginForm", + "lineNumber": 84, + "columnNumber": 9, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " @Override\n public JwtResponse authenticateUserLogin(LoginForm loginForm) throws BadCredentialsException {\n JwtResponse jwtResponse = new JwtResponse();\n Authentication authentication = null;\n User user;\n if (loginForm.getEmail() == null) { /* <=== com.crapi.model.LoginForm */ \n jwtResponse.setMessage(UserMessage.EMAIL_NOT_PROVIDED);\n } else {\n if (loginForm.getEmail().contains(\"jndi:\")) {\n if (isLog4jEnabled()) {\n logger.info(\"Log4j is enabled\");" }, { - "sample" : "loginForm", - "lineNumber" : 87, - "columnNumber" : 11, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " Authentication authentication = null;\n User user;\n if (loginForm.getEmail() == null) {\n jwtResponse.setMessage(UserMessage.EMAIL_NOT_PROVIDED);\n } else {\n if (loginForm.getEmail().contains(\"jndi:\")) { /* <=== com.crapi.model.LoginForm */ \n if (isLog4jEnabled()) {\n logger.info(\"Log4j is enabled\");\n logger.info(\n \"Log4j Exploit Try With Email: {} with Logger: {}, Main Logger: {}\",\n loginForm.getEmail()," + "sample": "loginForm", + "lineNumber": 87, + "columnNumber": 11, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " Authentication authentication = null;\n User user;\n if (loginForm.getEmail() == null) {\n jwtResponse.setMessage(UserMessage.EMAIL_NOT_PROVIDED);\n } else {\n if (loginForm.getEmail().contains(\"jndi:\")) { /* <=== com.crapi.model.LoginForm */ \n if (isLog4jEnabled()) {\n logger.info(\"Log4j is enabled\");\n logger.info(\n \"Log4j Exploit Try With Email: {} with Logger: {}, Main Logger: {}\",\n loginForm.getEmail()," }, { - "sample" : "loginForm", - "lineNumber" : 92, - "columnNumber" : 15, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " if (loginForm.getEmail().contains(\"jndi:\")) {\n if (isLog4jEnabled()) {\n logger.info(\"Log4j is enabled\");\n logger.info(\n \"Log4j Exploit Try With Email: {} with Logger: {}, Main Logger: {}\",\n loginForm.getEmail(), /* <=== com.crapi.model.LoginForm */ \n LOG4J_LOGGER.getClass().getName(),\n logger.getClass().getName());\n LOG4J_LOGGER.error(\"Log4j Exploit Success With Email: {}\", loginForm.getEmail());\n } else {\n logger.info(\"Log4j is disabled\");" + "sample": "loginForm", + "lineNumber": 92, + "columnNumber": 15, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " if (loginForm.getEmail().contains(\"jndi:\")) {\n if (isLog4jEnabled()) {\n logger.info(\"Log4j is enabled\");\n logger.info(\n \"Log4j Exploit Try With Email: {} with Logger: {}, Main Logger: {}\",\n loginForm.getEmail(), /* <=== com.crapi.model.LoginForm */ \n LOG4J_LOGGER.getClass().getName(),\n logger.getClass().getName());\n LOG4J_LOGGER.error(\"Log4j Exploit Success With Email: {}\", loginForm.getEmail());\n } else {\n logger.info(\"Log4j is disabled\");" }, { - "sample" : "loginForm", - "lineNumber" : 95, - "columnNumber" : 70, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " logger.info(\n \"Log4j Exploit Try With Email: {} with Logger: {}, Main Logger: {}\",\n loginForm.getEmail(),\n LOG4J_LOGGER.getClass().getName(),\n logger.getClass().getName());\n LOG4J_LOGGER.error(\"Log4j Exploit Success With Email: {}\", loginForm.getEmail()); /* <=== com.crapi.model.LoginForm */ \n } else {\n logger.info(\"Log4j is disabled\");\n }\n }\n user = userRepository.findByEmail(loginForm.getEmail());" + "sample": "loginForm", + "lineNumber": 95, + "columnNumber": 70, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " logger.info(\n \"Log4j Exploit Try With Email: {} with Logger: {}, Main Logger: {}\",\n loginForm.getEmail(),\n LOG4J_LOGGER.getClass().getName(),\n logger.getClass().getName());\n LOG4J_LOGGER.error(\"Log4j Exploit Success With Email: {}\", loginForm.getEmail()); /* <=== com.crapi.model.LoginForm */ \n } else {\n logger.info(\"Log4j is disabled\");\n }\n }\n user = userRepository.findByEmail(loginForm.getEmail());" }, { - "sample" : "error(\"Log4j Exploit Success With Email: {}\", loginForm.getEmail())", - "lineNumber" : 95, - "columnNumber" : 11, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", - "excerpt" : " logger.info(\n \"Log4j Exploit Try With Email: {} with Logger: {}, Main Logger: {}\",\n loginForm.getEmail(),\n LOG4J_LOGGER.getClass().getName(),\n logger.getClass().getName());\n LOG4J_LOGGER.error(\"Log4j Exploit Success With Email: {}\", loginForm.getEmail()); /* <=== org.apache.logging.log4j.Logger.error */ \n } else {\n logger.info(\"Log4j is disabled\");\n }\n }\n user = userRepository.findByEmail(loginForm.getEmail());" + "sample": "error(\"Log4j Exploit Success With Email: {}\", loginForm.getEmail())", + "lineNumber": 95, + "columnNumber": 11, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserServiceImpl.java", + "excerpt": " logger.info(\n \"Log4j Exploit Try With Email: {} with Logger: {}, Main Logger: {}\",\n loginForm.getEmail(),\n LOG4J_LOGGER.getClass().getName(),\n logger.getClass().getName());\n LOG4J_LOGGER.error(\"Log4j Exploit Success With Email: {}\", loginForm.getEmail()); /* <=== org.apache.logging.log4j.Logger.error */ \n } else {\n logger.info(\"Log4j is disabled\");\n }\n }\n user = userRepository.findByEmail(loginForm.getEmail());" } ] } ] }, { - "sinkType" : "leakages", - "id" : "Leakages.Log.Console", - "name" : "Log Console", - "category" : "", - "domains" : [ - ], - "sensitivity" : "", - "isSensitive" : false, - "tags" : { - - }, - "apiUrl" : [ - ], - "databaseDetails" : { - "dbName" : "", - "dbVendor" : "", - "dbLocation" : "", - "dbOperation" : "" + "sinkType": "leakages", + "id": "Leakages.Log.Console", + "name": "Log Console", + "category": "", + "domains": [], + "sensitivity": "", + "isSensitive": false, + "tags": {}, + "apiUrl": [], + "databaseDetails": { + "dbName": "", + "dbVendor": "", + "dbLocation": "", + "dbOperation": "" }, - "paths" : [ + "paths": [ { - "pathId" : "7918-7914-7913-7923-7919", - "path" : [ + "pathId": "7918-7914-7913-7923-7919", + "path": [ { - "sample" : "email", - "lineNumber" : 41, - "columnNumber" : 46, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserDetailsServiceImpl.java", - "excerpt" : " */\n @Transactional\n @Override\n public UserDetails loadUserByUsername(String email) {\n try {\n User user = userRepository.findByEmail(email); /* <=== java.lang.String */ \n System.out.println(user);\n return UserPrinciple.build(user);\n } catch (Exception e) {\n throw new UsernameNotFoundException(\"User does not exist with Email :\" + email);\n }" + "sample": "email", + "lineNumber": 41, + "columnNumber": 46, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserDetailsServiceImpl.java", + "excerpt": " */\n @Transactional\n @Override\n public UserDetails loadUserByUsername(String email) {\n try {\n User user = userRepository.findByEmail(email); /* <=== java.lang.String */ \n System.out.println(user);\n return UserPrinciple.build(user);\n } catch (Exception e) {\n throw new UsernameNotFoundException(\"User does not exist with Email :\" + email);\n }" }, { - "sample" : "userRepository.findByEmail(email)", - "lineNumber" : 41, - "columnNumber" : 19, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserDetailsServiceImpl.java", - "excerpt" : " */\n @Transactional\n @Override\n public UserDetails loadUserByUsername(String email) {\n try {\n User user = userRepository.findByEmail(email); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n System.out.println(user);\n return UserPrinciple.build(user);\n } catch (Exception e) {\n throw new UsernameNotFoundException(\"User does not exist with Email :\" + email);\n }" + "sample": "userRepository.findByEmail(email)", + "lineNumber": 41, + "columnNumber": 19, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserDetailsServiceImpl.java", + "excerpt": " */\n @Transactional\n @Override\n public UserDetails loadUserByUsername(String email) {\n try {\n User user = userRepository.findByEmail(email); /* <=== com.crapi.repository.UserRepository.findByEmail */ \n System.out.println(user);\n return UserPrinciple.build(user);\n } catch (Exception e) {\n throw new UsernameNotFoundException(\"User does not exist with Email :\" + email);\n }" }, { - "sample" : "user", - "lineNumber" : 41, - "columnNumber" : 12, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserDetailsServiceImpl.java", - "excerpt" : " */\n @Transactional\n @Override\n public UserDetails loadUserByUsername(String email) {\n try {\n User user = userRepository.findByEmail(email); /* <=== com.crapi.entity.User */ \n System.out.println(user);\n return UserPrinciple.build(user);\n } catch (Exception e) {\n throw new UsernameNotFoundException(\"User does not exist with Email :\" + email);\n }" + "sample": "user", + "lineNumber": 41, + "columnNumber": 12, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserDetailsServiceImpl.java", + "excerpt": " */\n @Transactional\n @Override\n public UserDetails loadUserByUsername(String email) {\n try {\n User user = userRepository.findByEmail(email); /* <=== com.crapi.entity.User */ \n System.out.println(user);\n return UserPrinciple.build(user);\n } catch (Exception e) {\n throw new UsernameNotFoundException(\"User does not exist with Email :\" + email);\n }" }, { - "sample" : "user", - "lineNumber" : 42, - "columnNumber" : 26, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserDetailsServiceImpl.java", - "excerpt" : " @Transactional\n @Override\n public UserDetails loadUserByUsername(String email) {\n try {\n User user = userRepository.findByEmail(email);\n System.out.println(user); /* <=== com.crapi.entity.User */ \n return UserPrinciple.build(user);\n } catch (Exception e) {\n throw new UsernameNotFoundException(\"User does not exist with Email :\" + email);\n }\n }" + "sample": "user", + "lineNumber": 42, + "columnNumber": 26, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserDetailsServiceImpl.java", + "excerpt": " @Transactional\n @Override\n public UserDetails loadUserByUsername(String email) {\n try {\n User user = userRepository.findByEmail(email);\n System.out.println(user); /* <=== com.crapi.entity.User */ \n return UserPrinciple.build(user);\n } catch (Exception e) {\n throw new UsernameNotFoundException(\"User does not exist with Email :\" + email);\n }\n }" }, { - "sample" : "System.out.println(user)", - "lineNumber" : 42, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserDetailsServiceImpl.java", - "excerpt" : " @Transactional\n @Override\n public UserDetails loadUserByUsername(String email) {\n try {\n User user = userRepository.findByEmail(email);\n System.out.println(user); /* <=== java.io.PrintStream.println */ \n return UserPrinciple.build(user);\n } catch (Exception e) {\n throw new UsernameNotFoundException(\"User does not exist with Email :\" + email);\n }\n }" + "sample": "System.out.println(user)", + "lineNumber": 42, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/service/Impl/UserDetailsServiceImpl.java", + "excerpt": " @Transactional\n @Override\n public UserDetails loadUserByUsername(String email) {\n try {\n User user = userRepository.findByEmail(email);\n System.out.println(user); /* <=== java.io.PrintStream.println */ \n return UserPrinciple.build(user);\n } catch (Exception e) {\n throw new UsernameNotFoundException(\"User does not exist with Email :\" + email);\n }\n }" } ] } @@ -8153,211 +8070,204 @@ ] } ], - "third_parties" : [ - ] + "third_parties": [] }, - "collections" : [ + "collections": [ { - "collectionId" : "Collections.Annotation.Spring", - "name" : "Spring Web Interface Annotation", - "isSensitive" : false, - "collections" : [ + "collectionId": "Collections.Annotation.Spring", + "name": "Spring Web Interface Annotation", + "isSensitive": false, + "collections": [ { - "sourceId" : "Data.Sensitive.AccountData.AccountPassword", - "occurrences" : [ + "sourceId": "Data.Sensitive.AccountData.AccountPassword", + "occurrences": [ { - "endPoint" : "/identity/api/auth/login", - "sample" : "@Valid @RequestBody LoginForm loginForm", - "lineNumber" : 51, - "columnNumber" : 55, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/controller/AuthController.java", - "excerpt" : " * @return getting jwt token of user from request header\n * @throws UnsupportedEncodingException throws UnsupportedEncodingException for password\n * encryption\n */\n @PostMapping(\"/login\")\n public ResponseEntity authenticateUser(@Valid @RequestBody LoginForm loginForm) /* <=== */ \n throws UnsupportedEncodingException {\n try {\n\n JwtResponse jwtToken = userService.authenticateUserLogin(loginForm);\n" + "endPoint": "/identity/api/auth/login", + "sample": "@Valid @RequestBody LoginForm loginForm", + "lineNumber": 51, + "columnNumber": 55, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/controller/AuthController.java", + "excerpt": " * @return getting jwt token of user from request header\n * @throws UnsupportedEncodingException throws UnsupportedEncodingException for password\n * encryption\n */\n @PostMapping(\"/login\")\n public ResponseEntity authenticateUser(@Valid @RequestBody LoginForm loginForm) /* <=== */ \n throws UnsupportedEncodingException {\n try {\n\n JwtResponse jwtToken = userService.authenticateUserLogin(loginForm);\n" }, { - "endPoint" : "/identity/api/auth/signup", - "sample" : "@Valid @RequestBody SignUpForm signUpRequest", - "lineNumber" : 74, - "columnNumber" : 53, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/controller/AuthController.java", - "excerpt" : " /**\n * @param signUpRequest contains user email,number,name and password\n * @return success and failure message after user registration.\n */\n @PostMapping(\"/signup\")\n public ResponseEntity registerUser(@Valid @RequestBody SignUpForm signUpRequest) { /* <=== */ \n // Creating user's account\n CRAPIResponse registerUserResponse = userRegistrationService.registerUser(signUpRequest);\n if (registerUserResponse != null && registerUserResponse.getStatus() == 200) {\n return ResponseEntity.status(HttpStatus.OK).body(registerUserResponse);\n } else if (registerUserResponse != null && registerUserResponse.getStatus() == 403) {" + "endPoint": "/identity/api/auth/signup", + "sample": "@Valid @RequestBody SignUpForm signUpRequest", + "lineNumber": 74, + "columnNumber": 53, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/controller/AuthController.java", + "excerpt": " /**\n * @param signUpRequest contains user email,number,name and password\n * @return success and failure message after user registration.\n */\n @PostMapping(\"/signup\")\n public ResponseEntity registerUser(@Valid @RequestBody SignUpForm signUpRequest) { /* <=== */ \n // Creating user's account\n CRAPIResponse registerUserResponse = userRegistrationService.registerUser(signUpRequest);\n if (registerUserResponse != null && registerUserResponse.getStatus() == 200) {\n return ResponseEntity.status(HttpStatus.OK).body(registerUserResponse);\n } else if (registerUserResponse != null && registerUserResponse.getStatus() == 403) {" }, { - "endPoint" : "/identity/api/auth/forget-password", - "sample" : "@Valid @RequestBody ForgetPassword forgetPassword", - "lineNumber" : 115, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/controller/AuthController.java", - "excerpt" : " * @return success and failure message after generating otp and sent the otp to the register\n * email.\n */\n @PostMapping(\"/forget-password\")\n public ResponseEntity forgetPassword(\n @Valid @RequestBody ForgetPassword forgetPassword) { /* <=== */ \n CRAPIResponse forgetPasswordResponse = otpService.generateOtp(forgetPassword);\n if (forgetPasswordResponse != null && forgetPasswordResponse.getStatus() == 200) {\n return ResponseEntity.status(HttpStatus.OK).body(forgetPasswordResponse);\n }\n return ResponseEntity.status(HttpStatus.NOT_FOUND).body(forgetPasswordResponse);" + "endPoint": "/identity/api/auth/forget-password", + "sample": "@Valid @RequestBody ForgetPassword forgetPassword", + "lineNumber": 115, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/controller/AuthController.java", + "excerpt": " * @return success and failure message after generating otp and sent the otp to the register\n * email.\n */\n @PostMapping(\"/forget-password\")\n public ResponseEntity forgetPassword(\n @Valid @RequestBody ForgetPassword forgetPassword) { /* <=== */ \n CRAPIResponse forgetPasswordResponse = otpService.generateOtp(forgetPassword);\n if (forgetPasswordResponse != null && forgetPasswordResponse.getStatus() == 200) {\n return ResponseEntity.status(HttpStatus.OK).body(forgetPasswordResponse);\n }\n return ResponseEntity.status(HttpStatus.NOT_FOUND).body(forgetPasswordResponse);" }, { - "endPoint" : "/identity/api/auth/v2/check-otp", - "sample" : "@RequestBody OtpForm otpForm", - "lineNumber" : 129, - "columnNumber" : 49, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/controller/AuthController.java", - "excerpt" : " * @param otpForm contains otp, updated password and user email\n * @return success and failure response its non secure API for attacker. in this attacker can\n * enter 'n' number of times invalid otp\n */\n @PostMapping(\"/v2/check-otp\")\n public ResponseEntity checkOtp(@RequestBody OtpForm otpForm) { /* <=== */ \n CRAPIResponse validateOtpResponse = otpService.validateOtp(otpForm);\n if (validateOtpResponse != null && validateOtpResponse.getStatus() == 200) {\n return ResponseEntity.status(HttpStatus.OK).body(validateOtpResponse);\n } else {\n return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(validateOtpResponse);" + "endPoint": "/identity/api/auth/v2/check-otp", + "sample": "@RequestBody OtpForm otpForm", + "lineNumber": 129, + "columnNumber": 49, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/controller/AuthController.java", + "excerpt": " * @param otpForm contains otp, updated password and user email\n * @return success and failure response its non secure API for attacker. in this attacker can\n * enter 'n' number of times invalid otp\n */\n @PostMapping(\"/v2/check-otp\")\n public ResponseEntity checkOtp(@RequestBody OtpForm otpForm) { /* <=== */ \n CRAPIResponse validateOtpResponse = otpService.validateOtp(otpForm);\n if (validateOtpResponse != null && validateOtpResponse.getStatus() == 200) {\n return ResponseEntity.status(HttpStatus.OK).body(validateOtpResponse);\n } else {\n return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(validateOtpResponse);" }, { - "endPoint" : "/identity/api/auth/v3/check-otp", - "sample" : "@RequestBody OtpForm otpForm", - "lineNumber" : 144, - "columnNumber" : 55, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/controller/AuthController.java", - "excerpt" : " * @param otpForm contains otp, updated password and user email\n * @return success and failure response its secure otp validator in this user can enter 10 times\n * invalid otp after 10 invalid otp it will invalidate the otp.\n */\n @PostMapping(\"/v3/check-otp\")\n public ResponseEntity secureCheckOtp(@RequestBody OtpForm otpForm) { /* <=== */ \n CRAPIResponse validateOtpResponse = otpService.secureValidateOtp(otpForm);\n if (validateOtpResponse.getStatus() == 200) {\n return ResponseEntity.status(HttpStatus.OK).body(validateOtpResponse);\n } else if (validateOtpResponse.getStatus() == 503) {\n return ResponseEntity.status(HttpStatus.SERVICE_UNAVAILABLE).body(validateOtpResponse);" + "endPoint": "/identity/api/auth/v3/check-otp", + "sample": "@RequestBody OtpForm otpForm", + "lineNumber": 144, + "columnNumber": 55, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/controller/AuthController.java", + "excerpt": " * @param otpForm contains otp, updated password and user email\n * @return success and failure response its secure otp validator in this user can enter 10 times\n * invalid otp after 10 invalid otp it will invalidate the otp.\n */\n @PostMapping(\"/v3/check-otp\")\n public ResponseEntity secureCheckOtp(@RequestBody OtpForm otpForm) { /* <=== */ \n CRAPIResponse validateOtpResponse = otpService.secureValidateOtp(otpForm);\n if (validateOtpResponse.getStatus() == 200) {\n return ResponseEntity.status(HttpStatus.OK).body(validateOtpResponse);\n } else if (validateOtpResponse.getStatus() == 503) {\n return ResponseEntity.status(HttpStatus.SERVICE_UNAVAILABLE).body(validateOtpResponse);" }, { - "endPoint" : "/identity/api/v2/user/reset-password", - "sample" : "@RequestBody LoginForm loginForm", - "lineNumber" : 60, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/controller/UserController.java", - "excerpt" : " * @param request getting jwt token for user from request header\n * @return reset user password for the user. first verify token and then reset user password\n */\n @PostMapping(\"/reset-password\")\n public ResponseEntity resetPassword(\n @RequestBody LoginForm loginForm, HttpServletRequest request) /* <=== */ \n throws UnsupportedEncodingException {\n\n CRAPIResponse resetPasswordResponse = userService.resetPassword(loginForm, request);\n if (resetPasswordResponse != null && resetPasswordResponse.getStatus() == 200) {\n return ResponseEntity.ok().body(new CRAPIResponse(UserMessage.PASSWORD_GOT_RESET));" + "endPoint": "/identity/api/v2/user/reset-password", + "sample": "@RequestBody LoginForm loginForm", + "lineNumber": 60, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/controller/UserController.java", + "excerpt": " * @param request getting jwt token for user from request header\n * @return reset user password for the user. first verify token and then reset user password\n */\n @PostMapping(\"/reset-password\")\n public ResponseEntity resetPassword(\n @RequestBody LoginForm loginForm, HttpServletRequest request) /* <=== */ \n throws UnsupportedEncodingException {\n\n CRAPIResponse resetPasswordResponse = userService.resetPassword(loginForm, request);\n if (resetPasswordResponse != null && resetPasswordResponse.getStatus() == 200) {\n return ResponseEntity.ok().body(new CRAPIResponse(UserMessage.PASSWORD_GOT_RESET));" } ] }, { - "sourceId" : "Data.Sensitive.ContactData.Address", - "occurrences" : [ + "sourceId": "Data.Sensitive.ContactData.Address", + "occurrences": [ { - "endPoint" : "/identity/api/v2/vehicle/add_vehicle", - "sample" : "@Valid @RequestBody VehicleForm vehicleDetails", - "lineNumber" : 45, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/controller/VehicleController.java", - "excerpt" : " * @param vehicleDetails\n * @return response of success and failure message save vehicle Details for user in database\n */\n @PostMapping(\"/vehicle/add_vehicle\")\n public ResponseEntity addVehicle(\n @Valid @RequestBody VehicleForm vehicleDetails, HttpServletRequest request) { /* <=== */ \n CRAPIResponse checkVehicleResponse = vehicleService.checkVehicle(vehicleDetails, request);\n if (checkVehicleResponse != null && checkVehicleResponse.getStatus() == 200) {\n return ResponseEntity.status(HttpStatus.OK).body(checkVehicleResponse);\n }\n return ResponseEntity.status(HttpStatus.FORBIDDEN).body(checkVehicleResponse);" + "endPoint": "/identity/api/v2/vehicle/add_vehicle", + "sample": "@Valid @RequestBody VehicleForm vehicleDetails", + "lineNumber": 45, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/controller/VehicleController.java", + "excerpt": " * @param vehicleDetails\n * @return response of success and failure message save vehicle Details for user in database\n */\n @PostMapping(\"/vehicle/add_vehicle\")\n public ResponseEntity addVehicle(\n @Valid @RequestBody VehicleForm vehicleDetails, HttpServletRequest request) { /* <=== */ \n CRAPIResponse checkVehicleResponse = vehicleService.checkVehicle(vehicleDetails, request);\n if (checkVehicleResponse != null && checkVehicleResponse.getStatus() == 200) {\n return ResponseEntity.status(HttpStatus.OK).body(checkVehicleResponse);\n }\n return ResponseEntity.status(HttpStatus.FORBIDDEN).body(checkVehicleResponse);" } ] }, { - "sourceId" : "Data.Sensitive.ContactData.EmailAddress", - "occurrences" : [ + "sourceId": "Data.Sensitive.ContactData.EmailAddress", + "occurrences": [ { - "endPoint" : "/identity/api/auth/login", - "sample" : "@Valid @RequestBody LoginForm loginForm", - "lineNumber" : 51, - "columnNumber" : 55, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/controller/AuthController.java", - "excerpt" : " * @return getting jwt token of user from request header\n * @throws UnsupportedEncodingException throws UnsupportedEncodingException for password\n * encryption\n */\n @PostMapping(\"/login\")\n public ResponseEntity authenticateUser(@Valid @RequestBody LoginForm loginForm) /* <=== */ \n throws UnsupportedEncodingException {\n try {\n\n JwtResponse jwtToken = userService.authenticateUserLogin(loginForm);\n" + "endPoint": "/identity/api/auth/login", + "sample": "@Valid @RequestBody LoginForm loginForm", + "lineNumber": 51, + "columnNumber": 55, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/controller/AuthController.java", + "excerpt": " * @return getting jwt token of user from request header\n * @throws UnsupportedEncodingException throws UnsupportedEncodingException for password\n * encryption\n */\n @PostMapping(\"/login\")\n public ResponseEntity authenticateUser(@Valid @RequestBody LoginForm loginForm) /* <=== */ \n throws UnsupportedEncodingException {\n try {\n\n JwtResponse jwtToken = userService.authenticateUserLogin(loginForm);\n" }, { - "endPoint" : "/identity/api/auth/signup", - "sample" : "@Valid @RequestBody SignUpForm signUpRequest", - "lineNumber" : 74, - "columnNumber" : 53, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/controller/AuthController.java", - "excerpt" : " /**\n * @param signUpRequest contains user email,number,name and password\n * @return success and failure message after user registration.\n */\n @PostMapping(\"/signup\")\n public ResponseEntity registerUser(@Valid @RequestBody SignUpForm signUpRequest) { /* <=== */ \n // Creating user's account\n CRAPIResponse registerUserResponse = userRegistrationService.registerUser(signUpRequest);\n if (registerUserResponse != null && registerUserResponse.getStatus() == 200) {\n return ResponseEntity.status(HttpStatus.OK).body(registerUserResponse);\n } else if (registerUserResponse != null && registerUserResponse.getStatus() == 403) {" + "endPoint": "/identity/api/auth/signup", + "sample": "@Valid @RequestBody SignUpForm signUpRequest", + "lineNumber": 74, + "columnNumber": 53, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/controller/AuthController.java", + "excerpt": " /**\n * @param signUpRequest contains user email,number,name and password\n * @return success and failure message after user registration.\n */\n @PostMapping(\"/signup\")\n public ResponseEntity registerUser(@Valid @RequestBody SignUpForm signUpRequest) { /* <=== */ \n // Creating user's account\n CRAPIResponse registerUserResponse = userRegistrationService.registerUser(signUpRequest);\n if (registerUserResponse != null && registerUserResponse.getStatus() == 200) {\n return ResponseEntity.status(HttpStatus.OK).body(registerUserResponse);\n } else if (registerUserResponse != null && registerUserResponse.getStatus() == 403) {" }, { - "endPoint" : "/identity/api/auth/forget-password", - "sample" : "@Valid @RequestBody ForgetPassword forgetPassword", - "lineNumber" : 115, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/controller/AuthController.java", - "excerpt" : " * @return success and failure message after generating otp and sent the otp to the register\n * email.\n */\n @PostMapping(\"/forget-password\")\n public ResponseEntity forgetPassword(\n @Valid @RequestBody ForgetPassword forgetPassword) { /* <=== */ \n CRAPIResponse forgetPasswordResponse = otpService.generateOtp(forgetPassword);\n if (forgetPasswordResponse != null && forgetPasswordResponse.getStatus() == 200) {\n return ResponseEntity.status(HttpStatus.OK).body(forgetPasswordResponse);\n }\n return ResponseEntity.status(HttpStatus.NOT_FOUND).body(forgetPasswordResponse);" + "endPoint": "/identity/api/auth/forget-password", + "sample": "@Valid @RequestBody ForgetPassword forgetPassword", + "lineNumber": 115, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/controller/AuthController.java", + "excerpt": " * @return success and failure message after generating otp and sent the otp to the register\n * email.\n */\n @PostMapping(\"/forget-password\")\n public ResponseEntity forgetPassword(\n @Valid @RequestBody ForgetPassword forgetPassword) { /* <=== */ \n CRAPIResponse forgetPasswordResponse = otpService.generateOtp(forgetPassword);\n if (forgetPasswordResponse != null && forgetPasswordResponse.getStatus() == 200) {\n return ResponseEntity.status(HttpStatus.OK).body(forgetPasswordResponse);\n }\n return ResponseEntity.status(HttpStatus.NOT_FOUND).body(forgetPasswordResponse);" }, { - "endPoint" : "/identity/api/auth/v2/check-otp", - "sample" : "@RequestBody OtpForm otpForm", - "lineNumber" : 129, - "columnNumber" : 49, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/controller/AuthController.java", - "excerpt" : " * @param otpForm contains otp, updated password and user email\n * @return success and failure response its non secure API for attacker. in this attacker can\n * enter 'n' number of times invalid otp\n */\n @PostMapping(\"/v2/check-otp\")\n public ResponseEntity checkOtp(@RequestBody OtpForm otpForm) { /* <=== */ \n CRAPIResponse validateOtpResponse = otpService.validateOtp(otpForm);\n if (validateOtpResponse != null && validateOtpResponse.getStatus() == 200) {\n return ResponseEntity.status(HttpStatus.OK).body(validateOtpResponse);\n } else {\n return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(validateOtpResponse);" + "endPoint": "/identity/api/auth/v2/check-otp", + "sample": "@RequestBody OtpForm otpForm", + "lineNumber": 129, + "columnNumber": 49, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/controller/AuthController.java", + "excerpt": " * @param otpForm contains otp, updated password and user email\n * @return success and failure response its non secure API for attacker. in this attacker can\n * enter 'n' number of times invalid otp\n */\n @PostMapping(\"/v2/check-otp\")\n public ResponseEntity checkOtp(@RequestBody OtpForm otpForm) { /* <=== */ \n CRAPIResponse validateOtpResponse = otpService.validateOtp(otpForm);\n if (validateOtpResponse != null && validateOtpResponse.getStatus() == 200) {\n return ResponseEntity.status(HttpStatus.OK).body(validateOtpResponse);\n } else {\n return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(validateOtpResponse);" }, { - "endPoint" : "/identity/api/auth/v3/check-otp", - "sample" : "@RequestBody OtpForm otpForm", - "lineNumber" : 144, - "columnNumber" : 55, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/controller/AuthController.java", - "excerpt" : " * @param otpForm contains otp, updated password and user email\n * @return success and failure response its secure otp validator in this user can enter 10 times\n * invalid otp after 10 invalid otp it will invalidate the otp.\n */\n @PostMapping(\"/v3/check-otp\")\n public ResponseEntity secureCheckOtp(@RequestBody OtpForm otpForm) { /* <=== */ \n CRAPIResponse validateOtpResponse = otpService.secureValidateOtp(otpForm);\n if (validateOtpResponse.getStatus() == 200) {\n return ResponseEntity.status(HttpStatus.OK).body(validateOtpResponse);\n } else if (validateOtpResponse.getStatus() == 503) {\n return ResponseEntity.status(HttpStatus.SERVICE_UNAVAILABLE).body(validateOtpResponse);" + "endPoint": "/identity/api/auth/v3/check-otp", + "sample": "@RequestBody OtpForm otpForm", + "lineNumber": 144, + "columnNumber": 55, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/controller/AuthController.java", + "excerpt": " * @param otpForm contains otp, updated password and user email\n * @return success and failure response its secure otp validator in this user can enter 10 times\n * invalid otp after 10 invalid otp it will invalidate the otp.\n */\n @PostMapping(\"/v3/check-otp\")\n public ResponseEntity secureCheckOtp(@RequestBody OtpForm otpForm) { /* <=== */ \n CRAPIResponse validateOtpResponse = otpService.secureValidateOtp(otpForm);\n if (validateOtpResponse.getStatus() == 200) {\n return ResponseEntity.status(HttpStatus.OK).body(validateOtpResponse);\n } else if (validateOtpResponse.getStatus() == 503) {\n return ResponseEntity.status(HttpStatus.SERVICE_UNAVAILABLE).body(validateOtpResponse);" }, { - "endPoint" : "/identity/api/auth/v4.0/user/login-with-token", - "sample" : "@RequestBody LoginWithEmailToken loginWithEmailToken", - "lineNumber" : 161, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/controller/AuthController.java", - "excerpt" : " * with email token\n * @return double verification message\n */\n @PostMapping(\"/v4.0/user/login-with-token\")\n public ResponseEntity loginWithToken(\n @RequestBody LoginWithEmailToken loginWithEmailToken) { /* <=== */ \n CRAPIResponse response = userService.loginWithEmailToken(loginWithEmailToken);\n return ResponseEntity.status(HttpStatus.valueOf(response.getStatus())).body(response);\n }\n\n /**" + "endPoint": "/identity/api/auth/v4.0/user/login-with-token", + "sample": "@RequestBody LoginWithEmailToken loginWithEmailToken", + "lineNumber": 161, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/controller/AuthController.java", + "excerpt": " * with email token\n * @return double verification message\n */\n @PostMapping(\"/v4.0/user/login-with-token\")\n public ResponseEntity loginWithToken(\n @RequestBody LoginWithEmailToken loginWithEmailToken) { /* <=== */ \n CRAPIResponse response = userService.loginWithEmailToken(loginWithEmailToken);\n return ResponseEntity.status(HttpStatus.valueOf(response.getStatus())).body(response);\n }\n\n /**" }, { - "endPoint" : "/identity/api/auth/v2.7/user/login-with-token", - "sample" : "@Valid @RequestBody LoginWithEmailToken loginWithEmailToken", - "lineNumber" : 173, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/controller/AuthController.java", - "excerpt" : " * with email token\n * @return jwt token for login with token\n */\n @PostMapping(\"/v2.7/user/login-with-token\")\n public ResponseEntity loginWithTokenV2(\n @Valid @RequestBody LoginWithEmailToken loginWithEmailToken) { /* <=== */ \n JwtResponse jwt = userService.loginWithEmailTokenV2(loginWithEmailToken);\n if (jwt.getToken() != null && jwt.getToken().length() > 5) {\n return ResponseEntity.status(HttpStatus.OK).body(jwt);\n }\n return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(jwt);" + "endPoint": "/identity/api/auth/v2.7/user/login-with-token", + "sample": "@Valid @RequestBody LoginWithEmailToken loginWithEmailToken", + "lineNumber": 173, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/controller/AuthController.java", + "excerpt": " * with email token\n * @return jwt token for login with token\n */\n @PostMapping(\"/v2.7/user/login-with-token\")\n public ResponseEntity loginWithTokenV2(\n @Valid @RequestBody LoginWithEmailToken loginWithEmailToken) { /* <=== */ \n JwtResponse jwt = userService.loginWithEmailTokenV2(loginWithEmailToken);\n if (jwt.getToken() != null && jwt.getToken().length() > 5) {\n return ResponseEntity.status(HttpStatus.OK).body(jwt);\n }\n return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(jwt);" }, { - "endPoint" : "/identity/api/v2/user/change-email", - "sample" : "@Valid @RequestBody ChangeEmailForm changeEmailForm", - "lineNumber" : 43, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/controller/ChangeEmailController.java", - "excerpt" : " * @return first check email is already registered or not if it is there then return email already\n * registered then try with new email.\n */\n @PostMapping(\"/v2/user/change-email\")\n public ResponseEntity changesEmail(\n @Valid @RequestBody ChangeEmailForm changeEmailForm, HttpServletRequest request) { /* <=== */ \n CRAPIResponse changeEmailResponse = userService.changeEmailRequest(request, changeEmailForm);\n if (changeEmailResponse != null && changeEmailResponse.getStatus() == 403) {\n return ResponseEntity.status(HttpStatus.FORBIDDEN).body(changeEmailResponse);\n } else if (changeEmailResponse != null && changeEmailResponse.getStatus() == 404) {\n return ResponseEntity.status(HttpStatus.NOT_FOUND).body(changeEmailResponse);" + "endPoint": "/identity/api/v2/user/change-email", + "sample": "@Valid @RequestBody ChangeEmailForm changeEmailForm", + "lineNumber": 43, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/controller/ChangeEmailController.java", + "excerpt": " * @return first check email is already registered or not if it is there then return email already\n * registered then try with new email.\n */\n @PostMapping(\"/v2/user/change-email\")\n public ResponseEntity changesEmail(\n @Valid @RequestBody ChangeEmailForm changeEmailForm, HttpServletRequest request) { /* <=== */ \n CRAPIResponse changeEmailResponse = userService.changeEmailRequest(request, changeEmailForm);\n if (changeEmailResponse != null && changeEmailResponse.getStatus() == 403) {\n return ResponseEntity.status(HttpStatus.FORBIDDEN).body(changeEmailResponse);\n } else if (changeEmailResponse != null && changeEmailResponse.getStatus() == 404) {\n return ResponseEntity.status(HttpStatus.NOT_FOUND).body(changeEmailResponse);" }, { - "endPoint" : "/identity/api/v2/user/verify-email-token", - "sample" : "@RequestBody ChangeEmailForm changeEmailForm", - "lineNumber" : 61, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/controller/ChangeEmailController.java", - "excerpt" : " * @param request getting jwt token for user from request header\n * @return verify token if it is valid then it will update the user email\n */\n @PostMapping(\"/v2/user/verify-email-token\")\n public ResponseEntity verifyEmailToken(\n @RequestBody ChangeEmailForm changeEmailForm, HttpServletRequest request) { /* <=== */ \n CRAPIResponse verifyEmailTokenResponse = userService.verifyEmailToken(request, changeEmailForm);\n if (verifyEmailTokenResponse != null && verifyEmailTokenResponse.getStatus() == 200) {\n return ResponseEntity.status(HttpStatus.OK).body(verifyEmailTokenResponse);\n } else if (verifyEmailTokenResponse != null && verifyEmailTokenResponse.getStatus() == 404) {\n return ResponseEntity.status(HttpStatus.NOT_FOUND).body(verifyEmailTokenResponse);" + "endPoint": "/identity/api/v2/user/verify-email-token", + "sample": "@RequestBody ChangeEmailForm changeEmailForm", + "lineNumber": 61, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/controller/ChangeEmailController.java", + "excerpt": " * @param request getting jwt token for user from request header\n * @return verify token if it is valid then it will update the user email\n */\n @PostMapping(\"/v2/user/verify-email-token\")\n public ResponseEntity verifyEmailToken(\n @RequestBody ChangeEmailForm changeEmailForm, HttpServletRequest request) { /* <=== */ \n CRAPIResponse verifyEmailTokenResponse = userService.verifyEmailToken(request, changeEmailForm);\n if (verifyEmailTokenResponse != null && verifyEmailTokenResponse.getStatus() == 200) {\n return ResponseEntity.status(HttpStatus.OK).body(verifyEmailTokenResponse);\n } else if (verifyEmailTokenResponse != null && verifyEmailTokenResponse.getStatus() == 404) {\n return ResponseEntity.status(HttpStatus.NOT_FOUND).body(verifyEmailTokenResponse);" }, { - "endPoint" : "/identity/api/v2/user/reset-password", - "sample" : "@RequestBody LoginForm loginForm", - "lineNumber" : 60, - "columnNumber" : 7, - "fileName" : "/app/code/services/identity/src/main/java/com/crapi/controller/UserController.java", - "excerpt" : " * @param request getting jwt token for user from request header\n * @return reset user password for the user. first verify token and then reset user password\n */\n @PostMapping(\"/reset-password\")\n public ResponseEntity resetPassword(\n @RequestBody LoginForm loginForm, HttpServletRequest request) /* <=== */ \n throws UnsupportedEncodingException {\n\n CRAPIResponse resetPasswordResponse = userService.resetPassword(loginForm, request);\n if (resetPasswordResponse != null && resetPasswordResponse.getStatus() == 200) {\n return ResponseEntity.ok().body(new CRAPIResponse(UserMessage.PASSWORD_GOT_RESET));" + "endPoint": "/identity/api/v2/user/reset-password", + "sample": "@RequestBody LoginForm loginForm", + "lineNumber": 60, + "columnNumber": 7, + "fileName": "/app/code/services/identity/src/main/java/com/crapi/controller/UserController.java", + "excerpt": " * @param request getting jwt token for user from request header\n * @return reset user password for the user. first verify token and then reset user password\n */\n @PostMapping(\"/reset-password\")\n public ResponseEntity resetPassword(\n @RequestBody LoginForm loginForm, HttpServletRequest request) /* <=== */ \n throws UnsupportedEncodingException {\n\n CRAPIResponse resetPasswordResponse = userService.resetPassword(loginForm, request);\n if (resetPasswordResponse != null && resetPasswordResponse.getStatus() == 200) {\n return ResponseEntity.ok().body(new CRAPIResponse(UserMessage.PASSWORD_GOT_RESET));" } ] } ] } ], - "violations" : [ + "violations": [ { - "policyId" : "Threats.Leakage.isDataLeakingToLog", - "policyDetails" : { - "name" : "PII data is written to the log files", - "policyType" : "threat", - "description" : "Sensitive Data written to log files or file system may lead to unauthorized access or exposure to potential attack.", - "fix" : "It is not recommended to log Sensitive Data to log files or the file system. The data must be encrypted if it is absolutely necessary to log it.", - "action" : "", - "tags" : { - "CWE-359" : "https://cwe.mitre.org/data/definitions/359.html", - "CWE-532" : "https://cwe.mitre.org/data/definitions/532.html", - "MSTG-STORAGE-3" : "https://github.com/OWASP/owasp-mstg/blob/master/Document/0x05d-Testing-Data-Storage.md#Testing-Logs-for-Sensitive-Data-MSTG-STORAGE-3", - "MITRE" : "Sharing.Exposure" + "policyId": "Threats.Leakage.isDataLeakingToLog", + "policyDetails": { + "name": "PII data is written to the log files", + "policyType": "threat", + "description": "Sensitive Data written to log files or file system may lead to unauthorized access or exposure to potential attack.", + "fix": "It is not recommended to log Sensitive Data to log files or the file system. The data must be encrypted if it is absolutely necessary to log it.", + "action": "", + "tags": { + "CWE-359": "https://cwe.mitre.org/data/definitions/359.html", + "CWE-532": "https://cwe.mitre.org/data/definitions/532.html", + "MSTG-STORAGE-3": "https://github.com/OWASP/owasp-mstg/blob/master/Document/0x05d-Testing-Data-Storage.md#Testing-Logs-for-Sensitive-Data-MSTG-STORAGE-3", + "MITRE": "Sharing.Exposure" } }, - "dataFlow" : [ + "dataFlow": [ { - "sourceId" : "Data.Sensitive.AccountData.AccountPassword", - "sinkId" : "Leakages.Log.Console", - "pathIds" : [ - "7913-7923-7919" - ] + "sourceId": "Data.Sensitive.AccountData.AccountPassword", + "sinkId": "Leakages.Log.Console", + "pathIds": ["7913-7923-7919"] }, { - "sourceId" : "Data.Sensitive.ContactData.EmailAddress", - "sinkId" : "Leakages.Log.Console", - "pathIds" : [ - "7918-7914-7913-7923-7919" - ] + "sourceId": "Data.Sensitive.ContactData.EmailAddress", + "sinkId": "Leakages.Log.Console", + "pathIds": ["7918-7914-7913-7923-7919"] }, { - "sourceId" : "Data.Sensitive.ContactData.EmailAddress", - "sinkId" : "Leakages.Log.Debug", - "pathIds" : [ - "11315-11312-11310-11309-11326-11325-11324-11318" - ] + "sourceId": "Data.Sensitive.ContactData.EmailAddress", + "sinkId": "Leakages.Log.Debug", + "pathIds": ["11315-11312-11310-11309-11326-11325-11324-11318"] }, { - "sourceId" : "Data.Sensitive.ContactData.EmailAddress", - "sinkId" : "Leakages.Log.Info", - "pathIds" : [ + "sourceId": "Data.Sensitive.ContactData.EmailAddress", + "sinkId": "Leakages.Log.Info", + "pathIds": [ "8354-8367-8384-8378", "9830-9843-9887-9886-11220-11244", "8043-8066-8089-8091-8097-8124-8202-8210-8204", @@ -8366,25 +8276,25 @@ ] }, { - "sourceId" : "Data.Sensitive.AccountData.AccountPassword", - "sinkId" : "Leakages.Log.Info", - "pathIds" : [ + "sourceId": "Data.Sensitive.AccountData.AccountPassword", + "sinkId": "Leakages.Log.Info", + "pathIds": [ "6958-6953-6952-6961-6980-7000-7017-7016-11220-11244", "8084-8087-8107-8103-8102-8110-8119-8113", "9830-9843-9887-9886-11220-11256-11353" ] }, { - "sourceId" : "Data.Sensitive.ContactData.EmailAddress", - "sinkId" : "Leakages.Log.Error", - "pathIds" : [ + "sourceId": "Data.Sensitive.ContactData.EmailAddress", + "sinkId": "Leakages.Log.Error", + "pathIds": [ "271-323-318", "9564-9572-9620-9614", "8354-8367-8384-8401-8395" ] } ], - "processing" : null + "processing": null } ] -} \ No newline at end of file +} diff --git a/test/data/project.assets.json b/test/data/project.assets.json index adc56ea91..06a1b8e5a 100644 --- a/test/data/project.assets.json +++ b/test/data/project.assets.json @@ -3861,10 +3861,7 @@ ".NETFramework,Version=v4.6.2": { "log4net/2.0.13": { "type": "package", - "frameworkAssemblies": [ - "System.Configuration", - "System.Web" - ], + "frameworkAssemblies": ["System.Configuration", "System.Web"], "compile": { "lib/net45/log4net.dll": { "related": ".xml" @@ -11982,9 +11979,7 @@ } }, "warningProperties": { - "warnAsError": [ - "NU1605" - ] + "warnAsError": ["NU1605"] } }, "frameworks": { diff --git a/test/data/project.assets1.json b/test/data/project.assets1.json index 928f3c2f4..8380d91e2 100644 --- a/test/data/project.assets1.json +++ b/test/data/project.assets1.json @@ -114,9 +114,7 @@ "related": ".xml" } }, - "frameworkReferences": [ - "Microsoft.AspNetCore.App" - ], + "frameworkReferences": ["Microsoft.AspNetCore.App"], "build": { "build/Microsoft.AspNetCore.Components.WebAssembly.Server.targets": {} } @@ -1794,9 +1792,7 @@ "/mnt/work/sandbox/dotnet-podcasts/NuGet.config", "/home/prabhu/.nuget/NuGet/NuGet.Config" ], - "originalTargetFrameworks": [ - "net7.0" - ], + "originalTargetFrameworks": ["net7.0"], "sources": { "https://api.nuget.org/v3/index.json": {} }, @@ -1814,9 +1810,7 @@ } }, "warningProperties": { - "warnAsError": [ - "NU1605" - ] + "warnAsError": ["NU1605"] } }, "frameworks": { @@ -1869,4 +1863,4 @@ } } } -} \ No newline at end of file +} diff --git a/test/data/swift-deps.json b/test/data/swift-deps.json index 182e2fbe0..5ed551b69 100644 --- a/test/data/swift-deps.json +++ b/test/data/swift-deps.json @@ -11,9 +11,7 @@ "url": "https://github.com/apple/swift-cmark.git", "version": "unspecified", "path": "/Volumes/Work/sandbox/swift-markdown/.build/checkouts/swift-cmark", - "dependencies": [ - - ] + "dependencies": [] }, { "identity": "swift-argument-parser", @@ -21,9 +19,7 @@ "url": "https://github.com/apple/swift-argument-parser", "version": "1.0.3", "path": "/Volumes/Work/sandbox/swift-markdown/.build/checkouts/swift-argument-parser", - "dependencies": [ - - ] + "dependencies": [] }, { "identity": "swift-docc-plugin", @@ -38,9 +34,7 @@ "url": "https://github.com/apple/swift-docc-symbolkit", "version": "1.0.0", "path": "/Volumes/Work/sandbox/swift-markdown/.build/checkouts/swift-docc-symbolkit", - "dependencies": [ - - ] + "dependencies": [] } ] } diff --git a/test/data/swift-deps1.json b/test/data/swift-deps1.json index f672aaf43..7017550fa 100644 --- a/test/data/swift-deps1.json +++ b/test/data/swift-deps1.json @@ -32,9 +32,7 @@ "url": "https://github.com/apple/swift-docc-symbolkit", "version": "1.0.0", "path": "/Volumes/Work/sandbox/swift-certificates/.build/checkouts/swift-docc-symbolkit", - "dependencies": [ - - ] + "dependencies": [] } ] } diff --git a/test/data/usages.json b/test/data/usages.json index 55f4b9e96..47ae6a1af 100644 --- a/test/data/usages.json +++ b/test/data/usages.json @@ -1,6079 +1,5557 @@ { - "objectSlices" : [ + "objectSlices": [ { - "code" : "", - "fullName" : "com.example.vulnspring.AddressDetails.:void(int,java.lang.String)", - "signature" : "void(int,java.lang.String)", - "fileName" : "src/main/java/com/example/vulnspring/WebController.java", - "lineNumber" : 348, - "columnNumber" : 2, - "usages" : [ - { - "targetObj" : { - "name" : "", - "typeFullName" : "void", - "resolvedMethod" : "com.example.vulnspring.AddressDetails.:void(int,java.lang.String)", - "lineNumber" : 302, - "columnNumber" : null, - "label" : "CALL" - }, - "definedBy" : { - "name" : "", - "typeFullName" : "void", - "resolvedMethod" : "com.example.vulnspring.AddressDetails.:void(int,java.lang.String)", - "lineNumber" : 302, - "columnNumber" : null, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] + "code": "", + "fullName": "com.example.vulnspring.AddressDetails.:void(int,java.lang.String)", + "signature": "void(int,java.lang.String)", + "fileName": "src/main/java/com/example/vulnspring/WebController.java", + "lineNumber": 348, + "columnNumber": 2, + "usages": [ + { + "targetObj": { + "name": "", + "typeFullName": "void", + "resolvedMethod": "com.example.vulnspring.AddressDetails.:void(int,java.lang.String)", + "lineNumber": 302, + "columnNumber": null, + "label": "CALL" + }, + "definedBy": { + "name": "", + "typeFullName": "void", + "resolvedMethod": "com.example.vulnspring.AddressDetails.:void(int,java.lang.String)", + "lineNumber": 302, + "columnNumber": null, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] } ] }, { - "code" : "", - "fullName" : "com.example.vulnspring.AddressDetails.getStreetName:java.lang.String()", - "signature" : "java.lang.String()", - "fileName" : "src/main/java/com/example/vulnspring/WebController.java", - "lineNumber" : 342, - "columnNumber" : 2, - "usages" : [ - { - "targetObj" : { - "name" : "public String getStreetName()", - "typeFullName" : "ANY", - "lineNumber" : 342, - "columnNumber" : 2, - "label" : "UNKNOWN" - }, - "definedBy" : { - "name" : "public String getStreetName()", - "typeFullName" : "ANY", - "lineNumber" : 342, - "columnNumber" : 2, - "label" : "UNKNOWN" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] + "code": "", + "fullName": "com.example.vulnspring.AddressDetails.getStreetName:java.lang.String()", + "signature": "java.lang.String()", + "fileName": "src/main/java/com/example/vulnspring/WebController.java", + "lineNumber": 342, + "columnNumber": 2, + "usages": [ + { + "targetObj": { + "name": "public String getStreetName()", + "typeFullName": "ANY", + "lineNumber": 342, + "columnNumber": 2, + "label": "UNKNOWN" + }, + "definedBy": { + "name": "public String getStreetName()", + "typeFullName": "ANY", + "lineNumber": 342, + "columnNumber": 2, + "label": "UNKNOWN" + }, + "invokedCalls": [], + "argToCalls": [] } ] }, { - "code" : "", - "fullName" : "com.example.vulnspring.AddressDetails.getStreetNumber:int()", - "signature" : "int()", - "fileName" : "src/main/java/com/example/vulnspring/WebController.java", - "lineNumber" : 338, - "columnNumber" : 2, - "usages" : [ - { - "targetObj" : { - "name" : "public int getStreetNumber()", - "typeFullName" : "ANY", - "lineNumber" : 338, - "columnNumber" : 2, - "label" : "UNKNOWN" - }, - "definedBy" : { - "name" : "public int getStreetNumber()", - "typeFullName" : "ANY", - "lineNumber" : 338, - "columnNumber" : 2, - "label" : "UNKNOWN" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] + "code": "", + "fullName": "com.example.vulnspring.AddressDetails.getStreetNumber:int()", + "signature": "int()", + "fileName": "src/main/java/com/example/vulnspring/WebController.java", + "lineNumber": 338, + "columnNumber": 2, + "usages": [ + { + "targetObj": { + "name": "public int getStreetNumber()", + "typeFullName": "ANY", + "lineNumber": 338, + "columnNumber": 2, + "label": "UNKNOWN" + }, + "definedBy": { + "name": "public int getStreetNumber()", + "typeFullName": "ANY", + "lineNumber": 338, + "columnNumber": 2, + "label": "UNKNOWN" + }, + "invokedCalls": [], + "argToCalls": [] } ] }, { - "code" : "", - "fullName" : "com.example.vulnspring.AddressDetails.toString:java.lang.String()", - "signature" : "java.lang.String()", - "fileName" : "src/main/java/com/example/vulnspring/WebController.java", - "lineNumber" : 353, - "columnNumber" : 2, - "usages" : [ - { - "targetObj" : { - "name" : "Override", - "typeFullName" : ".Override", - "resolvedMethod" : "@Override", - "lineNumber" : 353, - "columnNumber" : 2, - "label" : "ANNOTATION" - }, - "definedBy" : { - "name" : "Override", - "typeFullName" : ".Override", - "resolvedMethod" : "@Override", - "lineNumber" : 353, - "columnNumber" : 2, - "label" : "ANNOTATION" - }, - "invokedCalls" : [ - { - "callName" : "Override", - "resolvedMethod" : ".Override", - "paramTypes" : [ - ], - "returnType" : "", - "lineNumber" : 353, - "columnNumber" : 2 + "code": "", + "fullName": "com.example.vulnspring.AddressDetails.toString:java.lang.String()", + "signature": "java.lang.String()", + "fileName": "src/main/java/com/example/vulnspring/WebController.java", + "lineNumber": 353, + "columnNumber": 2, + "usages": [ + { + "targetObj": { + "name": "Override", + "typeFullName": ".Override", + "resolvedMethod": "@Override", + "lineNumber": 353, + "columnNumber": 2, + "label": "ANNOTATION" + }, + "definedBy": { + "name": "Override", + "typeFullName": ".Override", + "resolvedMethod": "@Override", + "lineNumber": 353, + "columnNumber": 2, + "label": "ANNOTATION" + }, + "invokedCalls": [ + { + "callName": "Override", + "resolvedMethod": ".Override", + "paramTypes": [], + "returnType": "", + "lineNumber": 353, + "columnNumber": 2 } ], - "argToCalls" : [ - ] + "argToCalls": [] } ] }, { - "code" : "", - "fullName" : "com.example.vulnspring.SessionFilter.:void()", - "signature" : "void()", - "fileName" : "", - "lineNumber" : null, - "columnNumber" : null, - "usages" : [ - { - "targetObj" : { - "name" : "", - "typeFullName" : "ANY", - "lineNumber" : null, - "columnNumber" : null, - "label" : "UNKNOWN" - }, - "definedBy" : { - "name" : "", - "typeFullName" : "ANY", - "lineNumber" : null, - "columnNumber" : null, - "label" : "UNKNOWN" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "getLogger", - "typeFullName" : "org.slf4j.Logger", - "resolvedMethod" : "org.slf4j.LoggerFactory.getLogger:(1)", - "lineNumber" : 44, - "columnNumber" : 39, - "label" : "CALL" - }, - "definedBy" : { - "name" : "getLogger", - "typeFullName" : "org.slf4j.Logger", - "resolvedMethod" : "org.slf4j.LoggerFactory.getLogger:(1)", - "lineNumber" : 44, - "columnNumber" : 39, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] + "code": "", + "fullName": "com.example.vulnspring.SessionFilter.:void()", + "signature": "void()", + "fileName": "", + "lineNumber": null, + "columnNumber": null, + "usages": [ + { + "targetObj": { + "name": "", + "typeFullName": "ANY", + "lineNumber": null, + "columnNumber": null, + "label": "UNKNOWN" + }, + "definedBy": { + "name": "", + "typeFullName": "ANY", + "lineNumber": null, + "columnNumber": null, + "label": "UNKNOWN" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "getLogger", + "typeFullName": "org.slf4j.Logger", + "resolvedMethod": "org.slf4j.LoggerFactory.getLogger:(1)", + "lineNumber": 44, + "columnNumber": 39, + "label": "CALL" + }, + "definedBy": { + "name": "getLogger", + "typeFullName": "org.slf4j.Logger", + "resolvedMethod": "org.slf4j.LoggerFactory.getLogger:(1)", + "lineNumber": 44, + "columnNumber": 39, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] } ] }, { - "code" : "", - "fullName" : "com.example.vulnspring.SessionFilter.:void()", - "signature" : "void()", - "fileName" : "src/main/java/com/example/vulnspring/SessionFilter.java", - "lineNumber" : null, - "columnNumber" : null, - "usages" : [ - { - "targetObj" : { - "name" : "", - "typeFullName" : "ANY", - "lineNumber" : null, - "columnNumber" : null, - "label" : "UNKNOWN" - }, - "definedBy" : { - "name" : "", - "typeFullName" : "ANY", - "lineNumber" : null, - "columnNumber" : null, - "label" : "UNKNOWN" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] + "code": "", + "fullName": "com.example.vulnspring.SessionFilter.:void()", + "signature": "void()", + "fileName": "src/main/java/com/example/vulnspring/SessionFilter.java", + "lineNumber": null, + "columnNumber": null, + "usages": [ + { + "targetObj": { + "name": "", + "typeFullName": "ANY", + "lineNumber": null, + "columnNumber": null, + "label": "UNKNOWN" + }, + "definedBy": { + "name": "", + "typeFullName": "ANY", + "lineNumber": null, + "columnNumber": null, + "label": "UNKNOWN" + }, + "invokedCalls": [], + "argToCalls": [] } ] }, { - "code" : "", - "fullName" : "com.example.vulnspring.SessionFilter.doFilter:void(javax.servlet.ServletRequest,javax.servlet.ServletResponse,javax.servlet.FilterChain)", - "signature" : "void(javax.servlet.ServletRequest,javax.servlet.ServletResponse,javax.servlet.FilterChain)", - "fileName" : "src/main/java/com/example/vulnspring/SessionFilter.java", - "lineNumber" : 23, - "columnNumber" : 2, - "usages" : [ - { - "targetObj" : { - "name" : ".assignment", - "typeFullName" : "java.lang.String", - "resolvedMethod" : ".assignment", - "lineNumber" : 350, - "columnNumber" : 3, - "label" : "CALL" - }, - "definedBy" : { - "name" : ".assignment", - "typeFullName" : "java.lang.String", - "resolvedMethod" : ".assignment", - "lineNumber" : 350, - "columnNumber" : 3, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : ".cast", - "typeFullName" : "com.example.vulnspring.AddressDetails", - "resolvedMethod" : ".cast", - "lineNumber" : 320, - "columnNumber" : 36, - "label" : "CALL" - }, - "definedBy" : { - "name" : ".cast", - "typeFullName" : "com.example.vulnspring.AddressDetails", - "resolvedMethod" : ".cast", - "lineNumber" : 320, - "columnNumber" : 36, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "matches", - "typeFullName" : "boolean", - "resolvedMethod" : "java.lang.String.matches:boolean(java.lang.String)", - "lineNumber" : 31, - "columnNumber" : 27, - "label" : "CALL" - }, - "definedBy" : { - "name" : "matches", - "typeFullName" : "boolean", - "resolvedMethod" : "java.lang.String.matches:boolean(java.lang.String)", - "lineNumber" : 31, - "columnNumber" : 27, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "req", - "typeFullName" : "javax.servlet.http.HttpServletRequest", - "lineNumber" : 26, - "columnNumber" : 3, - "label" : "LOCAL" - }, - "definedBy" : { - "name" : "", - "typeFullName" : "javax.servlet.http.HttpServletRequest", - "resolvedMethod" : ".cast", - "lineNumber" : 26, - "columnNumber" : 28, - "label" : "CALL" - }, - "invokedCalls" : [ - { - "callName" : "getSession", - "resolvedMethod" : "javax.servlet.http.HttpServletRequest.getSession:javax.servlet.http.HttpSession()", - "paramTypes" : [ - ], - "returnType" : "ANY", - "lineNumber" : 28, - "columnNumber" : 30 + "code": "", + "fullName": "com.example.vulnspring.SessionFilter.doFilter:void(javax.servlet.ServletRequest,javax.servlet.ServletResponse,javax.servlet.FilterChain)", + "signature": "void(javax.servlet.ServletRequest,javax.servlet.ServletResponse,javax.servlet.FilterChain)", + "fileName": "src/main/java/com/example/vulnspring/SessionFilter.java", + "lineNumber": 23, + "columnNumber": 2, + "usages": [ + { + "targetObj": { + "name": ".assignment", + "typeFullName": "java.lang.String", + "resolvedMethod": ".assignment", + "lineNumber": 350, + "columnNumber": 3, + "label": "CALL" + }, + "definedBy": { + "name": ".assignment", + "typeFullName": "java.lang.String", + "resolvedMethod": ".assignment", + "lineNumber": 350, + "columnNumber": 3, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": ".cast", + "typeFullName": "com.example.vulnspring.AddressDetails", + "resolvedMethod": ".cast", + "lineNumber": 320, + "columnNumber": 36, + "label": "CALL" + }, + "definedBy": { + "name": ".cast", + "typeFullName": "com.example.vulnspring.AddressDetails", + "resolvedMethod": ".cast", + "lineNumber": 320, + "columnNumber": 36, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "matches", + "typeFullName": "boolean", + "resolvedMethod": "java.lang.String.matches:boolean(java.lang.String)", + "lineNumber": 31, + "columnNumber": 27, + "label": "CALL" + }, + "definedBy": { + "name": "matches", + "typeFullName": "boolean", + "resolvedMethod": "java.lang.String.matches:boolean(java.lang.String)", + "lineNumber": 31, + "columnNumber": 27, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "req", + "typeFullName": "javax.servlet.http.HttpServletRequest", + "lineNumber": 26, + "columnNumber": 3, + "label": "LOCAL" + }, + "definedBy": { + "name": "", + "typeFullName": "javax.servlet.http.HttpServletRequest", + "resolvedMethod": ".cast", + "lineNumber": 26, + "columnNumber": 28, + "label": "CALL" + }, + "invokedCalls": [ + { + "callName": "getSession", + "resolvedMethod": "javax.servlet.http.HttpServletRequest.getSession:javax.servlet.http.HttpSession()", + "paramTypes": [], + "returnType": "ANY", + "lineNumber": 28, + "columnNumber": 30 }, { - "callName" : "getMethod", - "resolvedMethod" : "javax.servlet.http.HttpServletRequest.getMethod:java.lang.String()", - "paramTypes" : [ - ], - "returnType" : "ANY", - "lineNumber" : 30, - "columnNumber" : 16 + "callName": "getMethod", + "resolvedMethod": "javax.servlet.http.HttpServletRequest.getMethod:java.lang.String()", + "paramTypes": [], + "returnType": "ANY", + "lineNumber": 30, + "columnNumber": 16 }, { - "callName" : "getServletPath", - "resolvedMethod" : "javax.servlet.http.HttpServletRequest.getServletPath:java.lang.String()", - "paramTypes" : [ - ], - "returnType" : "ANY", - "lineNumber" : 30, - "columnNumber" : 40 + "callName": "getServletPath", + "resolvedMethod": "javax.servlet.http.HttpServletRequest.getServletPath:java.lang.String()", + "paramTypes": [], + "returnType": "ANY", + "lineNumber": 30, + "columnNumber": 40 }, { - "callName" : "getServletPath", - "resolvedMethod" : "javax.servlet.http.HttpServletRequest.getServletPath:java.lang.String()", - "paramTypes" : [ - ], - "returnType" : "ANY", - "lineNumber" : 31, - "columnNumber" : 27 + "callName": "getServletPath", + "resolvedMethod": "javax.servlet.http.HttpServletRequest.getServletPath:java.lang.String()", + "paramTypes": [], + "returnType": "ANY", + "lineNumber": 31, + "columnNumber": 27 } ], - "argToCalls" : [ + "argToCalls": [ { - "callName" : "doFilter", - "resolvedMethod" : "javax.servlet.FilterChain.doFilter:void(javax.servlet.ServletRequest,javax.servlet.ServletResponse)", - "paramTypes" : [ + "callName": "doFilter", + "resolvedMethod": "javax.servlet.FilterChain.doFilter:void(javax.servlet.ServletRequest,javax.servlet.ServletResponse)", + "paramTypes": [ "javax.servlet.http.HttpServletRequest", "javax.servlet.http.HttpServletResponse" ], - "returnType" : "ANY", - "position" : 1, - "lineNumber" : 32, - "columnNumber" : 4 + "returnType": "ANY", + "position": 1, + "lineNumber": 32, + "columnNumber": 4 }, { - "callName" : "doFilter", - "resolvedMethod" : "javax.servlet.FilterChain.doFilter:void(javax.servlet.ServletRequest,javax.servlet.ServletResponse)", - "paramTypes" : [ + "callName": "doFilter", + "resolvedMethod": "javax.servlet.FilterChain.doFilter:void(javax.servlet.ServletRequest,javax.servlet.ServletResponse)", + "paramTypes": [ "javax.servlet.http.HttpServletRequest", "javax.servlet.http.HttpServletResponse" ], - "returnType" : "ANY", - "position" : 1, - "lineNumber" : 34, - "columnNumber" : 4 + "returnType": "ANY", + "position": 1, + "lineNumber": 34, + "columnNumber": 4 } ] }, { - "targetObj" : { - "name" : ".addition", - "typeFullName" : "java.lang.String", - "resolvedMethod" : ".addition", - "lineNumber" : 355, - "columnNumber" : 10, - "label" : "CALL" - }, - "definedBy" : { - "name" : ".addition", - "typeFullName" : "java.lang.String", - "resolvedMethod" : ".addition", - "lineNumber" : 355, - "columnNumber" : 10, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "Override", - "typeFullName" : ".Override", - "resolvedMethod" : "@Override", - "lineNumber" : 23, - "columnNumber" : 2, - "label" : "ANNOTATION" - }, - "definedBy" : { - "name" : "Override", - "typeFullName" : ".Override", - "resolvedMethod" : "@Override", - "lineNumber" : 23, - "columnNumber" : 2, - "label" : "ANNOTATION" - }, - "invokedCalls" : [ - { - "callName" : "Override", - "resolvedMethod" : ".Override", - "paramTypes" : [ - ], - "returnType" : "", - "lineNumber" : 23, - "columnNumber" : 2 + "targetObj": { + "name": ".addition", + "typeFullName": "java.lang.String", + "resolvedMethod": ".addition", + "lineNumber": 355, + "columnNumber": 10, + "label": "CALL" + }, + "definedBy": { + "name": ".addition", + "typeFullName": "java.lang.String", + "resolvedMethod": ".addition", + "lineNumber": 355, + "columnNumber": 10, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "Override", + "typeFullName": ".Override", + "resolvedMethod": "@Override", + "lineNumber": 23, + "columnNumber": 2, + "label": "ANNOTATION" + }, + "definedBy": { + "name": "Override", + "typeFullName": ".Override", + "resolvedMethod": "@Override", + "lineNumber": 23, + "columnNumber": 2, + "label": "ANNOTATION" + }, + "invokedCalls": [ + { + "callName": "Override", + "resolvedMethod": ".Override", + "paramTypes": [], + "returnType": "", + "lineNumber": 23, + "columnNumber": 2 } ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "getMethod", - "typeFullName" : "java.lang.String", - "resolvedMethod" : "javax.servlet.http.HttpServletRequest.getMethod:java.lang.String()", - "lineNumber" : 30, - "columnNumber" : 16, - "label" : "CALL" - }, - "definedBy" : { - "name" : "getMethod", - "typeFullName" : "java.lang.String", - "resolvedMethod" : "javax.servlet.http.HttpServletRequest.getMethod:java.lang.String()", - "lineNumber" : 30, - "columnNumber" : 16, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "getAttribute", - "typeFullName" : "java.lang.Object", - "resolvedMethod" : "javax.servlet.http.HttpSession.getAttribute:java.lang.Object(java.lang.String)", - "lineNumber" : 292, - "columnNumber" : 49, - "label" : "CALL" - }, - "definedBy" : { - "name" : "getAttribute", - "typeFullName" : "java.lang.Object", - "resolvedMethod" : "javax.servlet.http.HttpSession.getAttribute:java.lang.Object(java.lang.String)", - "lineNumber" : 292, - "columnNumber" : 49, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "res", - "typeFullName" : "javax.servlet.http.HttpServletResponse", - "lineNumber" : 27, - "columnNumber" : 3, - "label" : "LOCAL" - }, - "definedBy" : { - "name" : "", - "typeFullName" : "javax.servlet.http.HttpServletResponse", - "resolvedMethod" : ".cast", - "lineNumber" : 27, - "columnNumber" : 29, - "label" : "CALL" - }, - "invokedCalls" : [ - { - "callName" : "sendRedirect", - "resolvedMethod" : "javax.servlet.http.HttpServletResponse.sendRedirect:void(java.lang.String)", - "paramTypes" : [ - "java.lang.String" - ], - "returnType" : "ANY", - "lineNumber" : 37, - "columnNumber" : 4 + "argToCalls": [] + }, + { + "targetObj": { + "name": "getMethod", + "typeFullName": "java.lang.String", + "resolvedMethod": "javax.servlet.http.HttpServletRequest.getMethod:java.lang.String()", + "lineNumber": 30, + "columnNumber": 16, + "label": "CALL" + }, + "definedBy": { + "name": "getMethod", + "typeFullName": "java.lang.String", + "resolvedMethod": "javax.servlet.http.HttpServletRequest.getMethod:java.lang.String()", + "lineNumber": 30, + "columnNumber": 16, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "getAttribute", + "typeFullName": "java.lang.Object", + "resolvedMethod": "javax.servlet.http.HttpSession.getAttribute:java.lang.Object(java.lang.String)", + "lineNumber": 292, + "columnNumber": 49, + "label": "CALL" + }, + "definedBy": { + "name": "getAttribute", + "typeFullName": "java.lang.Object", + "resolvedMethod": "javax.servlet.http.HttpSession.getAttribute:java.lang.Object(java.lang.String)", + "lineNumber": 292, + "columnNumber": 49, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "res", + "typeFullName": "javax.servlet.http.HttpServletResponse", + "lineNumber": 27, + "columnNumber": 3, + "label": "LOCAL" + }, + "definedBy": { + "name": "", + "typeFullName": "javax.servlet.http.HttpServletResponse", + "resolvedMethod": ".cast", + "lineNumber": 27, + "columnNumber": 29, + "label": "CALL" + }, + "invokedCalls": [ + { + "callName": "sendRedirect", + "resolvedMethod": "javax.servlet.http.HttpServletResponse.sendRedirect:void(java.lang.String)", + "paramTypes": ["java.lang.String"], + "returnType": "ANY", + "lineNumber": 37, + "columnNumber": 4 } ], - "argToCalls" : [ + "argToCalls": [ { - "callName" : "doFilter", - "resolvedMethod" : "javax.servlet.FilterChain.doFilter:void(javax.servlet.ServletRequest,javax.servlet.ServletResponse)", - "paramTypes" : [ + "callName": "doFilter", + "resolvedMethod": "javax.servlet.FilterChain.doFilter:void(javax.servlet.ServletRequest,javax.servlet.ServletResponse)", + "paramTypes": [ "javax.servlet.http.HttpServletRequest", "javax.servlet.http.HttpServletResponse" ], - "returnType" : "ANY", - "position" : 2, - "lineNumber" : 32, - "columnNumber" : 4 + "returnType": "ANY", + "position": 2, + "lineNumber": 32, + "columnNumber": 4 }, { - "callName" : "doFilter", - "resolvedMethod" : "javax.servlet.FilterChain.doFilter:void(javax.servlet.ServletRequest,javax.servlet.ServletResponse)", - "paramTypes" : [ + "callName": "doFilter", + "resolvedMethod": "javax.servlet.FilterChain.doFilter:void(javax.servlet.ServletRequest,javax.servlet.ServletResponse)", + "paramTypes": [ "javax.servlet.http.HttpServletRequest", "javax.servlet.http.HttpServletResponse" ], - "returnType" : "ANY", - "position" : 2, - "lineNumber" : 34, - "columnNumber" : 4 + "returnType": "ANY", + "position": 2, + "lineNumber": 34, + "columnNumber": 4 } ] }, { - "targetObj" : { - "name" : "sendRedirect", - "typeFullName" : "void", - "resolvedMethod" : "javax.servlet.http.HttpServletResponse.sendRedirect:void(java.lang.String)", - "lineNumber" : 37, - "columnNumber" : 4, - "label" : "CALL" - }, - "definedBy" : { - "name" : "sendRedirect", - "typeFullName" : "void", - "resolvedMethod" : "javax.servlet.http.HttpServletResponse.sendRedirect:void(java.lang.String)", - "lineNumber" : 37, - "columnNumber" : 4, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : ".equals", - "typeFullName" : "boolean", - "resolvedMethod" : ".equals", - "lineNumber" : 210, - "columnNumber" : 27, - "label" : "CALL" - }, - "definedBy" : { - "name" : ".equals", - "typeFullName" : "boolean", - "resolvedMethod" : ".equals", - "lineNumber" : 210, - "columnNumber" : 27, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "chain", - "typeFullName" : "javax.servlet.FilterChain", - "position" : 3, - "lineNumber" : 24, - "columnNumber" : 73, - "label" : "PARAM" - }, - "definedBy" : { - "name" : "chain", - "typeFullName" : "javax.servlet.FilterChain", - "position" : 3, - "lineNumber" : 24, - "columnNumber" : 73, - "label" : "PARAM" - }, - "invokedCalls" : [ - { - "callName" : "doFilter", - "resolvedMethod" : "javax.servlet.FilterChain.doFilter:void(javax.servlet.ServletRequest,javax.servlet.ServletResponse)", - "paramTypes" : [ + "targetObj": { + "name": "sendRedirect", + "typeFullName": "void", + "resolvedMethod": "javax.servlet.http.HttpServletResponse.sendRedirect:void(java.lang.String)", + "lineNumber": 37, + "columnNumber": 4, + "label": "CALL" + }, + "definedBy": { + "name": "sendRedirect", + "typeFullName": "void", + "resolvedMethod": "javax.servlet.http.HttpServletResponse.sendRedirect:void(java.lang.String)", + "lineNumber": 37, + "columnNumber": 4, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": ".equals", + "typeFullName": "boolean", + "resolvedMethod": ".equals", + "lineNumber": 210, + "columnNumber": 27, + "label": "CALL" + }, + "definedBy": { + "name": ".equals", + "typeFullName": "boolean", + "resolvedMethod": ".equals", + "lineNumber": 210, + "columnNumber": 27, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "chain", + "typeFullName": "javax.servlet.FilterChain", + "position": 3, + "lineNumber": 24, + "columnNumber": 73, + "label": "PARAM" + }, + "definedBy": { + "name": "chain", + "typeFullName": "javax.servlet.FilterChain", + "position": 3, + "lineNumber": 24, + "columnNumber": 73, + "label": "PARAM" + }, + "invokedCalls": [ + { + "callName": "doFilter", + "resolvedMethod": "javax.servlet.FilterChain.doFilter:void(javax.servlet.ServletRequest,javax.servlet.ServletResponse)", + "paramTypes": [ "javax.servlet.http.HttpServletRequest", "javax.servlet.http.HttpServletResponse" ], - "returnType" : "ANY", - "lineNumber" : 32, - "columnNumber" : 4 + "returnType": "ANY", + "lineNumber": 32, + "columnNumber": 4 }, { - "callName" : "doFilter", - "resolvedMethod" : "javax.servlet.FilterChain.doFilter:void(javax.servlet.ServletRequest,javax.servlet.ServletResponse)", - "paramTypes" : [ + "callName": "doFilter", + "resolvedMethod": "javax.servlet.FilterChain.doFilter:void(javax.servlet.ServletRequest,javax.servlet.ServletResponse)", + "paramTypes": [ "javax.servlet.http.HttpServletRequest", "javax.servlet.http.HttpServletResponse" ], - "returnType" : "ANY", - "lineNumber" : 34, - "columnNumber" : 4 + "returnType": "ANY", + "lineNumber": 34, + "columnNumber": 4 } ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "getServletPath", - "typeFullName" : "java.lang.String", - "resolvedMethod" : "javax.servlet.http.HttpServletRequest.getServletPath:java.lang.String()", - "lineNumber" : 31, - "columnNumber" : 27, - "label" : "CALL" - }, - "definedBy" : { - "name" : "getServletPath", - "typeFullName" : "java.lang.String", - "resolvedMethod" : "javax.servlet.http.HttpServletRequest.getServletPath:java.lang.String()", - "lineNumber" : 31, - "columnNumber" : 27, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : ".fieldAccess", - "typeFullName" : "java.lang.String", - "resolvedMethod" : ".fieldAccess", - "lineNumber" : 355, - "columnNumber" : 64, - "label" : "CALL" - }, - "definedBy" : { - "name" : ".fieldAccess", - "typeFullName" : "java.lang.String", - "resolvedMethod" : ".fieldAccess", - "lineNumber" : 355, - "columnNumber" : 64, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "doFilter", - "typeFullName" : "void", - "resolvedMethod" : "javax.servlet.FilterChain.doFilter:void(javax.servlet.ServletRequest,javax.servlet.ServletResponse)", - "lineNumber" : 34, - "columnNumber" : 4, - "label" : "CALL" - }, - "definedBy" : { - "name" : "doFilter", - "typeFullName" : "void", - "resolvedMethod" : "javax.servlet.FilterChain.doFilter:void(javax.servlet.ServletRequest,javax.servlet.ServletResponse)", - "lineNumber" : 34, - "columnNumber" : 4, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : ".logicalAnd", - "typeFullName" : "boolean", - "resolvedMethod" : ".logicalAnd", - "lineNumber" : 244, - "columnNumber" : 7, - "label" : "CALL" - }, - "definedBy" : { - "name" : ".logicalAnd", - "typeFullName" : "boolean", - "resolvedMethod" : ".logicalAnd", - "lineNumber" : 244, - "columnNumber" : 7, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "debug", - "typeFullName" : "void", - "resolvedMethod" : "org.slf4j.Logger.debug:void(java.lang.String)", - "lineNumber" : 281, - "columnNumber" : 3, - "label" : "CALL" - }, - "definedBy" : { - "name" : "debug", - "typeFullName" : "void", - "resolvedMethod" : "org.slf4j.Logger.debug:void(java.lang.String)", - "lineNumber" : 281, - "columnNumber" : 3, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : ".notEquals", - "typeFullName" : "boolean", - "resolvedMethod" : ".notEquals", - "lineNumber" : 261, - "columnNumber" : 7, - "label" : "CALL" - }, - "definedBy" : { - "name" : ".notEquals", - "typeFullName" : "boolean", - "resolvedMethod" : ".notEquals", - "lineNumber" : 261, - "columnNumber" : 7, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "getSession", - "typeFullName" : "javax.servlet.http.HttpSession", - "resolvedMethod" : "javax.servlet.http.HttpServletRequest.getSession:javax.servlet.http.HttpSession()", - "lineNumber" : 28, - "columnNumber" : 30, - "label" : "CALL" - }, - "definedBy" : { - "name" : "getSession", - "typeFullName" : "javax.servlet.http.HttpSession", - "resolvedMethod" : "javax.servlet.http.HttpServletRequest.getSession:javax.servlet.http.HttpSession()", - "lineNumber" : 28, - "columnNumber" : 30, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] + "argToCalls": [] + }, + { + "targetObj": { + "name": "getServletPath", + "typeFullName": "java.lang.String", + "resolvedMethod": "javax.servlet.http.HttpServletRequest.getServletPath:java.lang.String()", + "lineNumber": 31, + "columnNumber": 27, + "label": "CALL" + }, + "definedBy": { + "name": "getServletPath", + "typeFullName": "java.lang.String", + "resolvedMethod": "javax.servlet.http.HttpServletRequest.getServletPath:java.lang.String()", + "lineNumber": 31, + "columnNumber": 27, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": ".fieldAccess", + "typeFullName": "java.lang.String", + "resolvedMethod": ".fieldAccess", + "lineNumber": 355, + "columnNumber": 64, + "label": "CALL" + }, + "definedBy": { + "name": ".fieldAccess", + "typeFullName": "java.lang.String", + "resolvedMethod": ".fieldAccess", + "lineNumber": 355, + "columnNumber": 64, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "doFilter", + "typeFullName": "void", + "resolvedMethod": "javax.servlet.FilterChain.doFilter:void(javax.servlet.ServletRequest,javax.servlet.ServletResponse)", + "lineNumber": 34, + "columnNumber": 4, + "label": "CALL" + }, + "definedBy": { + "name": "doFilter", + "typeFullName": "void", + "resolvedMethod": "javax.servlet.FilterChain.doFilter:void(javax.servlet.ServletRequest,javax.servlet.ServletResponse)", + "lineNumber": 34, + "columnNumber": 4, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": ".logicalAnd", + "typeFullName": "boolean", + "resolvedMethod": ".logicalAnd", + "lineNumber": 244, + "columnNumber": 7, + "label": "CALL" + }, + "definedBy": { + "name": ".logicalAnd", + "typeFullName": "boolean", + "resolvedMethod": ".logicalAnd", + "lineNumber": 244, + "columnNumber": 7, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "debug", + "typeFullName": "void", + "resolvedMethod": "org.slf4j.Logger.debug:void(java.lang.String)", + "lineNumber": 281, + "columnNumber": 3, + "label": "CALL" + }, + "definedBy": { + "name": "debug", + "typeFullName": "void", + "resolvedMethod": "org.slf4j.Logger.debug:void(java.lang.String)", + "lineNumber": 281, + "columnNumber": 3, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": ".notEquals", + "typeFullName": "boolean", + "resolvedMethod": ".notEquals", + "lineNumber": 261, + "columnNumber": 7, + "label": "CALL" + }, + "definedBy": { + "name": ".notEquals", + "typeFullName": "boolean", + "resolvedMethod": ".notEquals", + "lineNumber": 261, + "columnNumber": 7, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "getSession", + "typeFullName": "javax.servlet.http.HttpSession", + "resolvedMethod": "javax.servlet.http.HttpServletRequest.getSession:javax.servlet.http.HttpSession()", + "lineNumber": 28, + "columnNumber": 30, + "label": "CALL" + }, + "definedBy": { + "name": "getSession", + "typeFullName": "javax.servlet.http.HttpSession", + "resolvedMethod": "javax.servlet.http.HttpServletRequest.getSession:javax.servlet.http.HttpSession()", + "lineNumber": 28, + "columnNumber": 30, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] } ] }, { - "code" : "", - "fullName" : "com.example.vulnspring.VulnSpringApplication.:void()", - "signature" : "void()", - "fileName" : "src/main/java/com/example/vulnspring/VulnSpringApplication.java", - "lineNumber" : null, - "columnNumber" : null, - "usages" : [ - { - "targetObj" : { - "name" : "", - "typeFullName" : "ANY", - "lineNumber" : null, - "columnNumber" : null, - "label" : "UNKNOWN" - }, - "definedBy" : { - "name" : "", - "typeFullName" : "ANY", - "lineNumber" : null, - "columnNumber" : null, - "label" : "UNKNOWN" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] + "code": "", + "fullName": "com.example.vulnspring.VulnSpringApplication.:void()", + "signature": "void()", + "fileName": "src/main/java/com/example/vulnspring/VulnSpringApplication.java", + "lineNumber": null, + "columnNumber": null, + "usages": [ + { + "targetObj": { + "name": "", + "typeFullName": "ANY", + "lineNumber": null, + "columnNumber": null, + "label": "UNKNOWN" + }, + "definedBy": { + "name": "", + "typeFullName": "ANY", + "lineNumber": null, + "columnNumber": null, + "label": "UNKNOWN" + }, + "invokedCalls": [], + "argToCalls": [] } ] }, { - "code" : "", - "fullName" : "com.example.vulnspring.VulnSpringApplication.main:void(java.lang.String[])", - "signature" : "void(java.lang.String[])", - "fileName" : "src/main/java/com/example/vulnspring/VulnSpringApplication.java", - "lineNumber" : 9, - "columnNumber" : 2, - "usages" : [ - { - "targetObj" : { - "name" : "public static void main(String[] args)", - "typeFullName" : "ANY", - "lineNumber" : 9, - "columnNumber" : 2, - "label" : "UNKNOWN" - }, - "definedBy" : { - "name" : "public static void main(String[] args)", - "typeFullName" : "ANY", - "lineNumber" : 9, - "columnNumber" : 2, - "label" : "UNKNOWN" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "run", - "typeFullName" : "void", - "resolvedMethod" : "org.springframework.boot.SpringApplication.run:org.springframework.context.ConfigurableApplicationContext(java.lang.Class,java.lang.String[])", - "lineNumber" : 10, - "columnNumber" : 3, - "label" : "CALL" - }, - "definedBy" : { - "name" : "run", - "typeFullName" : "void", - "resolvedMethod" : "org.springframework.boot.SpringApplication.run:org.springframework.context.ConfigurableApplicationContext(java.lang.Class,java.lang.String[])", - "lineNumber" : 10, - "columnNumber" : 3, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : ".arrayInitializer", - "typeFullName" : "java.lang.Object[]", - "resolvedMethod" : ".arrayInitializer", - "lineNumber" : 205, - "columnNumber" : 18, - "label" : "CALL" - }, - "definedBy" : { - "name" : ".arrayInitializer", - "typeFullName" : "java.lang.Object[]", - "resolvedMethod" : ".arrayInitializer", - "lineNumber" : 205, - "columnNumber" : 18, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] + "code": "", + "fullName": "com.example.vulnspring.VulnSpringApplication.main:void(java.lang.String[])", + "signature": "void(java.lang.String[])", + "fileName": "src/main/java/com/example/vulnspring/VulnSpringApplication.java", + "lineNumber": 9, + "columnNumber": 2, + "usages": [ + { + "targetObj": { + "name": "public static void main(String[] args)", + "typeFullName": "ANY", + "lineNumber": 9, + "columnNumber": 2, + "label": "UNKNOWN" + }, + "definedBy": { + "name": "public static void main(String[] args)", + "typeFullName": "ANY", + "lineNumber": 9, + "columnNumber": 2, + "label": "UNKNOWN" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "run", + "typeFullName": "void", + "resolvedMethod": "org.springframework.boot.SpringApplication.run:org.springframework.context.ConfigurableApplicationContext(java.lang.Class,java.lang.String[])", + "lineNumber": 10, + "columnNumber": 3, + "label": "CALL" + }, + "definedBy": { + "name": "run", + "typeFullName": "void", + "resolvedMethod": "org.springframework.boot.SpringApplication.run:org.springframework.context.ConfigurableApplicationContext(java.lang.Class,java.lang.String[])", + "lineNumber": 10, + "columnNumber": 3, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": ".arrayInitializer", + "typeFullName": "java.lang.Object[]", + "resolvedMethod": ".arrayInitializer", + "lineNumber": 205, + "columnNumber": 18, + "label": "CALL" + }, + "definedBy": { + "name": ".arrayInitializer", + "typeFullName": "java.lang.Object[]", + "resolvedMethod": ".arrayInitializer", + "lineNumber": 205, + "columnNumber": 18, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] } ] }, { - "code" : "", - "fullName" : "com.example.vulnspring.VulnSpringApplicationTests.:void()", - "signature" : "void()", - "fileName" : "src/test/java/com/example/vulnspring/VulnSpringApplicationTests.java", - "lineNumber" : null, - "columnNumber" : null, - "usages" : [ - { - "targetObj" : { - "name" : "", - "typeFullName" : "ANY", - "lineNumber" : null, - "columnNumber" : null, - "label" : "UNKNOWN" - }, - "definedBy" : { - "name" : "", - "typeFullName" : "ANY", - "lineNumber" : null, - "columnNumber" : null, - "label" : "UNKNOWN" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] + "code": "", + "fullName": "com.example.vulnspring.VulnSpringApplicationTests.:void()", + "signature": "void()", + "fileName": "src/test/java/com/example/vulnspring/VulnSpringApplicationTests.java", + "lineNumber": null, + "columnNumber": null, + "usages": [ + { + "targetObj": { + "name": "", + "typeFullName": "ANY", + "lineNumber": null, + "columnNumber": null, + "label": "UNKNOWN" + }, + "definedBy": { + "name": "", + "typeFullName": "ANY", + "lineNumber": null, + "columnNumber": null, + "label": "UNKNOWN" + }, + "invokedCalls": [], + "argToCalls": [] } ] }, { - "code" : "", - "fullName" : "com.example.vulnspring.VulnSpringApplicationTests.contextLoads:void()", - "signature" : "void()", - "fileName" : "src/test/java/com/example/vulnspring/VulnSpringApplicationTests.java", - "lineNumber" : 9, - "columnNumber" : 2, - "usages" : [ - { - "targetObj" : { - "name" : "Test", - "typeFullName" : "org.junit.jupiter.api.Test", - "resolvedMethod" : "@Test", - "lineNumber" : 9, - "columnNumber" : 2, - "label" : "ANNOTATION" - }, - "definedBy" : { - "name" : "Test", - "typeFullName" : "org.junit.jupiter.api.Test", - "resolvedMethod" : "@Test", - "lineNumber" : 9, - "columnNumber" : 2, - "label" : "ANNOTATION" - }, - "invokedCalls" : [ - { - "callName" : "Test", - "resolvedMethod" : "org.junit.jupiter.api.Test", - "paramTypes" : [ - ], - "returnType" : "", - "lineNumber" : 9, - "columnNumber" : 2 + "code": "", + "fullName": "com.example.vulnspring.VulnSpringApplicationTests.contextLoads:void()", + "signature": "void()", + "fileName": "src/test/java/com/example/vulnspring/VulnSpringApplicationTests.java", + "lineNumber": 9, + "columnNumber": 2, + "usages": [ + { + "targetObj": { + "name": "Test", + "typeFullName": "org.junit.jupiter.api.Test", + "resolvedMethod": "@Test", + "lineNumber": 9, + "columnNumber": 2, + "label": "ANNOTATION" + }, + "definedBy": { + "name": "Test", + "typeFullName": "org.junit.jupiter.api.Test", + "resolvedMethod": "@Test", + "lineNumber": 9, + "columnNumber": 2, + "label": "ANNOTATION" + }, + "invokedCalls": [ + { + "callName": "Test", + "resolvedMethod": "org.junit.jupiter.api.Test", + "paramTypes": [], + "returnType": "", + "lineNumber": 9, + "columnNumber": 2 } ], - "argToCalls" : [ - ] + "argToCalls": [] } ] }, { - "code" : "", - "fullName" : "com.example.vulnspring.WebController.:void()", - "signature" : "void()", - "fileName" : "", - "lineNumber" : null, - "columnNumber" : null, - "usages" : [ - { - "targetObj" : { - "name" : "", - "typeFullName" : "ANY", - "lineNumber" : null, - "columnNumber" : null, - "label" : "UNKNOWN" - }, - "definedBy" : { - "name" : "", - "typeFullName" : "ANY", - "lineNumber" : null, - "columnNumber" : null, - "label" : "UNKNOWN" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] + "code": "", + "fullName": "com.example.vulnspring.WebController.:void()", + "signature": "void()", + "fileName": "", + "lineNumber": null, + "columnNumber": null, + "usages": [ + { + "targetObj": { + "name": "", + "typeFullName": "ANY", + "lineNumber": null, + "columnNumber": null, + "label": "UNKNOWN" + }, + "definedBy": { + "name": "", + "typeFullName": "ANY", + "lineNumber": null, + "columnNumber": null, + "label": "UNKNOWN" + }, + "invokedCalls": [], + "argToCalls": [] } ] }, { - "code" : "", - "fullName" : "com.example.vulnspring.WebController.:void()", - "signature" : "void()", - "fileName" : "src/main/java/com/example/vulnspring/WebController.java", - "lineNumber" : null, - "columnNumber" : null, - "usages" : [ - { - "targetObj" : { - "name" : "", - "typeFullName" : "ANY", - "lineNumber" : null, - "columnNumber" : null, - "label" : "UNKNOWN" - }, - "definedBy" : { - "name" : "", - "typeFullName" : "ANY", - "lineNumber" : null, - "columnNumber" : null, - "label" : "UNKNOWN" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] + "code": "", + "fullName": "com.example.vulnspring.WebController.:void()", + "signature": "void()", + "fileName": "src/main/java/com/example/vulnspring/WebController.java", + "lineNumber": null, + "columnNumber": null, + "usages": [ + { + "targetObj": { + "name": "", + "typeFullName": "ANY", + "lineNumber": null, + "columnNumber": null, + "label": "UNKNOWN" + }, + "definedBy": { + "name": "", + "typeFullName": "ANY", + "lineNumber": null, + "columnNumber": null, + "label": "UNKNOWN" + }, + "invokedCalls": [], + "argToCalls": [] } ] }, { - "code" : "", - "fullName" : "com.example.vulnspring.WebController.addressValidation:java.lang.String(org.springframework.ui.Model)", - "signature" : "java.lang.String(org.springframework.ui.Model)", - "fileName" : "src/main/java/com/example/vulnspring/WebController.java", - "lineNumber" : 300, - "columnNumber" : 2, - "usages" : [ - { - "targetObj" : { - "name" : "model", - "typeFullName" : "org.springframework.ui.Model", - "position" : 1, - "lineNumber" : 301, - "columnNumber" : 34, - "label" : "PARAM" - }, - "definedBy" : { - "name" : "model", - "typeFullName" : "org.springframework.ui.Model", - "position" : 1, - "lineNumber" : 301, - "columnNumber" : 34, - "label" : "PARAM" - }, - "invokedCalls" : [ - { - "callName" : "addAttribute", - "resolvedMethod" : "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", - "paramTypes" : [ - "java.lang.String", - "java.lang.String" - ], - "returnType" : "ANY", - "lineNumber" : 309, - "columnNumber" : 3 + "code": "", + "fullName": "com.example.vulnspring.WebController.addressValidation:java.lang.String(org.springframework.ui.Model)", + "signature": "java.lang.String(org.springframework.ui.Model)", + "fileName": "src/main/java/com/example/vulnspring/WebController.java", + "lineNumber": 300, + "columnNumber": 2, + "usages": [ + { + "targetObj": { + "name": "model", + "typeFullName": "org.springframework.ui.Model", + "position": 1, + "lineNumber": 301, + "columnNumber": 34, + "label": "PARAM" + }, + "definedBy": { + "name": "model", + "typeFullName": "org.springframework.ui.Model", + "position": 1, + "lineNumber": 301, + "columnNumber": 34, + "label": "PARAM" + }, + "invokedCalls": [ + { + "callName": "addAttribute", + "resolvedMethod": "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", + "paramTypes": ["java.lang.String", "java.lang.String"], + "returnType": "ANY", + "lineNumber": 309, + "columnNumber": 3 } ], - "argToCalls" : [ - ] + "argToCalls": [] }, { - "targetObj" : { - "name" : "oos", - "typeFullName" : "java.io.ObjectOutputStream", - "lineNumber" : 305, - "columnNumber" : 3, - "label" : "LOCAL" + "targetObj": { + "name": "oos", + "typeFullName": "java.io.ObjectOutputStream", + "lineNumber": 305, + "columnNumber": 3, + "label": "LOCAL" }, - "definedBy" : { - "name" : "new ObjectOutputStream", - "typeFullName" : "java.io.ObjectOutputStream", - "resolvedMethod" : "java.io.ObjectOutputStream", - "lineNumber" : 305, - "columnNumber" : 28, - "label" : "CALL" + "definedBy": { + "name": "new ObjectOutputStream", + "typeFullName": "java.io.ObjectOutputStream", + "resolvedMethod": "java.io.ObjectOutputStream", + "lineNumber": 305, + "columnNumber": 28, + "label": "CALL" }, - "invokedCalls" : [ + "invokedCalls": [ { - "callName" : "", - "resolvedMethod" : "java.io.ObjectOutputStream.:void(java.io.OutputStream)", - "paramTypes" : [ - "java.io.ByteArrayOutputStream" - ], - "returnType" : "ANY", - "lineNumber" : 305, - "columnNumber" : null + "callName": "", + "resolvedMethod": "java.io.ObjectOutputStream.:void(java.io.OutputStream)", + "paramTypes": ["java.io.ByteArrayOutputStream"], + "returnType": "ANY", + "lineNumber": 305, + "columnNumber": null }, { - "callName" : "writeObject", - "resolvedMethod" : "java.io.ObjectOutputStream.writeObject:void(java.lang.Object)", - "paramTypes" : [ - "com.example.vulnspring.AddressDetails" - ], - "returnType" : "ANY", - "lineNumber" : 306, - "columnNumber" : 3 + "callName": "writeObject", + "resolvedMethod": "java.io.ObjectOutputStream.writeObject:void(java.lang.Object)", + "paramTypes": ["com.example.vulnspring.AddressDetails"], + "returnType": "ANY", + "lineNumber": 306, + "columnNumber": 3 }, { - "callName" : "close", - "resolvedMethod" : "java.io.ObjectOutputStream.close:void()", - "paramTypes" : [ - ], - "returnType" : "ANY", - "lineNumber" : 307, - "columnNumber" : 3 + "callName": "close", + "resolvedMethod": "java.io.ObjectOutputStream.close:void()", + "paramTypes": [], + "returnType": "ANY", + "lineNumber": 307, + "columnNumber": 3 } ], - "argToCalls" : [ + "argToCalls": [ { - "callName" : "ObjectOutputStream", - "resolvedMethod" : "java.io.ObjectOutputStream", - "paramTypes" : [ - ], - "returnType" : "java.io.ObjectOutputStream", - "position" : 1, - "lineNumber" : 305, - "columnNumber" : 3 + "callName": "ObjectOutputStream", + "resolvedMethod": "java.io.ObjectOutputStream", + "paramTypes": [], + "returnType": "java.io.ObjectOutputStream", + "position": 1, + "lineNumber": 305, + "columnNumber": 3 } ] }, { - "targetObj" : { - "name" : "ad", - "typeFullName" : "com.example.vulnspring.AddressDetails", - "lineNumber" : 302, - "columnNumber" : 3, - "label" : "LOCAL" - }, - "definedBy" : { - "name" : "new AddressDetails", - "typeFullName" : "com.example.vulnspring.AddressDetails", - "resolvedMethod" : "com.example.vulnspring.AddressDetails", - "lineNumber" : 302, - "columnNumber" : 23, - "label" : "CALL" - }, - "invokedCalls" : [ - { - "callName" : "", - "resolvedMethod" : "com.example.vulnspring.AddressDetails.:void(int,java.lang.String)", - "paramTypes" : [ - "int", - "java.lang.String" - ], - "returnType" : "ANY", - "lineNumber" : 302, - "columnNumber" : null + "targetObj": { + "name": "ad", + "typeFullName": "com.example.vulnspring.AddressDetails", + "lineNumber": 302, + "columnNumber": 3, + "label": "LOCAL" + }, + "definedBy": { + "name": "new AddressDetails", + "typeFullName": "com.example.vulnspring.AddressDetails", + "resolvedMethod": "com.example.vulnspring.AddressDetails", + "lineNumber": 302, + "columnNumber": 23, + "label": "CALL" + }, + "invokedCalls": [ + { + "callName": "", + "resolvedMethod": "com.example.vulnspring.AddressDetails.:void(int,java.lang.String)", + "paramTypes": ["int", "java.lang.String"], + "returnType": "ANY", + "lineNumber": 302, + "columnNumber": null } ], - "argToCalls" : [ + "argToCalls": [ { - "callName" : "AddressDetails", - "resolvedMethod" : "com.example.vulnspring.AddressDetails", - "paramTypes" : [ - ], - "returnType" : "com.example.vulnspring.AddressDetails", - "position" : 1, - "lineNumber" : 302, - "columnNumber" : 3 + "callName": "AddressDetails", + "resolvedMethod": "com.example.vulnspring.AddressDetails", + "paramTypes": [], + "returnType": "com.example.vulnspring.AddressDetails", + "position": 1, + "lineNumber": 302, + "columnNumber": 3 }, { - "callName" : "writeObject", - "resolvedMethod" : "java.io.ObjectOutputStream.writeObject:void(java.lang.Object)", - "paramTypes" : [ - "com.example.vulnspring.AddressDetails" - ], - "returnType" : "ANY", - "position" : 1, - "lineNumber" : 306, - "columnNumber" : 3 + "callName": "writeObject", + "resolvedMethod": "java.io.ObjectOutputStream.writeObject:void(java.lang.Object)", + "paramTypes": ["com.example.vulnspring.AddressDetails"], + "returnType": "ANY", + "position": 1, + "lineNumber": 306, + "columnNumber": 3 } ] }, { - "targetObj" : { - "name" : "writeObject", - "typeFullName" : "void", - "resolvedMethod" : "java.io.ObjectOutputStream.writeObject:void(java.lang.Object)", - "lineNumber" : 306, - "columnNumber" : 3, - "label" : "CALL" - }, - "definedBy" : { - "name" : "writeObject", - "typeFullName" : "void", - "resolvedMethod" : "java.io.ObjectOutputStream.writeObject:void(java.lang.Object)", - "lineNumber" : 306, - "columnNumber" : 3, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "close", - "typeFullName" : "void", - "resolvedMethod" : "java.io.ObjectOutputStream.close:void()", - "lineNumber" : 307, - "columnNumber" : 3, - "label" : "CALL" - }, - "definedBy" : { - "name" : "close", - "typeFullName" : "void", - "resolvedMethod" : "java.io.ObjectOutputStream.close:void()", - "lineNumber" : 307, - "columnNumber" : 3, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "b64", - "typeFullName" : "java.lang.String", - "lineNumber" : 308, - "columnNumber" : 3, - "label" : "LOCAL" - }, - "definedBy" : { - "name" : "encodeToString", - "typeFullName" : "java.lang.String", - "resolvedMethod" : ".encodeToString:(1)", - "lineNumber" : 308, - "columnNumber" : 16, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - { - "callName" : "addAttribute", - "resolvedMethod" : "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", - "paramTypes" : [ - "java.lang.String", - "java.lang.String" - ], - "returnType" : "ANY", - "position" : 2, - "lineNumber" : 309, - "columnNumber" : 3 + "targetObj": { + "name": "writeObject", + "typeFullName": "void", + "resolvedMethod": "java.io.ObjectOutputStream.writeObject:void(java.lang.Object)", + "lineNumber": 306, + "columnNumber": 3, + "label": "CALL" + }, + "definedBy": { + "name": "writeObject", + "typeFullName": "void", + "resolvedMethod": "java.io.ObjectOutputStream.writeObject:void(java.lang.Object)", + "lineNumber": 306, + "columnNumber": 3, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "close", + "typeFullName": "void", + "resolvedMethod": "java.io.ObjectOutputStream.close:void()", + "lineNumber": 307, + "columnNumber": 3, + "label": "CALL" + }, + "definedBy": { + "name": "close", + "typeFullName": "void", + "resolvedMethod": "java.io.ObjectOutputStream.close:void()", + "lineNumber": 307, + "columnNumber": 3, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "b64", + "typeFullName": "java.lang.String", + "lineNumber": 308, + "columnNumber": 3, + "label": "LOCAL" + }, + "definedBy": { + "name": "encodeToString", + "typeFullName": "java.lang.String", + "resolvedMethod": ".encodeToString:(1)", + "lineNumber": 308, + "columnNumber": 16, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [ + { + "callName": "addAttribute", + "resolvedMethod": "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", + "paramTypes": ["java.lang.String", "java.lang.String"], + "returnType": "ANY", + "position": 2, + "lineNumber": 309, + "columnNumber": 3 } ] }, { - "targetObj" : { - "name" : "baos", - "typeFullName" : "java.io.ByteArrayOutputStream", - "lineNumber" : 304, - "columnNumber" : 3, - "label" : "LOCAL" + "targetObj": { + "name": "baos", + "typeFullName": "java.io.ByteArrayOutputStream", + "lineNumber": 304, + "columnNumber": 3, + "label": "LOCAL" }, - "definedBy" : { - "name" : "new ByteArrayOutputStream", - "typeFullName" : "java.io.ByteArrayOutputStream", - "resolvedMethod" : "java.io.ByteArrayOutputStream", - "lineNumber" : 304, - "columnNumber" : 32, - "label" : "CALL" + "definedBy": { + "name": "new ByteArrayOutputStream", + "typeFullName": "java.io.ByteArrayOutputStream", + "resolvedMethod": "java.io.ByteArrayOutputStream", + "lineNumber": 304, + "columnNumber": 32, + "label": "CALL" }, - "invokedCalls" : [ + "invokedCalls": [ { - "callName" : "", - "resolvedMethod" : "java.io.ByteArrayOutputStream.:void()", - "paramTypes" : [ - ], - "returnType" : "ANY", - "lineNumber" : 304, - "columnNumber" : null + "callName": "", + "resolvedMethod": "java.io.ByteArrayOutputStream.:void()", + "paramTypes": [], + "returnType": "ANY", + "lineNumber": 304, + "columnNumber": null }, { - "callName" : "toByteArray", - "resolvedMethod" : "java.io.ByteArrayOutputStream.toByteArray:byte[]()", - "paramTypes" : [ - ], - "returnType" : "ANY", - "lineNumber" : 308, - "columnNumber" : 51 + "callName": "toByteArray", + "resolvedMethod": "java.io.ByteArrayOutputStream.toByteArray:byte[]()", + "paramTypes": [], + "returnType": "ANY", + "lineNumber": 308, + "columnNumber": 51 } ], - "argToCalls" : [ + "argToCalls": [ { - "callName" : "ByteArrayOutputStream", - "resolvedMethod" : "java.io.ByteArrayOutputStream", - "paramTypes" : [ - ], - "returnType" : "java.io.ByteArrayOutputStream", - "position" : 1, - "lineNumber" : 304, - "columnNumber" : 3 + "callName": "ByteArrayOutputStream", + "resolvedMethod": "java.io.ByteArrayOutputStream", + "paramTypes": [], + "returnType": "java.io.ByteArrayOutputStream", + "position": 1, + "lineNumber": 304, + "columnNumber": 3 }, { - "callName" : "", - "resolvedMethod" : "java.io.ObjectOutputStream.:void(java.io.OutputStream)", - "paramTypes" : [ - "java.io.ByteArrayOutputStream" - ], - "returnType" : "ANY", - "position" : 1, - "lineNumber" : 305, - "columnNumber" : null + "callName": "", + "resolvedMethod": "java.io.ObjectOutputStream.:void(java.io.OutputStream)", + "paramTypes": ["java.io.ByteArrayOutputStream"], + "returnType": "ANY", + "position": 1, + "lineNumber": 305, + "columnNumber": null } ] }, { - "targetObj" : { - "name" : "", - "typeFullName" : "void", - "resolvedMethod" : "java.io.ByteArrayOutputStream.:void()", - "lineNumber" : 304, - "columnNumber" : null, - "label" : "CALL" - }, - "definedBy" : { - "name" : "", - "typeFullName" : "void", - "resolvedMethod" : "java.io.ByteArrayOutputStream.:void()", - "lineNumber" : 304, - "columnNumber" : null, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "", - "typeFullName" : "void", - "resolvedMethod" : "java.io.ObjectOutputStream.:void(java.io.OutputStream)", - "lineNumber" : 305, - "columnNumber" : null, - "label" : "CALL" - }, - "definedBy" : { - "name" : "", - "typeFullName" : "void", - "resolvedMethod" : "java.io.ObjectOutputStream.:void(java.io.OutputStream)", - "lineNumber" : 305, - "columnNumber" : null, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "toByteArray", - "typeFullName" : "byte[]", - "resolvedMethod" : "java.io.ByteArrayOutputStream.toByteArray:byte[]()", - "lineNumber" : 308, - "columnNumber" : 51, - "label" : "CALL" - }, - "definedBy" : { - "name" : "toByteArray", - "typeFullName" : "byte[]", - "resolvedMethod" : "java.io.ByteArrayOutputStream.toByteArray:byte[]()", - "lineNumber" : 308, - "columnNumber" : 51, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "getEncoder", - "typeFullName" : "ANY", - "resolvedMethod" : "java.util.Base64.getEncoder:(0)", - "lineNumber" : 308, - "columnNumber" : 16, - "label" : "CALL" - }, - "definedBy" : { - "name" : "getEncoder", - "typeFullName" : "ANY", - "resolvedMethod" : "java.util.Base64.getEncoder:(0)", - "lineNumber" : 308, - "columnNumber" : 16, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "encodeToString", - "typeFullName" : "java.lang.String", - "resolvedMethod" : ".encodeToString:(1)", - "lineNumber" : 308, - "columnNumber" : 16, - "label" : "CALL" - }, - "definedBy" : { - "name" : "encodeToString", - "typeFullName" : "java.lang.String", - "resolvedMethod" : ".encodeToString:(1)", - "lineNumber" : 308, - "columnNumber" : 16, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "GetMapping", - "typeFullName" : "org.springframework.web.bind.annotation.GetMapping", - "resolvedMethod" : "@GetMapping(\"/address\")", - "lineNumber" : 300, - "columnNumber" : 2, - "label" : "ANNOTATION" - }, - "definedBy" : { - "name" : "GetMapping", - "typeFullName" : "org.springframework.web.bind.annotation.GetMapping", - "resolvedMethod" : "@GetMapping(\"/address\")", - "lineNumber" : 300, - "columnNumber" : 2, - "label" : "ANNOTATION" - }, - "invokedCalls" : [ - { - "callName" : "GetMapping", - "resolvedMethod" : "org.springframework.web.bind.annotation.GetMapping", - "paramTypes" : [ - ], - "returnType" : "", - "lineNumber" : 300, - "columnNumber" : 2 + "targetObj": { + "name": "", + "typeFullName": "void", + "resolvedMethod": "java.io.ByteArrayOutputStream.:void()", + "lineNumber": 304, + "columnNumber": null, + "label": "CALL" + }, + "definedBy": { + "name": "", + "typeFullName": "void", + "resolvedMethod": "java.io.ByteArrayOutputStream.:void()", + "lineNumber": 304, + "columnNumber": null, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "", + "typeFullName": "void", + "resolvedMethod": "java.io.ObjectOutputStream.:void(java.io.OutputStream)", + "lineNumber": 305, + "columnNumber": null, + "label": "CALL" + }, + "definedBy": { + "name": "", + "typeFullName": "void", + "resolvedMethod": "java.io.ObjectOutputStream.:void(java.io.OutputStream)", + "lineNumber": 305, + "columnNumber": null, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "toByteArray", + "typeFullName": "byte[]", + "resolvedMethod": "java.io.ByteArrayOutputStream.toByteArray:byte[]()", + "lineNumber": 308, + "columnNumber": 51, + "label": "CALL" + }, + "definedBy": { + "name": "toByteArray", + "typeFullName": "byte[]", + "resolvedMethod": "java.io.ByteArrayOutputStream.toByteArray:byte[]()", + "lineNumber": 308, + "columnNumber": 51, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "getEncoder", + "typeFullName": "ANY", + "resolvedMethod": "java.util.Base64.getEncoder:(0)", + "lineNumber": 308, + "columnNumber": 16, + "label": "CALL" + }, + "definedBy": { + "name": "getEncoder", + "typeFullName": "ANY", + "resolvedMethod": "java.util.Base64.getEncoder:(0)", + "lineNumber": 308, + "columnNumber": 16, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "encodeToString", + "typeFullName": "java.lang.String", + "resolvedMethod": ".encodeToString:(1)", + "lineNumber": 308, + "columnNumber": 16, + "label": "CALL" + }, + "definedBy": { + "name": "encodeToString", + "typeFullName": "java.lang.String", + "resolvedMethod": ".encodeToString:(1)", + "lineNumber": 308, + "columnNumber": 16, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "GetMapping", + "typeFullName": "org.springframework.web.bind.annotation.GetMapping", + "resolvedMethod": "@GetMapping(\"/address\")", + "lineNumber": 300, + "columnNumber": 2, + "label": "ANNOTATION" + }, + "definedBy": { + "name": "GetMapping", + "typeFullName": "org.springframework.web.bind.annotation.GetMapping", + "resolvedMethod": "@GetMapping(\"/address\")", + "lineNumber": 300, + "columnNumber": 2, + "label": "ANNOTATION" + }, + "invokedCalls": [ + { + "callName": "GetMapping", + "resolvedMethod": "org.springframework.web.bind.annotation.GetMapping", + "paramTypes": [], + "returnType": "", + "lineNumber": 300, + "columnNumber": 2 } ], - "argToCalls" : [ - ] + "argToCalls": [] } ] }, { - "code" : "", - "fullName" : "com.example.vulnspring.WebController.addressValidation:java.lang.String(org.springframework.ui.Model,java.lang.String)", - "signature" : "java.lang.String(org.springframework.ui.Model,java.lang.String)", - "fileName" : "src/main/java/com/example/vulnspring/WebController.java", - "lineNumber" : 313, - "columnNumber" : 2, - "usages" : [ - { - "targetObj" : { - "name" : "getDecoder", - "typeFullName" : "ANY", - "resolvedMethod" : "java.util.Base64.getDecoder:(0)", - "lineNumber" : 315, - "columnNumber" : 17, - "label" : "CALL" - }, - "definedBy" : { - "name" : "getDecoder", - "typeFullName" : "ANY", - "resolvedMethod" : "java.util.Base64.getDecoder:(0)", - "lineNumber" : 315, - "columnNumber" : 17, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ + "code": "", + "fullName": "com.example.vulnspring.WebController.addressValidation:java.lang.String(org.springframework.ui.Model,java.lang.String)", + "signature": "java.lang.String(org.springframework.ui.Model,java.lang.String)", + "fileName": "src/main/java/com/example/vulnspring/WebController.java", + "lineNumber": 313, + "columnNumber": 2, + "usages": [ + { + "targetObj": { + "name": "getDecoder", + "typeFullName": "ANY", + "resolvedMethod": "java.util.Base64.getDecoder:(0)", + "lineNumber": 315, + "columnNumber": 17, + "label": "CALL" + }, + "definedBy": { + "name": "getDecoder", + "typeFullName": "ANY", + "resolvedMethod": "java.util.Base64.getDecoder:(0)", + "lineNumber": 315, + "columnNumber": 17, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "printStackTrace", + "typeFullName": "void", + "resolvedMethod": "java.lang.ClassNotFoundException.printStackTrace:void()", + "lineNumber": 327, + "columnNumber": 4, + "label": "CALL" + }, + "definedBy": { + "name": "printStackTrace", + "typeFullName": "void", + "resolvedMethod": "java.lang.ClassNotFoundException.printStackTrace:void()", + "lineNumber": 327, + "columnNumber": 4, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "encodedString", + "typeFullName": "java.lang.String", + "position": 2, + "lineNumber": 314, + "columnNumber": 47, + "label": "PARAM" + }, + "definedBy": { + "name": "encodedString", + "typeFullName": "java.lang.String", + "position": 2, + "lineNumber": 314, + "columnNumber": 47, + "label": "PARAM" + }, + "invokedCalls": [], + "argToCalls": [ + { + "callName": "decode", + "resolvedMethod": ".decode:(1)", + "paramTypes": ["java.lang.String"], + "returnType": "ANY", + "position": 1, + "lineNumber": 315, + "columnNumber": 17 + } ] }, { - "targetObj" : { - "name" : "printStackTrace", - "typeFullName" : "void", - "resolvedMethod" : "java.lang.ClassNotFoundException.printStackTrace:void()", - "lineNumber" : 327, - "columnNumber" : 4, - "label" : "CALL" + "targetObj": { + "name": "ois", + "typeFullName": "java.io.ObjectInputStream", + "lineNumber": 316, + "columnNumber": 3, + "label": "LOCAL" }, - "definedBy" : { - "name" : "printStackTrace", - "typeFullName" : "void", - "resolvedMethod" : "java.lang.ClassNotFoundException.printStackTrace:void()", - "lineNumber" : 327, - "columnNumber" : 4, - "label" : "CALL" + "definedBy": { + "name": "new ObjectInputStream", + "typeFullName": "java.io.ObjectInputStream", + "resolvedMethod": "java.io.ObjectInputStream", + "lineNumber": 319, + "columnNumber": 10, + "label": "CALL" }, - "invokedCalls" : [ + "invokedCalls": [ + { + "callName": "ByteArrayInputStream", + "resolvedMethod": "java.io.ByteArrayInputStream", + "paramTypes": [], + "returnType": "java.io.ByteArrayInputStream", + "lineNumber": 319, + "columnNumber": null + }, + { + "callName": "readObject", + "resolvedMethod": "java.io.ObjectInputStream.readObject:java.lang.Object()", + "paramTypes": [], + "returnType": "ANY", + "lineNumber": 320, + "columnNumber": 53 + }, + { + "callName": "close", + "resolvedMethod": "java.io.ObjectInputStream.close:void()", + "paramTypes": [], + "returnType": "ANY", + "lineNumber": 321, + "columnNumber": 4 + } ], - "argToCalls" : [ + "argToCalls": [ + { + "callName": "ByteArrayInputStream", + "resolvedMethod": "java.io.ByteArrayInputStream", + "paramTypes": [], + "returnType": "java.io.ByteArrayInputStream", + "position": 1, + "lineNumber": 319, + "columnNumber": 4 + } ] }, { - "targetObj" : { - "name" : "encodedString", - "typeFullName" : "java.lang.String", - "position" : 2, - "lineNumber" : 314, - "columnNumber" : 47, - "label" : "PARAM" - }, - "definedBy" : { - "name" : "encodedString", - "typeFullName" : "java.lang.String", - "position" : 2, - "lineNumber" : 314, - "columnNumber" : 47, - "label" : "PARAM" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - { - "callName" : "decode", - "resolvedMethod" : ".decode:(1)", - "paramTypes" : [ - "java.lang.String" - ], - "returnType" : "ANY", - "position" : 1, - "lineNumber" : 315, - "columnNumber" : 17 + "targetObj": { + "name": "data", + "typeFullName": "byte[]", + "lineNumber": 315, + "columnNumber": 3, + "label": "LOCAL" + }, + "definedBy": { + "name": "decode", + "typeFullName": "byte[]", + "resolvedMethod": ".decode:(1)", + "lineNumber": 315, + "columnNumber": 17, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [ + { + "callName": "", + "resolvedMethod": "java.io.ByteArrayInputStream.:void(byte[])", + "paramTypes": ["byte[]"], + "returnType": "ANY", + "position": 1, + "lineNumber": 319, + "columnNumber": null } ] }, { - "targetObj" : { - "name" : "ois", - "typeFullName" : "java.io.ObjectInputStream", - "lineNumber" : 316, - "columnNumber" : 3, - "label" : "LOCAL" - }, - "definedBy" : { - "name" : "new ObjectInputStream", - "typeFullName" : "java.io.ObjectInputStream", - "resolvedMethod" : "java.io.ObjectInputStream", - "lineNumber" : 319, - "columnNumber" : 10, - "label" : "CALL" - }, - "invokedCalls" : [ - { - "callName" : "ByteArrayInputStream", - "resolvedMethod" : "java.io.ByteArrayInputStream", - "paramTypes" : [ + "targetObj": { + "name": "", + "typeFullName": "void", + "resolvedMethod": "java.io.ByteArrayInputStream.:void(byte[])", + "lineNumber": 319, + "columnNumber": null, + "label": "CALL" + }, + "definedBy": { + "name": "", + "typeFullName": "void", + "resolvedMethod": "java.io.ByteArrayInputStream.:void(byte[])", + "lineNumber": 319, + "columnNumber": null, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "readObject", + "typeFullName": "java.lang.Object", + "resolvedMethod": "java.io.ObjectInputStream.readObject:java.lang.Object()", + "lineNumber": 320, + "columnNumber": 53, + "label": "CALL" + }, + "definedBy": { + "name": "readObject", + "typeFullName": "java.lang.Object", + "resolvedMethod": "java.io.ObjectInputStream.readObject:java.lang.Object()", + "lineNumber": 320, + "columnNumber": 53, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "model", + "typeFullName": "org.springframework.ui.Model", + "position": 1, + "lineNumber": 314, + "columnNumber": 34, + "label": "PARAM" + }, + "definedBy": { + "name": "model", + "typeFullName": "org.springframework.ui.Model", + "position": 1, + "lineNumber": 314, + "columnNumber": 34, + "label": "PARAM" + }, + "invokedCalls": [ + { + "callName": "addAttribute", + "resolvedMethod": "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", + "paramTypes": [ + "java.lang.String", + "com.example.vulnspring.AddressDetails" ], - "returnType" : "java.io.ByteArrayInputStream", - "lineNumber" : 319, - "columnNumber" : null + "returnType": "ANY", + "lineNumber": 322, + "columnNumber": 4 }, { - "callName" : "readObject", - "resolvedMethod" : "java.io.ObjectInputStream.readObject:java.lang.Object()", - "paramTypes" : [ - ], - "returnType" : "ANY", - "lineNumber" : 320, - "columnNumber" : 53 + "callName": "addAttribute", + "resolvedMethod": "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", + "paramTypes": ["java.lang.String", "java.lang.String"], + "returnType": "ANY", + "lineNumber": 325, + "columnNumber": 4 }, { - "callName" : "close", - "resolvedMethod" : "java.io.ObjectInputStream.close:void()", - "paramTypes" : [ - ], - "returnType" : "ANY", - "lineNumber" : 321, - "columnNumber" : 4 + "callName": "addAttribute", + "resolvedMethod": "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", + "paramTypes": ["java.lang.String", "java.lang.String"], + "returnType": "ANY", + "lineNumber": 328, + "columnNumber": 4 } ], - "argToCalls" : [ - { - "callName" : "ByteArrayInputStream", - "resolvedMethod" : "java.io.ByteArrayInputStream", - "paramTypes" : [ - ], - "returnType" : "java.io.ByteArrayInputStream", - "position" : 1, - "lineNumber" : 319, - "columnNumber" : 4 + "argToCalls": [] + }, + { + "targetObj": { + "name": "PostMapping", + "typeFullName": "org.springframework.web.bind.annotation.PostMapping", + "resolvedMethod": "@PostMapping(\"/address\")", + "lineNumber": 313, + "columnNumber": 2, + "label": "ANNOTATION" + }, + "definedBy": { + "name": "PostMapping", + "typeFullName": "org.springframework.web.bind.annotation.PostMapping", + "resolvedMethod": "@PostMapping(\"/address\")", + "lineNumber": 313, + "columnNumber": 2, + "label": "ANNOTATION" + }, + "invokedCalls": [ + { + "callName": "PostMapping", + "resolvedMethod": "org.springframework.web.bind.annotation.PostMapping", + "paramTypes": [], + "returnType": "", + "lineNumber": 313, + "columnNumber": 2 } - ] - }, - { - "targetObj" : { - "name" : "data", - "typeFullName" : "byte[]", - "lineNumber" : 315, - "columnNumber" : 3, - "label" : "LOCAL" - }, - "definedBy" : { - "name" : "decode", - "typeFullName" : "byte[]", - "resolvedMethod" : ".decode:(1)", - "lineNumber" : 315, - "columnNumber" : 17, - "label" : "CALL" - }, - "invokedCalls" : [ ], - "argToCalls" : [ - { - "callName" : "", - "resolvedMethod" : "java.io.ByteArrayInputStream.:void(byte[])", - "paramTypes" : [ - "byte[]" + "argToCalls": [] + }, + { + "targetObj": { + "name": "decode", + "typeFullName": "byte[]", + "resolvedMethod": ".decode:(1)", + "lineNumber": 315, + "columnNumber": 17, + "label": "CALL" + }, + "definedBy": { + "name": "decode", + "typeFullName": "byte[]", + "resolvedMethod": ".decode:(1)", + "lineNumber": 315, + "columnNumber": 17, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "close", + "typeFullName": "void", + "resolvedMethod": "java.io.ObjectInputStream.close:void()", + "lineNumber": 321, + "columnNumber": 4, + "label": "CALL" + }, + "definedBy": { + "name": "close", + "typeFullName": "void", + "resolvedMethod": "java.io.ObjectInputStream.close:void()", + "lineNumber": 321, + "columnNumber": 4, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "addressDetails", + "typeFullName": "com.example.vulnspring.AddressDetails", + "lineNumber": 320, + "columnNumber": 4, + "label": "LOCAL" + }, + "definedBy": { + "name": "", + "typeFullName": "com.example.vulnspring.AddressDetails", + "resolvedMethod": ".cast", + "lineNumber": 320, + "columnNumber": 36, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [ + { + "callName": "addAttribute", + "resolvedMethod": "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", + "paramTypes": [ + "java.lang.String", + "com.example.vulnspring.AddressDetails" ], - "returnType" : "ANY", - "position" : 1, - "lineNumber" : 319, - "columnNumber" : null + "returnType": "ANY", + "position": 2, + "lineNumber": 322, + "columnNumber": 4 } ] }, { - "targetObj" : { - "name" : "", - "typeFullName" : "void", - "resolvedMethod" : "java.io.ByteArrayInputStream.:void(byte[])", - "lineNumber" : 319, - "columnNumber" : null, - "label" : "CALL" - }, - "definedBy" : { - "name" : "", - "typeFullName" : "void", - "resolvedMethod" : "java.io.ByteArrayInputStream.:void(byte[])", - "lineNumber" : 319, - "columnNumber" : null, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "readObject", - "typeFullName" : "java.lang.Object", - "resolvedMethod" : "java.io.ObjectInputStream.readObject:java.lang.Object()", - "lineNumber" : 320, - "columnNumber" : 53, - "label" : "CALL" - }, - "definedBy" : { - "name" : "readObject", - "typeFullName" : "java.lang.Object", - "resolvedMethod" : "java.io.ObjectInputStream.readObject:java.lang.Object()", - "lineNumber" : 320, - "columnNumber" : 53, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "model", - "typeFullName" : "org.springframework.ui.Model", - "position" : 1, - "lineNumber" : 314, - "columnNumber" : 34, - "label" : "PARAM" - }, - "definedBy" : { - "name" : "model", - "typeFullName" : "org.springframework.ui.Model", - "position" : 1, - "lineNumber" : 314, - "columnNumber" : 34, - "label" : "PARAM" - }, - "invokedCalls" : [ - { - "callName" : "addAttribute", - "resolvedMethod" : "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", - "paramTypes" : [ - "java.lang.String", - "com.example.vulnspring.AddressDetails" - ], - "returnType" : "ANY", - "lineNumber" : 322, - "columnNumber" : 4 - }, - { - "callName" : "addAttribute", - "resolvedMethod" : "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", - "paramTypes" : [ - "java.lang.String", - "java.lang.String" - ], - "returnType" : "ANY", - "lineNumber" : 325, - "columnNumber" : 4 - }, - { - "callName" : "addAttribute", - "resolvedMethod" : "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", - "paramTypes" : [ - "java.lang.String", - "java.lang.String" - ], - "returnType" : "ANY", - "lineNumber" : 328, - "columnNumber" : 4 - } - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "PostMapping", - "typeFullName" : "org.springframework.web.bind.annotation.PostMapping", - "resolvedMethod" : "@PostMapping(\"/address\")", - "lineNumber" : 313, - "columnNumber" : 2, - "label" : "ANNOTATION" - }, - "definedBy" : { - "name" : "PostMapping", - "typeFullName" : "org.springframework.web.bind.annotation.PostMapping", - "resolvedMethod" : "@PostMapping(\"/address\")", - "lineNumber" : 313, - "columnNumber" : 2, - "label" : "ANNOTATION" - }, - "invokedCalls" : [ - { - "callName" : "PostMapping", - "resolvedMethod" : "org.springframework.web.bind.annotation.PostMapping", - "paramTypes" : [ - ], - "returnType" : "", - "lineNumber" : 313, - "columnNumber" : 2 - } - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "decode", - "typeFullName" : "byte[]", - "resolvedMethod" : ".decode:(1)", - "lineNumber" : 315, - "columnNumber" : 17, - "label" : "CALL" - }, - "definedBy" : { - "name" : "decode", - "typeFullName" : "byte[]", - "resolvedMethod" : ".decode:(1)", - "lineNumber" : 315, - "columnNumber" : 17, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "close", - "typeFullName" : "void", - "resolvedMethod" : "java.io.ObjectInputStream.close:void()", - "lineNumber" : 321, - "columnNumber" : 4, - "label" : "CALL" - }, - "definedBy" : { - "name" : "close", - "typeFullName" : "void", - "resolvedMethod" : "java.io.ObjectInputStream.close:void()", - "lineNumber" : 321, - "columnNumber" : 4, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "addressDetails", - "typeFullName" : "com.example.vulnspring.AddressDetails", - "lineNumber" : 320, - "columnNumber" : 4, - "label" : "LOCAL" - }, - "definedBy" : { - "name" : "", - "typeFullName" : "com.example.vulnspring.AddressDetails", - "resolvedMethod" : ".cast", - "lineNumber" : 320, - "columnNumber" : 36, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - { - "callName" : "addAttribute", - "resolvedMethod" : "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", - "paramTypes" : [ - "java.lang.String", - "com.example.vulnspring.AddressDetails" - ], - "returnType" : "ANY", - "position" : 2, - "lineNumber" : 322, - "columnNumber" : 4 - } - ] - }, - { - "targetObj" : { - "name" : "", - "typeFullName" : "void", - "resolvedMethod" : "java.io.ObjectInputStream.:void(java.io.InputStream)", - "lineNumber" : 319, - "columnNumber" : null, - "label" : "CALL" - }, - "definedBy" : { - "name" : "", - "typeFullName" : "void", - "resolvedMethod" : "java.io.ObjectInputStream.:void(java.io.InputStream)", - "lineNumber" : 319, - "columnNumber" : null, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "printStackTrace", - "typeFullName" : "void", - "resolvedMethod" : "java.io.IOException.printStackTrace:void()", - "lineNumber" : 324, - "columnNumber" : 4, - "label" : "CALL" - }, - "definedBy" : { - "name" : "printStackTrace", - "typeFullName" : "void", - "resolvedMethod" : "java.io.IOException.printStackTrace:void()", - "lineNumber" : 324, - "columnNumber" : 4, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] + "targetObj": { + "name": "", + "typeFullName": "void", + "resolvedMethod": "java.io.ObjectInputStream.:void(java.io.InputStream)", + "lineNumber": 319, + "columnNumber": null, + "label": "CALL" + }, + "definedBy": { + "name": "", + "typeFullName": "void", + "resolvedMethod": "java.io.ObjectInputStream.:void(java.io.InputStream)", + "lineNumber": 319, + "columnNumber": null, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "printStackTrace", + "typeFullName": "void", + "resolvedMethod": "java.io.IOException.printStackTrace:void()", + "lineNumber": 324, + "columnNumber": 4, + "label": "CALL" + }, + "definedBy": { + "name": "printStackTrace", + "typeFullName": "void", + "resolvedMethod": "java.io.IOException.printStackTrace:void()", + "lineNumber": 324, + "columnNumber": 4, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] } ] }, { - "code" : "", - "fullName" : "com.example.vulnspring.WebController.checkDB:java.lang.String()", - "signature" : "java.lang.String()", - "fileName" : "src/main/java/com/example/vulnspring/WebController.java", - "lineNumber" : 135, - "columnNumber" : 2, - "usages" : [ - { - "targetObj" : { - "name" : "GetMapping", - "typeFullName" : "org.springframework.web.bind.annotation.GetMapping", - "resolvedMethod" : "@GetMapping(\"/checkdb\")", - "lineNumber" : 135, - "columnNumber" : 2, - "label" : "ANNOTATION" - }, - "definedBy" : { - "name" : "GetMapping", - "typeFullName" : "org.springframework.web.bind.annotation.GetMapping", - "resolvedMethod" : "@GetMapping(\"/checkdb\")", - "lineNumber" : 135, - "columnNumber" : 2, - "label" : "ANNOTATION" - }, - "invokedCalls" : [ - { - "callName" : "GetMapping", - "resolvedMethod" : "org.springframework.web.bind.annotation.GetMapping", - "paramTypes" : [ - ], - "returnType" : "", - "lineNumber" : 135, - "columnNumber" : 2 + "code": "", + "fullName": "com.example.vulnspring.WebController.checkDB:java.lang.String()", + "signature": "java.lang.String()", + "fileName": "src/main/java/com/example/vulnspring/WebController.java", + "lineNumber": 135, + "columnNumber": 2, + "usages": [ + { + "targetObj": { + "name": "GetMapping", + "typeFullName": "org.springframework.web.bind.annotation.GetMapping", + "resolvedMethod": "@GetMapping(\"/checkdb\")", + "lineNumber": 135, + "columnNumber": 2, + "label": "ANNOTATION" + }, + "definedBy": { + "name": "GetMapping", + "typeFullName": "org.springframework.web.bind.annotation.GetMapping", + "resolvedMethod": "@GetMapping(\"/checkdb\")", + "lineNumber": 135, + "columnNumber": 2, + "label": "ANNOTATION" + }, + "invokedCalls": [ + { + "callName": "GetMapping", + "resolvedMethod": "org.springframework.web.bind.annotation.GetMapping", + "paramTypes": [], + "returnType": "", + "lineNumber": 135, + "columnNumber": 2 } ], - "argToCalls" : [ - ] + "argToCalls": [] } ] }, { - "code" : "", - "fullName" : "com.example.vulnspring.WebController.checkDB:java.lang.String(java.lang.String,org.springframework.ui.Model)", - "signature" : "java.lang.String(java.lang.String,org.springframework.ui.Model)", - "fileName" : "src/main/java/com/example/vulnspring/WebController.java", - "lineNumber" : 117, - "columnNumber" : 2, - "usages" : [ - { - "targetObj" : { - "name" : ".alloc", - "typeFullName" : "java.io.ByteArrayInputStream", - "resolvedMethod" : ".alloc", - "lineNumber" : 319, - "columnNumber" : 32, - "label" : "CALL" - }, - "definedBy" : { - "name" : ".alloc", - "typeFullName" : "java.io.ByteArrayInputStream", - "resolvedMethod" : ".alloc", - "lineNumber" : 319, - "columnNumber" : 32, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "ResponseBody", - "typeFullName" : "org.springframework.web.bind.annotation.ResponseBody", - "resolvedMethod" : "@ResponseBody", - "lineNumber" : 118, - "columnNumber" : 2, - "label" : "ANNOTATION" - }, - "definedBy" : { - "name" : "ResponseBody", - "typeFullName" : "org.springframework.web.bind.annotation.ResponseBody", - "resolvedMethod" : "@ResponseBody", - "lineNumber" : 118, - "columnNumber" : 2, - "label" : "ANNOTATION" - }, - "invokedCalls" : [ - { - "callName" : "PostMapping", - "resolvedMethod" : "org.springframework.web.bind.annotation.PostMapping", - "paramTypes" : [ - ], - "returnType" : "", - "lineNumber" : 117, - "columnNumber" : 2 + "code": "", + "fullName": "com.example.vulnspring.WebController.checkDB:java.lang.String(java.lang.String,org.springframework.ui.Model)", + "signature": "java.lang.String(java.lang.String,org.springframework.ui.Model)", + "fileName": "src/main/java/com/example/vulnspring/WebController.java", + "lineNumber": 117, + "columnNumber": 2, + "usages": [ + { + "targetObj": { + "name": ".alloc", + "typeFullName": "java.io.ByteArrayInputStream", + "resolvedMethod": ".alloc", + "lineNumber": 319, + "columnNumber": 32, + "label": "CALL" + }, + "definedBy": { + "name": ".alloc", + "typeFullName": "java.io.ByteArrayInputStream", + "resolvedMethod": ".alloc", + "lineNumber": 319, + "columnNumber": 32, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "ResponseBody", + "typeFullName": "org.springframework.web.bind.annotation.ResponseBody", + "resolvedMethod": "@ResponseBody", + "lineNumber": 118, + "columnNumber": 2, + "label": "ANNOTATION" + }, + "definedBy": { + "name": "ResponseBody", + "typeFullName": "org.springframework.web.bind.annotation.ResponseBody", + "resolvedMethod": "@ResponseBody", + "lineNumber": 118, + "columnNumber": 2, + "label": "ANNOTATION" + }, + "invokedCalls": [ + { + "callName": "PostMapping", + "resolvedMethod": "org.springframework.web.bind.annotation.PostMapping", + "paramTypes": [], + "returnType": "", + "lineNumber": 117, + "columnNumber": 2 }, { - "callName" : "ResponseBody", - "resolvedMethod" : "org.springframework.web.bind.annotation.ResponseBody", - "paramTypes" : [ - ], - "returnType" : "", - "lineNumber" : 118, - "columnNumber" : 2 + "callName": "ResponseBody", + "resolvedMethod": "org.springframework.web.bind.annotation.ResponseBody", + "paramTypes": [], + "returnType": "", + "lineNumber": 118, + "columnNumber": 2 } ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "next", - "typeFullName" : "java.lang.String", - "resolvedMethod" : "java.util.Scanner.next:java.lang.String()", - "lineNumber" : 128, - "columnNumber" : 16, - "label" : "CALL" - }, - "definedBy" : { - "name" : "next", - "typeFullName" : "java.lang.String", - "resolvedMethod" : "java.util.Scanner.next:java.lang.String()", - "lineNumber" : 128, - "columnNumber" : 16, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "sanitizedValue", - "typeFullName" : "java.lang.String", - "lineNumber" : 121, - "columnNumber" : 3, - "label" : "LOCAL" - }, - "definedBy" : { - "name" : "FilenameUtils.getBaseName", - "typeFullName" : "java.lang.String", - "resolvedMethod" : "org.apache.commons.io.FilenameUtils.getBaseName:java.lang.String(java.lang.String)", - "lineNumber" : 121, - "columnNumber" : 27, - "label" : "CALL" - }, - "invokedCalls" : [ - { - "callName" : "equalsIgnoreCase", - "resolvedMethod" : "java.lang.String.equalsIgnoreCase:boolean(java.lang.String)", - "paramTypes" : [ - "java.lang.String" - ], - "returnType" : "ANY", - "lineNumber" : 123, - "columnNumber" : 53 + "argToCalls": [] + }, + { + "targetObj": { + "name": "next", + "typeFullName": "java.lang.String", + "resolvedMethod": "java.util.Scanner.next:java.lang.String()", + "lineNumber": 128, + "columnNumber": 16, + "label": "CALL" + }, + "definedBy": { + "name": "next", + "typeFullName": "java.lang.String", + "resolvedMethod": "java.util.Scanner.next:java.lang.String()", + "lineNumber": 128, + "columnNumber": 16, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "sanitizedValue", + "typeFullName": "java.lang.String", + "lineNumber": 121, + "columnNumber": 3, + "label": "LOCAL" + }, + "definedBy": { + "name": "FilenameUtils.getBaseName", + "typeFullName": "java.lang.String", + "resolvedMethod": "org.apache.commons.io.FilenameUtils.getBaseName:java.lang.String(java.lang.String)", + "lineNumber": 121, + "columnNumber": 27, + "label": "CALL" + }, + "invokedCalls": [ + { + "callName": "equalsIgnoreCase", + "resolvedMethod": "java.lang.String.equalsIgnoreCase:boolean(java.lang.String)", + "paramTypes": ["java.lang.String"], + "returnType": "ANY", + "lineNumber": 123, + "columnNumber": 53 } ], - "argToCalls" : [ + "argToCalls": [ { - "callName" : "", - "resolvedMethod" : "java.net.URL.:void(java.lang.String)", - "paramTypes" : [ - "java.lang.String" - ], - "returnType" : "ANY", - "position" : 1, - "lineNumber" : 127, - "columnNumber" : null + "callName": "", + "resolvedMethod": "java.net.URL.:void(java.lang.String)", + "paramTypes": ["java.lang.String"], + "returnType": "ANY", + "position": 1, + "lineNumber": 127, + "columnNumber": null } ] }, { - "targetObj" : { - "name" : "equalsIgnoreCase", - "typeFullName" : "boolean", - "resolvedMethod" : "java.lang.String.equalsIgnoreCase:boolean(java.lang.String)", - "lineNumber" : 292, - "columnNumber" : 7, - "label" : "CALL" - }, - "definedBy" : { - "name" : "equalsIgnoreCase", - "typeFullName" : "boolean", - "resolvedMethod" : "java.lang.String.equalsIgnoreCase:boolean(java.lang.String)", - "lineNumber" : 292, - "columnNumber" : 7, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "copy", - "typeFullName" : "long", - "resolvedMethod" : "org.apache.commons.io.IOUtils.copy:long(java.net.URL,java.io.File)", - "lineNumber" : 131, - "columnNumber" : 3, - "label" : "CALL" - }, - "definedBy" : { - "name" : "copy", - "typeFullName" : "long", - "resolvedMethod" : "org.apache.commons.io.IOUtils.copy:long(java.net.URL,java.io.File)", - "lineNumber" : 131, - "columnNumber" : 3, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "remoteUrl", - "typeFullName" : "java.net.URL", - "lineNumber" : 127, - "columnNumber" : 3, - "label" : "LOCAL" - }, - "definedBy" : { - "name" : "new URL", - "typeFullName" : "java.net.URL", - "resolvedMethod" : "java.net.URL", - "lineNumber" : 127, - "columnNumber" : 19, - "label" : "CALL" - }, - "invokedCalls" : [ - { - "callName" : "", - "resolvedMethod" : "java.net.URL.:void(java.lang.String)", - "paramTypes" : [ - "java.lang.String" - ], - "returnType" : "ANY", - "lineNumber" : 127, - "columnNumber" : null + "targetObj": { + "name": "equalsIgnoreCase", + "typeFullName": "boolean", + "resolvedMethod": "java.lang.String.equalsIgnoreCase:boolean(java.lang.String)", + "lineNumber": 292, + "columnNumber": 7, + "label": "CALL" + }, + "definedBy": { + "name": "equalsIgnoreCase", + "typeFullName": "boolean", + "resolvedMethod": "java.lang.String.equalsIgnoreCase:boolean(java.lang.String)", + "lineNumber": 292, + "columnNumber": 7, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "copy", + "typeFullName": "long", + "resolvedMethod": "org.apache.commons.io.IOUtils.copy:long(java.net.URL,java.io.File)", + "lineNumber": 131, + "columnNumber": 3, + "label": "CALL" + }, + "definedBy": { + "name": "copy", + "typeFullName": "long", + "resolvedMethod": "org.apache.commons.io.IOUtils.copy:long(java.net.URL,java.io.File)", + "lineNumber": 131, + "columnNumber": 3, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "remoteUrl", + "typeFullName": "java.net.URL", + "lineNumber": 127, + "columnNumber": 3, + "label": "LOCAL" + }, + "definedBy": { + "name": "new URL", + "typeFullName": "java.net.URL", + "resolvedMethod": "java.net.URL", + "lineNumber": 127, + "columnNumber": 19, + "label": "CALL" + }, + "invokedCalls": [ + { + "callName": "", + "resolvedMethod": "java.net.URL.:void(java.lang.String)", + "paramTypes": ["java.lang.String"], + "returnType": "ANY", + "lineNumber": 127, + "columnNumber": null }, { - "callName" : "openStream", - "resolvedMethod" : "java.net.URL.openStream:java.io.InputStream()", - "paramTypes" : [ - ], - "returnType" : "ANY", - "lineNumber" : 128, - "columnNumber" : 28 + "callName": "openStream", + "resolvedMethod": "java.net.URL.openStream:java.io.InputStream()", + "paramTypes": [], + "returnType": "ANY", + "lineNumber": 128, + "columnNumber": 28 } ], - "argToCalls" : [ + "argToCalls": [ { - "callName" : "URL", - "resolvedMethod" : "java.net.URL", - "paramTypes" : [ - ], - "returnType" : "java.net.URL", - "position" : 1, - "lineNumber" : 127, - "columnNumber" : 3 + "callName": "URL", + "resolvedMethod": "java.net.URL", + "paramTypes": [], + "returnType": "java.net.URL", + "position": 1, + "lineNumber": 127, + "columnNumber": 3 }, { - "callName" : "File", - "resolvedMethod" : "java.io.File", - "paramTypes" : [ - ], - "returnType" : "java.io.File", - "position" : 1, - "lineNumber" : 131, - "columnNumber" : 3 + "callName": "File", + "resolvedMethod": "java.io.File", + "paramTypes": [], + "returnType": "java.io.File", + "position": 1, + "lineNumber": 131, + "columnNumber": 3 } ] }, { - "targetObj" : { - "name" : "", - "typeFullName" : "void", - "resolvedMethod" : "java.io.File.:void(java.lang.String)", - "lineNumber" : 131, - "columnNumber" : null, - "label" : "CALL" - }, - "definedBy" : { - "name" : "", - "typeFullName" : "void", - "resolvedMethod" : "java.io.File.:void(java.lang.String)", - "lineNumber" : 131, - "columnNumber" : null, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "", - "typeFullName" : "void", - "resolvedMethod" : "java.util.Scanner.:void(java.io.InputStream,java.lang.String)", - "lineNumber" : 128, - "columnNumber" : null, - "label" : "CALL" - }, - "definedBy" : { - "name" : "", - "typeFullName" : "void", - "resolvedMethod" : "java.util.Scanner.:void(java.io.InputStream,java.lang.String)", - "lineNumber" : 128, - "columnNumber" : null, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "out", - "typeFullName" : "java.lang.String", - "lineNumber" : 128, - "columnNumber" : 3, - "label" : "LOCAL" - }, - "definedBy" : { - "name" : "new Scanner", - "typeFullName" : "java.util.Scanner", - "resolvedMethod" : "java.util.Scanner", - "lineNumber" : 128, - "columnNumber" : 16, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - { - "callName" : "Scanner", - "resolvedMethod" : "java.util.Scanner", - "paramTypes" : [ - ], - "returnType" : "java.util.Scanner", - "position" : 1, - "lineNumber" : 128, - "columnNumber" : 3 + "targetObj": { + "name": "", + "typeFullName": "void", + "resolvedMethod": "java.io.File.:void(java.lang.String)", + "lineNumber": 131, + "columnNumber": null, + "label": "CALL" + }, + "definedBy": { + "name": "", + "typeFullName": "void", + "resolvedMethod": "java.io.File.:void(java.lang.String)", + "lineNumber": 131, + "columnNumber": null, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "", + "typeFullName": "void", + "resolvedMethod": "java.util.Scanner.:void(java.io.InputStream,java.lang.String)", + "lineNumber": 128, + "columnNumber": null, + "label": "CALL" + }, + "definedBy": { + "name": "", + "typeFullName": "void", + "resolvedMethod": "java.util.Scanner.:void(java.io.InputStream,java.lang.String)", + "lineNumber": 128, + "columnNumber": null, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "out", + "typeFullName": "java.lang.String", + "lineNumber": 128, + "columnNumber": 3, + "label": "LOCAL" + }, + "definedBy": { + "name": "new Scanner", + "typeFullName": "java.util.Scanner", + "resolvedMethod": "java.util.Scanner", + "lineNumber": 128, + "columnNumber": 16, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [ + { + "callName": "Scanner", + "resolvedMethod": "java.util.Scanner", + "paramTypes": [], + "returnType": "java.util.Scanner", + "position": 1, + "lineNumber": 128, + "columnNumber": 3 }, { - "callName" : "addAttribute", - "resolvedMethod" : "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", - "paramTypes" : [ - "java.lang.String", - "java.lang.String" - ], - "returnType" : "ANY", - "position" : 2, - "lineNumber" : 129, - "columnNumber" : 3 + "callName": "addAttribute", + "resolvedMethod": "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", + "paramTypes": ["java.lang.String", "java.lang.String"], + "returnType": "ANY", + "position": 2, + "lineNumber": 129, + "columnNumber": 3 } ] }, { - "targetObj" : { - "name" : "", - "typeFullName" : "void", - "resolvedMethod" : "java.net.URL.:void(java.lang.String)", - "lineNumber" : 127, - "columnNumber" : null, - "label" : "CALL" - }, - "definedBy" : { - "name" : "", - "typeFullName" : "void", - "resolvedMethod" : "java.net.URL.:void(java.lang.String)", - "lineNumber" : 127, - "columnNumber" : null, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "getBaseName", - "typeFullName" : "java.lang.String", - "resolvedMethod" : "org.apache.commons.io.FilenameUtils.getBaseName:java.lang.String(java.lang.String)", - "lineNumber" : 121, - "columnNumber" : 27, - "label" : "CALL" - }, - "definedBy" : { - "name" : "getBaseName", - "typeFullName" : "java.lang.String", - "resolvedMethod" : "org.apache.commons.io.FilenameUtils.getBaseName:java.lang.String(java.lang.String)", - "lineNumber" : 121, - "columnNumber" : 27, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "openStream", - "typeFullName" : "java.io.InputStream", - "resolvedMethod" : "java.net.URL.openStream:java.io.InputStream()", - "lineNumber" : 128, - "columnNumber" : 28, - "label" : "CALL" - }, - "definedBy" : { - "name" : "openStream", - "typeFullName" : "java.io.InputStream", - "resolvedMethod" : "java.net.URL.openStream:java.io.InputStream()", - "lineNumber" : 128, - "columnNumber" : 28, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "model", - "typeFullName" : "org.springframework.ui.Model", - "position" : 2, - "lineNumber" : 119, - "columnNumber" : 70, - "label" : "PARAM" - }, - "definedBy" : { - "name" : "model", - "typeFullName" : "org.springframework.ui.Model", - "position" : 2, - "lineNumber" : 119, - "columnNumber" : 70, - "label" : "PARAM" - }, - "invokedCalls" : [ - { - "callName" : "addAttribute", - "resolvedMethod" : "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", - "paramTypes" : [ - "java.lang.String", - "java.lang.String" - ], - "returnType" : "ANY", - "lineNumber" : 129, - "columnNumber" : 3 + "targetObj": { + "name": "", + "typeFullName": "void", + "resolvedMethod": "java.net.URL.:void(java.lang.String)", + "lineNumber": 127, + "columnNumber": null, + "label": "CALL" + }, + "definedBy": { + "name": "", + "typeFullName": "void", + "resolvedMethod": "java.net.URL.:void(java.lang.String)", + "lineNumber": 127, + "columnNumber": null, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "getBaseName", + "typeFullName": "java.lang.String", + "resolvedMethod": "org.apache.commons.io.FilenameUtils.getBaseName:java.lang.String(java.lang.String)", + "lineNumber": 121, + "columnNumber": 27, + "label": "CALL" + }, + "definedBy": { + "name": "getBaseName", + "typeFullName": "java.lang.String", + "resolvedMethod": "org.apache.commons.io.FilenameUtils.getBaseName:java.lang.String(java.lang.String)", + "lineNumber": 121, + "columnNumber": 27, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "openStream", + "typeFullName": "java.io.InputStream", + "resolvedMethod": "java.net.URL.openStream:java.io.InputStream()", + "lineNumber": 128, + "columnNumber": 28, + "label": "CALL" + }, + "definedBy": { + "name": "openStream", + "typeFullName": "java.io.InputStream", + "resolvedMethod": "java.net.URL.openStream:java.io.InputStream()", + "lineNumber": 128, + "columnNumber": 28, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "model", + "typeFullName": "org.springframework.ui.Model", + "position": 2, + "lineNumber": 119, + "columnNumber": 70, + "label": "PARAM" + }, + "definedBy": { + "name": "model", + "typeFullName": "org.springframework.ui.Model", + "position": 2, + "lineNumber": 119, + "columnNumber": 70, + "label": "PARAM" + }, + "invokedCalls": [ + { + "callName": "addAttribute", + "resolvedMethod": "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", + "paramTypes": ["java.lang.String", "java.lang.String"], + "returnType": "ANY", + "lineNumber": 129, + "columnNumber": 3 } ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "useDelimiter", - "typeFullName" : "java.util.Scanner", - "resolvedMethod" : "java.util.Scanner.useDelimiter:java.util.Scanner(java.lang.String)", - "lineNumber" : 128, - "columnNumber" : 16, - "label" : "CALL" - }, - "definedBy" : { - "name" : "useDelimiter", - "typeFullName" : "java.util.Scanner", - "resolvedMethod" : "java.util.Scanner.useDelimiter:java.util.Scanner(java.lang.String)", - "lineNumber" : 128, - "columnNumber" : 16, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "dbpath", - "typeFullName" : "java.lang.String", - "position" : 1, - "lineNumber" : 119, - "columnNumber" : 24, - "label" : "PARAM" - }, - "definedBy" : { - "name" : "dbpath", - "typeFullName" : "java.lang.String", - "position" : 1, - "lineNumber" : 119, - "columnNumber" : 24, - "label" : "PARAM" - }, - "invokedCalls" : [ - { - "callName" : "equalsIgnoreCase", - "resolvedMethod" : "java.lang.String.equalsIgnoreCase:boolean(java.lang.String)", - "paramTypes" : [ - "java.lang.String" - ], - "returnType" : "ANY", - "lineNumber" : 123, - "columnNumber" : 7 + "argToCalls": [] + }, + { + "targetObj": { + "name": "useDelimiter", + "typeFullName": "java.util.Scanner", + "resolvedMethod": "java.util.Scanner.useDelimiter:java.util.Scanner(java.lang.String)", + "lineNumber": 128, + "columnNumber": 16, + "label": "CALL" + }, + "definedBy": { + "name": "useDelimiter", + "typeFullName": "java.util.Scanner", + "resolvedMethod": "java.util.Scanner.useDelimiter:java.util.Scanner(java.lang.String)", + "lineNumber": 128, + "columnNumber": 16, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "dbpath", + "typeFullName": "java.lang.String", + "position": 1, + "lineNumber": 119, + "columnNumber": 24, + "label": "PARAM" + }, + "definedBy": { + "name": "dbpath", + "typeFullName": "java.lang.String", + "position": 1, + "lineNumber": 119, + "columnNumber": 24, + "label": "PARAM" + }, + "invokedCalls": [ + { + "callName": "equalsIgnoreCase", + "resolvedMethod": "java.lang.String.equalsIgnoreCase:boolean(java.lang.String)", + "paramTypes": ["java.lang.String"], + "returnType": "ANY", + "lineNumber": 123, + "columnNumber": 7 } ], - "argToCalls" : [ + "argToCalls": [ { - "callName" : "getBaseName", - "resolvedMethod" : "org.apache.commons.io.FilenameUtils.getBaseName:java.lang.String(java.lang.String)", - "paramTypes" : [ - "java.lang.String" - ], - "returnType" : "ANY", - "position" : 1, - "lineNumber" : 121, - "columnNumber" : 27 + "callName": "getBaseName", + "resolvedMethod": "org.apache.commons.io.FilenameUtils.getBaseName:java.lang.String(java.lang.String)", + "paramTypes": ["java.lang.String"], + "returnType": "ANY", + "position": 1, + "lineNumber": 121, + "columnNumber": 27 } ] } ] }, { - "code" : "", - "fullName" : "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "signature" : "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "fileName" : "src/main/java/com/example/vulnspring/WebController.java", - "lineNumber" : 241, - "columnNumber" : 2, - "usages" : [ - { - "targetObj" : { - "name" : "node", - "typeFullName" : "org.w3c.dom.Node", - "position" : 1, - "lineNumber" : 241, - "columnNumber" : 29, - "label" : "PARAM" - }, - "definedBy" : { - "name" : "node", - "typeFullName" : "org.w3c.dom.Node", - "position" : 1, - "lineNumber" : 241, - "columnNumber" : 29, - "label" : "PARAM" - }, - "invokedCalls" : [ - { - "callName" : "getNodeName", - "resolvedMethod" : "org.w3c.dom.Node.getNodeName:java.lang.String()", - "paramTypes" : [ - ], - "returnType" : "ANY", - "lineNumber" : 242, - "columnNumber" : 21 + "code": "", + "fullName": "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "signature": "java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "fileName": "src/main/java/com/example/vulnspring/WebController.java", + "lineNumber": 241, + "columnNumber": 2, + "usages": [ + { + "targetObj": { + "name": "node", + "typeFullName": "org.w3c.dom.Node", + "position": 1, + "lineNumber": 241, + "columnNumber": 29, + "label": "PARAM" + }, + "definedBy": { + "name": "node", + "typeFullName": "org.w3c.dom.Node", + "position": 1, + "lineNumber": 241, + "columnNumber": 29, + "label": "PARAM" + }, + "invokedCalls": [ + { + "callName": "getNodeName", + "resolvedMethod": "org.w3c.dom.Node.getNodeName:java.lang.String()", + "paramTypes": [], + "returnType": "ANY", + "lineNumber": 242, + "columnNumber": 21 }, { - "callName" : "getNodeValue", - "resolvedMethod" : "org.w3c.dom.Node.getNodeValue:java.lang.String()", - "paramTypes" : [ - ], - "returnType" : "ANY", - "lineNumber" : 244, - "columnNumber" : 35 + "callName": "getNodeValue", + "resolvedMethod": "org.w3c.dom.Node.getNodeValue:java.lang.String()", + "paramTypes": [], + "returnType": "ANY", + "lineNumber": 244, + "columnNumber": 35 }, { - "callName" : "getNodeValue", - "resolvedMethod" : "org.w3c.dom.Node.getNodeValue:java.lang.String()", - "paramTypes" : [ - ], - "returnType" : "ANY", - "lineNumber" : 248, - "columnNumber" : 7 + "callName": "getNodeValue", + "resolvedMethod": "org.w3c.dom.Node.getNodeValue:java.lang.String()", + "paramTypes": [], + "returnType": "ANY", + "lineNumber": 248, + "columnNumber": 7 }, { - "callName" : "getNodeValue", - "resolvedMethod" : "org.w3c.dom.Node.getNodeValue:java.lang.String()", - "paramTypes" : [ - ], - "returnType" : "ANY", - "lineNumber" : 249, - "columnNumber" : 25 + "callName": "getNodeValue", + "resolvedMethod": "org.w3c.dom.Node.getNodeValue:java.lang.String()", + "paramTypes": [], + "returnType": "ANY", + "lineNumber": 249, + "columnNumber": 25 }, { - "callName" : "getChildNodes", - "resolvedMethod" : "org.w3c.dom.Node.getChildNodes:org.w3c.dom.NodeList()", - "paramTypes" : [ - ], - "returnType" : "ANY", - "lineNumber" : 251, - "columnNumber" : 23 + "callName": "getChildNodes", + "resolvedMethod": "org.w3c.dom.Node.getChildNodes:org.w3c.dom.NodeList()", + "paramTypes": [], + "returnType": "ANY", + "lineNumber": 251, + "columnNumber": 23 }, { - "callName" : "getChildNodes", - "resolvedMethod" : "org.w3c.dom.Node.getChildNodes:org.w3c.dom.NodeList()", - "paramTypes" : [ - ], - "returnType" : "ANY", - "lineNumber" : 252, - "columnNumber" : 34 + "callName": "getChildNodes", + "resolvedMethod": "org.w3c.dom.Node.getChildNodes:org.w3c.dom.NodeList()", + "paramTypes": [], + "returnType": "ANY", + "lineNumber": 252, + "columnNumber": 34 } ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "trim", - "typeFullName" : "java.lang.String", - "resolvedMethod" : "java.lang.String.trim:java.lang.String()", - "lineNumber" : 244, - "columnNumber" : 35, - "label" : "CALL" - }, - "definedBy" : { - "name" : "trim", - "typeFullName" : "java.lang.String", - "resolvedMethod" : "java.lang.String.trim:java.lang.String()", - "lineNumber" : 244, - "columnNumber" : 35, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "currentString", - "typeFullName" : "java.lang.StringBuffer", - "position" : 2, - "lineNumber" : 241, - "columnNumber" : 40, - "label" : "PARAM" - }, - "definedBy" : { - "name" : "currentString", - "typeFullName" : "java.lang.StringBuffer", - "position" : 2, - "lineNumber" : 241, - "columnNumber" : 40, - "label" : "PARAM" - }, - "invokedCalls" : [ - { - "callName" : "append", - "resolvedMethod" : "java.lang.StringBuffer.append:java.lang.StringBuffer(java.lang.String)", - "paramTypes" : [ - "java.lang.String" - ], - "returnType" : "ANY", - "lineNumber" : 247, - "columnNumber" : 3 + "argToCalls": [] + }, + { + "targetObj": { + "name": "trim", + "typeFullName": "java.lang.String", + "resolvedMethod": "java.lang.String.trim:java.lang.String()", + "lineNumber": 244, + "columnNumber": 35, + "label": "CALL" + }, + "definedBy": { + "name": "trim", + "typeFullName": "java.lang.String", + "resolvedMethod": "java.lang.String.trim:java.lang.String()", + "lineNumber": 244, + "columnNumber": 35, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "currentString", + "typeFullName": "java.lang.StringBuffer", + "position": 2, + "lineNumber": 241, + "columnNumber": 40, + "label": "PARAM" + }, + "definedBy": { + "name": "currentString", + "typeFullName": "java.lang.StringBuffer", + "position": 2, + "lineNumber": 241, + "columnNumber": 40, + "label": "PARAM" + }, + "invokedCalls": [ + { + "callName": "append", + "resolvedMethod": "java.lang.StringBuffer.append:java.lang.StringBuffer(java.lang.String)", + "paramTypes": ["java.lang.String"], + "returnType": "ANY", + "lineNumber": 247, + "columnNumber": 3 }, { - "callName" : "append", - "resolvedMethod" : "java.lang.StringBuffer.append:java.lang.StringBuffer(java.lang.String)", - "paramTypes" : [ - "java.lang.String" - ], - "returnType" : "ANY", - "lineNumber" : 249, - "columnNumber" : 4 + "callName": "append", + "resolvedMethod": "java.lang.StringBuffer.append:java.lang.StringBuffer(java.lang.String)", + "paramTypes": ["java.lang.String"], + "returnType": "ANY", + "lineNumber": 249, + "columnNumber": 4 }, { - "callName" : "append", - "resolvedMethod" : "java.lang.StringBuffer.append:java.lang.StringBuffer(java.lang.String)", - "paramTypes" : [ - "java.lang.String" - ], - "returnType" : "ANY", - "lineNumber" : 254, - "columnNumber" : 3 + "callName": "append", + "resolvedMethod": "java.lang.StringBuffer.append:java.lang.StringBuffer(java.lang.String)", + "paramTypes": ["java.lang.String"], + "returnType": "ANY", + "lineNumber": 254, + "columnNumber": 3 } ], - "argToCalls" : [ + "argToCalls": [ { - "callName" : "getNodeString", - "resolvedMethod" : "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "paramTypes" : [ - "org.w3c.dom.Node", - "java.lang.StringBuffer" - ], - "returnType" : "ANY", - "position" : 2, - "lineNumber" : 252, - "columnNumber" : 20 + "callName": "getNodeString", + "resolvedMethod": "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "paramTypes": ["org.w3c.dom.Node", "java.lang.StringBuffer"], + "returnType": "ANY", + "position": 2, + "lineNumber": 252, + "columnNumber": 20 } ] }, { - "targetObj" : { - "name" : "getNodeString", - "typeFullName" : "java.lang.StringBuffer", - "resolvedMethod" : "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "lineNumber" : 252, - "columnNumber" : 20, - "label" : "CALL" - }, - "definedBy" : { - "name" : "getNodeString", - "typeFullName" : "java.lang.StringBuffer", - "resolvedMethod" : "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "lineNumber" : 252, - "columnNumber" : 20, - "label" : "CALL" - }, - "invokedCalls" : [ + "targetObj": { + "name": "getNodeString", + "typeFullName": "java.lang.StringBuffer", + "resolvedMethod": "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "lineNumber": 252, + "columnNumber": 20, + "label": "CALL" + }, + "definedBy": { + "name": "getNodeString", + "typeFullName": "java.lang.StringBuffer", + "resolvedMethod": "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "lineNumber": 252, + "columnNumber": 20, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "nodeName", + "typeFullName": "java.lang.String", + "lineNumber": 242, + "columnNumber": 3, + "label": "LOCAL" + }, + "definedBy": { + "name": "node.getNodeName", + "typeFullName": "java.lang.String", + "resolvedMethod": "org.w3c.dom.Node.getNodeName:java.lang.String()", + "lineNumber": 242, + "columnNumber": 21, + "label": "CALL" + }, + "invokedCalls": [ + { + "callName": "equals", + "resolvedMethod": "java.lang.String.equals:boolean(java.lang.Object)", + "paramTypes": ["java.lang.String"], + "returnType": "ANY", + "lineNumber": 244, + "columnNumber": 7 + } ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "nodeName", - "typeFullName" : "java.lang.String", - "lineNumber" : 242, - "columnNumber" : 3, - "label" : "LOCAL" - }, - "definedBy" : { - "name" : "node.getNodeName", - "typeFullName" : "java.lang.String", - "resolvedMethod" : "org.w3c.dom.Node.getNodeName:java.lang.String()", - "lineNumber" : 242, - "columnNumber" : 21, - "label" : "CALL" - }, - "invokedCalls" : [ - { - "callName" : "equals", - "resolvedMethod" : "java.lang.String.equals:boolean(java.lang.Object)", - "paramTypes" : [ - "java.lang.String" - ], - "returnType" : "ANY", - "lineNumber" : 244, - "columnNumber" : 7 + "argToCalls": [] + }, + { + "targetObj": { + "name": "equals", + "typeFullName": "boolean", + "resolvedMethod": "java.lang.String.equals:boolean(java.lang.Object)", + "lineNumber": 244, + "columnNumber": 35, + "label": "CALL" + }, + "definedBy": { + "name": "equals", + "typeFullName": "boolean", + "resolvedMethod": "java.lang.String.equals:boolean(java.lang.Object)", + "lineNumber": 244, + "columnNumber": 35, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "item", + "typeFullName": "org.w3c.dom.Node", + "resolvedMethod": "org.w3c.dom.NodeList.item:org.w3c.dom.Node(int)", + "lineNumber": 252, + "columnNumber": 34, + "label": "CALL" + }, + "definedBy": { + "name": "item", + "typeFullName": "org.w3c.dom.Node", + "resolvedMethod": "org.w3c.dom.NodeList.item:org.w3c.dom.Node(int)", + "lineNumber": 252, + "columnNumber": 34, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "getLength", + "typeFullName": "int", + "resolvedMethod": "org.w3c.dom.NodeList.getLength:int()", + "lineNumber": 251, + "columnNumber": 23, + "label": "CALL" + }, + "definedBy": { + "name": "getLength", + "typeFullName": "int", + "resolvedMethod": "org.w3c.dom.NodeList.getLength:int()", + "lineNumber": 251, + "columnNumber": 23, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "getNodeValue", + "typeFullName": "java.lang.String", + "resolvedMethod": "org.w3c.dom.Node.getNodeValue:java.lang.String()", + "lineNumber": 249, + "columnNumber": 25, + "label": "CALL" + }, + "definedBy": { + "name": "getNodeValue", + "typeFullName": "java.lang.String", + "resolvedMethod": "org.w3c.dom.Node.getNodeValue:java.lang.String()", + "lineNumber": 249, + "columnNumber": 25, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "getChildNodes", + "typeFullName": "org.w3c.dom.NodeList", + "resolvedMethod": "org.w3c.dom.Node.getChildNodes:org.w3c.dom.NodeList()", + "lineNumber": 252, + "columnNumber": 34, + "label": "CALL" + }, + "definedBy": { + "name": "getChildNodes", + "typeFullName": "org.w3c.dom.NodeList", + "resolvedMethod": "org.w3c.dom.Node.getChildNodes:org.w3c.dom.NodeList()", + "lineNumber": 252, + "columnNumber": 34, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "append", + "typeFullName": "java.lang.StringBuffer", + "resolvedMethod": "java.lang.StringBuffer.append:java.lang.StringBuffer(java.lang.String)", + "lineNumber": 254, + "columnNumber": 3, + "label": "CALL" + }, + "definedBy": { + "name": "append", + "typeFullName": "java.lang.StringBuffer", + "resolvedMethod": "java.lang.StringBuffer.append:java.lang.StringBuffer(java.lang.String)", + "lineNumber": 254, + "columnNumber": 3, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "getNodeName", + "typeFullName": "java.lang.String", + "resolvedMethod": "org.w3c.dom.Node.getNodeName:java.lang.String()", + "lineNumber": 242, + "columnNumber": 21, + "label": "CALL" + }, + "definedBy": { + "name": "getNodeName", + "typeFullName": "java.lang.String", + "resolvedMethod": "org.w3c.dom.Node.getNodeName:java.lang.String()", + "lineNumber": 242, + "columnNumber": 21, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": ".postIncrement", + "typeFullName": "int", + "resolvedMethod": ".postIncrement", + "lineNumber": 251, + "columnNumber": 57, + "label": "CALL" + }, + "definedBy": { + "name": ".postIncrement", + "typeFullName": "int", + "resolvedMethod": ".postIncrement", + "lineNumber": 251, + "columnNumber": 57, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + } + ] + }, + { + "code": "", + "fullName": "com.example.vulnspring.WebController.home:java.lang.String(org.springframework.ui.Model,javax.servlet.http.HttpSession)", + "signature": "java.lang.String(org.springframework.ui.Model,javax.servlet.http.HttpSession)", + "fileName": "src/main/java/com/example/vulnspring/WebController.java", + "lineNumber": 46, + "columnNumber": 2, + "usages": [ + { + "targetObj": { + "name": "GetMapping", + "typeFullName": "org.springframework.web.bind.annotation.GetMapping", + "resolvedMethod": "@GetMapping(value = { \"/\", \"/home\" })", + "lineNumber": 46, + "columnNumber": 2, + "label": "ANNOTATION" + }, + "definedBy": { + "name": "GetMapping", + "typeFullName": "org.springframework.web.bind.annotation.GetMapping", + "resolvedMethod": "@GetMapping(value = { \"/\", \"/home\" })", + "lineNumber": 46, + "columnNumber": 2, + "label": "ANNOTATION" + }, + "invokedCalls": [ + { + "callName": "GetMapping", + "resolvedMethod": "org.springframework.web.bind.annotation.GetMapping", + "paramTypes": [], + "returnType": "", + "lineNumber": 46, + "columnNumber": 2 } ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "equals", - "typeFullName" : "boolean", - "resolvedMethod" : "java.lang.String.equals:boolean(java.lang.Object)", - "lineNumber" : 244, - "columnNumber" : 35, - "label" : "CALL" - }, - "definedBy" : { - "name" : "equals", - "typeFullName" : "boolean", - "resolvedMethod" : "java.lang.String.equals:boolean(java.lang.Object)", - "lineNumber" : 244, - "columnNumber" : 35, - "label" : "CALL" - }, - "invokedCalls" : [ + "argToCalls": [] + }, + { + "targetObj": { + "name": "model", + "typeFullName": "org.springframework.ui.Model", + "position": 1, + "lineNumber": 47, + "columnNumber": 21, + "label": "PARAM" + }, + "definedBy": { + "name": "model", + "typeFullName": "org.springframework.ui.Model", + "position": 1, + "lineNumber": 47, + "columnNumber": 21, + "label": "PARAM" + }, + "invokedCalls": [ + { + "callName": "addAttribute", + "resolvedMethod": "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", + "paramTypes": ["java.lang.String", "java.lang.Object"], + "returnType": "ANY", + "lineNumber": 48, + "columnNumber": 3 + } ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "item", - "typeFullName" : "org.w3c.dom.Node", - "resolvedMethod" : "org.w3c.dom.NodeList.item:org.w3c.dom.Node(int)", - "lineNumber" : 252, - "columnNumber" : 34, - "label" : "CALL" - }, - "definedBy" : { - "name" : "item", - "typeFullName" : "org.w3c.dom.Node", - "resolvedMethod" : "org.w3c.dom.NodeList.item:org.w3c.dom.Node(int)", - "lineNumber" : 252, - "columnNumber" : 34, - "label" : "CALL" - }, - "invokedCalls" : [ + "argToCalls": [] + }, + { + "targetObj": { + "name": "session", + "typeFullName": "javax.servlet.http.HttpSession", + "position": 2, + "lineNumber": 47, + "columnNumber": 34, + "label": "PARAM" + }, + "definedBy": { + "name": "session", + "typeFullName": "javax.servlet.http.HttpSession", + "position": 2, + "lineNumber": 47, + "columnNumber": 34, + "label": "PARAM" + }, + "invokedCalls": [ + { + "callName": "getAttribute", + "resolvedMethod": "javax.servlet.http.HttpSession.getAttribute:java.lang.Object(java.lang.String)", + "paramTypes": ["java.lang.String"], + "returnType": "ANY", + "lineNumber": 48, + "columnNumber": 34 + } ], - "argToCalls" : [ - ] + "argToCalls": [] }, { - "targetObj" : { - "name" : "getLength", - "typeFullName" : "int", - "resolvedMethod" : "org.w3c.dom.NodeList.getLength:int()", - "lineNumber" : 251, - "columnNumber" : 23, - "label" : "CALL" + "targetObj": { + "name": "addAttribute", + "typeFullName": "org.springframework.ui.Model", + "resolvedMethod": "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", + "lineNumber": 328, + "columnNumber": 4, + "label": "CALL" }, - "definedBy" : { - "name" : "getLength", - "typeFullName" : "int", - "resolvedMethod" : "org.w3c.dom.NodeList.getLength:int()", - "lineNumber" : 251, - "columnNumber" : 23, - "label" : "CALL" + "definedBy": { + "name": "addAttribute", + "typeFullName": "org.springframework.ui.Model", + "resolvedMethod": "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", + "lineNumber": 328, + "columnNumber": 4, + "label": "CALL" }, - "invokedCalls" : [ + "invokedCalls": [], + "argToCalls": [] + } + ] + }, + { + "code": "", + "fullName": "com.example.vulnspring.WebController.issue:java.lang.String(org.springframework.ui.Model)", + "signature": "java.lang.String(org.springframework.ui.Model)", + "fileName": "src/main/java/com/example/vulnspring/WebController.java", + "lineNumber": 221, + "columnNumber": 2, + "usages": [ + { + "targetObj": { + "name": "GetMapping", + "typeFullName": "org.springframework.web.bind.annotation.GetMapping", + "resolvedMethod": "@GetMapping(\"/issue\")", + "lineNumber": 221, + "columnNumber": 2, + "label": "ANNOTATION" + }, + "definedBy": { + "name": "GetMapping", + "typeFullName": "org.springframework.web.bind.annotation.GetMapping", + "resolvedMethod": "@GetMapping(\"/issue\")", + "lineNumber": 221, + "columnNumber": 2, + "label": "ANNOTATION" + }, + "invokedCalls": [ + { + "callName": "GetMapping", + "resolvedMethod": "org.springframework.web.bind.annotation.GetMapping", + "paramTypes": [], + "returnType": "", + "lineNumber": 221, + "columnNumber": 2 + } ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "getNodeValue", - "typeFullName" : "java.lang.String", - "resolvedMethod" : "org.w3c.dom.Node.getNodeValue:java.lang.String()", - "lineNumber" : 249, - "columnNumber" : 25, - "label" : "CALL" - }, - "definedBy" : { - "name" : "getNodeValue", - "typeFullName" : "java.lang.String", - "resolvedMethod" : "org.w3c.dom.Node.getNodeValue:java.lang.String()", - "lineNumber" : 249, - "columnNumber" : 25, - "label" : "CALL" - }, - "invokedCalls" : [ + "argToCalls": [] + } + ] + }, + { + "code": "", + "fullName": "com.example.vulnspring.WebController.issue:java.lang.String(org.springframework.ui.Model,java.lang.String)", + "signature": "java.lang.String(org.springframework.ui.Model,java.lang.String)", + "fileName": "src/main/java/com/example/vulnspring/WebController.java", + "lineNumber": 226, + "columnNumber": 2, + "usages": [ + { + "targetObj": { + "name": "", + "typeFullName": "void", + "resolvedMethod": "java.io.StringReader.:void(java.lang.String)", + "lineNumber": 232, + "columnNumber": null, + "label": "CALL" + }, + "definedBy": { + "name": "", + "typeFullName": "void", + "resolvedMethod": "java.io.StringReader.:void(java.lang.String)", + "lineNumber": 232, + "columnNumber": null, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "toString", + "typeFullName": "java.lang.String", + "resolvedMethod": "java.lang.StringBuffer.toString:java.lang.String()", + "lineNumber": 234, + "columnNumber": 27, + "label": "CALL" + }, + "definedBy": { + "name": "toString", + "typeFullName": "java.lang.String", + "resolvedMethod": "java.lang.StringBuffer.toString:java.lang.String()", + "lineNumber": 234, + "columnNumber": 27, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "newDocumentBuilder", + "typeFullName": "javax.xml.parsers.DocumentBuilder", + "resolvedMethod": "javax.xml.parsers.DocumentBuilderFactory.newDocumentBuilder:javax.xml.parsers.DocumentBuilder()", + "lineNumber": 231, + "columnNumber": 30, + "label": "CALL" + }, + "definedBy": { + "name": "newDocumentBuilder", + "typeFullName": "javax.xml.parsers.DocumentBuilder", + "resolvedMethod": "javax.xml.parsers.DocumentBuilderFactory.newDocumentBuilder:javax.xml.parsers.DocumentBuilder()", + "lineNumber": 231, + "columnNumber": 30, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "model", + "typeFullName": "org.springframework.ui.Model", + "position": 1, + "lineNumber": 227, + "columnNumber": 22, + "label": "PARAM" + }, + "definedBy": { + "name": "model", + "typeFullName": "org.springframework.ui.Model", + "position": 1, + "lineNumber": 227, + "columnNumber": 22, + "label": "PARAM" + }, + "invokedCalls": [ + { + "callName": "addAttribute", + "resolvedMethod": "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", + "paramTypes": ["java.lang.String", "java.lang.String"], + "returnType": "ANY", + "lineNumber": 236, + "columnNumber": 3 + } ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "getChildNodes", - "typeFullName" : "org.w3c.dom.NodeList", - "resolvedMethod" : "org.w3c.dom.Node.getChildNodes:org.w3c.dom.NodeList()", - "lineNumber" : 252, - "columnNumber" : 34, - "label" : "CALL" - }, - "definedBy" : { - "name" : "getChildNodes", - "typeFullName" : "org.w3c.dom.NodeList", - "resolvedMethod" : "org.w3c.dom.Node.getChildNodes:org.w3c.dom.NodeList()", - "lineNumber" : 252, - "columnNumber" : 34, - "label" : "CALL" - }, - "invokedCalls" : [ + "argToCalls": [] + }, + { + "targetObj": { + "name": "getFirstChild", + "typeFullName": "org.w3c.dom.Node", + "resolvedMethod": "org.w3c.dom.Document.getFirstChild:org.w3c.dom.Node()", + "lineNumber": 234, + "columnNumber": 41, + "label": "CALL" + }, + "definedBy": { + "name": "getFirstChild", + "typeFullName": "org.w3c.dom.Node", + "resolvedMethod": "org.w3c.dom.Document.getFirstChild:org.w3c.dom.Node()", + "lineNumber": 234, + "columnNumber": 41, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "doc", + "typeFullName": "org.w3c.dom.Document", + "lineNumber": 232, + "columnNumber": 3, + "label": "LOCAL" + }, + "definedBy": { + "name": "dBuilder.parse", + "typeFullName": "org.w3c.dom.Document", + "resolvedMethod": "javax.xml.parsers.DocumentBuilder.parse:org.w3c.dom.Document(org.xml.sax.InputSource)", + "lineNumber": 232, + "columnNumber": 18, + "label": "CALL" + }, + "invokedCalls": [ + { + "callName": "getFirstChild", + "resolvedMethod": "org.w3c.dom.Document.getFirstChild:org.w3c.dom.Node()", + "paramTypes": [], + "returnType": "ANY", + "lineNumber": 234, + "columnNumber": 41 + } ], - "argToCalls" : [ + "argToCalls": [ + { + "callName": "StringReader", + "resolvedMethod": "java.io.StringReader", + "paramTypes": [], + "returnType": "java.io.StringReader", + "position": 1, + "lineNumber": 232, + "columnNumber": 3 + } ] }, { - "targetObj" : { - "name" : "append", - "typeFullName" : "java.lang.StringBuffer", - "resolvedMethod" : "java.lang.StringBuffer.append:java.lang.StringBuffer(java.lang.String)", - "lineNumber" : 254, - "columnNumber" : 3, - "label" : "CALL" - }, - "definedBy" : { - "name" : "append", - "typeFullName" : "java.lang.StringBuffer", - "resolvedMethod" : "java.lang.StringBuffer.append:java.lang.StringBuffer(java.lang.String)", - "lineNumber" : 254, - "columnNumber" : 3, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ + "targetObj": { + "name": "body", + "typeFullName": "java.lang.String", + "position": 2, + "lineNumber": 227, + "columnNumber": 35, + "label": "PARAM" + }, + "definedBy": { + "name": "body", + "typeFullName": "java.lang.String", + "position": 2, + "lineNumber": 227, + "columnNumber": 35, + "label": "PARAM" + }, + "invokedCalls": [], + "argToCalls": [ + { + "callName": "", + "resolvedMethod": "java.io.StringReader.:void(java.lang.String)", + "paramTypes": ["java.lang.String"], + "returnType": "ANY", + "position": 1, + "lineNumber": 232, + "columnNumber": null + } ] }, { - "targetObj" : { - "name" : "getNodeName", - "typeFullName" : "java.lang.String", - "resolvedMethod" : "org.w3c.dom.Node.getNodeName:java.lang.String()", - "lineNumber" : 242, - "columnNumber" : 21, - "label" : "CALL" - }, - "definedBy" : { - "name" : "getNodeName", - "typeFullName" : "java.lang.String", - "resolvedMethod" : "org.w3c.dom.Node.getNodeName:java.lang.String()", - "lineNumber" : 242, - "columnNumber" : 21, - "label" : "CALL" - }, - "invokedCalls" : [ + "targetObj": { + "name": "", + "typeFullName": "void", + "resolvedMethod": "java.lang.StringBuffer.:void()", + "lineNumber": 234, + "columnNumber": null, + "label": "CALL" + }, + "definedBy": { + "name": "", + "typeFullName": "void", + "resolvedMethod": "java.lang.StringBuffer.:void()", + "lineNumber": 234, + "columnNumber": null, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "newInstance", + "typeFullName": "javax.xml.parsers.DocumentBuilderFactory", + "resolvedMethod": "javax.xml.parsers.DocumentBuilderFactory.newInstance:javax.xml.parsers.DocumentBuilderFactory()", + "lineNumber": 230, + "columnNumber": 38, + "label": "CALL" + }, + "definedBy": { + "name": "newInstance", + "typeFullName": "javax.xml.parsers.DocumentBuilderFactory", + "resolvedMethod": "javax.xml.parsers.DocumentBuilderFactory.newInstance:javax.xml.parsers.DocumentBuilderFactory()", + "lineNumber": 230, + "columnNumber": 38, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "dbFactory", + "typeFullName": "javax.xml.parsers.DocumentBuilderFactory", + "lineNumber": 230, + "columnNumber": 3, + "label": "LOCAL" + }, + "definedBy": { + "name": "DocumentBuilderFactory.newInstance", + "typeFullName": "javax.xml.parsers.DocumentBuilderFactory", + "resolvedMethod": "javax.xml.parsers.DocumentBuilderFactory.newInstance:javax.xml.parsers.DocumentBuilderFactory()", + "lineNumber": 230, + "columnNumber": 38, + "label": "CALL" + }, + "invokedCalls": [ + { + "callName": "newDocumentBuilder", + "resolvedMethod": "javax.xml.parsers.DocumentBuilderFactory.newDocumentBuilder:javax.xml.parsers.DocumentBuilder()", + "paramTypes": [], + "returnType": "ANY", + "lineNumber": 231, + "columnNumber": 30 + } + ], + "argToCalls": [] + }, + { + "targetObj": { + "name": "parse", + "typeFullName": "org.w3c.dom.Document", + "resolvedMethod": "javax.xml.parsers.DocumentBuilder.parse:org.w3c.dom.Document(org.xml.sax.InputSource)", + "lineNumber": 232, + "columnNumber": 18, + "label": "CALL" + }, + "definedBy": { + "name": "parse", + "typeFullName": "org.w3c.dom.Document", + "resolvedMethod": "javax.xml.parsers.DocumentBuilder.parse:org.w3c.dom.Document(org.xml.sax.InputSource)", + "lineNumber": 232, + "columnNumber": 18, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "", + "typeFullName": "void", + "resolvedMethod": "org.xml.sax.InputSource.:void(java.io.Reader)", + "lineNumber": 232, + "columnNumber": null, + "label": "CALL" + }, + "definedBy": { + "name": "", + "typeFullName": "void", + "resolvedMethod": "org.xml.sax.InputSource.:void(java.io.Reader)", + "lineNumber": 232, + "columnNumber": null, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "PostMapping", + "typeFullName": "org.springframework.web.bind.annotation.PostMapping", + "resolvedMethod": "@PostMapping(value = \"/issue\", consumes = MediaType.APPLICATION_XML_VALUE)", + "lineNumber": 226, + "columnNumber": 2, + "label": "ANNOTATION" + }, + "definedBy": { + "name": "PostMapping", + "typeFullName": "org.springframework.web.bind.annotation.PostMapping", + "resolvedMethod": "@PostMapping(value = \"/issue\", consumes = MediaType.APPLICATION_XML_VALUE)", + "lineNumber": 226, + "columnNumber": 2, + "label": "ANNOTATION" + }, + "invokedCalls": [ + { + "callName": "PostMapping", + "resolvedMethod": "org.springframework.web.bind.annotation.PostMapping", + "paramTypes": [], + "returnType": "", + "lineNumber": 226, + "columnNumber": 2 + } ], - "argToCalls" : [ + "argToCalls": [] + }, + { + "targetObj": { + "name": "parsedDocument", + "typeFullName": "java.lang.String", + "lineNumber": 234, + "columnNumber": 3, + "label": "LOCAL" + }, + "definedBy": { + "name": "this.getNodeString", + "typeFullName": "java.lang.String", + "resolvedMethod": "java.lang.StringBuffer.toString:java.lang.String()", + "lineNumber": 234, + "columnNumber": 27, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [ + { + "callName": "StringBuffer", + "resolvedMethod": "java.lang.StringBuffer", + "paramTypes": [], + "returnType": "java.lang.StringBuffer", + "position": 1, + "lineNumber": 234, + "columnNumber": 3 + }, + { + "callName": "addAttribute", + "resolvedMethod": "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", + "paramTypes": ["java.lang.String", "java.lang.String"], + "returnType": "ANY", + "position": 2, + "lineNumber": 236, + "columnNumber": 3 + } ] }, { - "targetObj" : { - "name" : ".postIncrement", - "typeFullName" : "int", - "resolvedMethod" : ".postIncrement", - "lineNumber" : 251, - "columnNumber" : 57, - "label" : "CALL" + "targetObj": { + "name": "dBuilder", + "typeFullName": "javax.xml.parsers.DocumentBuilder", + "lineNumber": 231, + "columnNumber": 3, + "label": "LOCAL" }, - "definedBy" : { - "name" : ".postIncrement", - "typeFullName" : "int", - "resolvedMethod" : ".postIncrement", - "lineNumber" : 251, - "columnNumber" : 57, - "label" : "CALL" + "definedBy": { + "name": "dbFactory.newDocumentBuilder", + "typeFullName": "javax.xml.parsers.DocumentBuilder", + "resolvedMethod": "javax.xml.parsers.DocumentBuilderFactory.newDocumentBuilder:javax.xml.parsers.DocumentBuilder()", + "lineNumber": 231, + "columnNumber": 30, + "label": "CALL" }, - "invokedCalls" : [ + "invokedCalls": [ + { + "callName": "StringReader", + "resolvedMethod": "java.io.StringReader", + "paramTypes": [], + "returnType": "java.io.StringReader", + "lineNumber": 232, + "columnNumber": 18 + } ], - "argToCalls" : [ - ] + "argToCalls": [] } ] }, { - "code" : "", - "fullName" : "com.example.vulnspring.WebController.home:java.lang.String(org.springframework.ui.Model,javax.servlet.http.HttpSession)", - "signature" : "java.lang.String(org.springframework.ui.Model,javax.servlet.http.HttpSession)", - "fileName" : "src/main/java/com/example/vulnspring/WebController.java", - "lineNumber" : 46, - "columnNumber" : 2, - "usages" : [ - { - "targetObj" : { - "name" : "GetMapping", - "typeFullName" : "org.springframework.web.bind.annotation.GetMapping", - "resolvedMethod" : "@GetMapping(value = { \"/\", \"/home\" })", - "lineNumber" : 46, - "columnNumber" : 2, - "label" : "ANNOTATION" - }, - "definedBy" : { - "name" : "GetMapping", - "typeFullName" : "org.springframework.web.bind.annotation.GetMapping", - "resolvedMethod" : "@GetMapping(value = { \"/\", \"/home\" })", - "lineNumber" : 46, - "columnNumber" : 2, - "label" : "ANNOTATION" - }, - "invokedCalls" : [ - { - "callName" : "GetMapping", - "resolvedMethod" : "org.springframework.web.bind.annotation.GetMapping", - "paramTypes" : [ - ], - "returnType" : "", - "lineNumber" : 46, - "columnNumber" : 2 + "code": "", + "fullName": "com.example.vulnspring.WebController.jwt:java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", + "signature": "java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", + "fileName": "src/main/java/com/example/vulnspring/WebController.java", + "lineNumber": 274, + "columnNumber": 2, + "usages": [ + { + "targetObj": { + "name": "none", + "typeFullName": "com.auth0.jwt.algorithms.Algorithm", + "resolvedMethod": "com.auth0.jwt.algorithms.Algorithm.none:com.auth0.jwt.algorithms.Algorithm()", + "lineNumber": 279, + "columnNumber": 29, + "label": "CALL" + }, + "definedBy": { + "name": "none", + "typeFullName": "com.auth0.jwt.algorithms.Algorithm", + "resolvedMethod": "com.auth0.jwt.algorithms.Algorithm.none:com.auth0.jwt.algorithms.Algorithm()", + "lineNumber": 279, + "columnNumber": 29, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "withClaim", + "typeFullName": "com.auth0.jwt.JWTCreator$Builder", + "resolvedMethod": "com.auth0.jwt.JWTCreator$Builder.withClaim:com.auth0.jwt.JWTCreator$Builder(java.lang.String,java.lang.String)", + "lineNumber": 280, + "columnNumber": 18, + "label": "CALL" + }, + "definedBy": { + "name": "withClaim", + "typeFullName": "com.auth0.jwt.JWTCreator$Builder", + "resolvedMethod": "com.auth0.jwt.JWTCreator$Builder.withClaim:com.auth0.jwt.JWTCreator$Builder(java.lang.String,java.lang.String)", + "lineNumber": 280, + "columnNumber": 18, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "create", + "typeFullName": "com.auth0.jwt.JWTCreator$Builder", + "resolvedMethod": "com.auth0.jwt.JWT.create:com.auth0.jwt.JWTCreator$Builder()", + "lineNumber": 280, + "columnNumber": 18, + "label": "CALL" + }, + "definedBy": { + "name": "create", + "typeFullName": "com.auth0.jwt.JWTCreator$Builder", + "resolvedMethod": "com.auth0.jwt.JWT.create:com.auth0.jwt.JWTCreator$Builder()", + "lineNumber": 280, + "columnNumber": 18, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "sign", + "typeFullName": "java.lang.String", + "resolvedMethod": "com.auth0.jwt.JWTCreator$Builder.sign:java.lang.String(com.auth0.jwt.algorithms.Algorithm)", + "lineNumber": 280, + "columnNumber": 18, + "label": "CALL" + }, + "definedBy": { + "name": "sign", + "typeFullName": "java.lang.String", + "resolvedMethod": "com.auth0.jwt.JWTCreator$Builder.sign:java.lang.String(com.auth0.jwt.algorithms.Algorithm)", + "lineNumber": 280, + "columnNumber": 18, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "session", + "typeFullName": "javax.servlet.http.HttpSession", + "position": 1, + "lineNumber": 275, + "columnNumber": 20, + "label": "PARAM" + }, + "definedBy": { + "name": "session", + "typeFullName": "javax.servlet.http.HttpSession", + "position": 1, + "lineNumber": 275, + "columnNumber": 20, + "label": "PARAM" + }, + "invokedCalls": [ + { + "callName": "getAttribute", + "resolvedMethod": "javax.servlet.http.HttpSession.getAttribute:java.lang.Object(java.lang.String)", + "paramTypes": ["java.lang.String"], + "returnType": "ANY", + "lineNumber": 276, + "columnNumber": 30 } ], - "argToCalls" : [ + "argToCalls": [] + }, + { + "targetObj": { + "name": "algorithmNone", + "typeFullName": "com.auth0.jwt.algorithms.Algorithm", + "lineNumber": 279, + "columnNumber": 3, + "label": "LOCAL" + }, + "definedBy": { + "name": "Algorithm.none", + "typeFullName": "com.auth0.jwt.algorithms.Algorithm", + "resolvedMethod": "com.auth0.jwt.algorithms.Algorithm.none:com.auth0.jwt.algorithms.Algorithm()", + "lineNumber": 279, + "columnNumber": 29, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [ + { + "callName": "sign", + "resolvedMethod": "com.auth0.jwt.JWTCreator$Builder.sign:java.lang.String(com.auth0.jwt.algorithms.Algorithm)", + "paramTypes": ["com.auth0.jwt.algorithms.Algorithm"], + "returnType": "ANY", + "position": 1, + "lineNumber": 280, + "columnNumber": 18 + } ] }, { - "targetObj" : { - "name" : "model", - "typeFullName" : "org.springframework.ui.Model", - "position" : 1, - "lineNumber" : 47, - "columnNumber" : 21, - "label" : "PARAM" - }, - "definedBy" : { - "name" : "model", - "typeFullName" : "org.springframework.ui.Model", - "position" : 1, - "lineNumber" : 47, - "columnNumber" : 21, - "label" : "PARAM" - }, - "invokedCalls" : [ - { - "callName" : "addAttribute", - "resolvedMethod" : "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", - "paramTypes" : [ - "java.lang.String", - "java.lang.Object" - ], - "returnType" : "ANY", - "lineNumber" : 48, - "columnNumber" : 3 - } - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "session", - "typeFullName" : "javax.servlet.http.HttpSession", - "position" : 2, - "lineNumber" : 47, - "columnNumber" : 34, - "label" : "PARAM" - }, - "definedBy" : { - "name" : "session", - "typeFullName" : "javax.servlet.http.HttpSession", - "position" : 2, - "lineNumber" : 47, - "columnNumber" : 34, - "label" : "PARAM" - }, - "invokedCalls" : [ - { - "callName" : "getAttribute", - "resolvedMethod" : "javax.servlet.http.HttpSession.getAttribute:java.lang.Object(java.lang.String)", - "paramTypes" : [ - "java.lang.String" - ], - "returnType" : "ANY", - "lineNumber" : 48, - "columnNumber" : 34 + "targetObj": { + "name": "token", + "typeFullName": "java.lang.String", + "lineNumber": 280, + "columnNumber": 3, + "label": "LOCAL" + }, + "definedBy": { + "name": "JWT.create", + "typeFullName": "java.lang.String", + "resolvedMethod": "com.auth0.jwt.JWTCreator$Builder.sign:java.lang.String(com.auth0.jwt.algorithms.Algorithm)", + "lineNumber": 280, + "columnNumber": 18, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [ + { + "callName": "addAttribute", + "resolvedMethod": "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", + "paramTypes": ["java.lang.String", "java.lang.String"], + "returnType": "ANY", + "position": 2, + "lineNumber": 282, + "columnNumber": 3 } - ], - "argToCalls" : [ ] }, { - "targetObj" : { - "name" : "addAttribute", - "typeFullName" : "org.springframework.ui.Model", - "resolvedMethod" : "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", - "lineNumber" : 328, - "columnNumber" : 4, - "label" : "CALL" - }, - "definedBy" : { - "name" : "addAttribute", - "typeFullName" : "org.springframework.ui.Model", - "resolvedMethod" : "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", - "lineNumber" : 328, - "columnNumber" : 4, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - } - ] - }, - { - "code" : "", - "fullName" : "com.example.vulnspring.WebController.issue:java.lang.String(org.springframework.ui.Model)", - "signature" : "java.lang.String(org.springframework.ui.Model)", - "fileName" : "src/main/java/com/example/vulnspring/WebController.java", - "lineNumber" : 221, - "columnNumber" : 2, - "usages" : [ - { - "targetObj" : { - "name" : "GetMapping", - "typeFullName" : "org.springframework.web.bind.annotation.GetMapping", - "resolvedMethod" : "@GetMapping(\"/issue\")", - "lineNumber" : 221, - "columnNumber" : 2, - "label" : "ANNOTATION" - }, - "definedBy" : { - "name" : "GetMapping", - "typeFullName" : "org.springframework.web.bind.annotation.GetMapping", - "resolvedMethod" : "@GetMapping(\"/issue\")", - "lineNumber" : 221, - "columnNumber" : 2, - "label" : "ANNOTATION" - }, - "invokedCalls" : [ - { - "callName" : "GetMapping", - "resolvedMethod" : "org.springframework.web.bind.annotation.GetMapping", - "paramTypes" : [ - ], - "returnType" : "", - "lineNumber" : 221, - "columnNumber" : 2 - } - ], - "argToCalls" : [ - ] - } - ] - }, - { - "code" : "", - "fullName" : "com.example.vulnspring.WebController.issue:java.lang.String(org.springframework.ui.Model,java.lang.String)", - "signature" : "java.lang.String(org.springframework.ui.Model,java.lang.String)", - "fileName" : "src/main/java/com/example/vulnspring/WebController.java", - "lineNumber" : 226, - "columnNumber" : 2, - "usages" : [ - { - "targetObj" : { - "name" : "", - "typeFullName" : "void", - "resolvedMethod" : "java.io.StringReader.:void(java.lang.String)", - "lineNumber" : 232, - "columnNumber" : null, - "label" : "CALL" - }, - "definedBy" : { - "name" : "", - "typeFullName" : "void", - "resolvedMethod" : "java.io.StringReader.:void(java.lang.String)", - "lineNumber" : 232, - "columnNumber" : null, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "toString", - "typeFullName" : "java.lang.String", - "resolvedMethod" : "java.lang.StringBuffer.toString:java.lang.String()", - "lineNumber" : 234, - "columnNumber" : 27, - "label" : "CALL" - }, - "definedBy" : { - "name" : "toString", - "typeFullName" : "java.lang.String", - "resolvedMethod" : "java.lang.StringBuffer.toString:java.lang.String()", - "lineNumber" : 234, - "columnNumber" : 27, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "newDocumentBuilder", - "typeFullName" : "javax.xml.parsers.DocumentBuilder", - "resolvedMethod" : "javax.xml.parsers.DocumentBuilderFactory.newDocumentBuilder:javax.xml.parsers.DocumentBuilder()", - "lineNumber" : 231, - "columnNumber" : 30, - "label" : "CALL" - }, - "definedBy" : { - "name" : "newDocumentBuilder", - "typeFullName" : "javax.xml.parsers.DocumentBuilder", - "resolvedMethod" : "javax.xml.parsers.DocumentBuilderFactory.newDocumentBuilder:javax.xml.parsers.DocumentBuilder()", - "lineNumber" : 231, - "columnNumber" : 30, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "model", - "typeFullName" : "org.springframework.ui.Model", - "position" : 1, - "lineNumber" : 227, - "columnNumber" : 22, - "label" : "PARAM" - }, - "definedBy" : { - "name" : "model", - "typeFullName" : "org.springframework.ui.Model", - "position" : 1, - "lineNumber" : 227, - "columnNumber" : 22, - "label" : "PARAM" + "targetObj": { + "name": "model", + "typeFullName": "org.springframework.ui.Model", + "position": 2, + "lineNumber": 275, + "columnNumber": 41, + "label": "PARAM" }, - "invokedCalls" : [ - { - "callName" : "addAttribute", - "resolvedMethod" : "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", - "paramTypes" : [ - "java.lang.String", - "java.lang.String" - ], - "returnType" : "ANY", - "lineNumber" : 236, - "columnNumber" : 3 - } - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "getFirstChild", - "typeFullName" : "org.w3c.dom.Node", - "resolvedMethod" : "org.w3c.dom.Document.getFirstChild:org.w3c.dom.Node()", - "lineNumber" : 234, - "columnNumber" : 41, - "label" : "CALL" - }, - "definedBy" : { - "name" : "getFirstChild", - "typeFullName" : "org.w3c.dom.Node", - "resolvedMethod" : "org.w3c.dom.Document.getFirstChild:org.w3c.dom.Node()", - "lineNumber" : 234, - "columnNumber" : 41, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "doc", - "typeFullName" : "org.w3c.dom.Document", - "lineNumber" : 232, - "columnNumber" : 3, - "label" : "LOCAL" - }, - "definedBy" : { - "name" : "dBuilder.parse", - "typeFullName" : "org.w3c.dom.Document", - "resolvedMethod" : "javax.xml.parsers.DocumentBuilder.parse:org.w3c.dom.Document(org.xml.sax.InputSource)", - "lineNumber" : 232, - "columnNumber" : 18, - "label" : "CALL" - }, - "invokedCalls" : [ - { - "callName" : "getFirstChild", - "resolvedMethod" : "org.w3c.dom.Document.getFirstChild:org.w3c.dom.Node()", - "paramTypes" : [ - ], - "returnType" : "ANY", - "lineNumber" : 234, - "columnNumber" : 41 - } - ], - "argToCalls" : [ - { - "callName" : "StringReader", - "resolvedMethod" : "java.io.StringReader", - "paramTypes" : [ - ], - "returnType" : "java.io.StringReader", - "position" : 1, - "lineNumber" : 232, - "columnNumber" : 3 - } - ] - }, - { - "targetObj" : { - "name" : "body", - "typeFullName" : "java.lang.String", - "position" : 2, - "lineNumber" : 227, - "columnNumber" : 35, - "label" : "PARAM" - }, - "definedBy" : { - "name" : "body", - "typeFullName" : "java.lang.String", - "position" : 2, - "lineNumber" : 227, - "columnNumber" : 35, - "label" : "PARAM" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - { - "callName" : "", - "resolvedMethod" : "java.io.StringReader.:void(java.lang.String)", - "paramTypes" : [ - "java.lang.String" - ], - "returnType" : "ANY", - "position" : 1, - "lineNumber" : 232, - "columnNumber" : null - } - ] - }, - { - "targetObj" : { - "name" : "", - "typeFullName" : "void", - "resolvedMethod" : "java.lang.StringBuffer.:void()", - "lineNumber" : 234, - "columnNumber" : null, - "label" : "CALL" - }, - "definedBy" : { - "name" : "", - "typeFullName" : "void", - "resolvedMethod" : "java.lang.StringBuffer.:void()", - "lineNumber" : 234, - "columnNumber" : null, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "newInstance", - "typeFullName" : "javax.xml.parsers.DocumentBuilderFactory", - "resolvedMethod" : "javax.xml.parsers.DocumentBuilderFactory.newInstance:javax.xml.parsers.DocumentBuilderFactory()", - "lineNumber" : 230, - "columnNumber" : 38, - "label" : "CALL" - }, - "definedBy" : { - "name" : "newInstance", - "typeFullName" : "javax.xml.parsers.DocumentBuilderFactory", - "resolvedMethod" : "javax.xml.parsers.DocumentBuilderFactory.newInstance:javax.xml.parsers.DocumentBuilderFactory()", - "lineNumber" : 230, - "columnNumber" : 38, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "dbFactory", - "typeFullName" : "javax.xml.parsers.DocumentBuilderFactory", - "lineNumber" : 230, - "columnNumber" : 3, - "label" : "LOCAL" - }, - "definedBy" : { - "name" : "DocumentBuilderFactory.newInstance", - "typeFullName" : "javax.xml.parsers.DocumentBuilderFactory", - "resolvedMethod" : "javax.xml.parsers.DocumentBuilderFactory.newInstance:javax.xml.parsers.DocumentBuilderFactory()", - "lineNumber" : 230, - "columnNumber" : 38, - "label" : "CALL" - }, - "invokedCalls" : [ - { - "callName" : "newDocumentBuilder", - "resolvedMethod" : "javax.xml.parsers.DocumentBuilderFactory.newDocumentBuilder:javax.xml.parsers.DocumentBuilder()", - "paramTypes" : [ - ], - "returnType" : "ANY", - "lineNumber" : 231, - "columnNumber" : 30 - } - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "parse", - "typeFullName" : "org.w3c.dom.Document", - "resolvedMethod" : "javax.xml.parsers.DocumentBuilder.parse:org.w3c.dom.Document(org.xml.sax.InputSource)", - "lineNumber" : 232, - "columnNumber" : 18, - "label" : "CALL" - }, - "definedBy" : { - "name" : "parse", - "typeFullName" : "org.w3c.dom.Document", - "resolvedMethod" : "javax.xml.parsers.DocumentBuilder.parse:org.w3c.dom.Document(org.xml.sax.InputSource)", - "lineNumber" : 232, - "columnNumber" : 18, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "", - "typeFullName" : "void", - "resolvedMethod" : "org.xml.sax.InputSource.:void(java.io.Reader)", - "lineNumber" : 232, - "columnNumber" : null, - "label" : "CALL" - }, - "definedBy" : { - "name" : "", - "typeFullName" : "void", - "resolvedMethod" : "org.xml.sax.InputSource.:void(java.io.Reader)", - "lineNumber" : 232, - "columnNumber" : null, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "PostMapping", - "typeFullName" : "org.springframework.web.bind.annotation.PostMapping", - "resolvedMethod" : "@PostMapping(value = \"/issue\", consumes = MediaType.APPLICATION_XML_VALUE)", - "lineNumber" : 226, - "columnNumber" : 2, - "label" : "ANNOTATION" - }, - "definedBy" : { - "name" : "PostMapping", - "typeFullName" : "org.springframework.web.bind.annotation.PostMapping", - "resolvedMethod" : "@PostMapping(value = \"/issue\", consumes = MediaType.APPLICATION_XML_VALUE)", - "lineNumber" : 226, - "columnNumber" : 2, - "label" : "ANNOTATION" - }, - "invokedCalls" : [ - { - "callName" : "PostMapping", - "resolvedMethod" : "org.springframework.web.bind.annotation.PostMapping", - "paramTypes" : [ - ], - "returnType" : "", - "lineNumber" : 226, - "columnNumber" : 2 - } - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "parsedDocument", - "typeFullName" : "java.lang.String", - "lineNumber" : 234, - "columnNumber" : 3, - "label" : "LOCAL" - }, - "definedBy" : { - "name" : "this.getNodeString", - "typeFullName" : "java.lang.String", - "resolvedMethod" : "java.lang.StringBuffer.toString:java.lang.String()", - "lineNumber" : 234, - "columnNumber" : 27, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - { - "callName" : "StringBuffer", - "resolvedMethod" : "java.lang.StringBuffer", - "paramTypes" : [ - ], - "returnType" : "java.lang.StringBuffer", - "position" : 1, - "lineNumber" : 234, - "columnNumber" : 3 - }, - { - "callName" : "addAttribute", - "resolvedMethod" : "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", - "paramTypes" : [ - "java.lang.String", - "java.lang.String" - ], - "returnType" : "ANY", - "position" : 2, - "lineNumber" : 236, - "columnNumber" : 3 - } - ] - }, - { - "targetObj" : { - "name" : "dBuilder", - "typeFullName" : "javax.xml.parsers.DocumentBuilder", - "lineNumber" : 231, - "columnNumber" : 3, - "label" : "LOCAL" - }, - "definedBy" : { - "name" : "dbFactory.newDocumentBuilder", - "typeFullName" : "javax.xml.parsers.DocumentBuilder", - "resolvedMethod" : "javax.xml.parsers.DocumentBuilderFactory.newDocumentBuilder:javax.xml.parsers.DocumentBuilder()", - "lineNumber" : 231, - "columnNumber" : 30, - "label" : "CALL" - }, - "invokedCalls" : [ - { - "callName" : "StringReader", - "resolvedMethod" : "java.io.StringReader", - "paramTypes" : [ - ], - "returnType" : "java.io.StringReader", - "lineNumber" : 232, - "columnNumber" : 18 - } - ], - "argToCalls" : [ - ] - } - ] - }, - { - "code" : "", - "fullName" : "com.example.vulnspring.WebController.jwt:java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", - "signature" : "java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", - "fileName" : "src/main/java/com/example/vulnspring/WebController.java", - "lineNumber" : 274, - "columnNumber" : 2, - "usages" : [ - { - "targetObj" : { - "name" : "none", - "typeFullName" : "com.auth0.jwt.algorithms.Algorithm", - "resolvedMethod" : "com.auth0.jwt.algorithms.Algorithm.none:com.auth0.jwt.algorithms.Algorithm()", - "lineNumber" : 279, - "columnNumber" : 29, - "label" : "CALL" - }, - "definedBy" : { - "name" : "none", - "typeFullName" : "com.auth0.jwt.algorithms.Algorithm", - "resolvedMethod" : "com.auth0.jwt.algorithms.Algorithm.none:com.auth0.jwt.algorithms.Algorithm()", - "lineNumber" : 279, - "columnNumber" : 29, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "withClaim", - "typeFullName" : "com.auth0.jwt.JWTCreator$Builder", - "resolvedMethod" : "com.auth0.jwt.JWTCreator$Builder.withClaim:com.auth0.jwt.JWTCreator$Builder(java.lang.String,java.lang.String)", - "lineNumber" : 280, - "columnNumber" : 18, - "label" : "CALL" - }, - "definedBy" : { - "name" : "withClaim", - "typeFullName" : "com.auth0.jwt.JWTCreator$Builder", - "resolvedMethod" : "com.auth0.jwt.JWTCreator$Builder.withClaim:com.auth0.jwt.JWTCreator$Builder(java.lang.String,java.lang.String)", - "lineNumber" : 280, - "columnNumber" : 18, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "create", - "typeFullName" : "com.auth0.jwt.JWTCreator$Builder", - "resolvedMethod" : "com.auth0.jwt.JWT.create:com.auth0.jwt.JWTCreator$Builder()", - "lineNumber" : 280, - "columnNumber" : 18, - "label" : "CALL" - }, - "definedBy" : { - "name" : "create", - "typeFullName" : "com.auth0.jwt.JWTCreator$Builder", - "resolvedMethod" : "com.auth0.jwt.JWT.create:com.auth0.jwt.JWTCreator$Builder()", - "lineNumber" : 280, - "columnNumber" : 18, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "sign", - "typeFullName" : "java.lang.String", - "resolvedMethod" : "com.auth0.jwt.JWTCreator$Builder.sign:java.lang.String(com.auth0.jwt.algorithms.Algorithm)", - "lineNumber" : 280, - "columnNumber" : 18, - "label" : "CALL" - }, - "definedBy" : { - "name" : "sign", - "typeFullName" : "java.lang.String", - "resolvedMethod" : "com.auth0.jwt.JWTCreator$Builder.sign:java.lang.String(com.auth0.jwt.algorithms.Algorithm)", - "lineNumber" : 280, - "columnNumber" : 18, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "session", - "typeFullName" : "javax.servlet.http.HttpSession", - "position" : 1, - "lineNumber" : 275, - "columnNumber" : 20, - "label" : "PARAM" - }, - "definedBy" : { - "name" : "session", - "typeFullName" : "javax.servlet.http.HttpSession", - "position" : 1, - "lineNumber" : 275, - "columnNumber" : 20, - "label" : "PARAM" - }, - "invokedCalls" : [ - { - "callName" : "getAttribute", - "resolvedMethod" : "javax.servlet.http.HttpSession.getAttribute:java.lang.Object(java.lang.String)", - "paramTypes" : [ - "java.lang.String" - ], - "returnType" : "ANY", - "lineNumber" : 276, - "columnNumber" : 30 - } - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "algorithmNone", - "typeFullName" : "com.auth0.jwt.algorithms.Algorithm", - "lineNumber" : 279, - "columnNumber" : 3, - "label" : "LOCAL" - }, - "definedBy" : { - "name" : "Algorithm.none", - "typeFullName" : "com.auth0.jwt.algorithms.Algorithm", - "resolvedMethod" : "com.auth0.jwt.algorithms.Algorithm.none:com.auth0.jwt.algorithms.Algorithm()", - "lineNumber" : 279, - "columnNumber" : 29, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - { - "callName" : "sign", - "resolvedMethod" : "com.auth0.jwt.JWTCreator$Builder.sign:java.lang.String(com.auth0.jwt.algorithms.Algorithm)", - "paramTypes" : [ - "com.auth0.jwt.algorithms.Algorithm" - ], - "returnType" : "ANY", - "position" : 1, - "lineNumber" : 280, - "columnNumber" : 18 - } - ] - }, - { - "targetObj" : { - "name" : "token", - "typeFullName" : "java.lang.String", - "lineNumber" : 280, - "columnNumber" : 3, - "label" : "LOCAL" - }, - "definedBy" : { - "name" : "JWT.create", - "typeFullName" : "java.lang.String", - "resolvedMethod" : "com.auth0.jwt.JWTCreator$Builder.sign:java.lang.String(com.auth0.jwt.algorithms.Algorithm)", - "lineNumber" : 280, - "columnNumber" : 18, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - { - "callName" : "addAttribute", - "resolvedMethod" : "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", - "paramTypes" : [ - "java.lang.String", - "java.lang.String" - ], - "returnType" : "ANY", - "position" : 2, - "lineNumber" : 282, - "columnNumber" : 3 - } - ] - }, - { - "targetObj" : { - "name" : "model", - "typeFullName" : "org.springframework.ui.Model", - "position" : 2, - "lineNumber" : 275, - "columnNumber" : 41, - "label" : "PARAM" - }, - "definedBy" : { - "name" : "model", - "typeFullName" : "org.springframework.ui.Model", - "position" : 2, - "lineNumber" : 275, - "columnNumber" : 41, - "label" : "PARAM" - }, - "invokedCalls" : [ - { - "callName" : "addAttribute", - "resolvedMethod" : "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", - "paramTypes" : [ - "java.lang.String", - "java.lang.String" - ], - "returnType" : "ANY", - "lineNumber" : 282, - "columnNumber" : 3 - } - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "GetMapping", - "typeFullName" : "org.springframework.web.bind.annotation.GetMapping", - "resolvedMethod" : "@GetMapping(\"/token\")", - "lineNumber" : 274, - "columnNumber" : 2, - "label" : "ANNOTATION" - }, - "definedBy" : { - "name" : "GetMapping", - "typeFullName" : "org.springframework.web.bind.annotation.GetMapping", - "resolvedMethod" : "@GetMapping(\"/token\")", - "lineNumber" : 274, - "columnNumber" : 2, - "label" : "ANNOTATION" - }, - "invokedCalls" : [ - { - "callName" : "GetMapping", - "resolvedMethod" : "org.springframework.web.bind.annotation.GetMapping", - "paramTypes" : [ - ], - "returnType" : "", - "lineNumber" : 274, - "columnNumber" : 2 - } - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "username", - "typeFullName" : "java.lang.String", - "lineNumber" : 276, - "columnNumber" : 3, - "label" : "LOCAL" - }, - "definedBy" : { - "name" : "", - "typeFullName" : "java.lang.String", - "resolvedMethod" : ".cast", - "lineNumber" : 276, - "columnNumber" : 21, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - { - "callName" : "withClaim", - "resolvedMethod" : "com.auth0.jwt.JWTCreator$Builder.withClaim:com.auth0.jwt.JWTCreator$Builder(java.lang.String,java.lang.String)", - "paramTypes" : [ - "java.lang.String", - "java.lang.String" - ], - "returnType" : "ANY", - "position" : 2, - "lineNumber" : 280, - "columnNumber" : 18 - } - ] - }, - { - "targetObj" : { - "name" : "withIssuer", - "typeFullName" : "com.auth0.jwt.JWTCreator$Builder", - "resolvedMethod" : "com.auth0.jwt.JWTCreator$Builder.withIssuer:com.auth0.jwt.JWTCreator$Builder(java.lang.String)", - "lineNumber" : 280, - "columnNumber" : 18, - "label" : "CALL" - }, - "definedBy" : { - "name" : "withIssuer", - "typeFullName" : "com.auth0.jwt.JWTCreator$Builder", - "resolvedMethod" : "com.auth0.jwt.JWTCreator$Builder.withIssuer:com.auth0.jwt.JWTCreator$Builder(java.lang.String)", - "lineNumber" : 280, - "columnNumber" : 18, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - } - ] - }, - { - "code" : "", - "fullName" : "com.example.vulnspring.WebController.jwt:java.lang.String(org.springframework.ui.Model,java.lang.String,javax.servlet.http.HttpSession)", - "signature" : "java.lang.String(org.springframework.ui.Model,java.lang.String,javax.servlet.http.HttpSession)", - "fileName" : "src/main/java/com/example/vulnspring/WebController.java", - "lineNumber" : 286, - "columnNumber" : 2, - "usages" : [ - { - "targetObj" : { - "name" : "jwtString", - "typeFullName" : "java.lang.String", - "position" : 2, - "lineNumber" : 287, - "columnNumber" : 33, - "label" : "PARAM" - }, - "definedBy" : { - "name" : "jwtString", - "typeFullName" : "java.lang.String", - "position" : 2, - "lineNumber" : 287, - "columnNumber" : 33, - "label" : "PARAM" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - { - "callName" : "decode", - "resolvedMethod" : "com.auth0.jwt.JWT.decode:com.auth0.jwt.interfaces.DecodedJWT(java.lang.String)", - "paramTypes" : [ - "java.lang.String" - ], - "returnType" : "ANY", - "position" : 1, - "lineNumber" : 288, - "columnNumber" : 27 - } - ] - }, - { - "targetObj" : { - "name" : "session", - "typeFullName" : "javax.servlet.http.HttpSession", - "position" : 3, - "lineNumber" : 287, - "columnNumber" : 65, - "label" : "PARAM" - }, - "definedBy" : { - "name" : "session", - "typeFullName" : "javax.servlet.http.HttpSession", - "position" : 3, - "lineNumber" : 287, - "columnNumber" : 65, - "label" : "PARAM" - }, - "invokedCalls" : [ - { - "callName" : "getAttribute", - "resolvedMethod" : "javax.servlet.http.HttpSession.getAttribute:java.lang.Object(java.lang.String)", - "paramTypes" : [ - "java.lang.String" - ], - "returnType" : "ANY", - "lineNumber" : 292, - "columnNumber" : 49 - } - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "asString", - "typeFullName" : "java.lang.String", - "resolvedMethod" : "com.auth0.jwt.interfaces.Claim.asString:java.lang.String()", - "lineNumber" : 291, - "columnNumber" : 28, - "label" : "CALL" - }, - "definedBy" : { - "name" : "asString", - "typeFullName" : "java.lang.String", - "resolvedMethod" : "com.auth0.jwt.interfaces.Claim.asString:java.lang.String()", - "lineNumber" : 291, - "columnNumber" : 28, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "model", - "typeFullName" : "org.springframework.ui.Model", - "position" : 1, - "lineNumber" : 287, - "columnNumber" : 20, - "label" : "PARAM" - }, - "definedBy" : { - "name" : "model", - "typeFullName" : "org.springframework.ui.Model", - "position" : 1, - "lineNumber" : 287, - "columnNumber" : 20, - "label" : "PARAM" - }, - "invokedCalls" : [ - { - "callName" : "addAttribute", - "resolvedMethod" : "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", - "paramTypes" : [ - "java.lang.String", - "java.lang.String" - ], - "returnType" : "ANY", - "lineNumber" : 293, - "columnNumber" : 4 - }, - { - "callName" : "addAttribute", - "resolvedMethod" : "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", - "paramTypes" : [ - "java.lang.String", - "java.lang.String" - ], - "returnType" : "ANY", - "lineNumber" : 295, - "columnNumber" : 4 - } - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "decode", - "typeFullName" : "com.auth0.jwt.interfaces.DecodedJWT", - "resolvedMethod" : "com.auth0.jwt.JWT.decode:com.auth0.jwt.interfaces.DecodedJWT(java.lang.String)", - "lineNumber" : 288, - "columnNumber" : 27, - "label" : "CALL" - }, - "definedBy" : { - "name" : "decode", - "typeFullName" : "com.auth0.jwt.interfaces.DecodedJWT", - "resolvedMethod" : "com.auth0.jwt.JWT.decode:com.auth0.jwt.interfaces.DecodedJWT(java.lang.String)", - "lineNumber" : 288, - "columnNumber" : 27, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "PostMapping", - "typeFullName" : "org.springframework.web.bind.annotation.PostMapping", - "resolvedMethod" : "@PostMapping(\"/token\")", - "lineNumber" : 286, - "columnNumber" : 2, - "label" : "ANNOTATION" - }, - "definedBy" : { - "name" : "PostMapping", - "typeFullName" : "org.springframework.web.bind.annotation.PostMapping", - "resolvedMethod" : "@PostMapping(\"/token\")", - "lineNumber" : 286, - "columnNumber" : 2, - "label" : "ANNOTATION" - }, - "invokedCalls" : [ - { - "callName" : "PostMapping", - "resolvedMethod" : "org.springframework.web.bind.annotation.PostMapping", - "paramTypes" : [ - ], - "returnType" : "", - "lineNumber" : 286, - "columnNumber" : 2 - } - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "usernameFromJWT", - "typeFullName" : "java.lang.String", - "lineNumber" : 291, - "columnNumber" : 3, - "label" : "LOCAL" - }, - "definedBy" : { - "name" : "decodedJWT.getClaim", - "typeFullName" : "java.lang.String", - "resolvedMethod" : "com.auth0.jwt.interfaces.Claim.asString:java.lang.String()", - "lineNumber" : 291, - "columnNumber" : 28, - "label" : "CALL" - }, - "invokedCalls" : [ - { - "callName" : "equalsIgnoreCase", - "resolvedMethod" : "java.lang.String.equalsIgnoreCase:boolean(java.lang.String)", - "paramTypes" : [ - "java.lang.String" - ], - "returnType" : "ANY", - "lineNumber" : 292, - "columnNumber" : 7 - } - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "decodedJWT", - "typeFullName" : "com.auth0.jwt.interfaces.DecodedJWT", - "lineNumber" : 288, - "columnNumber" : 3, - "label" : "LOCAL" - }, - "definedBy" : { - "name" : "JWT.decode", - "typeFullName" : "com.auth0.jwt.interfaces.DecodedJWT", - "resolvedMethod" : "com.auth0.jwt.JWT.decode:com.auth0.jwt.interfaces.DecodedJWT(java.lang.String)", - "lineNumber" : 288, - "columnNumber" : 27, - "label" : "CALL" - }, - "invokedCalls" : [ - { - "callName" : "getClaim", - "resolvedMethod" : "com.auth0.jwt.interfaces.DecodedJWT.getClaim:com.auth0.jwt.interfaces.Claim(java.lang.String)", - "paramTypes" : [ - "java.lang.String" - ], - "returnType" : "ANY", - "lineNumber" : 291, - "columnNumber" : 28 - } - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "getClaim", - "typeFullName" : "com.auth0.jwt.interfaces.Claim", - "resolvedMethod" : "com.auth0.jwt.interfaces.DecodedJWT.getClaim:com.auth0.jwt.interfaces.Claim(java.lang.String)", - "lineNumber" : 291, - "columnNumber" : 28, - "label" : "CALL" - }, - "definedBy" : { - "name" : "getClaim", - "typeFullName" : "com.auth0.jwt.interfaces.Claim", - "resolvedMethod" : "com.auth0.jwt.interfaces.DecodedJWT.getClaim:com.auth0.jwt.interfaces.Claim(java.lang.String)", - "lineNumber" : 291, - "columnNumber" : 28, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - } - ] - }, - { - "code" : "", - "fullName" : "com.example.vulnspring.WebController.login:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.String,org.springframework.ui.Model)", - "signature" : "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.String,org.springframework.ui.Model)", - "fileName" : "src/main/java/com/example/vulnspring/WebController.java", - "lineNumber" : 57, - "columnNumber" : 2, - "usages" : [ - { - "targetObj" : { - "name" : "PostMapping", - "typeFullName" : "org.springframework.web.bind.annotation.PostMapping", - "resolvedMethod" : "@PostMapping(\"/login\")", - "lineNumber" : 57, - "columnNumber" : 2, - "label" : "ANNOTATION" - }, - "definedBy" : { - "name" : "PostMapping", - "typeFullName" : "org.springframework.web.bind.annotation.PostMapping", - "resolvedMethod" : "@PostMapping(\"/login\")", - "lineNumber" : 57, - "columnNumber" : 2, - "label" : "ANNOTATION" - }, - "invokedCalls" : [ - { - "callName" : "PostMapping", - "resolvedMethod" : "org.springframework.web.bind.annotation.PostMapping", - "paramTypes" : [ - ], - "returnType" : "", - "lineNumber" : 57, - "columnNumber" : 2 - } - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "password", - "typeFullName" : "java.lang.String", - "position" : 3, - "lineNumber" : 59, - "columnNumber" : 4, - "label" : "PARAM" - }, - "definedBy" : { - "name" : "password", - "typeFullName" : "java.lang.String", - "position" : 3, - "lineNumber" : 59, - "columnNumber" : 4, - "label" : "PARAM" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - { - "callName" : "loginSuccess", - "resolvedMethod" : "com.example.vulnspring.WebController.loginSuccess:boolean(java.lang.String,java.lang.String)", - "paramTypes" : [ - "java.lang.String", - "java.lang.String" - ], - "returnType" : "ANY", - "position" : 2, - "lineNumber" : 60, - "columnNumber" : 7 - } - ] - }, - { - "targetObj" : { - "name" : "username", - "typeFullName" : "java.lang.String", - "position" : 2, - "lineNumber" : 58, - "columnNumber" : 43, - "label" : "PARAM" - }, - "definedBy" : { - "name" : "username", - "typeFullName" : "java.lang.String", - "position" : 2, - "lineNumber" : 58, - "columnNumber" : 43, - "label" : "PARAM" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - { - "callName" : "loginSuccess", - "resolvedMethod" : "com.example.vulnspring.WebController.loginSuccess:boolean(java.lang.String,java.lang.String)", - "paramTypes" : [ - "java.lang.String", - "java.lang.String" - ], - "returnType" : "ANY", - "position" : 1, - "lineNumber" : 60, - "columnNumber" : 7 - }, - { - "callName" : "setAttribute", - "resolvedMethod" : "javax.servlet.http.HttpSession.setAttribute:void(java.lang.String,java.lang.Object)", - "paramTypes" : [ - "java.lang.String", - "java.lang.String" - ], - "returnType" : "ANY", - "position" : 2, - "lineNumber" : 62, - "columnNumber" : 4 - } - ] - }, - { - "targetObj" : { - "name" : "setAttribute", - "typeFullName" : "void", - "resolvedMethod" : "javax.servlet.http.HttpSession.setAttribute:void(java.lang.String,java.lang.Object)", - "lineNumber" : 62, - "columnNumber" : 4, - "label" : "CALL" - }, - "definedBy" : { - "name" : "setAttribute", - "typeFullName" : "void", - "resolvedMethod" : "javax.servlet.http.HttpSession.setAttribute:void(java.lang.String,java.lang.Object)", - "lineNumber" : 62, - "columnNumber" : 4, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "session", - "typeFullName" : "javax.servlet.http.HttpSession", - "position" : 1, - "lineNumber" : 58, - "columnNumber" : 22, - "label" : "PARAM" - }, - "definedBy" : { - "name" : "session", - "typeFullName" : "javax.servlet.http.HttpSession", - "position" : 1, - "lineNumber" : 58, - "columnNumber" : 22, - "label" : "PARAM" - }, - "invokedCalls" : [ - { - "callName" : "setAttribute", - "resolvedMethod" : "javax.servlet.http.HttpSession.setAttribute:void(java.lang.String,java.lang.Object)", - "paramTypes" : [ - "java.lang.String", - "java.lang.String" - ], - "returnType" : "ANY", - "lineNumber" : 62, - "columnNumber" : 4 - } - ], - "argToCalls" : [ - ] - } - ] - }, - { - "code" : "", - "fullName" : "com.example.vulnspring.WebController.login:java.lang.String(org.springframework.ui.Model)", - "signature" : "java.lang.String(org.springframework.ui.Model)", - "fileName" : "src/main/java/com/example/vulnspring/WebController.java", - "lineNumber" : 52, - "columnNumber" : 2, - "usages" : [ - { - "targetObj" : { - "name" : "GetMapping", - "typeFullName" : "org.springframework.web.bind.annotation.GetMapping", - "resolvedMethod" : "@GetMapping(\"/login\")", - "lineNumber" : 52, - "columnNumber" : 2, - "label" : "ANNOTATION" - }, - "definedBy" : { - "name" : "GetMapping", - "typeFullName" : "org.springframework.web.bind.annotation.GetMapping", - "resolvedMethod" : "@GetMapping(\"/login\")", - "lineNumber" : 52, - "columnNumber" : 2, - "label" : "ANNOTATION" - }, - "invokedCalls" : [ - { - "callName" : "GetMapping", - "resolvedMethod" : "org.springframework.web.bind.annotation.GetMapping", - "paramTypes" : [ - ], - "returnType" : "", - "lineNumber" : 52, - "columnNumber" : 2 + "definedBy": { + "name": "model", + "typeFullName": "org.springframework.ui.Model", + "position": 2, + "lineNumber": 275, + "columnNumber": 41, + "label": "PARAM" + }, + "invokedCalls": [ + { + "callName": "addAttribute", + "resolvedMethod": "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", + "paramTypes": ["java.lang.String", "java.lang.String"], + "returnType": "ANY", + "lineNumber": 282, + "columnNumber": 3 + } + ], + "argToCalls": [] + }, + { + "targetObj": { + "name": "GetMapping", + "typeFullName": "org.springframework.web.bind.annotation.GetMapping", + "resolvedMethod": "@GetMapping(\"/token\")", + "lineNumber": 274, + "columnNumber": 2, + "label": "ANNOTATION" + }, + "definedBy": { + "name": "GetMapping", + "typeFullName": "org.springframework.web.bind.annotation.GetMapping", + "resolvedMethod": "@GetMapping(\"/token\")", + "lineNumber": 274, + "columnNumber": 2, + "label": "ANNOTATION" + }, + "invokedCalls": [ + { + "callName": "GetMapping", + "resolvedMethod": "org.springframework.web.bind.annotation.GetMapping", + "paramTypes": [], + "returnType": "", + "lineNumber": 274, + "columnNumber": 2 } ], - "argToCalls" : [ + "argToCalls": [] + }, + { + "targetObj": { + "name": "username", + "typeFullName": "java.lang.String", + "lineNumber": 276, + "columnNumber": 3, + "label": "LOCAL" + }, + "definedBy": { + "name": "", + "typeFullName": "java.lang.String", + "resolvedMethod": ".cast", + "lineNumber": 276, + "columnNumber": 21, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [ + { + "callName": "withClaim", + "resolvedMethod": "com.auth0.jwt.JWTCreator$Builder.withClaim:com.auth0.jwt.JWTCreator$Builder(java.lang.String,java.lang.String)", + "paramTypes": ["java.lang.String", "java.lang.String"], + "returnType": "ANY", + "position": 2, + "lineNumber": 280, + "columnNumber": 18 + } ] + }, + { + "targetObj": { + "name": "withIssuer", + "typeFullName": "com.auth0.jwt.JWTCreator$Builder", + "resolvedMethod": "com.auth0.jwt.JWTCreator$Builder.withIssuer:com.auth0.jwt.JWTCreator$Builder(java.lang.String)", + "lineNumber": 280, + "columnNumber": 18, + "label": "CALL" + }, + "definedBy": { + "name": "withIssuer", + "typeFullName": "com.auth0.jwt.JWTCreator$Builder", + "resolvedMethod": "com.auth0.jwt.JWTCreator$Builder.withIssuer:com.auth0.jwt.JWTCreator$Builder(java.lang.String)", + "lineNumber": 280, + "columnNumber": 18, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] } ] }, { - "code" : "", - "fullName" : "com.example.vulnspring.WebController.loginSuccess:boolean(java.lang.String,java.lang.String)", - "signature" : "boolean(java.lang.String,java.lang.String)", - "fileName" : "src/main/java/com/example/vulnspring/WebController.java", - "lineNumber" : 69, - "columnNumber" : 2, - "usages" : [ - { - "targetObj" : { - "name" : "containsKey", - "typeFullName" : "boolean", - "resolvedMethod" : "java.util.Map.containsKey:boolean(java.lang.Object)", - "lineNumber" : 76, - "columnNumber" : 8, - "label" : "CALL" - }, - "definedBy" : { - "name" : "containsKey", - "typeFullName" : "boolean", - "resolvedMethod" : "java.util.Map.containsKey:boolean(java.lang.Object)", - "lineNumber" : 76, - "columnNumber" : 8, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ + "code": "", + "fullName": "com.example.vulnspring.WebController.jwt:java.lang.String(org.springframework.ui.Model,java.lang.String,javax.servlet.http.HttpSession)", + "signature": "java.lang.String(org.springframework.ui.Model,java.lang.String,javax.servlet.http.HttpSession)", + "fileName": "src/main/java/com/example/vulnspring/WebController.java", + "lineNumber": 286, + "columnNumber": 2, + "usages": [ + { + "targetObj": { + "name": "jwtString", + "typeFullName": "java.lang.String", + "position": 2, + "lineNumber": 287, + "columnNumber": 33, + "label": "PARAM" + }, + "definedBy": { + "name": "jwtString", + "typeFullName": "java.lang.String", + "position": 2, + "lineNumber": 287, + "columnNumber": 33, + "label": "PARAM" + }, + "invokedCalls": [], + "argToCalls": [ + { + "callName": "decode", + "resolvedMethod": "com.auth0.jwt.JWT.decode:com.auth0.jwt.interfaces.DecodedJWT(java.lang.String)", + "paramTypes": ["java.lang.String"], + "returnType": "ANY", + "position": 1, + "lineNumber": 288, + "columnNumber": 27 + } ] }, { - "targetObj" : { - "name" : "query", - "typeFullName" : "java.lang.String", - "lineNumber" : 74, - "columnNumber" : 4, - "label" : "LOCAL" + "targetObj": { + "name": "session", + "typeFullName": "javax.servlet.http.HttpSession", + "position": 3, + "lineNumber": 287, + "columnNumber": 65, + "label": "PARAM" }, - "definedBy" : { - "name" : "\"SELECT * FROM users WHERE USERNAME=\\\"\" + username + \"\\\" AND PASSWORD=\\\"\" + password + \"\\\"\"", - "typeFullName" : "java.lang.String", - "resolvedMethod" : ".addition", - "lineNumber" : 74, - "columnNumber" : 19, - "label" : "CALL" + "definedBy": { + "name": "session", + "typeFullName": "javax.servlet.http.HttpSession", + "position": 3, + "lineNumber": 287, + "columnNumber": 65, + "label": "PARAM" }, - "invokedCalls" : [ + "invokedCalls": [ + { + "callName": "getAttribute", + "resolvedMethod": "javax.servlet.http.HttpSession.getAttribute:java.lang.Object(java.lang.String)", + "paramTypes": ["java.lang.String"], + "returnType": "ANY", + "lineNumber": 292, + "columnNumber": 49 + } ], - "argToCalls" : [ + "argToCalls": [] + }, + { + "targetObj": { + "name": "asString", + "typeFullName": "java.lang.String", + "resolvedMethod": "com.auth0.jwt.interfaces.Claim.asString:java.lang.String()", + "lineNumber": 291, + "columnNumber": 28, + "label": "CALL" + }, + "definedBy": { + "name": "asString", + "typeFullName": "java.lang.String", + "resolvedMethod": "com.auth0.jwt.interfaces.Claim.asString:java.lang.String()", + "lineNumber": 291, + "columnNumber": 28, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "model", + "typeFullName": "org.springframework.ui.Model", + "position": 1, + "lineNumber": 287, + "columnNumber": 20, + "label": "PARAM" + }, + "definedBy": { + "name": "model", + "typeFullName": "org.springframework.ui.Model", + "position": 1, + "lineNumber": 287, + "columnNumber": 20, + "label": "PARAM" + }, + "invokedCalls": [ + { + "callName": "addAttribute", + "resolvedMethod": "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", + "paramTypes": ["java.lang.String", "java.lang.String"], + "returnType": "ANY", + "lineNumber": 293, + "columnNumber": 4 + }, { - "callName" : "queryForMap", - "resolvedMethod" : "org.springframework.jdbc.core.JdbcTemplate.queryForMap:java.util.Map(java.lang.String)", - "paramTypes" : [ - "java.lang.String" - ], - "returnType" : "ANY", - "position" : 1, - "lineNumber" : 75, - "columnNumber" : 33 + "callName": "addAttribute", + "resolvedMethod": "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", + "paramTypes": ["java.lang.String", "java.lang.String"], + "returnType": "ANY", + "lineNumber": 295, + "columnNumber": 4 } - ] - }, - { - "targetObj" : { - "name" : ".logicalOr", - "typeFullName" : "boolean", - "resolvedMethod" : ".logicalOr", - "lineNumber" : 123, - "columnNumber" : 7, - "label" : "CALL" - }, - "definedBy" : { - "name" : ".logicalOr", - "typeFullName" : "boolean", - "resolvedMethod" : ".logicalOr", - "lineNumber" : 123, - "columnNumber" : 7, - "label" : "CALL" - }, - "invokedCalls" : [ ], - "argToCalls" : [ - ] + "argToCalls": [] + }, + { + "targetObj": { + "name": "decode", + "typeFullName": "com.auth0.jwt.interfaces.DecodedJWT", + "resolvedMethod": "com.auth0.jwt.JWT.decode:com.auth0.jwt.interfaces.DecodedJWT(java.lang.String)", + "lineNumber": 288, + "columnNumber": 27, + "label": "CALL" + }, + "definedBy": { + "name": "decode", + "typeFullName": "com.auth0.jwt.interfaces.DecodedJWT", + "resolvedMethod": "com.auth0.jwt.JWT.decode:com.auth0.jwt.interfaces.DecodedJWT(java.lang.String)", + "lineNumber": 288, + "columnNumber": 27, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "PostMapping", + "typeFullName": "org.springframework.web.bind.annotation.PostMapping", + "resolvedMethod": "@PostMapping(\"/token\")", + "lineNumber": 286, + "columnNumber": 2, + "label": "ANNOTATION" + }, + "definedBy": { + "name": "PostMapping", + "typeFullName": "org.springframework.web.bind.annotation.PostMapping", + "resolvedMethod": "@PostMapping(\"/token\")", + "lineNumber": 286, + "columnNumber": 2, + "label": "ANNOTATION" + }, + "invokedCalls": [ + { + "callName": "PostMapping", + "resolvedMethod": "org.springframework.web.bind.annotation.PostMapping", + "paramTypes": [], + "returnType": "", + "lineNumber": 286, + "columnNumber": 2 + } + ], + "argToCalls": [] }, { - "targetObj" : { - "name" : "result", - "typeFullName" : "java.util.Map", - "lineNumber" : 75, - "columnNumber" : 4, - "label" : "LOCAL" + "targetObj": { + "name": "usernameFromJWT", + "typeFullName": "java.lang.String", + "lineNumber": 291, + "columnNumber": 3, + "label": "LOCAL" }, - "definedBy" : { - "name" : "jdbcTemplate.queryForMap", - "typeFullName" : "java.util.Map", - "resolvedMethod" : "org.springframework.jdbc.core.JdbcTemplate.queryForMap:java.util.Map(java.lang.String)", - "lineNumber" : 75, - "columnNumber" : 33, - "label" : "CALL" + "definedBy": { + "name": "decodedJWT.getClaim", + "typeFullName": "java.lang.String", + "resolvedMethod": "com.auth0.jwt.interfaces.Claim.asString:java.lang.String()", + "lineNumber": 291, + "columnNumber": 28, + "label": "CALL" }, - "invokedCalls" : [ + "invokedCalls": [ { - "callName" : "containsKey", - "resolvedMethod" : "java.util.Map.containsKey:boolean(java.lang.Object)", - "paramTypes" : [ - "java.lang.String" - ], - "returnType" : "ANY", - "lineNumber" : 76, - "columnNumber" : 8 + "callName": "equalsIgnoreCase", + "resolvedMethod": "java.lang.String.equalsIgnoreCase:boolean(java.lang.String)", + "paramTypes": ["java.lang.String"], + "returnType": "ANY", + "lineNumber": 292, + "columnNumber": 7 } ], - "argToCalls" : [ - ] + "argToCalls": [] }, { - "targetObj" : { - "name" : "queryForMap", - "typeFullName" : "java.util.Map", - "resolvedMethod" : "org.springframework.jdbc.core.JdbcTemplate.queryForMap:java.util.Map(java.lang.String)", - "lineNumber" : 75, - "columnNumber" : 33, - "label" : "CALL" + "targetObj": { + "name": "decodedJWT", + "typeFullName": "com.auth0.jwt.interfaces.DecodedJWT", + "lineNumber": 288, + "columnNumber": 3, + "label": "LOCAL" }, - "definedBy" : { - "name" : "queryForMap", - "typeFullName" : "java.util.Map", - "resolvedMethod" : "org.springframework.jdbc.core.JdbcTemplate.queryForMap:java.util.Map(java.lang.String)", - "lineNumber" : 75, - "columnNumber" : 33, - "label" : "CALL" + "definedBy": { + "name": "JWT.decode", + "typeFullName": "com.auth0.jwt.interfaces.DecodedJWT", + "resolvedMethod": "com.auth0.jwt.JWT.decode:com.auth0.jwt.interfaces.DecodedJWT(java.lang.String)", + "lineNumber": 288, + "columnNumber": 27, + "label": "CALL" }, - "invokedCalls" : [ + "invokedCalls": [ + { + "callName": "getClaim", + "resolvedMethod": "com.auth0.jwt.interfaces.DecodedJWT.getClaim:com.auth0.jwt.interfaces.Claim(java.lang.String)", + "paramTypes": ["java.lang.String"], + "returnType": "ANY", + "lineNumber": 291, + "columnNumber": 28 + } ], - "argToCalls" : [ - ] + "argToCalls": [] }, { - "targetObj" : { - "name" : "loginSuccess", - "typeFullName" : "boolean", - "resolvedMethod" : "com.example.vulnspring.WebController.loginSuccess:boolean(java.lang.String,java.lang.String)", - "lineNumber" : 60, - "columnNumber" : 7, - "label" : "CALL" + "targetObj": { + "name": "getClaim", + "typeFullName": "com.auth0.jwt.interfaces.Claim", + "resolvedMethod": "com.auth0.jwt.interfaces.DecodedJWT.getClaim:com.auth0.jwt.interfaces.Claim(java.lang.String)", + "lineNumber": 291, + "columnNumber": 28, + "label": "CALL" }, - "definedBy" : { - "name" : "loginSuccess", - "typeFullName" : "boolean", - "resolvedMethod" : "com.example.vulnspring.WebController.loginSuccess:boolean(java.lang.String,java.lang.String)", - "lineNumber" : 60, - "columnNumber" : 7, - "label" : "CALL" + "definedBy": { + "name": "getClaim", + "typeFullName": "com.auth0.jwt.interfaces.Claim", + "resolvedMethod": "com.auth0.jwt.interfaces.DecodedJWT.getClaim:com.auth0.jwt.interfaces.Claim(java.lang.String)", + "lineNumber": 291, + "columnNumber": 28, + "label": "CALL" }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] + "invokedCalls": [], + "argToCalls": [] } ] }, { - "code" : "", - "fullName" : "com.example.vulnspring.WebController.logout:java.lang.String(javax.servlet.http.HttpSession)", - "signature" : "java.lang.String(javax.servlet.http.HttpSession)", - "fileName" : "src/main/java/com/example/vulnspring/WebController.java", - "lineNumber" : 85, - "columnNumber" : 2, - "usages" : [ - { - "targetObj" : { - "name" : "GetMapping", - "typeFullName" : "org.springframework.web.bind.annotation.GetMapping", - "resolvedMethod" : "@GetMapping(\"/logout\")", - "lineNumber" : 85, - "columnNumber" : 2, - "label" : "ANNOTATION" - }, - "definedBy" : { - "name" : "GetMapping", - "typeFullName" : "org.springframework.web.bind.annotation.GetMapping", - "resolvedMethod" : "@GetMapping(\"/logout\")", - "lineNumber" : 85, - "columnNumber" : 2, - "label" : "ANNOTATION" - }, - "invokedCalls" : [ - { - "callName" : "GetMapping", - "resolvedMethod" : "org.springframework.web.bind.annotation.GetMapping", - "paramTypes" : [ - ], - "returnType" : "", - "lineNumber" : 85, - "columnNumber" : 2 + "code": "", + "fullName": "com.example.vulnspring.WebController.login:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.String,org.springframework.ui.Model)", + "signature": "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.String,org.springframework.ui.Model)", + "fileName": "src/main/java/com/example/vulnspring/WebController.java", + "lineNumber": 57, + "columnNumber": 2, + "usages": [ + { + "targetObj": { + "name": "PostMapping", + "typeFullName": "org.springframework.web.bind.annotation.PostMapping", + "resolvedMethod": "@PostMapping(\"/login\")", + "lineNumber": 57, + "columnNumber": 2, + "label": "ANNOTATION" + }, + "definedBy": { + "name": "PostMapping", + "typeFullName": "org.springframework.web.bind.annotation.PostMapping", + "resolvedMethod": "@PostMapping(\"/login\")", + "lineNumber": 57, + "columnNumber": 2, + "label": "ANNOTATION" + }, + "invokedCalls": [ + { + "callName": "PostMapping", + "resolvedMethod": "org.springframework.web.bind.annotation.PostMapping", + "paramTypes": [], + "returnType": "", + "lineNumber": 57, + "columnNumber": 2 } ], - "argToCalls" : [ + "argToCalls": [] + }, + { + "targetObj": { + "name": "password", + "typeFullName": "java.lang.String", + "position": 3, + "lineNumber": 59, + "columnNumber": 4, + "label": "PARAM" + }, + "definedBy": { + "name": "password", + "typeFullName": "java.lang.String", + "position": 3, + "lineNumber": 59, + "columnNumber": 4, + "label": "PARAM" + }, + "invokedCalls": [], + "argToCalls": [ + { + "callName": "loginSuccess", + "resolvedMethod": "com.example.vulnspring.WebController.loginSuccess:boolean(java.lang.String,java.lang.String)", + "paramTypes": ["java.lang.String", "java.lang.String"], + "returnType": "ANY", + "position": 2, + "lineNumber": 60, + "columnNumber": 7 + } ] }, { - "targetObj" : { - "name" : "session", - "typeFullName" : "javax.servlet.http.HttpSession", - "position" : 1, - "lineNumber" : 86, - "columnNumber" : 23, - "label" : "PARAM" - }, - "definedBy" : { - "name" : "session", - "typeFullName" : "javax.servlet.http.HttpSession", - "position" : 1, - "lineNumber" : 86, - "columnNumber" : 23, - "label" : "PARAM" - }, - "invokedCalls" : [ + "targetObj": { + "name": "username", + "typeFullName": "java.lang.String", + "position": 2, + "lineNumber": 58, + "columnNumber": 43, + "label": "PARAM" + }, + "definedBy": { + "name": "username", + "typeFullName": "java.lang.String", + "position": 2, + "lineNumber": 58, + "columnNumber": 43, + "label": "PARAM" + }, + "invokedCalls": [], + "argToCalls": [ + { + "callName": "loginSuccess", + "resolvedMethod": "com.example.vulnspring.WebController.loginSuccess:boolean(java.lang.String,java.lang.String)", + "paramTypes": ["java.lang.String", "java.lang.String"], + "returnType": "ANY", + "position": 1, + "lineNumber": 60, + "columnNumber": 7 + }, { - "callName" : "invalidate", - "resolvedMethod" : "javax.servlet.http.HttpSession.invalidate:void()", - "paramTypes" : [ - ], - "returnType" : "ANY", - "lineNumber" : 87, - "columnNumber" : 3 + "callName": "setAttribute", + "resolvedMethod": "javax.servlet.http.HttpSession.setAttribute:void(java.lang.String,java.lang.Object)", + "paramTypes": ["java.lang.String", "java.lang.String"], + "returnType": "ANY", + "position": 2, + "lineNumber": 62, + "columnNumber": 4 } - ], - "argToCalls" : [ ] }, { - "targetObj" : { - "name" : "invalidate", - "typeFullName" : "void", - "resolvedMethod" : "javax.servlet.http.HttpSession.invalidate:void()", - "lineNumber" : 87, - "columnNumber" : 3, - "label" : "CALL" - }, - "definedBy" : { - "name" : "invalidate", - "typeFullName" : "void", - "resolvedMethod" : "javax.servlet.http.HttpSession.invalidate:void()", - "lineNumber" : 87, - "columnNumber" : 3, - "label" : "CALL" - }, - "invokedCalls" : [ + "targetObj": { + "name": "setAttribute", + "typeFullName": "void", + "resolvedMethod": "javax.servlet.http.HttpSession.setAttribute:void(java.lang.String,java.lang.Object)", + "lineNumber": 62, + "columnNumber": 4, + "label": "CALL" + }, + "definedBy": { + "name": "setAttribute", + "typeFullName": "void", + "resolvedMethod": "javax.servlet.http.HttpSession.setAttribute:void(java.lang.String,java.lang.Object)", + "lineNumber": 62, + "columnNumber": 4, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "session", + "typeFullName": "javax.servlet.http.HttpSession", + "position": 1, + "lineNumber": 58, + "columnNumber": 22, + "label": "PARAM" + }, + "definedBy": { + "name": "session", + "typeFullName": "javax.servlet.http.HttpSession", + "position": 1, + "lineNumber": 58, + "columnNumber": 22, + "label": "PARAM" + }, + "invokedCalls": [ + { + "callName": "setAttribute", + "resolvedMethod": "javax.servlet.http.HttpSession.setAttribute:void(java.lang.String,java.lang.Object)", + "paramTypes": ["java.lang.String", "java.lang.String"], + "returnType": "ANY", + "lineNumber": 62, + "columnNumber": 4 + } ], - "argToCalls" : [ - ] + "argToCalls": [] } ] }, { - "code" : "", - "fullName" : "com.example.vulnspring.WebController.support:java.lang.String(java.lang.String)", - "signature" : "java.lang.String(java.lang.String)", - "fileName" : "src/main/java/com/example/vulnspring/WebController.java", - "lineNumber" : 258, - "columnNumber" : 2, - "usages" : [ - { - "targetObj" : { - "name" : "GetMapping", - "typeFullName" : "org.springframework.web.bind.annotation.GetMapping", - "resolvedMethod" : "@GetMapping(\"/support\")", - "lineNumber" : 258, - "columnNumber" : 2, - "label" : "ANNOTATION" - }, - "definedBy" : { - "name" : "GetMapping", - "typeFullName" : "org.springframework.web.bind.annotation.GetMapping", - "resolvedMethod" : "@GetMapping(\"/support\")", - "lineNumber" : 258, - "columnNumber" : 2, - "label" : "ANNOTATION" - }, - "invokedCalls" : [ - { - "callName" : "GetMapping", - "resolvedMethod" : "org.springframework.web.bind.annotation.GetMapping", - "paramTypes" : [ - ], - "returnType" : "", - "lineNumber" : 258, - "columnNumber" : 2 + "code": "", + "fullName": "com.example.vulnspring.WebController.login:java.lang.String(org.springframework.ui.Model)", + "signature": "java.lang.String(org.springframework.ui.Model)", + "fileName": "src/main/java/com/example/vulnspring/WebController.java", + "lineNumber": 52, + "columnNumber": 2, + "usages": [ + { + "targetObj": { + "name": "GetMapping", + "typeFullName": "org.springframework.web.bind.annotation.GetMapping", + "resolvedMethod": "@GetMapping(\"/login\")", + "lineNumber": 52, + "columnNumber": 2, + "label": "ANNOTATION" + }, + "definedBy": { + "name": "GetMapping", + "typeFullName": "org.springframework.web.bind.annotation.GetMapping", + "resolvedMethod": "@GetMapping(\"/login\")", + "lineNumber": 52, + "columnNumber": 2, + "label": "ANNOTATION" + }, + "invokedCalls": [ + { + "callName": "GetMapping", + "resolvedMethod": "org.springframework.web.bind.annotation.GetMapping", + "paramTypes": [], + "returnType": "", + "lineNumber": 52, + "columnNumber": 2 } ], - "argToCalls" : [ - ] + "argToCalls": [] } ] }, { - "code" : "", - "fullName" : "com.example.vulnspring.WebController.support:java.lang.String(org.springframework.ui.Model)", - "signature" : "java.lang.String(org.springframework.ui.Model)", - "fileName" : "src/main/java/com/example/vulnspring/WebController.java", - "lineNumber" : 267, - "columnNumber" : 2, - "usages" : [ - { - "targetObj" : { - "name" : "GetMapping", - "typeFullName" : "org.springframework.web.bind.annotation.GetMapping", - "resolvedMethod" : "@GetMapping(\"/support/*\")", - "lineNumber" : 267, - "columnNumber" : 2, - "label" : "ANNOTATION" - }, - "definedBy" : { - "name" : "GetMapping", - "typeFullName" : "org.springframework.web.bind.annotation.GetMapping", - "resolvedMethod" : "@GetMapping(\"/support/*\")", - "lineNumber" : 267, - "columnNumber" : 2, - "label" : "ANNOTATION" - }, - "invokedCalls" : [ - { - "callName" : "GetMapping", - "resolvedMethod" : "org.springframework.web.bind.annotation.GetMapping", - "paramTypes" : [ - ], - "returnType" : "", - "lineNumber" : 267, - "columnNumber" : 2 + "code": "", + "fullName": "com.example.vulnspring.WebController.loginSuccess:boolean(java.lang.String,java.lang.String)", + "signature": "boolean(java.lang.String,java.lang.String)", + "fileName": "src/main/java/com/example/vulnspring/WebController.java", + "lineNumber": 69, + "columnNumber": 2, + "usages": [ + { + "targetObj": { + "name": "containsKey", + "typeFullName": "boolean", + "resolvedMethod": "java.util.Map.containsKey:boolean(java.lang.Object)", + "lineNumber": 76, + "columnNumber": 8, + "label": "CALL" + }, + "definedBy": { + "name": "containsKey", + "typeFullName": "boolean", + "resolvedMethod": "java.util.Map.containsKey:boolean(java.lang.Object)", + "lineNumber": 76, + "columnNumber": 8, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "query", + "typeFullName": "java.lang.String", + "lineNumber": 74, + "columnNumber": 4, + "label": "LOCAL" + }, + "definedBy": { + "name": "\"SELECT * FROM users WHERE USERNAME=\\\"\" + username + \"\\\" AND PASSWORD=\\\"\" + password + \"\\\"\"", + "typeFullName": "java.lang.String", + "resolvedMethod": ".addition", + "lineNumber": 74, + "columnNumber": 19, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [ + { + "callName": "queryForMap", + "resolvedMethod": "org.springframework.jdbc.core.JdbcTemplate.queryForMap:java.util.Map(java.lang.String)", + "paramTypes": ["java.lang.String"], + "returnType": "ANY", + "position": 1, + "lineNumber": 75, + "columnNumber": 33 } - ], - "argToCalls" : [ ] }, { - "targetObj" : { - "name" : "model", - "typeFullName" : "org.springframework.ui.Model", - "position" : 1, - "lineNumber" : 268, - "columnNumber" : 24, - "label" : "PARAM" - }, - "definedBy" : { - "name" : "model", - "typeFullName" : "org.springframework.ui.Model", - "position" : 1, - "lineNumber" : 268, - "columnNumber" : 24, - "label" : "PARAM" - }, - "invokedCalls" : [ - { - "callName" : "addAttribute", - "resolvedMethod" : "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", - "paramTypes" : [ - "java.lang.String", - "java.lang.String" - ], - "returnType" : "ANY", - "lineNumber" : 269, - "columnNumber" : 3 + "targetObj": { + "name": ".logicalOr", + "typeFullName": "boolean", + "resolvedMethod": ".logicalOr", + "lineNumber": 123, + "columnNumber": 7, + "label": "CALL" + }, + "definedBy": { + "name": ".logicalOr", + "typeFullName": "boolean", + "resolvedMethod": ".logicalOr", + "lineNumber": 123, + "columnNumber": 7, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "result", + "typeFullName": "java.util.Map", + "lineNumber": 75, + "columnNumber": 4, + "label": "LOCAL" + }, + "definedBy": { + "name": "jdbcTemplate.queryForMap", + "typeFullName": "java.util.Map", + "resolvedMethod": "org.springframework.jdbc.core.JdbcTemplate.queryForMap:java.util.Map(java.lang.String)", + "lineNumber": 75, + "columnNumber": 33, + "label": "CALL" + }, + "invokedCalls": [ + { + "callName": "containsKey", + "resolvedMethod": "java.util.Map.containsKey:boolean(java.lang.Object)", + "paramTypes": ["java.lang.String"], + "returnType": "ANY", + "lineNumber": 76, + "columnNumber": 8 } ], - "argToCalls" : [ - ] + "argToCalls": [] + }, + { + "targetObj": { + "name": "queryForMap", + "typeFullName": "java.util.Map", + "resolvedMethod": "org.springframework.jdbc.core.JdbcTemplate.queryForMap:java.util.Map(java.lang.String)", + "lineNumber": 75, + "columnNumber": 33, + "label": "CALL" + }, + "definedBy": { + "name": "queryForMap", + "typeFullName": "java.util.Map", + "resolvedMethod": "org.springframework.jdbc.core.JdbcTemplate.queryForMap:java.util.Map(java.lang.String)", + "lineNumber": 75, + "columnNumber": 33, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "loginSuccess", + "typeFullName": "boolean", + "resolvedMethod": "com.example.vulnspring.WebController.loginSuccess:boolean(java.lang.String,java.lang.String)", + "lineNumber": 60, + "columnNumber": 7, + "label": "CALL" + }, + "definedBy": { + "name": "loginSuccess", + "typeFullName": "boolean", + "resolvedMethod": "com.example.vulnspring.WebController.loginSuccess:boolean(java.lang.String,java.lang.String)", + "lineNumber": 60, + "columnNumber": 7, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] } ] }, { - "code" : "", - "fullName" : "com.example.vulnspring.WebController.transfer:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", - "signature" : "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", - "fileName" : "src/main/java/com/example/vulnspring/WebController.java", - "lineNumber" : 152, - "columnNumber" : 2, - "usages" : [ - { - "targetObj" : { - "name" : "session", - "typeFullName" : "javax.servlet.http.HttpSession", - "position" : 1, - "lineNumber" : 154, - "columnNumber" : 25, - "label" : "PARAM" - }, - "definedBy" : { - "name" : "session", - "typeFullName" : "javax.servlet.http.HttpSession", - "position" : 1, - "lineNumber" : 154, - "columnNumber" : 25, - "label" : "PARAM" - }, - "invokedCalls" : [ - { - "callName" : "getAttribute", - "resolvedMethod" : "javax.servlet.http.HttpSession.getAttribute:java.lang.Object(java.lang.String)", - "paramTypes" : [ - "java.lang.String" - ], - "returnType" : "ANY", - "lineNumber" : 183, - "columnNumber" : 20 + "code": "", + "fullName": "com.example.vulnspring.WebController.logout:java.lang.String(javax.servlet.http.HttpSession)", + "signature": "java.lang.String(javax.servlet.http.HttpSession)", + "fileName": "src/main/java/com/example/vulnspring/WebController.java", + "lineNumber": 85, + "columnNumber": 2, + "usages": [ + { + "targetObj": { + "name": "GetMapping", + "typeFullName": "org.springframework.web.bind.annotation.GetMapping", + "resolvedMethod": "@GetMapping(\"/logout\")", + "lineNumber": 85, + "columnNumber": 2, + "label": "ANNOTATION" + }, + "definedBy": { + "name": "GetMapping", + "typeFullName": "org.springframework.web.bind.annotation.GetMapping", + "resolvedMethod": "@GetMapping(\"/logout\")", + "lineNumber": 85, + "columnNumber": 2, + "label": "ANNOTATION" + }, + "invokedCalls": [ + { + "callName": "GetMapping", + "resolvedMethod": "org.springframework.web.bind.annotation.GetMapping", + "paramTypes": [], + "returnType": "", + "lineNumber": 85, + "columnNumber": 2 } ], - "argToCalls" : [ - ] + "argToCalls": [] + }, + { + "targetObj": { + "name": "session", + "typeFullName": "javax.servlet.http.HttpSession", + "position": 1, + "lineNumber": 86, + "columnNumber": 23, + "label": "PARAM" + }, + "definedBy": { + "name": "session", + "typeFullName": "javax.servlet.http.HttpSession", + "position": 1, + "lineNumber": 86, + "columnNumber": 23, + "label": "PARAM" + }, + "invokedCalls": [ + { + "callName": "invalidate", + "resolvedMethod": "javax.servlet.http.HttpSession.invalidate:void()", + "paramTypes": [], + "returnType": "ANY", + "lineNumber": 87, + "columnNumber": 3 + } + ], + "argToCalls": [] }, { - "targetObj" : { - "name" : "model", - "typeFullName" : "org.springframework.ui.Model", - "position" : 4, - "lineNumber" : 155, - "columnNumber" : 49, - "label" : "PARAM" + "targetObj": { + "name": "invalidate", + "typeFullName": "void", + "resolvedMethod": "javax.servlet.http.HttpSession.invalidate:void()", + "lineNumber": 87, + "columnNumber": 3, + "label": "CALL" }, - "definedBy" : { - "name" : "model", - "typeFullName" : "org.springframework.ui.Model", - "position" : 4, - "lineNumber" : 155, - "columnNumber" : 49, - "label" : "PARAM" + "definedBy": { + "name": "invalidate", + "typeFullName": "void", + "resolvedMethod": "javax.servlet.http.HttpSession.invalidate:void()", + "lineNumber": 87, + "columnNumber": 3, + "label": "CALL" }, - "invokedCalls" : [ - { - "callName" : "addAttribute", - "resolvedMethod" : "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", - "paramTypes" : [ - "java.lang.String", - "java.lang.String" - ], - "returnType" : "ANY", - "lineNumber" : 163, - "columnNumber" : 4 + "invokedCalls": [], + "argToCalls": [] + } + ] + }, + { + "code": "", + "fullName": "com.example.vulnspring.WebController.support:java.lang.String(java.lang.String)", + "signature": "java.lang.String(java.lang.String)", + "fileName": "src/main/java/com/example/vulnspring/WebController.java", + "lineNumber": 258, + "columnNumber": 2, + "usages": [ + { + "targetObj": { + "name": "GetMapping", + "typeFullName": "org.springframework.web.bind.annotation.GetMapping", + "resolvedMethod": "@GetMapping(\"/support\")", + "lineNumber": 258, + "columnNumber": 2, + "label": "ANNOTATION" + }, + "definedBy": { + "name": "GetMapping", + "typeFullName": "org.springframework.web.bind.annotation.GetMapping", + "resolvedMethod": "@GetMapping(\"/support\")", + "lineNumber": 258, + "columnNumber": 2, + "label": "ANNOTATION" + }, + "invokedCalls": [ + { + "callName": "GetMapping", + "resolvedMethod": "org.springframework.web.bind.annotation.GetMapping", + "paramTypes": [], + "returnType": "", + "lineNumber": 258, + "columnNumber": 2 + } + ], + "argToCalls": [] + } + ] + }, + { + "code": "", + "fullName": "com.example.vulnspring.WebController.support:java.lang.String(org.springframework.ui.Model)", + "signature": "java.lang.String(org.springframework.ui.Model)", + "fileName": "src/main/java/com/example/vulnspring/WebController.java", + "lineNumber": 267, + "columnNumber": 2, + "usages": [ + { + "targetObj": { + "name": "GetMapping", + "typeFullName": "org.springframework.web.bind.annotation.GetMapping", + "resolvedMethod": "@GetMapping(\"/support/*\")", + "lineNumber": 267, + "columnNumber": 2, + "label": "ANNOTATION" + }, + "definedBy": { + "name": "GetMapping", + "typeFullName": "org.springframework.web.bind.annotation.GetMapping", + "resolvedMethod": "@GetMapping(\"/support/*\")", + "lineNumber": 267, + "columnNumber": 2, + "label": "ANNOTATION" + }, + "invokedCalls": [ + { + "callName": "GetMapping", + "resolvedMethod": "org.springframework.web.bind.annotation.GetMapping", + "paramTypes": [], + "returnType": "", + "lineNumber": 267, + "columnNumber": 2 + } + ], + "argToCalls": [] + }, + { + "targetObj": { + "name": "model", + "typeFullName": "org.springframework.ui.Model", + "position": 1, + "lineNumber": 268, + "columnNumber": 24, + "label": "PARAM" + }, + "definedBy": { + "name": "model", + "typeFullName": "org.springframework.ui.Model", + "position": 1, + "lineNumber": 268, + "columnNumber": 24, + "label": "PARAM" + }, + "invokedCalls": [ + { + "callName": "addAttribute", + "resolvedMethod": "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", + "paramTypes": ["java.lang.String", "java.lang.String"], + "returnType": "ANY", + "lineNumber": 269, + "columnNumber": 3 + } + ], + "argToCalls": [] + } + ] + }, + { + "code": "", + "fullName": "com.example.vulnspring.WebController.transfer:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", + "signature": "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", + "fileName": "src/main/java/com/example/vulnspring/WebController.java", + "lineNumber": 152, + "columnNumber": 2, + "usages": [ + { + "targetObj": { + "name": "session", + "typeFullName": "javax.servlet.http.HttpSession", + "position": 1, + "lineNumber": 154, + "columnNumber": 25, + "label": "PARAM" + }, + "definedBy": { + "name": "session", + "typeFullName": "javax.servlet.http.HttpSession", + "position": 1, + "lineNumber": 154, + "columnNumber": 25, + "label": "PARAM" + }, + "invokedCalls": [ + { + "callName": "getAttribute", + "resolvedMethod": "javax.servlet.http.HttpSession.getAttribute:java.lang.Object(java.lang.String)", + "paramTypes": ["java.lang.String"], + "returnType": "ANY", + "lineNumber": 183, + "columnNumber": 20 + } + ], + "argToCalls": [] + }, + { + "targetObj": { + "name": "model", + "typeFullName": "org.springframework.ui.Model", + "position": 4, + "lineNumber": 155, + "columnNumber": 49, + "label": "PARAM" + }, + "definedBy": { + "name": "model", + "typeFullName": "org.springframework.ui.Model", + "position": 4, + "lineNumber": 155, + "columnNumber": 49, + "label": "PARAM" + }, + "invokedCalls": [ + { + "callName": "addAttribute", + "resolvedMethod": "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", + "paramTypes": ["java.lang.String", "java.lang.String"], + "returnType": "ANY", + "lineNumber": 163, + "columnNumber": 4 }, { - "callName" : "addAttribute", - "resolvedMethod" : "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", - "paramTypes" : [ - "java.lang.String", - "java.lang.String" - ], - "returnType" : "ANY", - "lineNumber" : 175, - "columnNumber" : 4 + "callName": "addAttribute", + "resolvedMethod": "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", + "paramTypes": ["java.lang.String", "java.lang.String"], + "returnType": "ANY", + "lineNumber": 175, + "columnNumber": 4 }, { - "callName" : "addAttribute", - "resolvedMethod" : "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", - "paramTypes" : [ - "java.lang.String", - "java.lang.String" - ], - "returnType" : "ANY", - "lineNumber" : 191, - "columnNumber" : 4 + "callName": "addAttribute", + "resolvedMethod": "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", + "paramTypes": ["java.lang.String", "java.lang.String"], + "returnType": "ANY", + "lineNumber": 191, + "columnNumber": 4 }, { - "callName" : "addAttribute", - "resolvedMethod" : "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", - "paramTypes" : [ - "java.lang.String", - "float" - ], - "returnType" : "ANY", - "lineNumber" : 211, - "columnNumber" : 4 + "callName": "addAttribute", + "resolvedMethod": "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", + "paramTypes": ["java.lang.String", "float"], + "returnType": "ANY", + "lineNumber": 211, + "columnNumber": 4 }, { - "callName" : "addAttribute", - "resolvedMethod" : "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", - "paramTypes" : [ - "java.lang.String", - "java.lang.String" - ], - "returnType" : "ANY", - "lineNumber" : 212, - "columnNumber" : 4 + "callName": "addAttribute", + "resolvedMethod": "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", + "paramTypes": ["java.lang.String", "java.lang.String"], + "returnType": "ANY", + "lineNumber": 212, + "columnNumber": 4 }, { - "callName" : "addAttribute", - "resolvedMethod" : "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", - "paramTypes" : [ - "java.lang.String", - "java.lang.String" - ], - "returnType" : "ANY", - "lineNumber" : 214, - "columnNumber" : 4 + "callName": "addAttribute", + "resolvedMethod": "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", + "paramTypes": ["java.lang.String", "java.lang.String"], + "returnType": "ANY", + "lineNumber": 214, + "columnNumber": 4 } ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "fromAccStatus", - "typeFullName" : "int", - "lineNumber" : 204, - "columnNumber" : 3, - "label" : "LOCAL" - }, - "definedBy" : { - "name" : "jdbcTemplate.update", - "typeFullName" : "int", - "resolvedMethod" : "org.springframework.jdbc.core.JdbcTemplate.update:int(java.lang.String,java.lang.Object[])", - "lineNumber" : 204, - "columnNumber" : 23, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - { - "callName" : "valueOf", - "resolvedMethod" : "java.lang.String.valueOf:java.lang.String(int)", - "paramTypes" : [ - "int" - ], - "returnType" : "ANY", - "position" : 1, - "lineNumber" : 208, - "columnNumber" : 50 + "argToCalls": [] + }, + { + "targetObj": { + "name": "fromAccStatus", + "typeFullName": "int", + "lineNumber": 204, + "columnNumber": 3, + "label": "LOCAL" + }, + "definedBy": { + "name": "jdbcTemplate.update", + "typeFullName": "int", + "resolvedMethod": "org.springframework.jdbc.core.JdbcTemplate.update:int(java.lang.String,java.lang.Object[])", + "lineNumber": 204, + "columnNumber": 23, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [ + { + "callName": "valueOf", + "resolvedMethod": "java.lang.String.valueOf:java.lang.String(int)", + "paramTypes": ["int"], + "returnType": "ANY", + "position": 1, + "lineNumber": 208, + "columnNumber": 50 } ] }, { - "targetObj" : { - "name" : "fromAccountBalance", - "typeFullName" : "java.lang.Float", - "lineNumber" : 158, - "columnNumber" : 3, - "label" : "LOCAL" - }, - "definedBy" : { - "name" : "", - "typeFullName" : "float", - "resolvedMethod" : ".cast", - "lineNumber" : 185, - "columnNumber" : 24, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - { - "callName" : "valueOf", - "resolvedMethod" : "java.lang.String.valueOf:java.lang.String(java.lang.Object)", - "paramTypes" : [ - "java.lang.Float" - ], - "returnType" : "ANY", - "position" : 1, - "lineNumber" : 187, - "columnNumber" : 34 + "targetObj": { + "name": "fromAccountBalance", + "typeFullName": "java.lang.Float", + "lineNumber": 158, + "columnNumber": 3, + "label": "LOCAL" + }, + "definedBy": { + "name": "", + "typeFullName": "float", + "resolvedMethod": ".cast", + "lineNumber": 185, + "columnNumber": 24, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [ + { + "callName": "valueOf", + "resolvedMethod": "java.lang.String.valueOf:java.lang.String(java.lang.Object)", + "paramTypes": ["java.lang.Float"], + "returnType": "ANY", + "position": 1, + "lineNumber": 187, + "columnNumber": 34 } ] }, { - "targetObj" : { - "name" : "fromResultMap", - "typeFullName" : "java.util.Map", - "lineNumber" : 182, - "columnNumber" : 3, - "label" : "LOCAL" + "targetObj": { + "name": "fromResultMap", + "typeFullName": "java.util.Map", + "lineNumber": 182, + "columnNumber": 3, + "label": "LOCAL" }, - "definedBy" : { - "name" : "jdbcTemplate.queryForMap", - "typeFullName" : "java.util.Map", - "resolvedMethod" : "org.springframework.jdbc.core.JdbcTemplate.queryForMap:java.util.Map(java.lang.String,java.lang.Object[])", - "lineNumber" : 182, - "columnNumber" : 39, - "label" : "CALL" + "definedBy": { + "name": "jdbcTemplate.queryForMap", + "typeFullName": "java.util.Map", + "resolvedMethod": "org.springframework.jdbc.core.JdbcTemplate.queryForMap:java.util.Map(java.lang.String,java.lang.Object[])", + "lineNumber": 182, + "columnNumber": 39, + "label": "CALL" }, - "invokedCalls" : [ + "invokedCalls": [ { - "callName" : "get", - "resolvedMethod" : "java.util.Map.get:java.lang.Object(java.lang.Object)", - "paramTypes" : [ - "java.lang.String" - ], - "returnType" : "ANY", - "lineNumber" : 185, - "columnNumber" : 32 + "callName": "get", + "resolvedMethod": "java.util.Map.get:java.lang.Object(java.lang.Object)", + "paramTypes": ["java.lang.String"], + "returnType": "ANY", + "lineNumber": 185, + "columnNumber": 32 }, { - "callName" : "get", - "resolvedMethod" : "java.util.Map.get:java.lang.Object(java.lang.Object)", - "paramTypes" : [ - "java.lang.String" - ], - "returnType" : "ANY", - "lineNumber" : 186, - "columnNumber" : 26 + "callName": "get", + "resolvedMethod": "java.util.Map.get:java.lang.Object(java.lang.Object)", + "paramTypes": ["java.lang.String"], + "returnType": "ANY", + "lineNumber": 186, + "columnNumber": 26 } ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "valueOf", - "typeFullName" : "java.lang.String", - "resolvedMethod" : "java.lang.String.valueOf:java.lang.String(java.lang.Object)", - "lineNumber" : 206, - "columnNumber" : 58, - "label" : "CALL" - }, - "definedBy" : { - "name" : "valueOf", - "typeFullName" : "java.lang.String", - "resolvedMethod" : "java.lang.String.valueOf:java.lang.String(java.lang.Object)", - "lineNumber" : 206, - "columnNumber" : 58, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : ".subtraction", - "typeFullName" : "java.lang.Float", - "resolvedMethod" : ".subtraction", - "lineNumber" : 206, - "columnNumber" : 73, - "label" : "CALL" - }, - "definedBy" : { - "name" : ".subtraction", - "typeFullName" : "java.lang.Float", - "resolvedMethod" : ".subtraction", - "lineNumber" : 206, - "columnNumber" : 73, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : ".lessThan", - "typeFullName" : "boolean", - "resolvedMethod" : ".lessThan", - "lineNumber" : 251, - "columnNumber" : 19, - "label" : "CALL" - }, - "definedBy" : { - "name" : ".lessThan", - "typeFullName" : "boolean", - "resolvedMethod" : ".lessThan", - "lineNumber" : 251, - "columnNumber" : 19, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "toAccStatus", - "typeFullName" : "int", - "lineNumber" : 198, - "columnNumber" : 3, - "label" : "LOCAL" - }, - "definedBy" : { - "name" : "jdbcTemplate.update", - "typeFullName" : "int", - "resolvedMethod" : "org.springframework.jdbc.core.JdbcTemplate.update:int(java.lang.String,java.lang.Object[])", - "lineNumber" : 198, - "columnNumber" : 21, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - { - "callName" : "valueOf", - "resolvedMethod" : "java.lang.String.valueOf:java.lang.String(int)", - "paramTypes" : [ - "int" - ], - "returnType" : "ANY", - "position" : 1, - "lineNumber" : 201, - "columnNumber" : 50 + "argToCalls": [] + }, + { + "targetObj": { + "name": "valueOf", + "typeFullName": "java.lang.String", + "resolvedMethod": "java.lang.String.valueOf:java.lang.String(java.lang.Object)", + "lineNumber": 206, + "columnNumber": 58, + "label": "CALL" + }, + "definedBy": { + "name": "valueOf", + "typeFullName": "java.lang.String", + "resolvedMethod": "java.lang.String.valueOf:java.lang.String(java.lang.Object)", + "lineNumber": 206, + "columnNumber": 58, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": ".subtraction", + "typeFullName": "java.lang.Float", + "resolvedMethod": ".subtraction", + "lineNumber": 206, + "columnNumber": 73, + "label": "CALL" + }, + "definedBy": { + "name": ".subtraction", + "typeFullName": "java.lang.Float", + "resolvedMethod": ".subtraction", + "lineNumber": 206, + "columnNumber": 73, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": ".lessThan", + "typeFullName": "boolean", + "resolvedMethod": ".lessThan", + "lineNumber": 251, + "columnNumber": 19, + "label": "CALL" + }, + "definedBy": { + "name": ".lessThan", + "typeFullName": "boolean", + "resolvedMethod": ".lessThan", + "lineNumber": 251, + "columnNumber": 19, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "toAccStatus", + "typeFullName": "int", + "lineNumber": 198, + "columnNumber": 3, + "label": "LOCAL" + }, + "definedBy": { + "name": "jdbcTemplate.update", + "typeFullName": "int", + "resolvedMethod": "org.springframework.jdbc.core.JdbcTemplate.update:int(java.lang.String,java.lang.Object[])", + "lineNumber": 198, + "columnNumber": 21, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [ + { + "callName": "valueOf", + "resolvedMethod": "java.lang.String.valueOf:java.lang.String(int)", + "paramTypes": ["int"], + "returnType": "ANY", + "position": 1, + "lineNumber": 201, + "columnNumber": 50 } ] }, { - "targetObj" : { - "name" : "newBalance", - "typeFullName" : "float", - "lineNumber" : 189, - "columnNumber" : 3, - "label" : "LOCAL" - }, - "definedBy" : { - "name" : "fromAccountBalance - amount", - "typeFullName" : "java.lang.Float", - "resolvedMethod" : ".subtraction", - "lineNumber" : 189, - "columnNumber" : 22, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - { - "callName" : "addAttribute", - "resolvedMethod" : "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", - "paramTypes" : [ - "java.lang.String", - "float" - ], - "returnType" : "ANY", - "position" : 2, - "lineNumber" : 211, - "columnNumber" : 4 + "targetObj": { + "name": "newBalance", + "typeFullName": "float", + "lineNumber": 189, + "columnNumber": 3, + "label": "LOCAL" + }, + "definedBy": { + "name": "fromAccountBalance - amount", + "typeFullName": "java.lang.Float", + "resolvedMethod": ".subtraction", + "lineNumber": 189, + "columnNumber": 22, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [ + { + "callName": "addAttribute", + "resolvedMethod": "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", + "paramTypes": ["java.lang.String", "float"], + "returnType": "ANY", + "position": 2, + "lineNumber": 211, + "columnNumber": 4 } ] }, { - "targetObj" : { - "name" : "toAccountResultMap", - "typeFullName" : "java.util.Map", - "lineNumber" : 171, - "columnNumber" : 4, - "label" : "LOCAL" + "targetObj": { + "name": "toAccountResultMap", + "typeFullName": "java.util.Map", + "lineNumber": 171, + "columnNumber": 4, + "label": "LOCAL" }, - "definedBy" : { - "name" : "jdbcTemplate.queryForMap", - "typeFullName" : "java.util.Map", - "resolvedMethod" : "org.springframework.jdbc.core.JdbcTemplate.queryForMap:java.util.Map(java.lang.String,java.lang.Object[])", - "lineNumber" : 171, - "columnNumber" : 45, - "label" : "CALL" + "definedBy": { + "name": "jdbcTemplate.queryForMap", + "typeFullName": "java.util.Map", + "resolvedMethod": "org.springframework.jdbc.core.JdbcTemplate.queryForMap:java.util.Map(java.lang.String,java.lang.Object[])", + "lineNumber": 171, + "columnNumber": 45, + "label": "CALL" }, - "invokedCalls" : [ + "invokedCalls": [ { - "callName" : "get", - "resolvedMethod" : "java.util.Map.get:java.lang.Object(java.lang.Object)", - "paramTypes" : [ - "java.lang.String" - ], - "returnType" : "ANY", - "lineNumber" : 173, - "columnNumber" : 31 + "callName": "get", + "resolvedMethod": "java.util.Map.get:java.lang.Object(java.lang.Object)", + "paramTypes": ["java.lang.String"], + "returnType": "ANY", + "lineNumber": 173, + "columnNumber": 31 } ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "PostMapping", - "typeFullName" : "org.springframework.web.bind.annotation.PostMapping", - "resolvedMethod" : "@PostMapping(\"/transfer\")", - "lineNumber" : 153, - "columnNumber" : 2, - "label" : "ANNOTATION" - }, - "definedBy" : { - "name" : "PostMapping", - "typeFullName" : "org.springframework.web.bind.annotation.PostMapping", - "resolvedMethod" : "@PostMapping(\"/transfer\")", - "lineNumber" : 153, - "columnNumber" : 2, - "label" : "ANNOTATION" - }, - "invokedCalls" : [ - { - "callName" : "Transactional", - "resolvedMethod" : "org.springframework.transaction.annotation.Transactional", - "paramTypes" : [ - ], - "returnType" : "", - "lineNumber" : 152, - "columnNumber" : 2 + "argToCalls": [] + }, + { + "targetObj": { + "name": "PostMapping", + "typeFullName": "org.springframework.web.bind.annotation.PostMapping", + "resolvedMethod": "@PostMapping(\"/transfer\")", + "lineNumber": 153, + "columnNumber": 2, + "label": "ANNOTATION" + }, + "definedBy": { + "name": "PostMapping", + "typeFullName": "org.springframework.web.bind.annotation.PostMapping", + "resolvedMethod": "@PostMapping(\"/transfer\")", + "lineNumber": 153, + "columnNumber": 2, + "label": "ANNOTATION" + }, + "invokedCalls": [ + { + "callName": "Transactional", + "resolvedMethod": "org.springframework.transaction.annotation.Transactional", + "paramTypes": [], + "returnType": "", + "lineNumber": 152, + "columnNumber": 2 }, { - "callName" : "PostMapping", - "resolvedMethod" : "org.springframework.web.bind.annotation.PostMapping", - "paramTypes" : [ - ], - "returnType" : "", - "lineNumber" : 153, - "columnNumber" : 2 + "callName": "PostMapping", + "resolvedMethod": "org.springframework.web.bind.annotation.PostMapping", + "paramTypes": [], + "returnType": "", + "lineNumber": 153, + "columnNumber": 2 } ], - "argToCalls" : [ - ] + "argToCalls": [] } ] }, { - "code" : "", - "fullName" : "com.example.vulnspring.WebController.transfer:java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", - "signature" : "java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", - "fileName" : "src/main/java/com/example/vulnspring/WebController.java", - "lineNumber" : 140, - "columnNumber" : 2, - "usages" : [ - { - "targetObj" : { - "name" : "balance", - "typeFullName" : "float", - "lineNumber" : 146, - "columnNumber" : 3, - "label" : "LOCAL" - }, - "definedBy" : { - "name" : "", - "typeFullName" : "float", - "resolvedMethod" : ".cast", - "lineNumber" : 146, - "columnNumber" : 19, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - { - "callName" : "addAttribute", - "resolvedMethod" : "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", - "paramTypes" : [ - "java.lang.String", - "float" - ], - "returnType" : "ANY", - "position" : 2, - "lineNumber" : 147, - "columnNumber" : 3 - } - ] - }, - { - "targetObj" : { - "name" : "session", - "typeFullName" : "javax.servlet.http.HttpSession", - "position" : 1, - "lineNumber" : 141, - "columnNumber" : 25, - "label" : "PARAM" - }, - "definedBy" : { - "name" : "session", - "typeFullName" : "javax.servlet.http.HttpSession", - "position" : 1, - "lineNumber" : 141, - "columnNumber" : 25, - "label" : "PARAM" - }, - "invokedCalls" : [ - { - "callName" : "getAttribute", - "resolvedMethod" : "javax.servlet.http.HttpSession.getAttribute:java.lang.Object(java.lang.String)", - "paramTypes" : [ - "java.lang.String" - ], - "returnType" : "ANY", - "lineNumber" : 144, - "columnNumber" : 20 + "code": "", + "fullName": "com.example.vulnspring.WebController.transfer:java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", + "signature": "java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", + "fileName": "src/main/java/com/example/vulnspring/WebController.java", + "lineNumber": 140, + "columnNumber": 2, + "usages": [ + { + "targetObj": { + "name": "balance", + "typeFullName": "float", + "lineNumber": 146, + "columnNumber": 3, + "label": "LOCAL" + }, + "definedBy": { + "name": "", + "typeFullName": "float", + "resolvedMethod": ".cast", + "lineNumber": 146, + "columnNumber": 19, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [ + { + "callName": "addAttribute", + "resolvedMethod": "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", + "paramTypes": ["java.lang.String", "float"], + "returnType": "ANY", + "position": 2, + "lineNumber": 147, + "columnNumber": 3 } - ], - "argToCalls" : [ ] }, { - "targetObj" : { - "name" : "model", - "typeFullName" : "org.springframework.ui.Model", - "position" : 2, - "lineNumber" : 141, - "columnNumber" : 46, - "label" : "PARAM" + "targetObj": { + "name": "session", + "typeFullName": "javax.servlet.http.HttpSession", + "position": 1, + "lineNumber": 141, + "columnNumber": 25, + "label": "PARAM" }, - "definedBy" : { - "name" : "model", - "typeFullName" : "org.springframework.ui.Model", - "position" : 2, - "lineNumber" : 141, - "columnNumber" : 46, - "label" : "PARAM" + "definedBy": { + "name": "session", + "typeFullName": "javax.servlet.http.HttpSession", + "position": 1, + "lineNumber": 141, + "columnNumber": 25, + "label": "PARAM" }, - "invokedCalls" : [ + "invokedCalls": [ { - "callName" : "addAttribute", - "resolvedMethod" : "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", - "paramTypes" : [ - "java.lang.String", - "float" - ], - "returnType" : "ANY", - "lineNumber" : 147, - "columnNumber" : 3 + "callName": "getAttribute", + "resolvedMethod": "javax.servlet.http.HttpSession.getAttribute:java.lang.Object(java.lang.String)", + "paramTypes": ["java.lang.String"], + "returnType": "ANY", + "lineNumber": 144, + "columnNumber": 20 } ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "balanceResultMap", - "typeFullName" : "java.util.Map", - "lineNumber" : 143, - "columnNumber" : 3, - "label" : "LOCAL" - }, - "definedBy" : { - "name" : "jdbcTemplate.queryForMap", - "typeFullName" : "java.util.Map", - "resolvedMethod" : "org.springframework.jdbc.core.JdbcTemplate.queryForMap:java.util.Map(java.lang.String,java.lang.Object[])", - "lineNumber" : 143, - "columnNumber" : 42, - "label" : "CALL" - }, - "invokedCalls" : [ - { - "callName" : "get", - "resolvedMethod" : "java.util.Map.get:java.lang.Object(java.lang.Object)", - "paramTypes" : [ - "java.lang.String" - ], - "returnType" : "ANY", - "lineNumber" : 146, - "columnNumber" : 27 + "argToCalls": [] + }, + { + "targetObj": { + "name": "model", + "typeFullName": "org.springframework.ui.Model", + "position": 2, + "lineNumber": 141, + "columnNumber": 46, + "label": "PARAM" + }, + "definedBy": { + "name": "model", + "typeFullName": "org.springframework.ui.Model", + "position": 2, + "lineNumber": 141, + "columnNumber": 46, + "label": "PARAM" + }, + "invokedCalls": [ + { + "callName": "addAttribute", + "resolvedMethod": "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", + "paramTypes": ["java.lang.String", "float"], + "returnType": "ANY", + "lineNumber": 147, + "columnNumber": 3 } ], - "argToCalls" : [ - ] + "argToCalls": [] }, { - "targetObj" : { - "name" : "GetMapping", - "typeFullName" : "org.springframework.web.bind.annotation.GetMapping", - "resolvedMethod" : "@GetMapping(\"/transfer\")", - "lineNumber" : 140, - "columnNumber" : 2, - "label" : "ANNOTATION" + "targetObj": { + "name": "balanceResultMap", + "typeFullName": "java.util.Map", + "lineNumber": 143, + "columnNumber": 3, + "label": "LOCAL" }, - "definedBy" : { - "name" : "GetMapping", - "typeFullName" : "org.springframework.web.bind.annotation.GetMapping", - "resolvedMethod" : "@GetMapping(\"/transfer\")", - "lineNumber" : 140, - "columnNumber" : 2, - "label" : "ANNOTATION" + "definedBy": { + "name": "jdbcTemplate.queryForMap", + "typeFullName": "java.util.Map", + "resolvedMethod": "org.springframework.jdbc.core.JdbcTemplate.queryForMap:java.util.Map(java.lang.String,java.lang.Object[])", + "lineNumber": 143, + "columnNumber": 42, + "label": "CALL" }, - "invokedCalls" : [ + "invokedCalls": [ { - "callName" : "GetMapping", - "resolvedMethod" : "org.springframework.web.bind.annotation.GetMapping", - "paramTypes" : [ - ], - "returnType" : "", - "lineNumber" : 140, - "columnNumber" : 2 + "callName": "get", + "resolvedMethod": "java.util.Map.get:java.lang.Object(java.lang.Object)", + "paramTypes": ["java.lang.String"], + "returnType": "ANY", + "lineNumber": 146, + "columnNumber": 27 } ], - "argToCalls" : [ - ] + "argToCalls": [] + }, + { + "targetObj": { + "name": "GetMapping", + "typeFullName": "org.springframework.web.bind.annotation.GetMapping", + "resolvedMethod": "@GetMapping(\"/transfer\")", + "lineNumber": 140, + "columnNumber": 2, + "label": "ANNOTATION" + }, + "definedBy": { + "name": "GetMapping", + "typeFullName": "org.springframework.web.bind.annotation.GetMapping", + "resolvedMethod": "@GetMapping(\"/transfer\")", + "lineNumber": 140, + "columnNumber": 2, + "label": "ANNOTATION" + }, + "invokedCalls": [ + { + "callName": "GetMapping", + "resolvedMethod": "org.springframework.web.bind.annotation.GetMapping", + "paramTypes": [], + "returnType": "", + "lineNumber": 140, + "columnNumber": 2 + } + ], + "argToCalls": [] } ] }, { - "code" : "", - "fullName" : "com.example.vulnspring.WebController.update:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,org.springframework.ui.Model)", - "signature" : "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,org.springframework.ui.Model)", - "fileName" : "src/main/java/com/example/vulnspring/WebController.java", - "lineNumber" : 102, - "columnNumber" : 2, - "usages" : [ - { - "targetObj" : { - "name" : "PostMapping", - "typeFullName" : "org.springframework.web.bind.annotation.PostMapping", - "resolvedMethod" : "@PostMapping(\"/update\")", - "lineNumber" : 102, - "columnNumber" : 2, - "label" : "ANNOTATION" - }, - "definedBy" : { - "name" : "PostMapping", - "typeFullName" : "org.springframework.web.bind.annotation.PostMapping", - "resolvedMethod" : "@PostMapping(\"/update\")", - "lineNumber" : 102, - "columnNumber" : 2, - "label" : "ANNOTATION" - }, - "invokedCalls" : [ - { - "callName" : "PostMapping", - "resolvedMethod" : "org.springframework.web.bind.annotation.PostMapping", - "paramTypes" : [ - ], - "returnType" : "", - "lineNumber" : 102, - "columnNumber" : 2 + "code": "", + "fullName": "com.example.vulnspring.WebController.update:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,org.springframework.ui.Model)", + "signature": "java.lang.String(javax.servlet.http.HttpSession,java.lang.String,org.springframework.ui.Model)", + "fileName": "src/main/java/com/example/vulnspring/WebController.java", + "lineNumber": 102, + "columnNumber": 2, + "usages": [ + { + "targetObj": { + "name": "PostMapping", + "typeFullName": "org.springframework.web.bind.annotation.PostMapping", + "resolvedMethod": "@PostMapping(\"/update\")", + "lineNumber": 102, + "columnNumber": 2, + "label": "ANNOTATION" + }, + "definedBy": { + "name": "PostMapping", + "typeFullName": "org.springframework.web.bind.annotation.PostMapping", + "resolvedMethod": "@PostMapping(\"/update\")", + "lineNumber": 102, + "columnNumber": 2, + "label": "ANNOTATION" + }, + "invokedCalls": [ + { + "callName": "PostMapping", + "resolvedMethod": "org.springframework.web.bind.annotation.PostMapping", + "paramTypes": [], + "returnType": "", + "lineNumber": 102, + "columnNumber": 2 } ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "status", - "typeFullName" : "int", - "lineNumber" : 105, - "columnNumber" : 3, - "label" : "LOCAL" - }, - "definedBy" : { - "name" : "jdbcTemplate.update", - "typeFullName" : "int", - "resolvedMethod" : "org.springframework.jdbc.core.JdbcTemplate.update:int(java.lang.String,java.lang.Object[])", - "lineNumber" : 105, - "columnNumber" : 16, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - { - "callName" : "valueOf", - "resolvedMethod" : "java.lang.String.valueOf:java.lang.String(int)", - "paramTypes" : [ - "int" - ], - "returnType" : "ANY", - "position" : 1, - "lineNumber" : 107, - "columnNumber" : 50 + "argToCalls": [] + }, + { + "targetObj": { + "name": "status", + "typeFullName": "int", + "lineNumber": 105, + "columnNumber": 3, + "label": "LOCAL" + }, + "definedBy": { + "name": "jdbcTemplate.update", + "typeFullName": "int", + "resolvedMethod": "org.springframework.jdbc.core.JdbcTemplate.update:int(java.lang.String,java.lang.Object[])", + "lineNumber": 105, + "columnNumber": 16, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [ + { + "callName": "valueOf", + "resolvedMethod": "java.lang.String.valueOf:java.lang.String(int)", + "paramTypes": ["int"], + "returnType": "ANY", + "position": 1, + "lineNumber": 107, + "columnNumber": 50 } ] }, { - "targetObj" : { - "name" : "model", - "typeFullName" : "org.springframework.ui.Model", - "position" : 3, - "lineNumber" : 103, - "columnNumber" : 92, - "label" : "PARAM" + "targetObj": { + "name": "model", + "typeFullName": "org.springframework.ui.Model", + "position": 3, + "lineNumber": 103, + "columnNumber": 92, + "label": "PARAM" }, - "definedBy" : { - "name" : "model", - "typeFullName" : "org.springframework.ui.Model", - "position" : 3, - "lineNumber" : 103, - "columnNumber" : 92, - "label" : "PARAM" + "definedBy": { + "name": "model", + "typeFullName": "org.springframework.ui.Model", + "position": 3, + "lineNumber": 103, + "columnNumber": 92, + "label": "PARAM" }, - "invokedCalls" : [ + "invokedCalls": [ { - "callName" : "addAttribute", - "resolvedMethod" : "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", - "paramTypes" : [ - "java.lang.String", - "java.lang.String" - ], - "returnType" : "ANY", - "lineNumber" : 110, - "columnNumber" : 4 + "callName": "addAttribute", + "resolvedMethod": "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", + "paramTypes": ["java.lang.String", "java.lang.String"], + "returnType": "ANY", + "lineNumber": 110, + "columnNumber": 4 }, { - "callName" : "addAttribute", - "resolvedMethod" : "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", - "paramTypes" : [ - "java.lang.String", - "java.lang.String" - ], - "returnType" : "ANY", - "lineNumber" : 112, - "columnNumber" : 4 + "callName": "addAttribute", + "resolvedMethod": "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", + "paramTypes": ["java.lang.String", "java.lang.String"], + "returnType": "ANY", + "lineNumber": 112, + "columnNumber": 4 } ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "valueOf", - "typeFullName" : "java.lang.String", - "resolvedMethod" : "java.lang.String.valueOf:java.lang.String(int)", - "lineNumber" : 208, - "columnNumber" : 50, - "label" : "CALL" - }, - "definedBy" : { - "name" : "valueOf", - "typeFullName" : "java.lang.String", - "resolvedMethod" : "java.lang.String.valueOf:java.lang.String(int)", - "lineNumber" : 208, - "columnNumber" : 50, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "session", - "typeFullName" : "javax.servlet.http.HttpSession", - "position" : 1, - "lineNumber" : 103, - "columnNumber" : 23, - "label" : "PARAM" - }, - "definedBy" : { - "name" : "session", - "typeFullName" : "javax.servlet.http.HttpSession", - "position" : 1, - "lineNumber" : 103, - "columnNumber" : 23, - "label" : "PARAM" - }, - "invokedCalls" : [ - { - "callName" : "getAttribute", - "resolvedMethod" : "javax.servlet.http.HttpSession.getAttribute:java.lang.Object(java.lang.String)", - "paramTypes" : [ - "java.lang.String" - ], - "returnType" : "ANY", - "lineNumber" : 105, - "columnNumber" : 71 + "argToCalls": [] + }, + { + "targetObj": { + "name": "valueOf", + "typeFullName": "java.lang.String", + "resolvedMethod": "java.lang.String.valueOf:java.lang.String(int)", + "lineNumber": 208, + "columnNumber": 50, + "label": "CALL" + }, + "definedBy": { + "name": "valueOf", + "typeFullName": "java.lang.String", + "resolvedMethod": "java.lang.String.valueOf:java.lang.String(int)", + "lineNumber": 208, + "columnNumber": 50, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "session", + "typeFullName": "javax.servlet.http.HttpSession", + "position": 1, + "lineNumber": 103, + "columnNumber": 23, + "label": "PARAM" + }, + "definedBy": { + "name": "session", + "typeFullName": "javax.servlet.http.HttpSession", + "position": 1, + "lineNumber": 103, + "columnNumber": 23, + "label": "PARAM" + }, + "invokedCalls": [ + { + "callName": "getAttribute", + "resolvedMethod": "javax.servlet.http.HttpSession.getAttribute:java.lang.Object(java.lang.String)", + "paramTypes": ["java.lang.String"], + "returnType": "ANY", + "lineNumber": 105, + "columnNumber": 71 }, { - "callName" : "getAttribute", - "resolvedMethod" : "javax.servlet.http.HttpSession.getAttribute:java.lang.Object(java.lang.String)", - "paramTypes" : [ - "java.lang.String" - ], - "returnType" : "ANY", - "lineNumber" : 106, - "columnNumber" : 67 + "callName": "getAttribute", + "resolvedMethod": "javax.servlet.http.HttpSession.getAttribute:java.lang.Object(java.lang.String)", + "paramTypes": ["java.lang.String"], + "returnType": "ANY", + "lineNumber": 106, + "columnNumber": 67 } ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "newName", - "typeFullName" : "java.lang.String", - "position" : 2, - "lineNumber" : 103, - "columnNumber" : 44, - "label" : "PARAM" - }, - "definedBy" : { - "name" : "newName", - "typeFullName" : "java.lang.String", - "position" : 2, - "lineNumber" : 103, - "columnNumber" : 44, - "label" : "PARAM" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - { - "callName" : "addAttribute", - "resolvedMethod" : "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", - "paramTypes" : [ - "java.lang.String", - "java.lang.String" - ], - "returnType" : "ANY", - "position" : 2, - "lineNumber" : 112, - "columnNumber" : 4 + "argToCalls": [] + }, + { + "targetObj": { + "name": "newName", + "typeFullName": "java.lang.String", + "position": 2, + "lineNumber": 103, + "columnNumber": 44, + "label": "PARAM" + }, + "definedBy": { + "name": "newName", + "typeFullName": "java.lang.String", + "position": 2, + "lineNumber": 103, + "columnNumber": 44, + "label": "PARAM" + }, + "invokedCalls": [], + "argToCalls": [ + { + "callName": "addAttribute", + "resolvedMethod": "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", + "paramTypes": ["java.lang.String", "java.lang.String"], + "returnType": "ANY", + "position": 2, + "lineNumber": 112, + "columnNumber": 4 } ] }, { - "targetObj" : { - "name" : "info", - "typeFullName" : "void", - "resolvedMethod" : "org.slf4j.Logger.info:void(java.lang.String)", - "lineNumber" : 208, - "columnNumber" : 3, - "label" : "CALL" - }, - "definedBy" : { - "name" : "info", - "typeFullName" : "void", - "resolvedMethod" : "org.slf4j.Logger.info:void(java.lang.String)", - "lineNumber" : 208, - "columnNumber" : 3, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "update", - "typeFullName" : "int", - "resolvedMethod" : "org.springframework.jdbc.core.JdbcTemplate.update:int(java.lang.String,java.lang.Object[])", - "lineNumber" : 204, - "columnNumber" : 23, - "label" : "CALL" - }, - "definedBy" : { - "name" : "update", - "typeFullName" : "int", - "resolvedMethod" : "org.springframework.jdbc.core.JdbcTemplate.update:int(java.lang.String,java.lang.Object[])", - "lineNumber" : 204, - "columnNumber" : 23, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] + "targetObj": { + "name": "info", + "typeFullName": "void", + "resolvedMethod": "org.slf4j.Logger.info:void(java.lang.String)", + "lineNumber": 208, + "columnNumber": 3, + "label": "CALL" + }, + "definedBy": { + "name": "info", + "typeFullName": "void", + "resolvedMethod": "org.slf4j.Logger.info:void(java.lang.String)", + "lineNumber": 208, + "columnNumber": 3, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "update", + "typeFullName": "int", + "resolvedMethod": "org.springframework.jdbc.core.JdbcTemplate.update:int(java.lang.String,java.lang.Object[])", + "lineNumber": 204, + "columnNumber": 23, + "label": "CALL" + }, + "definedBy": { + "name": "update", + "typeFullName": "int", + "resolvedMethod": "org.springframework.jdbc.core.JdbcTemplate.update:int(java.lang.String,java.lang.Object[])", + "lineNumber": 204, + "columnNumber": 23, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] } ] }, { - "code" : "", - "fullName" : "com.example.vulnspring.WebController.update:java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", - "signature" : "java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", - "fileName" : "src/main/java/com/example/vulnspring/WebController.java", - "lineNumber" : 91, - "columnNumber" : 2, - "usages" : [ - { - "targetObj" : { - "name" : "model", - "typeFullName" : "org.springframework.ui.Model", - "position" : 2, - "lineNumber" : 92, - "columnNumber" : 44, - "label" : "PARAM" - }, - "definedBy" : { - "name" : "model", - "typeFullName" : "org.springframework.ui.Model", - "position" : 2, - "lineNumber" : 92, - "columnNumber" : 44, - "label" : "PARAM" - }, - "invokedCalls" : [ - { - "callName" : "addAttribute", - "resolvedMethod" : "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", - "paramTypes" : [ - "java.lang.String", - "java.lang.Object" - ], - "returnType" : "ANY", - "lineNumber" : 98, - "columnNumber" : 3 + "code": "", + "fullName": "com.example.vulnspring.WebController.update:java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", + "signature": "java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", + "fileName": "src/main/java/com/example/vulnspring/WebController.java", + "lineNumber": 91, + "columnNumber": 2, + "usages": [ + { + "targetObj": { + "name": "model", + "typeFullName": "org.springframework.ui.Model", + "position": 2, + "lineNumber": 92, + "columnNumber": 44, + "label": "PARAM" + }, + "definedBy": { + "name": "model", + "typeFullName": "org.springframework.ui.Model", + "position": 2, + "lineNumber": 92, + "columnNumber": 44, + "label": "PARAM" + }, + "invokedCalls": [ + { + "callName": "addAttribute", + "resolvedMethod": "org.springframework.ui.Model.addAttribute:org.springframework.ui.Model(java.lang.String,java.lang.Object)", + "paramTypes": ["java.lang.String", "java.lang.Object"], + "returnType": "ANY", + "lineNumber": 98, + "columnNumber": 3 } ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "queryForMap", - "typeFullName" : "java.util.Map", - "resolvedMethod" : "org.springframework.jdbc.core.JdbcTemplate.queryForMap:java.util.Map(java.lang.String,java.lang.Object[])", - "lineNumber" : 182, - "columnNumber" : 39, - "label" : "CALL" - }, - "definedBy" : { - "name" : "queryForMap", - "typeFullName" : "java.util.Map", - "resolvedMethod" : "org.springframework.jdbc.core.JdbcTemplate.queryForMap:java.util.Map(java.lang.String,java.lang.Object[])", - "lineNumber" : 182, - "columnNumber" : 39, - "label" : "CALL" - }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "GetMapping", - "typeFullName" : "org.springframework.web.bind.annotation.GetMapping", - "resolvedMethod" : "@GetMapping(\"/update\")", - "lineNumber" : 91, - "columnNumber" : 2, - "label" : "ANNOTATION" - }, - "definedBy" : { - "name" : "GetMapping", - "typeFullName" : "org.springframework.web.bind.annotation.GetMapping", - "resolvedMethod" : "@GetMapping(\"/update\")", - "lineNumber" : 91, - "columnNumber" : 2, - "label" : "ANNOTATION" - }, - "invokedCalls" : [ - { - "callName" : "GetMapping", - "resolvedMethod" : "org.springframework.web.bind.annotation.GetMapping", - "paramTypes" : [ - ], - "returnType" : "", - "lineNumber" : 91, - "columnNumber" : 2 + "argToCalls": [] + }, + { + "targetObj": { + "name": "queryForMap", + "typeFullName": "java.util.Map", + "resolvedMethod": "org.springframework.jdbc.core.JdbcTemplate.queryForMap:java.util.Map(java.lang.String,java.lang.Object[])", + "lineNumber": 182, + "columnNumber": 39, + "label": "CALL" + }, + "definedBy": { + "name": "queryForMap", + "typeFullName": "java.util.Map", + "resolvedMethod": "org.springframework.jdbc.core.JdbcTemplate.queryForMap:java.util.Map(java.lang.String,java.lang.Object[])", + "lineNumber": 182, + "columnNumber": 39, + "label": "CALL" + }, + "invokedCalls": [], + "argToCalls": [] + }, + { + "targetObj": { + "name": "GetMapping", + "typeFullName": "org.springframework.web.bind.annotation.GetMapping", + "resolvedMethod": "@GetMapping(\"/update\")", + "lineNumber": 91, + "columnNumber": 2, + "label": "ANNOTATION" + }, + "definedBy": { + "name": "GetMapping", + "typeFullName": "org.springframework.web.bind.annotation.GetMapping", + "resolvedMethod": "@GetMapping(\"/update\")", + "lineNumber": 91, + "columnNumber": 2, + "label": "ANNOTATION" + }, + "invokedCalls": [ + { + "callName": "GetMapping", + "resolvedMethod": "org.springframework.web.bind.annotation.GetMapping", + "paramTypes": [], + "returnType": "", + "lineNumber": 91, + "columnNumber": 2 } ], - "argToCalls" : [ - ] + "argToCalls": [] }, { - "targetObj" : { - "name" : "resultMap", - "typeFullName" : "java.util.Map", - "lineNumber" : 94, - "columnNumber" : 3, - "label" : "LOCAL" + "targetObj": { + "name": "resultMap", + "typeFullName": "java.util.Map", + "lineNumber": 94, + "columnNumber": 3, + "label": "LOCAL" }, - "definedBy" : { - "name" : "jdbcTemplate.queryForMap", - "typeFullName" : "java.util.Map", - "resolvedMethod" : "org.springframework.jdbc.core.JdbcTemplate.queryForMap:java.util.Map(java.lang.String,java.lang.Object[])", - "lineNumber" : 94, - "columnNumber" : 35, - "label" : "CALL" + "definedBy": { + "name": "jdbcTemplate.queryForMap", + "typeFullName": "java.util.Map", + "resolvedMethod": "org.springframework.jdbc.core.JdbcTemplate.queryForMap:java.util.Map(java.lang.String,java.lang.Object[])", + "lineNumber": 94, + "columnNumber": 35, + "label": "CALL" }, - "invokedCalls" : [ + "invokedCalls": [ { - "callName" : "get", - "resolvedMethod" : "java.util.Map.get:java.lang.Object(java.lang.Object)", - "paramTypes" : [ - "java.lang.String" - ], - "returnType" : "ANY", - "lineNumber" : 98, - "columnNumber" : 30 + "callName": "get", + "resolvedMethod": "java.util.Map.get:java.lang.Object(java.lang.Object)", + "paramTypes": ["java.lang.String"], + "returnType": "ANY", + "lineNumber": 98, + "columnNumber": 30 } ], - "argToCalls" : [ - ] - }, - { - "targetObj" : { - "name" : "session", - "typeFullName" : "javax.servlet.http.HttpSession", - "position" : 1, - "lineNumber" : 92, - "columnNumber" : 23, - "label" : "PARAM" - }, - "definedBy" : { - "name" : "session", - "typeFullName" : "javax.servlet.http.HttpSession", - "position" : 1, - "lineNumber" : 92, - "columnNumber" : 23, - "label" : "PARAM" - }, - "invokedCalls" : [ - { - "callName" : "getAttribute", - "resolvedMethod" : "javax.servlet.http.HttpSession.getAttribute:java.lang.Object(java.lang.String)", - "paramTypes" : [ - "java.lang.String" - ], - "returnType" : "ANY", - "lineNumber" : 95, - "columnNumber" : 20 + "argToCalls": [] + }, + { + "targetObj": { + "name": "session", + "typeFullName": "javax.servlet.http.HttpSession", + "position": 1, + "lineNumber": 92, + "columnNumber": 23, + "label": "PARAM" + }, + "definedBy": { + "name": "session", + "typeFullName": "javax.servlet.http.HttpSession", + "position": 1, + "lineNumber": 92, + "columnNumber": 23, + "label": "PARAM" + }, + "invokedCalls": [ + { + "callName": "getAttribute", + "resolvedMethod": "javax.servlet.http.HttpSession.getAttribute:java.lang.Object(java.lang.String)", + "paramTypes": ["java.lang.String"], + "returnType": "ANY", + "lineNumber": 95, + "columnNumber": 20 } ], - "argToCalls" : [ - ] + "argToCalls": [] }, { - "targetObj" : { - "name" : "get", - "typeFullName" : "java.lang.Object", - "resolvedMethod" : "java.util.Map.get:java.lang.Object(java.lang.Object)", - "lineNumber" : 186, - "columnNumber" : 26, - "label" : "CALL" + "targetObj": { + "name": "get", + "typeFullName": "java.lang.Object", + "resolvedMethod": "java.util.Map.get:java.lang.Object(java.lang.Object)", + "lineNumber": 186, + "columnNumber": 26, + "label": "CALL" }, - "definedBy" : { - "name" : "get", - "typeFullName" : "java.lang.Object", - "resolvedMethod" : "java.util.Map.get:java.lang.Object(java.lang.Object)", - "lineNumber" : 186, - "columnNumber" : 26, - "label" : "CALL" + "definedBy": { + "name": "get", + "typeFullName": "java.lang.Object", + "resolvedMethod": "java.util.Map.get:java.lang.Object(java.lang.Object)", + "lineNumber": 186, + "columnNumber": 26, + "label": "CALL" }, - "invokedCalls" : [ - ], - "argToCalls" : [ - ] + "invokedCalls": [], + "argToCalls": [] } ] } ], - "userDefinedTypes" : [ + "userDefinedTypes": [ { - "name" : "com.example.vulnspring.SessionFilter", - "fields" : [ - { - "name" : "logger", - "typeFullName" : "org.slf4j.Logger", - "lineNumber" : 21, - "columnNumber" : 30, - "label" : "LOCAL" + "name": "com.example.vulnspring.SessionFilter", + "fields": [ + { + "name": "logger", + "typeFullName": "org.slf4j.Logger", + "lineNumber": 21, + "columnNumber": 30, + "label": "LOCAL" } ], - "procedures" : [ + "procedures": [ { - "callName" : "doFilter", - "resolvedMethod" : "com.example.vulnspring.SessionFilter.doFilter:void(javax.servlet.ServletRequest,javax.servlet.ServletResponse,javax.servlet.FilterChain)", - "paramTypes" : [ + "callName": "doFilter", + "resolvedMethod": "com.example.vulnspring.SessionFilter.doFilter:void(javax.servlet.ServletRequest,javax.servlet.ServletResponse,javax.servlet.FilterChain)", + "paramTypes": [ "com.example.vulnspring.SessionFilter", "javax.servlet.ServletRequest", "javax.servlet.ServletResponse", "javax.servlet.FilterChain" ], - "returnType" : "void", - "lineNumber" : 23, - "columnNumber" : 2 + "returnType": "void", + "lineNumber": 23, + "columnNumber": 2 }, { - "callName" : "", - "resolvedMethod" : "com.example.vulnspring.SessionFilter.:void()", - "paramTypes" : [ - "com.example.vulnspring.SessionFilter" - ], - "returnType" : "void", - "lineNumber" : null, - "columnNumber" : null + "callName": "", + "resolvedMethod": "com.example.vulnspring.SessionFilter.:void()", + "paramTypes": ["com.example.vulnspring.SessionFilter"], + "returnType": "void", + "lineNumber": null, + "columnNumber": null }, { - "callName" : "", - "resolvedMethod" : "com.example.vulnspring.SessionFilter.:void()", - "paramTypes" : [ - ], - "returnType" : "void", - "lineNumber" : null, - "columnNumber" : null + "callName": "", + "resolvedMethod": "com.example.vulnspring.SessionFilter.:void()", + "paramTypes": [], + "returnType": "void", + "lineNumber": null, + "columnNumber": null } ], - "fileName" : "src/main/java/com/example/vulnspring/SessionFilter.java", - "lineNumber" : 18, - "columnNumber" : 1 + "fileName": "src/main/java/com/example/vulnspring/SessionFilter.java", + "lineNumber": 18, + "columnNumber": 1 }, { - "name" : "com.example.vulnspring.VulnSpringApplication", - "fields" : [ - ], - "procedures" : [ - { - "callName" : "main", - "resolvedMethod" : "com.example.vulnspring.VulnSpringApplication.main:void(java.lang.String[])", - "paramTypes" : [ - "java.lang.String[]" - ], - "returnType" : "void", - "lineNumber" : 9, - "columnNumber" : 2 - }, - { - "callName" : "", - "resolvedMethod" : "com.example.vulnspring.VulnSpringApplication.:void()", - "paramTypes" : [ - "com.example.vulnspring.VulnSpringApplication" - ], - "returnType" : "void", - "lineNumber" : null, - "columnNumber" : null + "name": "com.example.vulnspring.VulnSpringApplication", + "fields": [], + "procedures": [ + { + "callName": "main", + "resolvedMethod": "com.example.vulnspring.VulnSpringApplication.main:void(java.lang.String[])", + "paramTypes": ["java.lang.String[]"], + "returnType": "void", + "lineNumber": 9, + "columnNumber": 2 + }, + { + "callName": "", + "resolvedMethod": "com.example.vulnspring.VulnSpringApplication.:void()", + "paramTypes": ["com.example.vulnspring.VulnSpringApplication"], + "returnType": "void", + "lineNumber": null, + "columnNumber": null } ], - "fileName" : "src/main/java/com/example/vulnspring/VulnSpringApplication.java", - "lineNumber" : 6, - "columnNumber" : 1 + "fileName": "src/main/java/com/example/vulnspring/VulnSpringApplication.java", + "lineNumber": 6, + "columnNumber": 1 }, { - "name" : "com.example.vulnspring.WebController", - "fields" : [ + "name": "com.example.vulnspring.WebController", + "fields": [ { - "name" : "jdbcTemplate", - "typeFullName" : "org.springframework.jdbc.core.JdbcTemplate", - "lineNumber" : 42, - "columnNumber" : 15, - "label" : "LOCAL" + "name": "jdbcTemplate", + "typeFullName": "org.springframework.jdbc.core.JdbcTemplate", + "lineNumber": 42, + "columnNumber": 15, + "label": "LOCAL" }, { - "name" : "logger", - "typeFullName" : "org.slf4j.Logger", - "lineNumber" : 44, - "columnNumber" : 30, - "label" : "LOCAL" + "name": "logger", + "typeFullName": "org.slf4j.Logger", + "lineNumber": 44, + "columnNumber": 30, + "label": "LOCAL" } ], - "procedures" : [ + "procedures": [ { - "callName" : "home", - "resolvedMethod" : "com.example.vulnspring.WebController.home:java.lang.String(org.springframework.ui.Model,javax.servlet.http.HttpSession)", - "paramTypes" : [ + "callName": "home", + "resolvedMethod": "com.example.vulnspring.WebController.home:java.lang.String(org.springframework.ui.Model,javax.servlet.http.HttpSession)", + "paramTypes": [ "com.example.vulnspring.WebController", "org.springframework.ui.Model", "javax.servlet.http.HttpSession" ], - "returnType" : "java.lang.String", - "lineNumber" : 46, - "columnNumber" : 2 + "returnType": "java.lang.String", + "lineNumber": 46, + "columnNumber": 2 }, { - "callName" : "login", - "resolvedMethod" : "com.example.vulnspring.WebController.login:java.lang.String(org.springframework.ui.Model)", - "paramTypes" : [ + "callName": "login", + "resolvedMethod": "com.example.vulnspring.WebController.login:java.lang.String(org.springframework.ui.Model)", + "paramTypes": [ "com.example.vulnspring.WebController", "org.springframework.ui.Model" ], - "returnType" : "java.lang.String", - "lineNumber" : 52, - "columnNumber" : 2 + "returnType": "java.lang.String", + "lineNumber": 52, + "columnNumber": 2 }, { - "callName" : "login", - "resolvedMethod" : "com.example.vulnspring.WebController.login:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.String,org.springframework.ui.Model)", - "paramTypes" : [ + "callName": "login", + "resolvedMethod": "com.example.vulnspring.WebController.login:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.String,org.springframework.ui.Model)", + "paramTypes": [ "com.example.vulnspring.WebController", "javax.servlet.http.HttpSession", "java.lang.String", "java.lang.String", "org.springframework.ui.Model" ], - "returnType" : "java.lang.String", - "lineNumber" : 57, - "columnNumber" : 2 + "returnType": "java.lang.String", + "lineNumber": 57, + "columnNumber": 2 }, { - "callName" : "loginSuccess", - "resolvedMethod" : "com.example.vulnspring.WebController.loginSuccess:boolean(java.lang.String,java.lang.String)", - "paramTypes" : [ + "callName": "loginSuccess", + "resolvedMethod": "com.example.vulnspring.WebController.loginSuccess:boolean(java.lang.String,java.lang.String)", + "paramTypes": [ "com.example.vulnspring.WebController", "java.lang.String", "java.lang.String" ], - "returnType" : "boolean", - "lineNumber" : 69, - "columnNumber" : 2 + "returnType": "boolean", + "lineNumber": 69, + "columnNumber": 2 }, { - "callName" : "logout", - "resolvedMethod" : "com.example.vulnspring.WebController.logout:java.lang.String(javax.servlet.http.HttpSession)", - "paramTypes" : [ + "callName": "logout", + "resolvedMethod": "com.example.vulnspring.WebController.logout:java.lang.String(javax.servlet.http.HttpSession)", + "paramTypes": [ "com.example.vulnspring.WebController", "javax.servlet.http.HttpSession" ], - "returnType" : "java.lang.String", - "lineNumber" : 85, - "columnNumber" : 2 + "returnType": "java.lang.String", + "lineNumber": 85, + "columnNumber": 2 }, { - "callName" : "update", - "resolvedMethod" : "com.example.vulnspring.WebController.update:java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", - "paramTypes" : [ + "callName": "update", + "resolvedMethod": "com.example.vulnspring.WebController.update:java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", + "paramTypes": [ "com.example.vulnspring.WebController", "javax.servlet.http.HttpSession", "org.springframework.ui.Model" ], - "returnType" : "java.lang.String", - "lineNumber" : 91, - "columnNumber" : 2 + "returnType": "java.lang.String", + "lineNumber": 91, + "columnNumber": 2 }, { - "callName" : "update", - "resolvedMethod" : "com.example.vulnspring.WebController.update:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,org.springframework.ui.Model)", - "paramTypes" : [ + "callName": "update", + "resolvedMethod": "com.example.vulnspring.WebController.update:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,org.springframework.ui.Model)", + "paramTypes": [ "com.example.vulnspring.WebController", "javax.servlet.http.HttpSession", "java.lang.String", "org.springframework.ui.Model" ], - "returnType" : "java.lang.String", - "lineNumber" : 102, - "columnNumber" : 2 + "returnType": "java.lang.String", + "lineNumber": 102, + "columnNumber": 2 }, { - "callName" : "checkDB", - "resolvedMethod" : "com.example.vulnspring.WebController.checkDB:java.lang.String(java.lang.String,org.springframework.ui.Model)", - "paramTypes" : [ + "callName": "checkDB", + "resolvedMethod": "com.example.vulnspring.WebController.checkDB:java.lang.String(java.lang.String,org.springframework.ui.Model)", + "paramTypes": [ "com.example.vulnspring.WebController", "java.lang.String", "org.springframework.ui.Model" ], - "returnType" : "java.lang.String", - "lineNumber" : 117, - "columnNumber" : 2 + "returnType": "java.lang.String", + "lineNumber": 117, + "columnNumber": 2 }, { - "callName" : "checkDB", - "resolvedMethod" : "com.example.vulnspring.WebController.checkDB:java.lang.String()", - "paramTypes" : [ - "com.example.vulnspring.WebController" - ], - "returnType" : "java.lang.String", - "lineNumber" : 135, - "columnNumber" : 2 + "callName": "checkDB", + "resolvedMethod": "com.example.vulnspring.WebController.checkDB:java.lang.String()", + "paramTypes": ["com.example.vulnspring.WebController"], + "returnType": "java.lang.String", + "lineNumber": 135, + "columnNumber": 2 }, { - "callName" : "transfer", - "resolvedMethod" : "com.example.vulnspring.WebController.transfer:java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", - "paramTypes" : [ + "callName": "transfer", + "resolvedMethod": "com.example.vulnspring.WebController.transfer:java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", + "paramTypes": [ "com.example.vulnspring.WebController", "javax.servlet.http.HttpSession", "org.springframework.ui.Model" ], - "returnType" : "java.lang.String", - "lineNumber" : 140, - "columnNumber" : 2 + "returnType": "java.lang.String", + "lineNumber": 140, + "columnNumber": 2 }, { - "callName" : "transfer", - "resolvedMethod" : "com.example.vulnspring.WebController.transfer:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", - "paramTypes" : [ + "callName": "transfer", + "resolvedMethod": "com.example.vulnspring.WebController.transfer:java.lang.String(javax.servlet.http.HttpSession,java.lang.String,java.lang.Float,org.springframework.ui.Model)", + "paramTypes": [ "com.example.vulnspring.WebController", "javax.servlet.http.HttpSession", "java.lang.String", "java.lang.Float", "org.springframework.ui.Model" ], - "returnType" : "java.lang.String", - "lineNumber" : 152, - "columnNumber" : 2 + "returnType": "java.lang.String", + "lineNumber": 152, + "columnNumber": 2 }, { - "callName" : "issue", - "resolvedMethod" : "com.example.vulnspring.WebController.issue:java.lang.String(org.springframework.ui.Model)", - "paramTypes" : [ + "callName": "issue", + "resolvedMethod": "com.example.vulnspring.WebController.issue:java.lang.String(org.springframework.ui.Model)", + "paramTypes": [ "com.example.vulnspring.WebController", "org.springframework.ui.Model" ], - "returnType" : "java.lang.String", - "lineNumber" : 221, - "columnNumber" : 2 + "returnType": "java.lang.String", + "lineNumber": 221, + "columnNumber": 2 }, { - "callName" : "issue", - "resolvedMethod" : "com.example.vulnspring.WebController.issue:java.lang.String(org.springframework.ui.Model,java.lang.String)", - "paramTypes" : [ + "callName": "issue", + "resolvedMethod": "com.example.vulnspring.WebController.issue:java.lang.String(org.springframework.ui.Model,java.lang.String)", + "paramTypes": [ "com.example.vulnspring.WebController", "org.springframework.ui.Model", "java.lang.String" ], - "returnType" : "java.lang.String", - "lineNumber" : 226, - "columnNumber" : 2 + "returnType": "java.lang.String", + "lineNumber": 226, + "columnNumber": 2 }, { - "callName" : "getNodeString", - "resolvedMethod" : "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", - "paramTypes" : [ + "callName": "getNodeString", + "resolvedMethod": "com.example.vulnspring.WebController.getNodeString:java.lang.StringBuffer(org.w3c.dom.Node,java.lang.StringBuffer)", + "paramTypes": [ "com.example.vulnspring.WebController", "org.w3c.dom.Node", "java.lang.StringBuffer" ], - "returnType" : "java.lang.StringBuffer", - "lineNumber" : 241, - "columnNumber" : 2 + "returnType": "java.lang.StringBuffer", + "lineNumber": 241, + "columnNumber": 2 }, { - "callName" : "support", - "resolvedMethod" : "com.example.vulnspring.WebController.support:java.lang.String(java.lang.String)", - "paramTypes" : [ + "callName": "support", + "resolvedMethod": "com.example.vulnspring.WebController.support:java.lang.String(java.lang.String)", + "paramTypes": [ "com.example.vulnspring.WebController", "java.lang.String" ], - "returnType" : "java.lang.String", - "lineNumber" : 258, - "columnNumber" : 2 + "returnType": "java.lang.String", + "lineNumber": 258, + "columnNumber": 2 }, { - "callName" : "support", - "resolvedMethod" : "com.example.vulnspring.WebController.support:java.lang.String(org.springframework.ui.Model)", - "paramTypes" : [ + "callName": "support", + "resolvedMethod": "com.example.vulnspring.WebController.support:java.lang.String(org.springframework.ui.Model)", + "paramTypes": [ "com.example.vulnspring.WebController", "org.springframework.ui.Model" ], - "returnType" : "java.lang.String", - "lineNumber" : 267, - "columnNumber" : 2 + "returnType": "java.lang.String", + "lineNumber": 267, + "columnNumber": 2 }, { - "callName" : "jwt", - "resolvedMethod" : "com.example.vulnspring.WebController.jwt:java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", - "paramTypes" : [ + "callName": "jwt", + "resolvedMethod": "com.example.vulnspring.WebController.jwt:java.lang.String(javax.servlet.http.HttpSession,org.springframework.ui.Model)", + "paramTypes": [ "com.example.vulnspring.WebController", "javax.servlet.http.HttpSession", "org.springframework.ui.Model" ], - "returnType" : "java.lang.String", - "lineNumber" : 274, - "columnNumber" : 2 + "returnType": "java.lang.String", + "lineNumber": 274, + "columnNumber": 2 }, { - "callName" : "jwt", - "resolvedMethod" : "com.example.vulnspring.WebController.jwt:java.lang.String(org.springframework.ui.Model,java.lang.String,javax.servlet.http.HttpSession)", - "paramTypes" : [ + "callName": "jwt", + "resolvedMethod": "com.example.vulnspring.WebController.jwt:java.lang.String(org.springframework.ui.Model,java.lang.String,javax.servlet.http.HttpSession)", + "paramTypes": [ "com.example.vulnspring.WebController", "org.springframework.ui.Model", "java.lang.String", "javax.servlet.http.HttpSession" ], - "returnType" : "java.lang.String", - "lineNumber" : 286, - "columnNumber" : 2 + "returnType": "java.lang.String", + "lineNumber": 286, + "columnNumber": 2 }, { - "callName" : "addressValidation", - "resolvedMethod" : "com.example.vulnspring.WebController.addressValidation:java.lang.String(org.springframework.ui.Model)", - "paramTypes" : [ + "callName": "addressValidation", + "resolvedMethod": "com.example.vulnspring.WebController.addressValidation:java.lang.String(org.springframework.ui.Model)", + "paramTypes": [ "com.example.vulnspring.WebController", "org.springframework.ui.Model" ], - "returnType" : "java.lang.String", - "lineNumber" : 300, - "columnNumber" : 2 + "returnType": "java.lang.String", + "lineNumber": 300, + "columnNumber": 2 }, { - "callName" : "addressValidation", - "resolvedMethod" : "com.example.vulnspring.WebController.addressValidation:java.lang.String(org.springframework.ui.Model,java.lang.String)", - "paramTypes" : [ + "callName": "addressValidation", + "resolvedMethod": "com.example.vulnspring.WebController.addressValidation:java.lang.String(org.springframework.ui.Model,java.lang.String)", + "paramTypes": [ "com.example.vulnspring.WebController", "org.springframework.ui.Model", "java.lang.String" ], - "returnType" : "java.lang.String", - "lineNumber" : 313, - "columnNumber" : 2 + "returnType": "java.lang.String", + "lineNumber": 313, + "columnNumber": 2 }, { - "callName" : "", - "resolvedMethod" : "com.example.vulnspring.WebController.:void()", - "paramTypes" : [ - "com.example.vulnspring.WebController" - ], - "returnType" : "void", - "lineNumber" : null, - "columnNumber" : null + "callName": "", + "resolvedMethod": "com.example.vulnspring.WebController.:void()", + "paramTypes": ["com.example.vulnspring.WebController"], + "returnType": "void", + "lineNumber": null, + "columnNumber": null }, { - "callName" : "", - "resolvedMethod" : "com.example.vulnspring.WebController.:void()", - "paramTypes" : [ - ], - "returnType" : "void", - "lineNumber" : null, - "columnNumber" : null + "callName": "", + "resolvedMethod": "com.example.vulnspring.WebController.:void()", + "paramTypes": [], + "returnType": "void", + "lineNumber": null, + "columnNumber": null } ], - "fileName" : "src/main/java/com/example/vulnspring/WebController.java", - "lineNumber" : 38, - "columnNumber" : 1 + "fileName": "src/main/java/com/example/vulnspring/WebController.java", + "lineNumber": 38, + "columnNumber": 1 }, { - "name" : "com.example.vulnspring.AddressDetails", - "fields" : [ + "name": "com.example.vulnspring.AddressDetails", + "fields": [ { - "name" : "streetNumber", - "typeFullName" : "int", - "lineNumber" : 336, - "columnNumber" : 6, - "label" : "LOCAL" + "name": "streetNumber", + "typeFullName": "int", + "lineNumber": 336, + "columnNumber": 6, + "label": "LOCAL" }, { - "name" : "streetName", - "typeFullName" : "java.lang.String", - "lineNumber" : 346, - "columnNumber" : 9, - "label" : "LOCAL" + "name": "streetName", + "typeFullName": "java.lang.String", + "lineNumber": 346, + "columnNumber": 9, + "label": "LOCAL" } ], - "procedures" : [ + "procedures": [ { - "callName" : "getStreetNumber", - "resolvedMethod" : "com.example.vulnspring.AddressDetails.getStreetNumber:int()", - "paramTypes" : [ - "com.example.vulnspring.AddressDetails" - ], - "returnType" : "int", - "lineNumber" : 338, - "columnNumber" : 2 + "callName": "getStreetNumber", + "resolvedMethod": "com.example.vulnspring.AddressDetails.getStreetNumber:int()", + "paramTypes": ["com.example.vulnspring.AddressDetails"], + "returnType": "int", + "lineNumber": 338, + "columnNumber": 2 }, { - "callName" : "getStreetName", - "resolvedMethod" : "com.example.vulnspring.AddressDetails.getStreetName:java.lang.String()", - "paramTypes" : [ - "com.example.vulnspring.AddressDetails" - ], - "returnType" : "java.lang.String", - "lineNumber" : 342, - "columnNumber" : 2 + "callName": "getStreetName", + "resolvedMethod": "com.example.vulnspring.AddressDetails.getStreetName:java.lang.String()", + "paramTypes": ["com.example.vulnspring.AddressDetails"], + "returnType": "java.lang.String", + "lineNumber": 342, + "columnNumber": 2 }, { - "callName" : "", - "resolvedMethod" : "com.example.vulnspring.AddressDetails.:void(int,java.lang.String)", - "paramTypes" : [ + "callName": "", + "resolvedMethod": "com.example.vulnspring.AddressDetails.:void(int,java.lang.String)", + "paramTypes": [ "com.example.vulnspring.AddressDetails", "int", "java.lang.String" ], - "returnType" : "void", - "lineNumber" : 348, - "columnNumber" : 2 + "returnType": "void", + "lineNumber": 348, + "columnNumber": 2 }, { - "callName" : "toString", - "resolvedMethod" : "com.example.vulnspring.AddressDetails.toString:java.lang.String()", - "paramTypes" : [ - "com.example.vulnspring.AddressDetails" - ], - "returnType" : "java.lang.String", - "lineNumber" : 353, - "columnNumber" : 2 + "callName": "toString", + "resolvedMethod": "com.example.vulnspring.AddressDetails.toString:java.lang.String()", + "paramTypes": ["com.example.vulnspring.AddressDetails"], + "returnType": "java.lang.String", + "lineNumber": 353, + "columnNumber": 2 } ], - "fileName" : "src/main/java/com/example/vulnspring/WebController.java", - "lineNumber" : 335, - "columnNumber" : 1 + "fileName": "src/main/java/com/example/vulnspring/WebController.java", + "lineNumber": 335, + "columnNumber": 1 }, { - "name" : "com.example.vulnspring.VulnSpringApplicationTests", - "fields" : [ - ], - "procedures" : [ - { - "callName" : "contextLoads", - "resolvedMethod" : "com.example.vulnspring.VulnSpringApplicationTests.contextLoads:void()", - "paramTypes" : [ - "com.example.vulnspring.VulnSpringApplicationTests" - ], - "returnType" : "void", - "lineNumber" : 9, - "columnNumber" : 2 - }, - { - "callName" : "", - "resolvedMethod" : "com.example.vulnspring.VulnSpringApplicationTests.:void()", - "paramTypes" : [ - "com.example.vulnspring.VulnSpringApplicationTests" - ], - "returnType" : "void", - "lineNumber" : null, - "columnNumber" : null + "name": "com.example.vulnspring.VulnSpringApplicationTests", + "fields": [], + "procedures": [ + { + "callName": "contextLoads", + "resolvedMethod": "com.example.vulnspring.VulnSpringApplicationTests.contextLoads:void()", + "paramTypes": ["com.example.vulnspring.VulnSpringApplicationTests"], + "returnType": "void", + "lineNumber": 9, + "columnNumber": 2 + }, + { + "callName": "", + "resolvedMethod": "com.example.vulnspring.VulnSpringApplicationTests.:void()", + "paramTypes": ["com.example.vulnspring.VulnSpringApplicationTests"], + "returnType": "void", + "lineNumber": null, + "columnNumber": null } ], - "fileName" : "src/test/java/com/example/vulnspring/VulnSpringApplicationTests.java", - "lineNumber" : 6, - "columnNumber" : 1 + "fileName": "src/test/java/com/example/vulnspring/VulnSpringApplicationTests.java", + "lineNumber": 6, + "columnNumber": 1 } ] -} \ No newline at end of file +} diff --git a/test/data/vcpkg2.json b/test/data/vcpkg2.json index 84a6ca441..629f6f630 100644 --- a/test/data/vcpkg2.json +++ b/test/data/vcpkg2.json @@ -9,9 +9,7 @@ "crc32c", { "name": "curl", - "features": [ - "ssl" - ] + "features": ["ssl"] }, { "$description": "If cross-compiling, we need the gRPC protoc plugin on the 'host' environment.", diff --git a/test/data/vuln-spring-1.5.bom.json b/test/data/vuln-spring-1.5.bom.json index 1411b882a..0e844004f 100644 --- a/test/data/vuln-spring-1.5.bom.json +++ b/test/data/vuln-spring-1.5.bom.json @@ -4854,9 +4854,7 @@ }, { "ref": "pkg:maven/org.slf4j/jul-to-slf4j@1.7.30?type=jar", - "dependsOn": [ - "pkg:maven/org.slf4j/slf4j-api@1.7.30?type=jar" - ] + "dependsOn": ["pkg:maven/org.slf4j/slf4j-api@1.7.30?type=jar"] }, { "ref": "pkg:maven/jakarta.annotation/jakarta.annotation-api@1.3.5?type=jar", @@ -4868,9 +4866,7 @@ }, { "ref": "pkg:maven/com.zaxxer/HikariCP@3.4.2?type=jar", - "dependsOn": [ - "pkg:maven/org.slf4j/slf4j-api@1.7.30?type=jar" - ] + "dependsOn": ["pkg:maven/org.slf4j/slf4j-api@1.7.30?type=jar"] }, { "ref": "pkg:maven/org.springframework/spring-jdbc@5.2.5.RELEASE?type=jar", @@ -5102,9 +5098,7 @@ }, { "ref": "pkg:maven/org.bouncycastle/bcpkix-jdk15on@1.65?type=jar", - "dependsOn": [ - "pkg:maven/org.bouncycastle/bcprov-jdk15on@1.65?type=jar" - ] + "dependsOn": ["pkg:maven/org.bouncycastle/bcprov-jdk15on@1.65?type=jar"] }, { "ref": "pkg:maven/com.sun.activation/jakarta.activation@1.2.2?type=jar", @@ -5166,15 +5160,11 @@ }, { "ref": "pkg:maven/net.minidev/json-smart@2.3?type=jar", - "dependsOn": [ - "pkg:maven/net.minidev/accessors-smart@1.2?type=jar" - ] + "dependsOn": ["pkg:maven/net.minidev/accessors-smart@1.2?type=jar"] }, { "ref": "pkg:maven/net.minidev/accessors-smart@1.2?type=jar", - "dependsOn": [ - "pkg:maven/org.ow2.asm/asm@5.0.4?type=jar" - ] + "dependsOn": ["pkg:maven/org.ow2.asm/asm@5.0.4?type=jar"] }, { "ref": "pkg:maven/org.ow2.asm/asm@5.0.4?type=jar", @@ -5216,9 +5206,7 @@ }, { "ref": "pkg:maven/org.junit.platform/junit-platform-commons@1.5.2?type=jar", - "dependsOn": [ - "pkg:maven/org.apiguardian/apiguardian-api@1.1.0?type=jar" - ] + "dependsOn": ["pkg:maven/org.apiguardian/apiguardian-api@1.1.0?type=jar"] }, { "ref": "pkg:maven/org.junit.jupiter/junit-jupiter-params@5.5.2?type=jar", @@ -5311,4 +5299,4 @@ "comment": "Package file" } ] -} \ No newline at end of file +} diff --git a/tsconfig.json b/tsconfig.json index 6a3be7b00..3b7d7f2c1 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,15 +1,15 @@ { - "include": ["*.js"], - "exclude": ["*.test.js", "./types/**/*"], - "compilerOptions": { - "allowJs": true, - // Generate d.ts files - "declaration": true, - // This compiler run should - // only output d.ts files - "emitDeclarationOnly": true, - "outDir": "types", - "declarationMap": true, - "skipLibCheck": true - } + "include": ["*.js"], + "exclude": ["*.test.js", "./types/**/*"], + "compilerOptions": { + "allowJs": true, + // Generate d.ts files + "declaration": true, + // This compiler run should + // only output d.ts files + "emitDeclarationOnly": true, + "outDir": "types", + "declarationMap": true, + "skipLibCheck": true } +} diff --git a/types/analyzer.d.ts b/types/analyzer.d.ts index 18a039c13..6b068bc0a 100644 --- a/types/analyzer.d.ts +++ b/types/analyzer.d.ts @@ -1,5 +1,8 @@ -export function findJSImportsExports(src: any, deep: any): Promise<{ - allImports: {}; - allExports: {}; +export function findJSImportsExports( + src: any, + deep: any, +): Promise<{ + allImports: {}; + allExports: {}; }>; -//# sourceMappingURL=analyzer.d.ts.map \ No newline at end of file +//# sourceMappingURL=analyzer.d.ts.map diff --git a/types/binary.d.ts b/types/binary.d.ts index b2aa1a54a..f15efb47f 100644 --- a/types/binary.d.ts +++ b/types/binary.d.ts @@ -1,12 +1,12 @@ export function getGoBuildInfo(src: any): string; export function getCargoAuditableInfo(src: any): string; export function getOSPackages(src: any): { - osPackages: any[]; - dependenciesList: { - ref: any; - dependsOn: any[]; - }[]; - allTypes: any[]; + osPackages: any[]; + dependenciesList: { + ref: any; + dependsOn: any[]; + }[]; + allTypes: any[]; }; export function executeOsQuery(query: any): any; /** @@ -26,5 +26,9 @@ export function getDotnetSlices(src: string, slicesFile: string): boolean; * * @return {boolean} Result of the generation */ -export function getBinaryBom(src: string, binaryBomFile: string, deepMode: boolean): boolean; -//# sourceMappingURL=binary.d.ts.map \ No newline at end of file +export function getBinaryBom( + src: string, + binaryBomFile: string, + deepMode: boolean, +): boolean; +//# sourceMappingURL=binary.d.ts.map diff --git a/types/cbomutils.d.ts b/types/cbomutils.d.ts index ad0f62460..b8d21f929 100644 --- a/types/cbomutils.d.ts +++ b/types/cbomutils.d.ts @@ -12,4 +12,4 @@ export function collectOSCryptoLibs(options: any): any[]; * @returns {Array} Arary of crypto algorithm objects with oid and description */ export function findCryptoAlgos(code: any): any[]; -//# sourceMappingURL=cbomutils.d.ts.map \ No newline at end of file +//# sourceMappingURL=cbomutils.d.ts.map diff --git a/types/db.d.ts b/types/db.d.ts index bc785cbca..a6a2f970c 100644 --- a/types/db.d.ts +++ b/types/db.d.ts @@ -1,19 +1,31 @@ -export function createOrLoad(dbName: any, dbPath: any, logging?: boolean): Promise<{ - sequelize: Sequelize; - Namespaces: typeof Namespaces; - Usages: typeof Usages; - DataFlows: typeof DataFlows; +export function createOrLoad( + dbName: any, + dbPath: any, + logging?: boolean, +): Promise<{ + sequelize: Sequelize; + Namespaces: typeof Namespaces; + Usages: typeof Usages; + DataFlows: typeof DataFlows; }>; -import { Sequelize } from "sequelize"; +import type { Sequelize } from "sequelize"; declare class Namespaces extends Model { - constructor(values?: import("sequelize").Optional, options?: import("sequelize").BuildOptions); + constructor( + values?: import("sequelize").Optional, + options?: import("sequelize").BuildOptions, + ); } declare class Usages extends Model { - constructor(values?: import("sequelize").Optional, options?: import("sequelize").BuildOptions); + constructor( + values?: import("sequelize").Optional, + options?: import("sequelize").BuildOptions, + ); } declare class DataFlows extends Model { - constructor(values?: import("sequelize").Optional, options?: import("sequelize").BuildOptions); + constructor( + values?: import("sequelize").Optional, + options?: import("sequelize").BuildOptions, + ); } import { Model } from "sequelize"; -export {}; -//# sourceMappingURL=db.d.ts.map \ No newline at end of file +//# sourceMappingURL=db.d.ts.map diff --git a/types/display.d.ts b/types/display.d.ts index e6cd0bdde..d70c8798e 100644 --- a/types/display.d.ts +++ b/types/display.d.ts @@ -5,4 +5,4 @@ export function printOccurrences(bomJson: any): void; export function printCallStack(bomJson: any): void; export function printDependencyTree(bomJson: any): void; export function printReachables(sliceArtefacts: any): void; -//# sourceMappingURL=display.d.ts.map \ No newline at end of file +//# sourceMappingURL=display.d.ts.map diff --git a/types/docker.d.ts b/types/docker.d.ts index c4dd3e61c..1aa8d86c6 100644 --- a/types/docker.d.ts +++ b/types/docker.d.ts @@ -1,44 +1,64 @@ export const isWin: boolean; -export function getDirs(dirPath: string, dirName: string, hidden?: boolean, recurse?: boolean): string[]; +export function getDirs( + dirPath: string, + dirName: string, + hidden?: boolean, + recurse?: boolean, +): string[]; export function getOnlyDirs(srcpath: any, dirName: any): any; export function getConnection(options: any, forRegistry: any): Promise; -export function makeRequest(path: any, method: string, forRegistry: any): Promise; +export function makeRequest( + path: any, + method: string, + forRegistry: any, +): Promise; export function parseImageName(fullImageName: any): { - registry: string; - repo: string; - tag: string; - digest: string; - platform: string; - group: string; - name: string; + registry: string; + repo: string; + tag: string; + digest: string; + platform: string; + group: string; + name: string; }; export function getImage(fullImageName: any): Promise; export function extractTar(fullImageName: any, dir: any): Promise; -export function exportArchive(fullImageName: any): Promise<{ - manifest: {}; - allLayersDir: string; - allLayersExplodedDir: string; - lastLayerConfig: {}; - lastWorkingDir: string; -} | { - inspectData: any; - manifest: any; - allLayersDir: any; - allLayersExplodedDir: any; - lastLayerConfig: {}; - lastWorkingDir: string; -}>; -export function extractFromManifest(manifestFile: any, localData: any, tempDir: any, allLayersExplodedDir: any): Promise<{ - inspectData: any; - manifest: any; - allLayersDir: any; - allLayersExplodedDir: any; - lastLayerConfig: {}; - lastWorkingDir: string; +export function exportArchive(fullImageName: any): Promise< + | { + manifest: {}; + allLayersDir: string; + allLayersExplodedDir: string; + lastLayerConfig: {}; + lastWorkingDir: string; + } + | { + inspectData: any; + manifest: any; + allLayersDir: any; + allLayersExplodedDir: any; + lastLayerConfig: {}; + lastWorkingDir: string; + } +>; +export function extractFromManifest( + manifestFile: any, + localData: any, + tempDir: any, + allLayersExplodedDir: any, +): Promise<{ + inspectData: any; + manifest: any; + allLayersDir: any; + allLayersExplodedDir: any; + lastLayerConfig: {}; + lastWorkingDir: string; }>; export function exportImage(fullImageName: any): Promise; export function getPkgPathList(exportData: any, lastWorkingDir: any): any[]; export function removeImage(fullImageName: any, force?: boolean): Promise; export function getCredsFromHelper(exeSuffix: any, serverAddress: any): any; -export function addSkippedSrcFiles(skippedImageSrcs: any, components: any): void; -//# sourceMappingURL=docker.d.ts.map \ No newline at end of file +export function addSkippedSrcFiles( + skippedImageSrcs: any, + components: any, +): void; +//# sourceMappingURL=docker.d.ts.map diff --git a/types/envcontext.d.ts b/types/envcontext.d.ts index edc7ef76a..34cfe1793 100644 --- a/types/envcontext.d.ts +++ b/types/envcontext.d.ts @@ -5,58 +5,58 @@ export function gitTreeHashes(dir: string): {}; export function listFiles(dir: string): any[]; export function execGitCommand(dir: string, args: any[]): string; export function collectJavaInfo(dir: string): { - type: string; - name: string; - version: string; - description: string; - properties: { - name: string; - value: any; - }[]; + type: string; + name: string; + version: string; + description: string; + properties: { + name: string; + value: any; + }[]; }; export function collectDotnetInfo(dir: string): { - type: string; - name: string; - version: string; - description: any; + type: string; + name: string; + version: string; + description: any; }; export function collectPythonInfo(dir: string): { - type: string; - name: string; - version: string; - description: any; + type: string; + name: string; + version: string; + description: any; }; export function collectNodeInfo(dir: string): { - type: string; - name: string; - version: string; - description: string; + type: string; + name: string; + version: string; + description: string; }; export function collectGccInfo(dir: string): { - type: string; - name: string; - version: string; - description: any; + type: string; + name: string; + version: string; + description: any; }; export function collectRustInfo(dir: string): { - type: string; - name: string; - version: string; - description: string; + type: string; + name: string; + version: string; + description: string; }; export function collectGoInfo(dir: string): { - type: string; - name: string; - version: string; + type: string; + name: string; + version: string; }; export function collectEnvInfo(dir: any): { - type: string; - name: string; - version: string; - description: string; - properties: { - name: string; - value: any; - }[]; + type: string; + name: string; + version: string; + description: string; + properties: { + name: string; + value: any; + }[]; }[]; -//# sourceMappingURL=envcontext.d.ts.map \ No newline at end of file +//# sourceMappingURL=envcontext.d.ts.map diff --git a/types/evinser.d.ts b/types/evinser.d.ts index b890cd509..c200a9c6c 100644 --- a/types/evinser.d.ts +++ b/types/evinser.d.ts @@ -1,743 +1,3462 @@ export function prepareDB(options: any): Promise<{ - sequelize: import("sequelize").Sequelize; - Namespaces: { - new (values?: import("sequelize").Optional, options?: import("sequelize").BuildOptions): { - _attributes: any; - dataValues: any; - _creationAttributes: any; - isNewRecord: boolean; - sequelize: import("sequelize").Sequelize; - where(): object; - getDataValue(key: K): any; - setDataValue(key: K_1, value: any): void; - get(options?: { - plain?: boolean; - clone?: boolean; - }): any; - get(key: K_2, options?: { - plain?: boolean; - clone?: boolean; - }): any[K_2]; - get(key: string, options?: { - plain?: boolean; - clone?: boolean; - }): unknown; - set(key: K_3, value: any, options?: import("sequelize").SetOptions): any; - set(keys: Partial, options?: import("sequelize").SetOptions): any; - setAttributes(key: K_4, value: any, options?: import("sequelize").SetOptions): any; - setAttributes(keys: Partial, options?: import("sequelize").SetOptions): any; - changed(key: K_5): boolean; - changed(key: K_6, dirty: boolean): void; - changed(): false | string[]; - previous(): Partial; - previous(key: K_7): any; - save(options?: import("sequelize").SaveOptions): Promise; - reload(options?: import("sequelize").FindOptions): Promise; - validate(options?: import("sequelize/types/instance-validator.js").ValidationOptions): Promise; - update(key: K_8, value: any, options?: import("sequelize").InstanceUpdateOptions): Promise; - update(keys: { - [x: string]: any; - }, options?: import("sequelize").InstanceUpdateOptions): Promise; - destroy(options?: import("sequelize").InstanceDestroyOptions): Promise; - restore(options?: import("sequelize").InstanceRestoreOptions): Promise; - increment(fields: Partial | K_9 | readonly K_9[], options?: import("sequelize").IncrementDecrementOptionsWithBy): Promise; - decrement(fields: Partial | K_10 | readonly K_10[], options?: import("sequelize").IncrementDecrementOptionsWithBy): Promise; - equals(other: any): boolean; - equalsOneOf(others: readonly any[]): boolean; - toJSON(): T; - toJSON(): object; - isSoftDeleted(): boolean; - _model: import("sequelize").Model; - addHook>(hookType: K_11, name: string, fn: import("sequelize/types/hooks.js").SequelizeHooks, any, any>[K_11]): any; - addHook>(hookType: K_12, fn: import("sequelize/types/hooks.js").SequelizeHooks, any, any>[K_12]): any; - removeHook>(hookType: K_13, name: string): any; - hasHook>(hookType: K_14): boolean; - hasHooks>(hookType: K_15): boolean; - }; - readonly tableName: string; - readonly primaryKeyAttribute: string; - readonly primaryKeyAttributes: readonly string[]; - readonly associations: { - [key: string]: import("sequelize").Association, import("sequelize").Model>; - }; - readonly options: import("sequelize").InitOptions>; - readonly rawAttributes: { - [attribute: string]: import("sequelize").ModelAttributeColumnOptions>; - }; - getAttributes>(this: import("sequelize").ModelStatic): { readonly [Key in keyof import("sequelize").Attributes]: import("sequelize").ModelAttributeColumnOptions>; }; - readonly sequelize?: import("sequelize").Sequelize; - init>, M_2 extends InstanceType>(this: MS, attributes: import("sequelize").ModelAttributes, (import("sequelize").Attributes extends infer T_1 ? { [P in keyof T_1]-?: (keyof NonNullable[P]> extends Exclude[P]>, unique symbol> ? false : true) extends true ? P : never; } : never)[keyof import("sequelize").Attributes]>>, options: import("sequelize").InitOptions): MS; - removeAttribute(attribute: string): void; - sync>(options?: import("sequelize").SyncOptions): Promise; - drop(options?: import("sequelize").DropOptions): Promise; - schema>(this: import("sequelize").ModelStatic, schema: string, options?: import("sequelize").SchemaOptions): import("sequelize").ModelCtor; - getTableName(): string | { - tableName: string; - schema: string; - delimiter: string; + sequelize: import("sequelize").Sequelize; + Namespaces: { + new ( + values?: import("sequelize").Optional, + options?: import("sequelize").BuildOptions, + ): { + _attributes: any; + dataValues: any; + _creationAttributes: any; + isNewRecord: boolean; + sequelize: import("sequelize").Sequelize; + where(): object; + getDataValue(key: K): any; + setDataValue( + key: K_1, + value: any, + ): void; + get(options?: { + plain?: boolean; + clone?: boolean; + }): any; + get( + key: K_2, + options?: { + plain?: boolean; + clone?: boolean; + }, + ): any[K_2]; + get( + key: string, + options?: { + plain?: boolean; + clone?: boolean; + }, + ): unknown; + set( + key: K_3, + value: any, + options?: import("sequelize").SetOptions, + ): any; + set(keys: Partial, options?: import("sequelize").SetOptions): any; + setAttributes( + key: K_4, + value: any, + options?: import("sequelize").SetOptions, + ): any; + setAttributes( + keys: Partial, + options?: import("sequelize").SetOptions, + ): any; + changed(key: K_5): boolean; + changed(key: K_6, dirty: boolean): void; + changed(): false | string[]; + previous(): Partial; + previous(key: K_7): any; + save(options?: import("sequelize").SaveOptions): Promise; + reload(options?: import("sequelize").FindOptions): Promise; + validate( + options?: import("sequelize/types/instance-validator.js").ValidationOptions, + ): Promise; + update( + key: K_8, + value: any, + options?: import("sequelize").InstanceUpdateOptions, + ): Promise; + update( + keys: { + [x: string]: any; + }, + options?: import("sequelize").InstanceUpdateOptions, + ): Promise; + destroy( + options?: import("sequelize").InstanceDestroyOptions, + ): Promise; + restore( + options?: import("sequelize").InstanceRestoreOptions, + ): Promise; + increment( + fields: Partial | K_9 | readonly K_9[], + options?: import("sequelize").IncrementDecrementOptionsWithBy, + ): Promise; + decrement( + fields: Partial | K_10 | readonly K_10[], + options?: import("sequelize").IncrementDecrementOptionsWithBy, + ): Promise; + equals(other: any): boolean; + equalsOneOf(others: readonly any[]): boolean; + toJSON(): T; + toJSON(): object; + isSoftDeleted(): boolean; + _model: import("sequelize").Model; + addHook< + K_11 extends keyof import("sequelize/types/hooks.js").SequelizeHooks< + M, + TModelAttributes, + TCreationAttributes + >, + >( + hookType: K_11, + name: string, + fn: import("sequelize/types/hooks.js").SequelizeHooks< + import("sequelize").Model, + any, + any + >[K_11], + ): any; + addHook< + K_12 extends keyof import("sequelize/types/hooks.js").SequelizeHooks< + M, + TModelAttributes, + TCreationAttributes + >, + >( + hookType: K_12, + fn: import("sequelize/types/hooks.js").SequelizeHooks< + import("sequelize").Model, + any, + any + >[K_12], + ): any; + removeHook< + K_13 extends keyof import("sequelize/types/hooks.js").SequelizeHooks< + M, + TModelAttributes, + TCreationAttributes + >, + >(hookType: K_13, name: string): any; + hasHook< + K_14 extends keyof import("sequelize/types/hooks.js").SequelizeHooks< + M, + TModelAttributes, + TCreationAttributes + >, + >(hookType: K_14): boolean; + hasHooks< + K_15 extends keyof import("sequelize/types/hooks.js").SequelizeHooks< + M, + TModelAttributes, + TCreationAttributes + >, + >(hookType: K_15): boolean; + }; + readonly tableName: string; + readonly primaryKeyAttribute: string; + readonly primaryKeyAttributes: readonly string[]; + readonly associations: { + [key: string]: import("sequelize").Association< + import("sequelize").Model, + import("sequelize").Model + >; + }; + readonly options: import("sequelize").InitOptions< + import("sequelize").Model + >; + readonly rawAttributes: { + [attribute: string]: import("sequelize").ModelAttributeColumnOptions< + import("sequelize").Model + >; + }; + getAttributes>( + this: import("sequelize").ModelStatic, + ): { + readonly [Key in keyof import("sequelize").Attributes]: import("sequelize").ModelAttributeColumnOptions< + import("sequelize").Model + >; + }; + readonly sequelize?: import("sequelize").Sequelize; + init< + MS extends import("sequelize").ModelStatic< + import("sequelize").Model + >, + M_2 extends InstanceType, + >( + this: MS, + attributes: import("sequelize").ModelAttributes< + M_2, + import("sequelize").Optional< + import("sequelize").Attributes, + (import("sequelize").Attributes extends infer T_1 + ? { + [P in keyof T_1]-?: ( + keyof NonNullable< + import("sequelize").Attributes[P] + > extends Exclude< + keyof NonNullable[P]>, + unique symbol + > + ? false + : true + ) extends true + ? P + : never; + } + : never)[keyof import("sequelize").Attributes] + > + >, + options: import("sequelize").InitOptions, + ): MS; + removeAttribute(attribute: string): void; + sync>( + options?: import("sequelize").SyncOptions, + ): Promise; + drop(options?: import("sequelize").DropOptions): Promise; + schema>( + this: import("sequelize").ModelStatic, + schema: string, + options?: import("sequelize").SchemaOptions, + ): import("sequelize").ModelCtor; + getTableName(): + | string + | { + tableName: string; + schema: string; + delimiter: string; }; - scope>(this: import("sequelize").ModelStatic, options?: string | import("sequelize").ScopeOptions | readonly (string | import("sequelize").ScopeOptions)[] | import("sequelize").WhereAttributeHash): import("sequelize").ModelCtor; - addScope>(this: import("sequelize").ModelStatic, name: string, scope: import("sequelize").FindOptions>, options?: import("sequelize").AddScopeOptions): void; - addScope>(this: import("sequelize").ModelStatic, name: string, scope: (...args: readonly any[]) => import("sequelize").FindOptions>, options?: import("sequelize").AddScopeOptions): void; - findAll>(this: import("sequelize").ModelStatic, options?: import("sequelize").FindOptions>): Promise; - findByPk>(this: import("sequelize").ModelStatic, identifier: import("sequelize").Identifier, options: Omit>, "where">): Promise; - findByPk>(this: import("sequelize").ModelStatic, identifier?: import("sequelize").Identifier, options?: Omit>, "where">): Promise; - findOne>(this: import("sequelize").ModelStatic, options: import("sequelize").NonNullFindOptions>): Promise; - findOne>(this: import("sequelize").ModelStatic, options?: import("sequelize").FindOptions>): Promise; - aggregate>(this: import("sequelize").ModelStatic, field: "*" | keyof import("sequelize").Attributes, aggregateFunction: string, options?: import("sequelize").AggregateOptions>): Promise; - count>(this: import("sequelize").ModelStatic, options: { - attributes?: import("sequelize").FindAttributeOptions; - logging?: boolean | ((sql: string, timing?: number) => void); - where?: import("sequelize").WhereOptions>; - include?: import("sequelize").Includeable | import("sequelize").Includeable[]; - benchmark?: boolean; - transaction?: import("sequelize").Transaction; - useMaster?: boolean; - paranoid?: boolean; - col?: string; - distinct?: boolean; - group: import("sequelize").GroupOption; - }): Promise; - count>(this: import("sequelize").ModelStatic, options?: Omit>, "group">): Promise; - findAndCountAll>(this: import("sequelize").ModelStatic, options?: Omit>, "group">): Promise<{ - rows: M_16[]; - count: number; - }>; - findAndCountAll>(this: import("sequelize").ModelStatic, options: { - type?: string; - attributes?: import("sequelize").FindAttributeOptions; - plain?: boolean; - logging?: boolean | ((sql: string, timing?: number) => void); - where?: import("sequelize").WhereOptions>; - include?: import("sequelize").Includeable | import("sequelize").Includeable[]; - order?: import("sequelize").Order; - limit?: number; - groupedLimit?: unknown; - offset?: number; - lock?: boolean | import("sequelize").LOCK | { - level: import("sequelize").LOCK; - of: import("sequelize").ModelStatic>; + scope>( + this: import("sequelize").ModelStatic, + options?: + | string + | import("sequelize").ScopeOptions + | readonly (string | import("sequelize").ScopeOptions)[] + | import("sequelize").WhereAttributeHash, + ): import("sequelize").ModelCtor; + addScope>( + this: import("sequelize").ModelStatic, + name: string, + scope: import("sequelize").FindOptions< + import("sequelize").Attributes + >, + options?: import("sequelize").AddScopeOptions, + ): void; + addScope>( + this: import("sequelize").ModelStatic, + name: string, + scope: ( + ...args: readonly any[] + ) => import("sequelize").FindOptions>, + options?: import("sequelize").AddScopeOptions, + ): void; + findAll>( + this: import("sequelize").ModelStatic, + options?: import("sequelize").FindOptions< + import("sequelize").Attributes + >, + ): Promise; + findByPk>( + this: import("sequelize").ModelStatic, + identifier: import("sequelize").Identifier, + options: Omit< + import("sequelize").NonNullFindOptions< + import("sequelize").Attributes + >, + "where" + >, + ): Promise; + findByPk>( + this: import("sequelize").ModelStatic, + identifier?: import("sequelize").Identifier, + options?: Omit< + import("sequelize").FindOptions>, + "where" + >, + ): Promise; + findOne>( + this: import("sequelize").ModelStatic, + options: import("sequelize").NonNullFindOptions< + import("sequelize").Attributes + >, + ): Promise; + findOne>( + this: import("sequelize").ModelStatic, + options?: import("sequelize").FindOptions< + import("sequelize").Attributes + >, + ): Promise; + aggregate>( + this: import("sequelize").ModelStatic, + field: "*" | keyof import("sequelize").Attributes, + aggregateFunction: string, + options?: import("sequelize").AggregateOptions< + T_2, + import("sequelize").Attributes + >, + ): Promise; + count>( + this: import("sequelize").ModelStatic, + options: { + attributes?: import("sequelize").FindAttributeOptions; + logging?: boolean | ((sql: string, timing?: number) => void); + where?: import("sequelize").WhereOptions< + import("sequelize").Attributes + >; + include?: + | import("sequelize").Includeable + | import("sequelize").Includeable[]; + benchmark?: boolean; + transaction?: import("sequelize").Transaction; + useMaster?: boolean; + paranoid?: boolean; + col?: string; + distinct?: boolean; + group: import("sequelize").GroupOption; + }, + ): Promise; + count>( + this: import("sequelize").ModelStatic, + options?: Omit< + import("sequelize").CountOptions>, + "group" + >, + ): Promise; + findAndCountAll>( + this: import("sequelize").ModelStatic, + options?: Omit< + import("sequelize").FindAndCountOptions< + import("sequelize").Attributes + >, + "group" + >, + ): Promise<{ + rows: M_16[]; + count: number; + }>; + findAndCountAll>( + this: import("sequelize").ModelStatic, + options: { + type?: string; + attributes?: import("sequelize").FindAttributeOptions; + plain?: boolean; + logging?: boolean | ((sql: string, timing?: number) => void); + where?: import("sequelize").WhereOptions< + import("sequelize").Attributes + >; + include?: + | import("sequelize").Includeable + | import("sequelize").Includeable[]; + order?: import("sequelize").Order; + limit?: number; + groupedLimit?: unknown; + offset?: number; + lock?: + | boolean + | import("sequelize").LOCK + | { + level: import("sequelize").LOCK; + of: import("sequelize").ModelStatic< + import("sequelize").Model + >; }; - skipLocked?: boolean; - raw?: boolean; - having?: import("sequelize").WhereOptions; - subQuery?: boolean; - nest?: boolean; - replacements?: import("sequelize").BindOrReplacements; - bind?: import("sequelize").BindOrReplacements; - instance?: import("sequelize").Model; - mapToModel?: boolean; - retry?: import("retry-as-promised").Options; - fieldMap?: import("sequelize").FieldMap; - benchmark?: boolean; - transaction?: import("sequelize").Transaction; - useMaster?: boolean; - paranoid?: boolean; - indexHints?: import("sequelize").IndexHint[]; - col?: string; - distinct?: boolean; - group: import("sequelize").GroupOption; - }): Promise<{ - rows: M_17[]; - count: import("sequelize").GroupedCountResultItem[]; - }>; - max>(this: import("sequelize").ModelStatic, field: keyof import("sequelize").Attributes, options?: import("sequelize").AggregateOptions>): Promise; - min>(this: import("sequelize").ModelStatic, field: keyof import("sequelize").Attributes, options?: import("sequelize").AggregateOptions>): Promise; - sum>(this: import("sequelize").ModelStatic, field: keyof import("sequelize").Attributes, options?: import("sequelize").AggregateOptions>): Promise; - build>(this: import("sequelize").ModelStatic, record?: import("sequelize/types/utils.js").MakeNullishOptional, options?: import("sequelize").BuildOptions): M_21; - bulkBuild>(this: import("sequelize").ModelStatic, records: readonly import("sequelize/types/utils.js").MakeNullishOptional[], options?: import("sequelize").BuildOptions): M_22[]; - create, O extends import("sequelize").CreateOptions> = import("sequelize").CreateOptions>>(this: import("sequelize").ModelStatic, values?: import("sequelize/types/utils.js").MakeNullishOptional, options?: O): Promise; + subQuery?: boolean; + nest?: boolean; + replacements?: import("sequelize").BindOrReplacements; + bind?: import("sequelize").BindOrReplacements; + instance?: import("sequelize").Model; + mapToModel?: boolean; + retry?: import("retry-as-promised").Options; + fieldMap?: import("sequelize").FieldMap; + benchmark?: boolean; + transaction?: import("sequelize").Transaction; + useMaster?: boolean; + paranoid?: boolean; + indexHints?: import("sequelize").IndexHint[]; + col?: string; + distinct?: boolean; + group: import("sequelize").GroupOption; + }, + ): Promise<{ + rows: M_17[]; + count: import("sequelize").GroupedCountResultItem[]; + }>; + max>( + this: import("sequelize").ModelStatic, + field: keyof import("sequelize").Attributes, + options?: import("sequelize").AggregateOptions< + T_3, + import("sequelize").Attributes + >, + ): Promise; + min>( + this: import("sequelize").ModelStatic, + field: keyof import("sequelize").Attributes, + options?: import("sequelize").AggregateOptions< + T_4, + import("sequelize").Attributes + >, + ): Promise; + sum>( + this: import("sequelize").ModelStatic, + field: keyof import("sequelize").Attributes, + options?: import("sequelize").AggregateOptions< + T_5, + import("sequelize").Attributes + >, + ): Promise; + build>( + this: import("sequelize").ModelStatic, + record?: import("sequelize/types/utils.js").MakeNullishOptional< + M_21["_creationAttributes"] + >, + options?: import("sequelize").BuildOptions, + ): M_21; + bulkBuild>( + this: import("sequelize").ModelStatic, + records: readonly import("sequelize/types/utils.js").MakeNullishOptional< + M_22["_creationAttributes"] + >[], + options?: import("sequelize").BuildOptions, + ): M_22[]; + create< + M_23 extends import("sequelize").Model, + O extends import("sequelize").CreateOptions< + import("sequelize").Attributes + > = import("sequelize").CreateOptions< + import("sequelize").Attributes + >, + >( + this: import("sequelize").ModelStatic, + values?: import("sequelize/types/utils.js").MakeNullishOptional< + M_23["_creationAttributes"] + >, + options?: O, + ): Promise< + O extends + | { returning: false; - } | { + } + | { ignoreDuplicates: true; - } ? void : M_23>; - findOrBuild>(this: import("sequelize").ModelStatic, options: import("sequelize").FindOrBuildOptions, import("sequelize/types/utils.js").MakeNullishOptional>): Promise<[M_24, boolean]>; - findOrCreate>(this: import("sequelize").ModelStatic, options: import("sequelize").FindOrCreateOptions, import("sequelize/types/utils.js").MakeNullishOptional>): Promise<[M_25, boolean]>; - findCreateFind>(this: import("sequelize").ModelStatic, options: import("sequelize").FindOrCreateOptions, import("sequelize/types/utils.js").MakeNullishOptional>): Promise<[M_26, boolean]>; - upsert>(this: import("sequelize").ModelStatic, values: import("sequelize/types/utils.js").MakeNullishOptional, options?: import("sequelize").UpsertOptions>): Promise<[M_27, boolean]>; - bulkCreate>(this: import("sequelize").ModelStatic, records: readonly import("sequelize/types/utils.js").MakeNullishOptional[], options?: import("sequelize").BulkCreateOptions>): Promise; - truncate>(this: import("sequelize").ModelStatic, options?: import("sequelize").TruncateOptions>): Promise; - destroy>(this: import("sequelize").ModelStatic, options?: import("sequelize").DestroyOptions>): Promise; - restore>(this: import("sequelize").ModelStatic, options?: import("sequelize").RestoreOptions>): Promise; - update>(this: import("sequelize").ModelStatic, values: { [key in keyof import("sequelize").Attributes]?: import("sequelize/types/utils.js").Fn | import("sequelize/types/utils.js").Col | import("sequelize/types/utils.js").Literal | import("sequelize").Attributes[key]; }, options: Omit>, "returning"> & { - returning: true | (keyof import("sequelize").Attributes)[]; - }): Promise<[affectedCount: number, affectedRows: M_32[]]>; - update>(this: import("sequelize").ModelStatic, values: { [key_1 in keyof import("sequelize").Attributes]?: import("sequelize/types/utils.js").Fn | import("sequelize/types/utils.js").Col | import("sequelize/types/utils.js").Literal | import("sequelize").Attributes[key_1]; }, options: import("sequelize").UpdateOptions>): Promise<[affectedCount: number]>; - increment>(this: import("sequelize").ModelStatic, fields: import("sequelize").AllowReadonlyArray>, options: import("sequelize").IncrementDecrementOptionsWithBy>): Promise<[affectedRows: M_34[], affectedCount?: number]>; - increment>(this: import("sequelize").ModelStatic, fields: { [key_2 in keyof import("sequelize").Attributes]?: number; }, options: import("sequelize").IncrementDecrementOptions>): Promise<[affectedRows: M_35[], affectedCount?: number]>; - decrement>(this: import("sequelize").ModelStatic, fields: import("sequelize").AllowReadonlyArray>, options: import("sequelize").IncrementDecrementOptionsWithBy>): Promise<[affectedRows: M_36[], affectedCount?: number]>; - decrement>(this: import("sequelize").ModelStatic, fields: { [key_3 in keyof import("sequelize").Attributes]?: number; }, options: import("sequelize").IncrementDecrementOptions>): Promise<[affectedRows: M_37[], affectedCount?: number]>; - describe(): Promise; - unscoped>(this: M_38): M_38; - beforeValidate>(this: import("sequelize").ModelStatic, name: string, fn: (instance: M_39, options: import("sequelize/types/instance-validator.js").ValidationOptions) => import("sequelize/types/hooks.js").HookReturn): void; - beforeValidate>(this: import("sequelize").ModelStatic, fn: (instance: M_40, options: import("sequelize/types/instance-validator.js").ValidationOptions) => import("sequelize/types/hooks.js").HookReturn): void; - afterValidate>(this: import("sequelize").ModelStatic, name: string, fn: (instance: M_41, options: import("sequelize/types/instance-validator.js").ValidationOptions) => import("sequelize/types/hooks.js").HookReturn): void; - afterValidate>(this: import("sequelize").ModelStatic, fn: (instance: M_42, options: import("sequelize/types/instance-validator.js").ValidationOptions) => import("sequelize/types/hooks.js").HookReturn): void; - beforeCreate>(this: import("sequelize").ModelStatic, name: string, fn: (instance: M_43, options: import("sequelize").CreateOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeCreate>(this: import("sequelize").ModelStatic, fn: (instance: M_44, options: import("sequelize").CreateOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - afterCreate>(this: import("sequelize").ModelStatic, name: string, fn: (instance: M_45, options: import("sequelize").CreateOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - afterCreate>(this: import("sequelize").ModelStatic, fn: (instance: M_46, options: import("sequelize").CreateOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeDestroy>(this: import("sequelize").ModelStatic, name: string, fn: (instance: M_47, options: import("sequelize").InstanceDestroyOptions) => import("sequelize/types/hooks.js").HookReturn): void; - beforeDestroy>(this: import("sequelize").ModelStatic, fn: (instance: M_48, options: import("sequelize").InstanceDestroyOptions) => import("sequelize/types/hooks.js").HookReturn): void; - afterDestroy>(this: import("sequelize").ModelStatic, name: string, fn: (instance: M_49, options: import("sequelize").InstanceDestroyOptions) => import("sequelize/types/hooks.js").HookReturn): void; - afterDestroy>(this: import("sequelize").ModelStatic, fn: (instance: M_50, options: import("sequelize").InstanceDestroyOptions) => import("sequelize/types/hooks.js").HookReturn): void; - beforeUpdate>(this: import("sequelize").ModelStatic, name: string, fn: (instance: M_51, options: import("sequelize").UpdateOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeUpdate>(this: import("sequelize").ModelStatic, fn: (instance: M_52, options: import("sequelize").UpdateOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - afterUpdate>(this: import("sequelize").ModelStatic, name: string, fn: (instance: M_53, options: import("sequelize").UpdateOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - afterUpdate>(this: import("sequelize").ModelStatic, fn: (instance: M_54, options: import("sequelize").UpdateOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeSave>(this: import("sequelize").ModelStatic, name: string, fn: (instance: M_55, options: import("sequelize").UpdateOptions> | import("sequelize").SaveOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeSave>(this: import("sequelize").ModelStatic, fn: (instance: M_56, options: import("sequelize").UpdateOptions> | import("sequelize").SaveOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - afterSave>(this: import("sequelize").ModelStatic, name: string, fn: (instance: M_57, options: import("sequelize").UpdateOptions> | import("sequelize").SaveOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - afterSave>(this: import("sequelize").ModelStatic, fn: (instance: M_58, options: import("sequelize").UpdateOptions> | import("sequelize").SaveOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeBulkCreate>(this: import("sequelize").ModelStatic, name: string, fn: (instances: M_59[], options: import("sequelize").BulkCreateOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeBulkCreate>(this: import("sequelize").ModelStatic, fn: (instances: M_60[], options: import("sequelize").BulkCreateOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - afterBulkCreate>(this: import("sequelize").ModelStatic, name: string, fn: (instances: readonly M_61[], options: import("sequelize").BulkCreateOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - afterBulkCreate>(this: import("sequelize").ModelStatic, fn: (instances: readonly M_62[], options: import("sequelize").BulkCreateOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeBulkDestroy>(this: import("sequelize").ModelStatic, name: string, fn: (options: import("sequelize").BulkCreateOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeBulkDestroy>(this: import("sequelize").ModelStatic, fn: (options: import("sequelize").BulkCreateOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - afterBulkDestroy>(this: import("sequelize").ModelStatic, name: string, fn: (options: import("sequelize").DestroyOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - afterBulkDestroy>(this: import("sequelize").ModelStatic, fn: (options: import("sequelize").DestroyOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeBulkUpdate>(this: import("sequelize").ModelStatic, name: string, fn: (options: import("sequelize").UpdateOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeBulkUpdate>(this: import("sequelize").ModelStatic, fn: (options: import("sequelize").UpdateOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - afterBulkUpdate>(this: import("sequelize").ModelStatic, name: string, fn: (options: import("sequelize").UpdateOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - afterBulkUpdate>(this: import("sequelize").ModelStatic, fn: (options: import("sequelize").UpdateOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeFind>(this: import("sequelize").ModelStatic, name: string, fn: (options: import("sequelize").FindOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeFind>(this: import("sequelize").ModelStatic, fn: (options: import("sequelize").FindOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeCount>(this: import("sequelize").ModelStatic, name: string, fn: (options: import("sequelize").CountOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeCount>(this: import("sequelize").ModelStatic, fn: (options: import("sequelize").CountOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeFindAfterExpandIncludeAll>(this: import("sequelize").ModelStatic, name: string, fn: (options: import("sequelize").FindOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeFindAfterExpandIncludeAll>(this: import("sequelize").ModelStatic, fn: (options: import("sequelize").FindOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeFindAfterOptions>(this: import("sequelize").ModelStatic, name: string, fn: (options: import("sequelize").FindOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeFindAfterOptions>(this: import("sequelize").ModelStatic, fn: (options: import("sequelize").FindOptions>) => void): import("sequelize/types/hooks.js").HookReturn; - afterFind>(this: import("sequelize").ModelStatic, name: string, fn: (instancesOrInstance: M_79 | readonly M_79[], options: import("sequelize").FindOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - afterFind>(this: import("sequelize").ModelStatic, fn: (instancesOrInstance: M_80 | readonly M_80[], options: import("sequelize").FindOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeBulkSync(name: string, fn: (options: import("sequelize").SyncOptions) => import("sequelize/types/hooks.js").HookReturn): void; - beforeBulkSync(fn: (options: import("sequelize").SyncOptions) => import("sequelize/types/hooks.js").HookReturn): void; - afterBulkSync(name: string, fn: (options: import("sequelize").SyncOptions) => import("sequelize/types/hooks.js").HookReturn): void; - afterBulkSync(fn: (options: import("sequelize").SyncOptions) => import("sequelize/types/hooks.js").HookReturn): void; - beforeSync(name: string, fn: (options: import("sequelize").SyncOptions) => import("sequelize/types/hooks.js").HookReturn): void; - beforeSync(fn: (options: import("sequelize").SyncOptions) => import("sequelize/types/hooks.js").HookReturn): void; - afterSync(name: string, fn: (options: import("sequelize").SyncOptions) => import("sequelize/types/hooks.js").HookReturn): void; - afterSync(fn: (options: import("sequelize").SyncOptions) => import("sequelize/types/hooks.js").HookReturn): void; - hasOne, T_6 extends import("sequelize").Model>(this: import("sequelize").ModelStatic, target: import("sequelize").ModelStatic, options?: import("sequelize").HasOneOptions): import("sequelize").HasOne; - belongsTo, T_7 extends import("sequelize").Model>(this: import("sequelize").ModelStatic, target: import("sequelize").ModelStatic, options?: import("sequelize").BelongsToOptions): import("sequelize").BelongsTo; - hasMany, T_8 extends import("sequelize").Model>(this: import("sequelize").ModelStatic, target: import("sequelize").ModelStatic, options?: import("sequelize").HasManyOptions): import("sequelize").HasMany; - belongsToMany, T_9 extends import("sequelize").Model>(this: import("sequelize").ModelStatic, target: import("sequelize").ModelStatic, options: import("sequelize").BelongsToManyOptions): import("sequelize").BelongsToMany; - addHook, any, any>, K_16 extends keyof import("sequelize/types/hooks.js").SequelizeHooks, import("sequelize").CreationAttributes>>(this: import("sequelize/types/hooks.js").HooksStatic, hookType: K_16, name: string, fn: import("sequelize/types/hooks.js").SequelizeHooks, import("sequelize").CreationAttributes>[K_16]): import("sequelize/types/hooks.js").HooksCtor; - addHook, any, any>, K_17 extends keyof import("sequelize/types/hooks.js").SequelizeHooks, import("sequelize").CreationAttributes>>(this: import("sequelize/types/hooks.js").HooksStatic, hookType: K_17, fn: import("sequelize/types/hooks.js").SequelizeHooks, import("sequelize").CreationAttributes>[K_17]): import("sequelize/types/hooks.js").HooksCtor; - removeHook, any, any>>(this: import("sequelize/types/hooks.js").HooksStatic, hookType: keyof import("sequelize/types/hooks.js").SequelizeHooks, import("sequelize").CreationAttributes>, name: string): import("sequelize/types/hooks.js").HooksCtor; - hasHook, any, any>>(this: import("sequelize/types/hooks.js").HooksStatic, hookType: keyof import("sequelize/types/hooks.js").SequelizeHooks, import("sequelize").CreationAttributes>): boolean; - hasHooks, any, any>>(this: import("sequelize/types/hooks.js").HooksStatic, hookType: keyof import("sequelize/types/hooks.js").SequelizeHooks, import("sequelize").CreationAttributes>): boolean; + } + ? void + : M_23 + >; + findOrBuild>( + this: import("sequelize").ModelStatic, + options: import("sequelize").FindOrBuildOptions< + import("sequelize").Attributes, + import("sequelize/types/utils.js").MakeNullishOptional< + M_24["_creationAttributes"] + > + >, + ): Promise<[M_24, boolean]>; + findOrCreate>( + this: import("sequelize").ModelStatic, + options: import("sequelize").FindOrCreateOptions< + import("sequelize").Attributes, + import("sequelize/types/utils.js").MakeNullishOptional< + M_25["_creationAttributes"] + > + >, + ): Promise<[M_25, boolean]>; + findCreateFind>( + this: import("sequelize").ModelStatic, + options: import("sequelize").FindOrCreateOptions< + import("sequelize").Attributes, + import("sequelize/types/utils.js").MakeNullishOptional< + M_26["_creationAttributes"] + > + >, + ): Promise<[M_26, boolean]>; + upsert>( + this: import("sequelize").ModelStatic, + values: import("sequelize/types/utils.js").MakeNullishOptional< + M_27["_creationAttributes"] + >, + options?: import("sequelize").UpsertOptions< + import("sequelize").Attributes + >, + ): Promise<[M_27, boolean]>; + bulkCreate>( + this: import("sequelize").ModelStatic, + records: readonly import("sequelize/types/utils.js").MakeNullishOptional< + M_28["_creationAttributes"] + >[], + options?: import("sequelize").BulkCreateOptions< + import("sequelize").Attributes + >, + ): Promise; + truncate>( + this: import("sequelize").ModelStatic, + options?: import("sequelize").TruncateOptions< + import("sequelize").Attributes + >, + ): Promise; + destroy>( + this: import("sequelize").ModelStatic, + options?: import("sequelize").DestroyOptions< + import("sequelize").Attributes + >, + ): Promise; + restore>( + this: import("sequelize").ModelStatic, + options?: import("sequelize").RestoreOptions< + import("sequelize").Attributes + >, + ): Promise; + update>( + this: import("sequelize").ModelStatic, + values: { + [key in keyof import("sequelize").Attributes]?: + | import("sequelize/types/utils.js").Fn + | import("sequelize/types/utils.js").Col + | import("sequelize/types/utils.js").Literal + | import("sequelize").Attributes[key]; + }, + options: Omit< + import("sequelize").UpdateOptions>, + "returning" + > & { + returning: true | (keyof import("sequelize").Attributes)[]; + }, + ): Promise<[affectedCount: number, affectedRows: M_32[]]>; + update>( + this: import("sequelize").ModelStatic, + values: { + [key_1 in keyof import("sequelize").Attributes]?: + | import("sequelize/types/utils.js").Fn + | import("sequelize/types/utils.js").Col + | import("sequelize/types/utils.js").Literal + | import("sequelize").Attributes[key_1]; + }, + options: import("sequelize").UpdateOptions< + import("sequelize").Attributes + >, + ): Promise<[affectedCount: number]>; + increment>( + this: import("sequelize").ModelStatic, + fields: import("sequelize").AllowReadonlyArray< + keyof import("sequelize").Attributes + >, + options: import("sequelize").IncrementDecrementOptionsWithBy< + import("sequelize").Attributes + >, + ): Promise<[affectedRows: M_34[], affectedCount?: number]>; + increment>( + this: import("sequelize").ModelStatic, + fields: { + [key_2 in keyof import("sequelize").Attributes]?: number; + }, + options: import("sequelize").IncrementDecrementOptions< + import("sequelize").Attributes + >, + ): Promise<[affectedRows: M_35[], affectedCount?: number]>; + decrement>( + this: import("sequelize").ModelStatic, + fields: import("sequelize").AllowReadonlyArray< + keyof import("sequelize").Attributes + >, + options: import("sequelize").IncrementDecrementOptionsWithBy< + import("sequelize").Attributes + >, + ): Promise<[affectedRows: M_36[], affectedCount?: number]>; + decrement>( + this: import("sequelize").ModelStatic, + fields: { + [key_3 in keyof import("sequelize").Attributes]?: number; + }, + options: import("sequelize").IncrementDecrementOptions< + import("sequelize").Attributes + >, + ): Promise<[affectedRows: M_37[], affectedCount?: number]>; + describe(): Promise; + unscoped>( + this: M_38, + ): M_38; + beforeValidate>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + instance: M_39, + options: import("sequelize/types/instance-validator.js").ValidationOptions, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeValidate>( + this: import("sequelize").ModelStatic, + fn: ( + instance: M_40, + options: import("sequelize/types/instance-validator.js").ValidationOptions, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterValidate>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + instance: M_41, + options: import("sequelize/types/instance-validator.js").ValidationOptions, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterValidate>( + this: import("sequelize").ModelStatic, + fn: ( + instance: M_42, + options: import("sequelize/types/instance-validator.js").ValidationOptions, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeCreate>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + instance: M_43, + options: import("sequelize").CreateOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeCreate>( + this: import("sequelize").ModelStatic, + fn: ( + instance: M_44, + options: import("sequelize").CreateOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterCreate>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + instance: M_45, + options: import("sequelize").CreateOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterCreate>( + this: import("sequelize").ModelStatic, + fn: ( + instance: M_46, + options: import("sequelize").CreateOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeDestroy>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + instance: M_47, + options: import("sequelize").InstanceDestroyOptions, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeDestroy>( + this: import("sequelize").ModelStatic, + fn: ( + instance: M_48, + options: import("sequelize").InstanceDestroyOptions, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterDestroy>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + instance: M_49, + options: import("sequelize").InstanceDestroyOptions, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterDestroy>( + this: import("sequelize").ModelStatic, + fn: ( + instance: M_50, + options: import("sequelize").InstanceDestroyOptions, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeUpdate>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + instance: M_51, + options: import("sequelize").UpdateOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeUpdate>( + this: import("sequelize").ModelStatic, + fn: ( + instance: M_52, + options: import("sequelize").UpdateOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterUpdate>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + instance: M_53, + options: import("sequelize").UpdateOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterUpdate>( + this: import("sequelize").ModelStatic, + fn: ( + instance: M_54, + options: import("sequelize").UpdateOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeSave>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + instance: M_55, + options: + | import("sequelize").UpdateOptions< + import("sequelize").Attributes + > + | import("sequelize").SaveOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeSave>( + this: import("sequelize").ModelStatic, + fn: ( + instance: M_56, + options: + | import("sequelize").UpdateOptions< + import("sequelize").Attributes + > + | import("sequelize").SaveOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterSave>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + instance: M_57, + options: + | import("sequelize").UpdateOptions< + import("sequelize").Attributes + > + | import("sequelize").SaveOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterSave>( + this: import("sequelize").ModelStatic, + fn: ( + instance: M_58, + options: + | import("sequelize").UpdateOptions< + import("sequelize").Attributes + > + | import("sequelize").SaveOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeBulkCreate>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + instances: M_59[], + options: import("sequelize").BulkCreateOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeBulkCreate>( + this: import("sequelize").ModelStatic, + fn: ( + instances: M_60[], + options: import("sequelize").BulkCreateOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterBulkCreate>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + instances: readonly M_61[], + options: import("sequelize").BulkCreateOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterBulkCreate>( + this: import("sequelize").ModelStatic, + fn: ( + instances: readonly M_62[], + options: import("sequelize").BulkCreateOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeBulkDestroy>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + options: import("sequelize").BulkCreateOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeBulkDestroy>( + this: import("sequelize").ModelStatic, + fn: ( + options: import("sequelize").BulkCreateOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterBulkDestroy>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + options: import("sequelize").DestroyOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterBulkDestroy>( + this: import("sequelize").ModelStatic, + fn: ( + options: import("sequelize").DestroyOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeBulkUpdate>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + options: import("sequelize").UpdateOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeBulkUpdate>( + this: import("sequelize").ModelStatic, + fn: ( + options: import("sequelize").UpdateOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterBulkUpdate>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + options: import("sequelize").UpdateOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterBulkUpdate>( + this: import("sequelize").ModelStatic, + fn: ( + options: import("sequelize").UpdateOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeFind>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + options: import("sequelize").FindOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeFind>( + this: import("sequelize").ModelStatic, + fn: ( + options: import("sequelize").FindOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeCount>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + options: import("sequelize").CountOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeCount>( + this: import("sequelize").ModelStatic, + fn: ( + options: import("sequelize").CountOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeFindAfterExpandIncludeAll< + M_75 extends import("sequelize").Model, + >( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + options: import("sequelize").FindOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeFindAfterExpandIncludeAll< + M_76 extends import("sequelize").Model, + >( + this: import("sequelize").ModelStatic, + fn: ( + options: import("sequelize").FindOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeFindAfterOptions>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + options: import("sequelize").FindOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeFindAfterOptions>( + this: import("sequelize").ModelStatic, + fn: ( + options: import("sequelize").FindOptions< + import("sequelize").Attributes + >, + ) => void, + ): import("sequelize/types/hooks.js").HookReturn; + afterFind>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + instancesOrInstance: M_79 | readonly M_79[], + options: import("sequelize").FindOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterFind>( + this: import("sequelize").ModelStatic, + fn: ( + instancesOrInstance: M_80 | readonly M_80[], + options: import("sequelize").FindOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeBulkSync( + name: string, + fn: ( + options: import("sequelize").SyncOptions, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeBulkSync( + fn: ( + options: import("sequelize").SyncOptions, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterBulkSync( + name: string, + fn: ( + options: import("sequelize").SyncOptions, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterBulkSync( + fn: ( + options: import("sequelize").SyncOptions, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeSync( + name: string, + fn: ( + options: import("sequelize").SyncOptions, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeSync( + fn: ( + options: import("sequelize").SyncOptions, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterSync( + name: string, + fn: ( + options: import("sequelize").SyncOptions, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterSync( + fn: ( + options: import("sequelize").SyncOptions, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + hasOne< + M_81 extends import("sequelize").Model, + T_6 extends import("sequelize").Model, + >( + this: import("sequelize").ModelStatic, + target: import("sequelize").ModelStatic, + options?: import("sequelize").HasOneOptions, + ): import("sequelize").HasOne; + belongsTo< + M_82 extends import("sequelize").Model, + T_7 extends import("sequelize").Model, + >( + this: import("sequelize").ModelStatic, + target: import("sequelize").ModelStatic, + options?: import("sequelize").BelongsToOptions, + ): import("sequelize").BelongsTo; + hasMany< + M_83 extends import("sequelize").Model, + T_8 extends import("sequelize").Model, + >( + this: import("sequelize").ModelStatic, + target: import("sequelize").ModelStatic, + options?: import("sequelize").HasManyOptions, + ): import("sequelize").HasMany; + belongsToMany< + M_84 extends import("sequelize").Model, + T_9 extends import("sequelize").Model, + >( + this: import("sequelize").ModelStatic, + target: import("sequelize").ModelStatic, + options: import("sequelize").BelongsToManyOptions, + ): import("sequelize").BelongsToMany; + addHook< + H extends import("sequelize/types/hooks.js").Hooks< + import("sequelize").Model, + any, + any + >, + K_16 extends keyof import("sequelize/types/hooks.js").SequelizeHooks< + H["_model"], + import("sequelize").Attributes, + import("sequelize").CreationAttributes + >, + >( + this: import("sequelize/types/hooks.js").HooksStatic, + hookType: K_16, + name: string, + fn: import("sequelize/types/hooks.js").SequelizeHooks< + H["_model"], + import("sequelize").Attributes, + import("sequelize").CreationAttributes + >[K_16], + ): import("sequelize/types/hooks.js").HooksCtor; + addHook< + H_1 extends import("sequelize/types/hooks.js").Hooks< + import("sequelize").Model, + any, + any + >, + K_17 extends keyof import("sequelize/types/hooks.js").SequelizeHooks< + H_1["_model"], + import("sequelize").Attributes, + import("sequelize").CreationAttributes + >, + >( + this: import("sequelize/types/hooks.js").HooksStatic, + hookType: K_17, + fn: import("sequelize/types/hooks.js").SequelizeHooks< + H_1["_model"], + import("sequelize").Attributes, + import("sequelize").CreationAttributes + >[K_17], + ): import("sequelize/types/hooks.js").HooksCtor; + removeHook< + H_2 extends import("sequelize/types/hooks.js").Hooks< + import("sequelize").Model, + any, + any + >, + >( + this: import("sequelize/types/hooks.js").HooksStatic, + hookType: keyof import("sequelize/types/hooks.js").SequelizeHooks< + H_2["_model"], + import("sequelize").Attributes, + import("sequelize").CreationAttributes + >, + name: string, + ): import("sequelize/types/hooks.js").HooksCtor; + hasHook< + H_3 extends import("sequelize/types/hooks.js").Hooks< + import("sequelize").Model, + any, + any + >, + >( + this: import("sequelize/types/hooks.js").HooksStatic, + hookType: keyof import("sequelize/types/hooks.js").SequelizeHooks< + H_3["_model"], + import("sequelize").Attributes, + import("sequelize").CreationAttributes + >, + ): boolean; + hasHooks< + H_4 extends import("sequelize/types/hooks.js").Hooks< + import("sequelize").Model, + any, + any + >, + >( + this: import("sequelize/types/hooks.js").HooksStatic, + hookType: keyof import("sequelize/types/hooks.js").SequelizeHooks< + H_4["_model"], + import("sequelize").Attributes, + import("sequelize").CreationAttributes + >, + ): boolean; + }; + Usages: { + new ( + values?: import("sequelize").Optional, + options?: import("sequelize").BuildOptions, + ): { + _attributes: any; + dataValues: any; + _creationAttributes: any; + isNewRecord: boolean; + sequelize: import("sequelize").Sequelize; + where(): object; + getDataValue(key: K): any; + setDataValue( + key: K_1, + value: any, + ): void; + get(options?: { + plain?: boolean; + clone?: boolean; + }): any; + get( + key: K_18, + options?: { + plain?: boolean; + clone?: boolean; + }, + ): any[K_18]; + get( + key: string, + options?: { + plain?: boolean; + clone?: boolean; + }, + ): unknown; + set( + key: K_19, + value: any, + options?: import("sequelize").SetOptions, + ): any; + set(keys: Partial, options?: import("sequelize").SetOptions): any; + setAttributes( + key: K_20, + value: any, + options?: import("sequelize").SetOptions, + ): any; + setAttributes( + keys: Partial, + options?: import("sequelize").SetOptions, + ): any; + changed(key: K_21): boolean; + changed(key: K_22, dirty: boolean): void; + changed(): false | string[]; + previous(): Partial; + previous(key: K_7): any; + save(options?: import("sequelize").SaveOptions): Promise; + reload(options?: import("sequelize").FindOptions): Promise; + validate( + options?: import("sequelize/types/instance-validator.js").ValidationOptions, + ): Promise; + update( + key: K_23, + value: any, + options?: import("sequelize").InstanceUpdateOptions, + ): Promise; + update( + keys: { + [x: string]: any; + }, + options?: import("sequelize").InstanceUpdateOptions, + ): Promise; + destroy( + options?: import("sequelize").InstanceDestroyOptions, + ): Promise; + restore( + options?: import("sequelize").InstanceRestoreOptions, + ): Promise; + increment( + fields: Partial | K_24 | readonly K_24[], + options?: import("sequelize").IncrementDecrementOptionsWithBy, + ): Promise; + decrement( + fields: Partial | K_25 | readonly K_25[], + options?: import("sequelize").IncrementDecrementOptionsWithBy, + ): Promise; + equals(other: any): boolean; + equalsOneOf(others: readonly any[]): boolean; + toJSON(): T; + toJSON(): object; + isSoftDeleted(): boolean; + _model: import("sequelize").Model; + addHook< + K_26 extends keyof import("sequelize/types/hooks.js").SequelizeHooks< + M, + TModelAttributes, + TCreationAttributes + >, + >( + hookType: K_26, + name: string, + fn: import("sequelize/types/hooks.js").SequelizeHooks< + import("sequelize").Model, + any, + any + >[K_26], + ): any; + addHook< + K_27 extends keyof import("sequelize/types/hooks.js").SequelizeHooks< + M, + TModelAttributes, + TCreationAttributes + >, + >( + hookType: K_27, + fn: import("sequelize/types/hooks.js").SequelizeHooks< + import("sequelize").Model, + any, + any + >[K_27], + ): any; + removeHook< + K_28 extends keyof import("sequelize/types/hooks.js").SequelizeHooks< + M, + TModelAttributes, + TCreationAttributes + >, + >(hookType: K_28, name: string): any; + hasHook< + K_14 extends keyof import("sequelize/types/hooks.js").SequelizeHooks< + M, + TModelAttributes, + TCreationAttributes + >, + >(hookType: K_14): boolean; + hasHooks< + K_15 extends keyof import("sequelize/types/hooks.js").SequelizeHooks< + M, + TModelAttributes, + TCreationAttributes + >, + >(hookType: K_15): boolean; }; - Usages: { - new (values?: import("sequelize").Optional, options?: import("sequelize").BuildOptions): { - _attributes: any; - dataValues: any; - _creationAttributes: any; - isNewRecord: boolean; - sequelize: import("sequelize").Sequelize; - where(): object; - getDataValue(key: K): any; - setDataValue(key: K_1, value: any): void; - get(options?: { - plain?: boolean; - clone?: boolean; - }): any; - get(key: K_18, options?: { - plain?: boolean; - clone?: boolean; - }): any[K_18]; - get(key: string, options?: { - plain?: boolean; - clone?: boolean; - }): unknown; - set(key: K_19, value: any, options?: import("sequelize").SetOptions): any; - set(keys: Partial, options?: import("sequelize").SetOptions): any; - setAttributes(key: K_20, value: any, options?: import("sequelize").SetOptions): any; - setAttributes(keys: Partial, options?: import("sequelize").SetOptions): any; - changed(key: K_21): boolean; - changed(key: K_22, dirty: boolean): void; - changed(): false | string[]; - previous(): Partial; - previous(key: K_7): any; - save(options?: import("sequelize").SaveOptions): Promise; - reload(options?: import("sequelize").FindOptions): Promise; - validate(options?: import("sequelize/types/instance-validator.js").ValidationOptions): Promise; - update(key: K_23, value: any, options?: import("sequelize").InstanceUpdateOptions): Promise; - update(keys: { - [x: string]: any; - }, options?: import("sequelize").InstanceUpdateOptions): Promise; - destroy(options?: import("sequelize").InstanceDestroyOptions): Promise; - restore(options?: import("sequelize").InstanceRestoreOptions): Promise; - increment(fields: Partial | K_24 | readonly K_24[], options?: import("sequelize").IncrementDecrementOptionsWithBy): Promise; - decrement(fields: Partial | K_25 | readonly K_25[], options?: import("sequelize").IncrementDecrementOptionsWithBy): Promise; - equals(other: any): boolean; - equalsOneOf(others: readonly any[]): boolean; - toJSON(): T; - toJSON(): object; - isSoftDeleted(): boolean; - _model: import("sequelize").Model; - addHook>(hookType: K_26, name: string, fn: import("sequelize/types/hooks.js").SequelizeHooks, any, any>[K_26]): any; - addHook>(hookType: K_27, fn: import("sequelize/types/hooks.js").SequelizeHooks, any, any>[K_27]): any; - removeHook>(hookType: K_28, name: string): any; - hasHook>(hookType: K_14): boolean; - hasHooks>(hookType: K_15): boolean; - }; - readonly tableName: string; - readonly primaryKeyAttribute: string; - readonly primaryKeyAttributes: readonly string[]; - readonly associations: { - [key: string]: import("sequelize").Association, import("sequelize").Model>; - }; - readonly options: import("sequelize").InitOptions>; - readonly rawAttributes: { - [attribute: string]: import("sequelize").ModelAttributeColumnOptions>; - }; - getAttributes>(this: import("sequelize").ModelStatic): { readonly [Key in keyof import("sequelize").Attributes]: import("sequelize").ModelAttributeColumnOptions>; }; - readonly sequelize?: import("sequelize").Sequelize; - init>, M_2 extends InstanceType>(this: MS, attributes: import("sequelize").ModelAttributes, (import("sequelize").Attributes extends infer T_10 ? { [P in keyof T_10]-?: (keyof NonNullable[P]> extends Exclude[P]>, unique symbol> ? false : true) extends true ? P : never; } : never)[keyof import("sequelize").Attributes]>>, options: import("sequelize").InitOptions): MS; - removeAttribute(attribute: string): void; - sync>(options?: import("sequelize").SyncOptions): Promise; - drop(options?: import("sequelize").DropOptions): Promise; - schema>(this: import("sequelize").ModelStatic, schema: string, options?: import("sequelize").SchemaOptions): import("sequelize").ModelCtor; - getTableName(): string | { - tableName: string; - schema: string; - delimiter: string; + readonly tableName: string; + readonly primaryKeyAttribute: string; + readonly primaryKeyAttributes: readonly string[]; + readonly associations: { + [key: string]: import("sequelize").Association< + import("sequelize").Model, + import("sequelize").Model + >; + }; + readonly options: import("sequelize").InitOptions< + import("sequelize").Model + >; + readonly rawAttributes: { + [attribute: string]: import("sequelize").ModelAttributeColumnOptions< + import("sequelize").Model + >; + }; + getAttributes>( + this: import("sequelize").ModelStatic, + ): { + readonly [Key in keyof import("sequelize").Attributes]: import("sequelize").ModelAttributeColumnOptions< + import("sequelize").Model + >; + }; + readonly sequelize?: import("sequelize").Sequelize; + init< + MS extends import("sequelize").ModelStatic< + import("sequelize").Model + >, + M_2 extends InstanceType, + >( + this: MS, + attributes: import("sequelize").ModelAttributes< + M_2, + import("sequelize").Optional< + import("sequelize").Attributes, + (import("sequelize").Attributes extends infer T_10 + ? { + [P in keyof T_10]-?: ( + keyof NonNullable< + import("sequelize").Attributes[P] + > extends Exclude< + keyof NonNullable[P]>, + unique symbol + > + ? false + : true + ) extends true + ? P + : never; + } + : never)[keyof import("sequelize").Attributes] + > + >, + options: import("sequelize").InitOptions, + ): MS; + removeAttribute(attribute: string): void; + sync>( + options?: import("sequelize").SyncOptions, + ): Promise; + drop(options?: import("sequelize").DropOptions): Promise; + schema>( + this: import("sequelize").ModelStatic, + schema: string, + options?: import("sequelize").SchemaOptions, + ): import("sequelize").ModelCtor; + getTableName(): + | string + | { + tableName: string; + schema: string; + delimiter: string; }; - scope>(this: import("sequelize").ModelStatic, options?: string | import("sequelize").ScopeOptions | readonly (string | import("sequelize").ScopeOptions)[] | import("sequelize").WhereAttributeHash): import("sequelize").ModelCtor; - addScope>(this: import("sequelize").ModelStatic, name: string, scope: import("sequelize").FindOptions>, options?: import("sequelize").AddScopeOptions): void; - addScope>(this: import("sequelize").ModelStatic, name: string, scope: (...args: readonly any[]) => import("sequelize").FindOptions>, options?: import("sequelize").AddScopeOptions): void; - findAll>(this: import("sequelize").ModelStatic, options?: import("sequelize").FindOptions>): Promise; - findByPk>(this: import("sequelize").ModelStatic, identifier: import("sequelize").Identifier, options: Omit>, "where">): Promise; - findByPk>(this: import("sequelize").ModelStatic, identifier?: import("sequelize").Identifier, options?: Omit>, "where">): Promise; - findOne>(this: import("sequelize").ModelStatic, options: import("sequelize").NonNullFindOptions>): Promise; - findOne>(this: import("sequelize").ModelStatic, options?: import("sequelize").FindOptions>): Promise; - aggregate>(this: import("sequelize").ModelStatic, field: "*" | keyof import("sequelize").Attributes, aggregateFunction: string, options?: import("sequelize").AggregateOptions>): Promise; - count>(this: import("sequelize").ModelStatic, options: { - attributes?: import("sequelize").FindAttributeOptions; - logging?: boolean | ((sql: string, timing?: number) => void); - where?: import("sequelize").WhereOptions>; - include?: import("sequelize").Includeable | import("sequelize").Includeable[]; - benchmark?: boolean; - transaction?: import("sequelize").Transaction; - useMaster?: boolean; - paranoid?: boolean; - col?: string; - distinct?: boolean; - group: import("sequelize").GroupOption; - }): Promise; - count>(this: import("sequelize").ModelStatic, options?: Omit>, "group">): Promise; - findAndCountAll>(this: import("sequelize").ModelStatic, options?: Omit>, "group">): Promise<{ - rows: M_16[]; - count: number; - }>; - findAndCountAll>(this: import("sequelize").ModelStatic, options: { - type?: string; - attributes?: import("sequelize").FindAttributeOptions; - plain?: boolean; - logging?: boolean | ((sql: string, timing?: number) => void); - where?: import("sequelize").WhereOptions>; - include?: import("sequelize").Includeable | import("sequelize").Includeable[]; - order?: import("sequelize").Order; - limit?: number; - groupedLimit?: unknown; - offset?: number; - lock?: boolean | import("sequelize").LOCK | { - level: import("sequelize").LOCK; - of: import("sequelize").ModelStatic>; + scope>( + this: import("sequelize").ModelStatic, + options?: + | string + | import("sequelize").ScopeOptions + | readonly (string | import("sequelize").ScopeOptions)[] + | import("sequelize").WhereAttributeHash, + ): import("sequelize").ModelCtor; + addScope>( + this: import("sequelize").ModelStatic, + name: string, + scope: import("sequelize").FindOptions< + import("sequelize").Attributes + >, + options?: import("sequelize").AddScopeOptions, + ): void; + addScope>( + this: import("sequelize").ModelStatic, + name: string, + scope: ( + ...args: readonly any[] + ) => import("sequelize").FindOptions>, + options?: import("sequelize").AddScopeOptions, + ): void; + findAll>( + this: import("sequelize").ModelStatic, + options?: import("sequelize").FindOptions< + import("sequelize").Attributes + >, + ): Promise; + findByPk>( + this: import("sequelize").ModelStatic, + identifier: import("sequelize").Identifier, + options: Omit< + import("sequelize").NonNullFindOptions< + import("sequelize").Attributes + >, + "where" + >, + ): Promise; + findByPk>( + this: import("sequelize").ModelStatic, + identifier?: import("sequelize").Identifier, + options?: Omit< + import("sequelize").FindOptions>, + "where" + >, + ): Promise; + findOne>( + this: import("sequelize").ModelStatic, + options: import("sequelize").NonNullFindOptions< + import("sequelize").Attributes + >, + ): Promise; + findOne>( + this: import("sequelize").ModelStatic, + options?: import("sequelize").FindOptions< + import("sequelize").Attributes + >, + ): Promise; + aggregate>( + this: import("sequelize").ModelStatic, + field: "*" | keyof import("sequelize").Attributes, + aggregateFunction: string, + options?: import("sequelize").AggregateOptions< + T_2, + import("sequelize").Attributes + >, + ): Promise; + count>( + this: import("sequelize").ModelStatic, + options: { + attributes?: import("sequelize").FindAttributeOptions; + logging?: boolean | ((sql: string, timing?: number) => void); + where?: import("sequelize").WhereOptions< + import("sequelize").Attributes + >; + include?: + | import("sequelize").Includeable + | import("sequelize").Includeable[]; + benchmark?: boolean; + transaction?: import("sequelize").Transaction; + useMaster?: boolean; + paranoid?: boolean; + col?: string; + distinct?: boolean; + group: import("sequelize").GroupOption; + }, + ): Promise; + count>( + this: import("sequelize").ModelStatic, + options?: Omit< + import("sequelize").CountOptions>, + "group" + >, + ): Promise; + findAndCountAll>( + this: import("sequelize").ModelStatic, + options?: Omit< + import("sequelize").FindAndCountOptions< + import("sequelize").Attributes + >, + "group" + >, + ): Promise<{ + rows: M_16[]; + count: number; + }>; + findAndCountAll>( + this: import("sequelize").ModelStatic, + options: { + type?: string; + attributes?: import("sequelize").FindAttributeOptions; + plain?: boolean; + logging?: boolean | ((sql: string, timing?: number) => void); + where?: import("sequelize").WhereOptions< + import("sequelize").Attributes + >; + include?: + | import("sequelize").Includeable + | import("sequelize").Includeable[]; + order?: import("sequelize").Order; + limit?: number; + groupedLimit?: unknown; + offset?: number; + lock?: + | boolean + | import("sequelize").LOCK + | { + level: import("sequelize").LOCK; + of: import("sequelize").ModelStatic< + import("sequelize").Model + >; }; - skipLocked?: boolean; - raw?: boolean; - having?: import("sequelize").WhereOptions; - subQuery?: boolean; - nest?: boolean; - replacements?: import("sequelize").BindOrReplacements; - bind?: import("sequelize").BindOrReplacements; - instance?: import("sequelize").Model; - mapToModel?: boolean; - retry?: import("retry-as-promised").Options; - fieldMap?: import("sequelize").FieldMap; - benchmark?: boolean; - transaction?: import("sequelize").Transaction; - useMaster?: boolean; - paranoid?: boolean; - indexHints?: import("sequelize").IndexHint[]; - col?: string; - distinct?: boolean; - group: import("sequelize").GroupOption; - }): Promise<{ - rows: M_17[]; - count: import("sequelize").GroupedCountResultItem[]; - }>; - max>(this: import("sequelize").ModelStatic, field: keyof import("sequelize").Attributes, options?: import("sequelize").AggregateOptions>): Promise; - min>(this: import("sequelize").ModelStatic, field: keyof import("sequelize").Attributes, options?: import("sequelize").AggregateOptions>): Promise; - sum>(this: import("sequelize").ModelStatic, field: keyof import("sequelize").Attributes, options?: import("sequelize").AggregateOptions>): Promise; - build>(this: import("sequelize").ModelStatic, record?: import("sequelize/types/utils.js").MakeNullishOptional, options?: import("sequelize").BuildOptions): M_21; - bulkBuild>(this: import("sequelize").ModelStatic, records: readonly import("sequelize/types/utils.js").MakeNullishOptional[], options?: import("sequelize").BuildOptions): M_22[]; - create, O extends import("sequelize").CreateOptions> = import("sequelize").CreateOptions>>(this: import("sequelize").ModelStatic, values?: import("sequelize/types/utils.js").MakeNullishOptional, options?: O): Promise; + subQuery?: boolean; + nest?: boolean; + replacements?: import("sequelize").BindOrReplacements; + bind?: import("sequelize").BindOrReplacements; + instance?: import("sequelize").Model; + mapToModel?: boolean; + retry?: import("retry-as-promised").Options; + fieldMap?: import("sequelize").FieldMap; + benchmark?: boolean; + transaction?: import("sequelize").Transaction; + useMaster?: boolean; + paranoid?: boolean; + indexHints?: import("sequelize").IndexHint[]; + col?: string; + distinct?: boolean; + group: import("sequelize").GroupOption; + }, + ): Promise<{ + rows: M_17[]; + count: import("sequelize").GroupedCountResultItem[]; + }>; + max>( + this: import("sequelize").ModelStatic, + field: keyof import("sequelize").Attributes, + options?: import("sequelize").AggregateOptions< + T_3, + import("sequelize").Attributes + >, + ): Promise; + min>( + this: import("sequelize").ModelStatic, + field: keyof import("sequelize").Attributes, + options?: import("sequelize").AggregateOptions< + T_4, + import("sequelize").Attributes + >, + ): Promise; + sum>( + this: import("sequelize").ModelStatic, + field: keyof import("sequelize").Attributes, + options?: import("sequelize").AggregateOptions< + T_5, + import("sequelize").Attributes + >, + ): Promise; + build>( + this: import("sequelize").ModelStatic, + record?: import("sequelize/types/utils.js").MakeNullishOptional< + M_21["_creationAttributes"] + >, + options?: import("sequelize").BuildOptions, + ): M_21; + bulkBuild>( + this: import("sequelize").ModelStatic, + records: readonly import("sequelize/types/utils.js").MakeNullishOptional< + M_22["_creationAttributes"] + >[], + options?: import("sequelize").BuildOptions, + ): M_22[]; + create< + M_23 extends import("sequelize").Model, + O extends import("sequelize").CreateOptions< + import("sequelize").Attributes + > = import("sequelize").CreateOptions< + import("sequelize").Attributes + >, + >( + this: import("sequelize").ModelStatic, + values?: import("sequelize/types/utils.js").MakeNullishOptional< + M_23["_creationAttributes"] + >, + options?: O, + ): Promise< + O extends + | { returning: false; - } | { + } + | { ignoreDuplicates: true; - } ? void : M_23>; - findOrBuild>(this: import("sequelize").ModelStatic, options: import("sequelize").FindOrBuildOptions, import("sequelize/types/utils.js").MakeNullishOptional>): Promise<[M_24, boolean]>; - findOrCreate>(this: import("sequelize").ModelStatic, options: import("sequelize").FindOrCreateOptions, import("sequelize/types/utils.js").MakeNullishOptional>): Promise<[M_25, boolean]>; - findCreateFind>(this: import("sequelize").ModelStatic, options: import("sequelize").FindOrCreateOptions, import("sequelize/types/utils.js").MakeNullishOptional>): Promise<[M_26, boolean]>; - upsert>(this: import("sequelize").ModelStatic, values: import("sequelize/types/utils.js").MakeNullishOptional, options?: import("sequelize").UpsertOptions>): Promise<[M_27, boolean]>; - bulkCreate>(this: import("sequelize").ModelStatic, records: readonly import("sequelize/types/utils.js").MakeNullishOptional[], options?: import("sequelize").BulkCreateOptions>): Promise; - truncate>(this: import("sequelize").ModelStatic, options?: import("sequelize").TruncateOptions>): Promise; - destroy>(this: import("sequelize").ModelStatic, options?: import("sequelize").DestroyOptions>): Promise; - restore>(this: import("sequelize").ModelStatic, options?: import("sequelize").RestoreOptions>): Promise; - update>(this: import("sequelize").ModelStatic, values: { [key in keyof import("sequelize").Attributes]?: import("sequelize/types/utils.js").Fn | import("sequelize/types/utils.js").Col | import("sequelize/types/utils.js").Literal | import("sequelize").Attributes[key]; }, options: Omit>, "returning"> & { - returning: true | (keyof import("sequelize").Attributes)[]; - }): Promise<[affectedCount: number, affectedRows: M_32[]]>; - update>(this: import("sequelize").ModelStatic, values: { [key_1 in keyof import("sequelize").Attributes]?: import("sequelize/types/utils.js").Fn | import("sequelize/types/utils.js").Col | import("sequelize/types/utils.js").Literal | import("sequelize").Attributes[key_1]; }, options: import("sequelize").UpdateOptions>): Promise<[affectedCount: number]>; - increment>(this: import("sequelize").ModelStatic, fields: import("sequelize").AllowReadonlyArray>, options: import("sequelize").IncrementDecrementOptionsWithBy>): Promise<[affectedRows: M_34[], affectedCount?: number]>; - increment>(this: import("sequelize").ModelStatic, fields: { [key_2 in keyof import("sequelize").Attributes]?: number; }, options: import("sequelize").IncrementDecrementOptions>): Promise<[affectedRows: M_35[], affectedCount?: number]>; - decrement>(this: import("sequelize").ModelStatic, fields: import("sequelize").AllowReadonlyArray>, options: import("sequelize").IncrementDecrementOptionsWithBy>): Promise<[affectedRows: M_36[], affectedCount?: number]>; - decrement>(this: import("sequelize").ModelStatic, fields: { [key_3 in keyof import("sequelize").Attributes]?: number; }, options: import("sequelize").IncrementDecrementOptions>): Promise<[affectedRows: M_37[], affectedCount?: number]>; - describe(): Promise; - unscoped>(this: M_38): M_38; - beforeValidate>(this: import("sequelize").ModelStatic, name: string, fn: (instance: M_39, options: import("sequelize/types/instance-validator.js").ValidationOptions) => import("sequelize/types/hooks.js").HookReturn): void; - beforeValidate>(this: import("sequelize").ModelStatic, fn: (instance: M_40, options: import("sequelize/types/instance-validator.js").ValidationOptions) => import("sequelize/types/hooks.js").HookReturn): void; - afterValidate>(this: import("sequelize").ModelStatic, name: string, fn: (instance: M_41, options: import("sequelize/types/instance-validator.js").ValidationOptions) => import("sequelize/types/hooks.js").HookReturn): void; - afterValidate>(this: import("sequelize").ModelStatic, fn: (instance: M_42, options: import("sequelize/types/instance-validator.js").ValidationOptions) => import("sequelize/types/hooks.js").HookReturn): void; - beforeCreate>(this: import("sequelize").ModelStatic, name: string, fn: (instance: M_43, options: import("sequelize").CreateOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeCreate>(this: import("sequelize").ModelStatic, fn: (instance: M_44, options: import("sequelize").CreateOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - afterCreate>(this: import("sequelize").ModelStatic, name: string, fn: (instance: M_45, options: import("sequelize").CreateOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - afterCreate>(this: import("sequelize").ModelStatic, fn: (instance: M_46, options: import("sequelize").CreateOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeDestroy>(this: import("sequelize").ModelStatic, name: string, fn: (instance: M_47, options: import("sequelize").InstanceDestroyOptions) => import("sequelize/types/hooks.js").HookReturn): void; - beforeDestroy>(this: import("sequelize").ModelStatic, fn: (instance: M_48, options: import("sequelize").InstanceDestroyOptions) => import("sequelize/types/hooks.js").HookReturn): void; - afterDestroy>(this: import("sequelize").ModelStatic, name: string, fn: (instance: M_49, options: import("sequelize").InstanceDestroyOptions) => import("sequelize/types/hooks.js").HookReturn): void; - afterDestroy>(this: import("sequelize").ModelStatic, fn: (instance: M_50, options: import("sequelize").InstanceDestroyOptions) => import("sequelize/types/hooks.js").HookReturn): void; - beforeUpdate>(this: import("sequelize").ModelStatic, name: string, fn: (instance: M_51, options: import("sequelize").UpdateOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeUpdate>(this: import("sequelize").ModelStatic, fn: (instance: M_52, options: import("sequelize").UpdateOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - afterUpdate>(this: import("sequelize").ModelStatic, name: string, fn: (instance: M_53, options: import("sequelize").UpdateOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - afterUpdate>(this: import("sequelize").ModelStatic, fn: (instance: M_54, options: import("sequelize").UpdateOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeSave>(this: import("sequelize").ModelStatic, name: string, fn: (instance: M_55, options: import("sequelize").UpdateOptions> | import("sequelize").SaveOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeSave>(this: import("sequelize").ModelStatic, fn: (instance: M_56, options: import("sequelize").UpdateOptions> | import("sequelize").SaveOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - afterSave>(this: import("sequelize").ModelStatic, name: string, fn: (instance: M_57, options: import("sequelize").UpdateOptions> | import("sequelize").SaveOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - afterSave>(this: import("sequelize").ModelStatic, fn: (instance: M_58, options: import("sequelize").UpdateOptions> | import("sequelize").SaveOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeBulkCreate>(this: import("sequelize").ModelStatic, name: string, fn: (instances: M_59[], options: import("sequelize").BulkCreateOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeBulkCreate>(this: import("sequelize").ModelStatic, fn: (instances: M_60[], options: import("sequelize").BulkCreateOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - afterBulkCreate>(this: import("sequelize").ModelStatic, name: string, fn: (instances: readonly M_61[], options: import("sequelize").BulkCreateOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - afterBulkCreate>(this: import("sequelize").ModelStatic, fn: (instances: readonly M_62[], options: import("sequelize").BulkCreateOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeBulkDestroy>(this: import("sequelize").ModelStatic, name: string, fn: (options: import("sequelize").BulkCreateOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeBulkDestroy>(this: import("sequelize").ModelStatic, fn: (options: import("sequelize").BulkCreateOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - afterBulkDestroy>(this: import("sequelize").ModelStatic, name: string, fn: (options: import("sequelize").DestroyOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - afterBulkDestroy>(this: import("sequelize").ModelStatic, fn: (options: import("sequelize").DestroyOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeBulkUpdate>(this: import("sequelize").ModelStatic, name: string, fn: (options: import("sequelize").UpdateOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeBulkUpdate>(this: import("sequelize").ModelStatic, fn: (options: import("sequelize").UpdateOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - afterBulkUpdate>(this: import("sequelize").ModelStatic, name: string, fn: (options: import("sequelize").UpdateOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - afterBulkUpdate>(this: import("sequelize").ModelStatic, fn: (options: import("sequelize").UpdateOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeFind>(this: import("sequelize").ModelStatic, name: string, fn: (options: import("sequelize").FindOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeFind>(this: import("sequelize").ModelStatic, fn: (options: import("sequelize").FindOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeCount>(this: import("sequelize").ModelStatic, name: string, fn: (options: import("sequelize").CountOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeCount>(this: import("sequelize").ModelStatic, fn: (options: import("sequelize").CountOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeFindAfterExpandIncludeAll>(this: import("sequelize").ModelStatic, name: string, fn: (options: import("sequelize").FindOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeFindAfterExpandIncludeAll>(this: import("sequelize").ModelStatic, fn: (options: import("sequelize").FindOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeFindAfterOptions>(this: import("sequelize").ModelStatic, name: string, fn: (options: import("sequelize").FindOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeFindAfterOptions>(this: import("sequelize").ModelStatic, fn: (options: import("sequelize").FindOptions>) => void): import("sequelize/types/hooks.js").HookReturn; - afterFind>(this: import("sequelize").ModelStatic, name: string, fn: (instancesOrInstance: M_79 | readonly M_79[], options: import("sequelize").FindOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - afterFind>(this: import("sequelize").ModelStatic, fn: (instancesOrInstance: M_80 | readonly M_80[], options: import("sequelize").FindOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeBulkSync(name: string, fn: (options: import("sequelize").SyncOptions) => import("sequelize/types/hooks.js").HookReturn): void; - beforeBulkSync(fn: (options: import("sequelize").SyncOptions) => import("sequelize/types/hooks.js").HookReturn): void; - afterBulkSync(name: string, fn: (options: import("sequelize").SyncOptions) => import("sequelize/types/hooks.js").HookReturn): void; - afterBulkSync(fn: (options: import("sequelize").SyncOptions) => import("sequelize/types/hooks.js").HookReturn): void; - beforeSync(name: string, fn: (options: import("sequelize").SyncOptions) => import("sequelize/types/hooks.js").HookReturn): void; - beforeSync(fn: (options: import("sequelize").SyncOptions) => import("sequelize/types/hooks.js").HookReturn): void; - afterSync(name: string, fn: (options: import("sequelize").SyncOptions) => import("sequelize/types/hooks.js").HookReturn): void; - afterSync(fn: (options: import("sequelize").SyncOptions) => import("sequelize/types/hooks.js").HookReturn): void; - hasOne, T_6 extends import("sequelize").Model>(this: import("sequelize").ModelStatic, target: import("sequelize").ModelStatic, options?: import("sequelize").HasOneOptions): import("sequelize").HasOne; - belongsTo, T_7 extends import("sequelize").Model>(this: import("sequelize").ModelStatic, target: import("sequelize").ModelStatic, options?: import("sequelize").BelongsToOptions): import("sequelize").BelongsTo; - hasMany, T_8 extends import("sequelize").Model>(this: import("sequelize").ModelStatic, target: import("sequelize").ModelStatic, options?: import("sequelize").HasManyOptions): import("sequelize").HasMany; - belongsToMany, T_9 extends import("sequelize").Model>(this: import("sequelize").ModelStatic, target: import("sequelize").ModelStatic, options: import("sequelize").BelongsToManyOptions): import("sequelize").BelongsToMany; - addHook, any, any>, K_16 extends keyof import("sequelize/types/hooks.js").SequelizeHooks, import("sequelize").CreationAttributes>>(this: import("sequelize/types/hooks.js").HooksStatic, hookType: K_16, name: string, fn: import("sequelize/types/hooks.js").SequelizeHooks, import("sequelize").CreationAttributes>[K_16]): import("sequelize/types/hooks.js").HooksCtor; - addHook, any, any>, K_17 extends keyof import("sequelize/types/hooks.js").SequelizeHooks, import("sequelize").CreationAttributes>>(this: import("sequelize/types/hooks.js").HooksStatic, hookType: K_17, fn: import("sequelize/types/hooks.js").SequelizeHooks, import("sequelize").CreationAttributes>[K_17]): import("sequelize/types/hooks.js").HooksCtor; - removeHook, any, any>>(this: import("sequelize/types/hooks.js").HooksStatic, hookType: keyof import("sequelize/types/hooks.js").SequelizeHooks, import("sequelize").CreationAttributes>, name: string): import("sequelize/types/hooks.js").HooksCtor; - hasHook, any, any>>(this: import("sequelize/types/hooks.js").HooksStatic, hookType: keyof import("sequelize/types/hooks.js").SequelizeHooks, import("sequelize").CreationAttributes>): boolean; - hasHooks, any, any>>(this: import("sequelize/types/hooks.js").HooksStatic, hookType: keyof import("sequelize/types/hooks.js").SequelizeHooks, import("sequelize").CreationAttributes>): boolean; + } + ? void + : M_23 + >; + findOrBuild>( + this: import("sequelize").ModelStatic, + options: import("sequelize").FindOrBuildOptions< + import("sequelize").Attributes, + import("sequelize/types/utils.js").MakeNullishOptional< + M_24["_creationAttributes"] + > + >, + ): Promise<[M_24, boolean]>; + findOrCreate>( + this: import("sequelize").ModelStatic, + options: import("sequelize").FindOrCreateOptions< + import("sequelize").Attributes, + import("sequelize/types/utils.js").MakeNullishOptional< + M_25["_creationAttributes"] + > + >, + ): Promise<[M_25, boolean]>; + findCreateFind>( + this: import("sequelize").ModelStatic, + options: import("sequelize").FindOrCreateOptions< + import("sequelize").Attributes, + import("sequelize/types/utils.js").MakeNullishOptional< + M_26["_creationAttributes"] + > + >, + ): Promise<[M_26, boolean]>; + upsert>( + this: import("sequelize").ModelStatic, + values: import("sequelize/types/utils.js").MakeNullishOptional< + M_27["_creationAttributes"] + >, + options?: import("sequelize").UpsertOptions< + import("sequelize").Attributes + >, + ): Promise<[M_27, boolean]>; + bulkCreate>( + this: import("sequelize").ModelStatic, + records: readonly import("sequelize/types/utils.js").MakeNullishOptional< + M_28["_creationAttributes"] + >[], + options?: import("sequelize").BulkCreateOptions< + import("sequelize").Attributes + >, + ): Promise; + truncate>( + this: import("sequelize").ModelStatic, + options?: import("sequelize").TruncateOptions< + import("sequelize").Attributes + >, + ): Promise; + destroy>( + this: import("sequelize").ModelStatic, + options?: import("sequelize").DestroyOptions< + import("sequelize").Attributes + >, + ): Promise; + restore>( + this: import("sequelize").ModelStatic, + options?: import("sequelize").RestoreOptions< + import("sequelize").Attributes + >, + ): Promise; + update>( + this: import("sequelize").ModelStatic, + values: { + [key in keyof import("sequelize").Attributes]?: + | import("sequelize/types/utils.js").Fn + | import("sequelize/types/utils.js").Col + | import("sequelize/types/utils.js").Literal + | import("sequelize").Attributes[key]; + }, + options: Omit< + import("sequelize").UpdateOptions>, + "returning" + > & { + returning: true | (keyof import("sequelize").Attributes)[]; + }, + ): Promise<[affectedCount: number, affectedRows: M_32[]]>; + update>( + this: import("sequelize").ModelStatic, + values: { + [key_1 in keyof import("sequelize").Attributes]?: + | import("sequelize/types/utils.js").Fn + | import("sequelize/types/utils.js").Col + | import("sequelize/types/utils.js").Literal + | import("sequelize").Attributes[key_1]; + }, + options: import("sequelize").UpdateOptions< + import("sequelize").Attributes + >, + ): Promise<[affectedCount: number]>; + increment>( + this: import("sequelize").ModelStatic, + fields: import("sequelize").AllowReadonlyArray< + keyof import("sequelize").Attributes + >, + options: import("sequelize").IncrementDecrementOptionsWithBy< + import("sequelize").Attributes + >, + ): Promise<[affectedRows: M_34[], affectedCount?: number]>; + increment>( + this: import("sequelize").ModelStatic, + fields: { + [key_2 in keyof import("sequelize").Attributes]?: number; + }, + options: import("sequelize").IncrementDecrementOptions< + import("sequelize").Attributes + >, + ): Promise<[affectedRows: M_35[], affectedCount?: number]>; + decrement>( + this: import("sequelize").ModelStatic, + fields: import("sequelize").AllowReadonlyArray< + keyof import("sequelize").Attributes + >, + options: import("sequelize").IncrementDecrementOptionsWithBy< + import("sequelize").Attributes + >, + ): Promise<[affectedRows: M_36[], affectedCount?: number]>; + decrement>( + this: import("sequelize").ModelStatic, + fields: { + [key_3 in keyof import("sequelize").Attributes]?: number; + }, + options: import("sequelize").IncrementDecrementOptions< + import("sequelize").Attributes + >, + ): Promise<[affectedRows: M_37[], affectedCount?: number]>; + describe(): Promise; + unscoped>( + this: M_38, + ): M_38; + beforeValidate>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + instance: M_39, + options: import("sequelize/types/instance-validator.js").ValidationOptions, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeValidate>( + this: import("sequelize").ModelStatic, + fn: ( + instance: M_40, + options: import("sequelize/types/instance-validator.js").ValidationOptions, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterValidate>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + instance: M_41, + options: import("sequelize/types/instance-validator.js").ValidationOptions, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterValidate>( + this: import("sequelize").ModelStatic, + fn: ( + instance: M_42, + options: import("sequelize/types/instance-validator.js").ValidationOptions, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeCreate>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + instance: M_43, + options: import("sequelize").CreateOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeCreate>( + this: import("sequelize").ModelStatic, + fn: ( + instance: M_44, + options: import("sequelize").CreateOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterCreate>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + instance: M_45, + options: import("sequelize").CreateOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterCreate>( + this: import("sequelize").ModelStatic, + fn: ( + instance: M_46, + options: import("sequelize").CreateOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeDestroy>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + instance: M_47, + options: import("sequelize").InstanceDestroyOptions, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeDestroy>( + this: import("sequelize").ModelStatic, + fn: ( + instance: M_48, + options: import("sequelize").InstanceDestroyOptions, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterDestroy>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + instance: M_49, + options: import("sequelize").InstanceDestroyOptions, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterDestroy>( + this: import("sequelize").ModelStatic, + fn: ( + instance: M_50, + options: import("sequelize").InstanceDestroyOptions, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeUpdate>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + instance: M_51, + options: import("sequelize").UpdateOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeUpdate>( + this: import("sequelize").ModelStatic, + fn: ( + instance: M_52, + options: import("sequelize").UpdateOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterUpdate>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + instance: M_53, + options: import("sequelize").UpdateOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterUpdate>( + this: import("sequelize").ModelStatic, + fn: ( + instance: M_54, + options: import("sequelize").UpdateOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeSave>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + instance: M_55, + options: + | import("sequelize").UpdateOptions< + import("sequelize").Attributes + > + | import("sequelize").SaveOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeSave>( + this: import("sequelize").ModelStatic, + fn: ( + instance: M_56, + options: + | import("sequelize").UpdateOptions< + import("sequelize").Attributes + > + | import("sequelize").SaveOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterSave>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + instance: M_57, + options: + | import("sequelize").UpdateOptions< + import("sequelize").Attributes + > + | import("sequelize").SaveOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterSave>( + this: import("sequelize").ModelStatic, + fn: ( + instance: M_58, + options: + | import("sequelize").UpdateOptions< + import("sequelize").Attributes + > + | import("sequelize").SaveOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeBulkCreate>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + instances: M_59[], + options: import("sequelize").BulkCreateOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeBulkCreate>( + this: import("sequelize").ModelStatic, + fn: ( + instances: M_60[], + options: import("sequelize").BulkCreateOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterBulkCreate>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + instances: readonly M_61[], + options: import("sequelize").BulkCreateOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterBulkCreate>( + this: import("sequelize").ModelStatic, + fn: ( + instances: readonly M_62[], + options: import("sequelize").BulkCreateOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeBulkDestroy>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + options: import("sequelize").BulkCreateOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeBulkDestroy>( + this: import("sequelize").ModelStatic, + fn: ( + options: import("sequelize").BulkCreateOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterBulkDestroy>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + options: import("sequelize").DestroyOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterBulkDestroy>( + this: import("sequelize").ModelStatic, + fn: ( + options: import("sequelize").DestroyOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeBulkUpdate>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + options: import("sequelize").UpdateOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeBulkUpdate>( + this: import("sequelize").ModelStatic, + fn: ( + options: import("sequelize").UpdateOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterBulkUpdate>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + options: import("sequelize").UpdateOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterBulkUpdate>( + this: import("sequelize").ModelStatic, + fn: ( + options: import("sequelize").UpdateOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeFind>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + options: import("sequelize").FindOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeFind>( + this: import("sequelize").ModelStatic, + fn: ( + options: import("sequelize").FindOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeCount>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + options: import("sequelize").CountOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeCount>( + this: import("sequelize").ModelStatic, + fn: ( + options: import("sequelize").CountOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeFindAfterExpandIncludeAll< + M_75 extends import("sequelize").Model, + >( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + options: import("sequelize").FindOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeFindAfterExpandIncludeAll< + M_76 extends import("sequelize").Model, + >( + this: import("sequelize").ModelStatic, + fn: ( + options: import("sequelize").FindOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeFindAfterOptions>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + options: import("sequelize").FindOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeFindAfterOptions>( + this: import("sequelize").ModelStatic, + fn: ( + options: import("sequelize").FindOptions< + import("sequelize").Attributes + >, + ) => void, + ): import("sequelize/types/hooks.js").HookReturn; + afterFind>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + instancesOrInstance: M_79 | readonly M_79[], + options: import("sequelize").FindOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterFind>( + this: import("sequelize").ModelStatic, + fn: ( + instancesOrInstance: M_80 | readonly M_80[], + options: import("sequelize").FindOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeBulkSync( + name: string, + fn: ( + options: import("sequelize").SyncOptions, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeBulkSync( + fn: ( + options: import("sequelize").SyncOptions, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterBulkSync( + name: string, + fn: ( + options: import("sequelize").SyncOptions, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterBulkSync( + fn: ( + options: import("sequelize").SyncOptions, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeSync( + name: string, + fn: ( + options: import("sequelize").SyncOptions, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeSync( + fn: ( + options: import("sequelize").SyncOptions, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterSync( + name: string, + fn: ( + options: import("sequelize").SyncOptions, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterSync( + fn: ( + options: import("sequelize").SyncOptions, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + hasOne< + M_81 extends import("sequelize").Model, + T_6 extends import("sequelize").Model, + >( + this: import("sequelize").ModelStatic, + target: import("sequelize").ModelStatic, + options?: import("sequelize").HasOneOptions, + ): import("sequelize").HasOne; + belongsTo< + M_82 extends import("sequelize").Model, + T_7 extends import("sequelize").Model, + >( + this: import("sequelize").ModelStatic, + target: import("sequelize").ModelStatic, + options?: import("sequelize").BelongsToOptions, + ): import("sequelize").BelongsTo; + hasMany< + M_83 extends import("sequelize").Model, + T_8 extends import("sequelize").Model, + >( + this: import("sequelize").ModelStatic, + target: import("sequelize").ModelStatic, + options?: import("sequelize").HasManyOptions, + ): import("sequelize").HasMany; + belongsToMany< + M_84 extends import("sequelize").Model, + T_9 extends import("sequelize").Model, + >( + this: import("sequelize").ModelStatic, + target: import("sequelize").ModelStatic, + options: import("sequelize").BelongsToManyOptions, + ): import("sequelize").BelongsToMany; + addHook< + H extends import("sequelize/types/hooks.js").Hooks< + import("sequelize").Model, + any, + any + >, + K_16 extends keyof import("sequelize/types/hooks.js").SequelizeHooks< + H["_model"], + import("sequelize").Attributes, + import("sequelize").CreationAttributes + >, + >( + this: import("sequelize/types/hooks.js").HooksStatic, + hookType: K_16, + name: string, + fn: import("sequelize/types/hooks.js").SequelizeHooks< + H["_model"], + import("sequelize").Attributes, + import("sequelize").CreationAttributes + >[K_16], + ): import("sequelize/types/hooks.js").HooksCtor; + addHook< + H_1 extends import("sequelize/types/hooks.js").Hooks< + import("sequelize").Model, + any, + any + >, + K_17 extends keyof import("sequelize/types/hooks.js").SequelizeHooks< + H_1["_model"], + import("sequelize").Attributes, + import("sequelize").CreationAttributes + >, + >( + this: import("sequelize/types/hooks.js").HooksStatic, + hookType: K_17, + fn: import("sequelize/types/hooks.js").SequelizeHooks< + H_1["_model"], + import("sequelize").Attributes, + import("sequelize").CreationAttributes + >[K_17], + ): import("sequelize/types/hooks.js").HooksCtor; + removeHook< + H_2 extends import("sequelize/types/hooks.js").Hooks< + import("sequelize").Model, + any, + any + >, + >( + this: import("sequelize/types/hooks.js").HooksStatic, + hookType: keyof import("sequelize/types/hooks.js").SequelizeHooks< + H_2["_model"], + import("sequelize").Attributes, + import("sequelize").CreationAttributes + >, + name: string, + ): import("sequelize/types/hooks.js").HooksCtor; + hasHook< + H_3 extends import("sequelize/types/hooks.js").Hooks< + import("sequelize").Model, + any, + any + >, + >( + this: import("sequelize/types/hooks.js").HooksStatic, + hookType: keyof import("sequelize/types/hooks.js").SequelizeHooks< + H_3["_model"], + import("sequelize").Attributes, + import("sequelize").CreationAttributes + >, + ): boolean; + hasHooks< + H_4 extends import("sequelize/types/hooks.js").Hooks< + import("sequelize").Model, + any, + any + >, + >( + this: import("sequelize/types/hooks.js").HooksStatic, + hookType: keyof import("sequelize/types/hooks.js").SequelizeHooks< + H_4["_model"], + import("sequelize").Attributes, + import("sequelize").CreationAttributes + >, + ): boolean; + }; + DataFlows: { + new ( + values?: import("sequelize").Optional, + options?: import("sequelize").BuildOptions, + ): { + _attributes: any; + dataValues: any; + _creationAttributes: any; + isNewRecord: boolean; + sequelize: import("sequelize").Sequelize; + where(): object; + getDataValue(key: K): any; + setDataValue( + key: K_1, + value: any, + ): void; + get(options?: { + plain?: boolean; + clone?: boolean; + }): any; + get( + key: K_29, + options?: { + plain?: boolean; + clone?: boolean; + }, + ): any[K_29]; + get( + key: string, + options?: { + plain?: boolean; + clone?: boolean; + }, + ): unknown; + set( + key: K_30, + value: any, + options?: import("sequelize").SetOptions, + ): any; + set(keys: Partial, options?: import("sequelize").SetOptions): any; + setAttributes( + key: K_31, + value: any, + options?: import("sequelize").SetOptions, + ): any; + setAttributes( + keys: Partial, + options?: import("sequelize").SetOptions, + ): any; + changed(key: K_32): boolean; + changed(key: K_33, dirty: boolean): void; + changed(): false | string[]; + previous(): Partial; + previous(key: K_7): any; + save(options?: import("sequelize").SaveOptions): Promise; + reload(options?: import("sequelize").FindOptions): Promise; + validate( + options?: import("sequelize/types/instance-validator.js").ValidationOptions, + ): Promise; + update( + key: K_34, + value: any, + options?: import("sequelize").InstanceUpdateOptions, + ): Promise; + update( + keys: { + [x: string]: any; + }, + options?: import("sequelize").InstanceUpdateOptions, + ): Promise; + destroy( + options?: import("sequelize").InstanceDestroyOptions, + ): Promise; + restore( + options?: import("sequelize").InstanceRestoreOptions, + ): Promise; + increment( + fields: Partial | K_35 | readonly K_35[], + options?: import("sequelize").IncrementDecrementOptionsWithBy, + ): Promise; + decrement( + fields: Partial | K_36 | readonly K_36[], + options?: import("sequelize").IncrementDecrementOptionsWithBy, + ): Promise; + equals(other: any): boolean; + equalsOneOf(others: readonly any[]): boolean; + toJSON(): T; + toJSON(): object; + isSoftDeleted(): boolean; + _model: import("sequelize").Model; + addHook< + K_37 extends keyof import("sequelize/types/hooks.js").SequelizeHooks< + M, + TModelAttributes, + TCreationAttributes + >, + >( + hookType: K_37, + name: string, + fn: import("sequelize/types/hooks.js").SequelizeHooks< + import("sequelize").Model, + any, + any + >[K_37], + ): any; + addHook< + K_38 extends keyof import("sequelize/types/hooks.js").SequelizeHooks< + M, + TModelAttributes, + TCreationAttributes + >, + >( + hookType: K_38, + fn: import("sequelize/types/hooks.js").SequelizeHooks< + import("sequelize").Model, + any, + any + >[K_38], + ): any; + removeHook< + K_39 extends keyof import("sequelize/types/hooks.js").SequelizeHooks< + M, + TModelAttributes, + TCreationAttributes + >, + >(hookType: K_39, name: string): any; + hasHook< + K_14 extends keyof import("sequelize/types/hooks.js").SequelizeHooks< + M, + TModelAttributes, + TCreationAttributes + >, + >(hookType: K_14): boolean; + hasHooks< + K_15 extends keyof import("sequelize/types/hooks.js").SequelizeHooks< + M, + TModelAttributes, + TCreationAttributes + >, + >(hookType: K_15): boolean; }; - DataFlows: { - new (values?: import("sequelize").Optional, options?: import("sequelize").BuildOptions): { - _attributes: any; - dataValues: any; - _creationAttributes: any; - isNewRecord: boolean; - sequelize: import("sequelize").Sequelize; - where(): object; - getDataValue(key: K): any; - setDataValue(key: K_1, value: any): void; - get(options?: { - plain?: boolean; - clone?: boolean; - }): any; - get(key: K_29, options?: { - plain?: boolean; - clone?: boolean; - }): any[K_29]; - get(key: string, options?: { - plain?: boolean; - clone?: boolean; - }): unknown; - set(key: K_30, value: any, options?: import("sequelize").SetOptions): any; - set(keys: Partial, options?: import("sequelize").SetOptions): any; - setAttributes(key: K_31, value: any, options?: import("sequelize").SetOptions): any; - setAttributes(keys: Partial, options?: import("sequelize").SetOptions): any; - changed(key: K_32): boolean; - changed(key: K_33, dirty: boolean): void; - changed(): false | string[]; - previous(): Partial; - previous(key: K_7): any; - save(options?: import("sequelize").SaveOptions): Promise; - reload(options?: import("sequelize").FindOptions): Promise; - validate(options?: import("sequelize/types/instance-validator.js").ValidationOptions): Promise; - update(key: K_34, value: any, options?: import("sequelize").InstanceUpdateOptions): Promise; - update(keys: { - [x: string]: any; - }, options?: import("sequelize").InstanceUpdateOptions): Promise; - destroy(options?: import("sequelize").InstanceDestroyOptions): Promise; - restore(options?: import("sequelize").InstanceRestoreOptions): Promise; - increment(fields: Partial | K_35 | readonly K_35[], options?: import("sequelize").IncrementDecrementOptionsWithBy): Promise; - decrement(fields: Partial | K_36 | readonly K_36[], options?: import("sequelize").IncrementDecrementOptionsWithBy): Promise; - equals(other: any): boolean; - equalsOneOf(others: readonly any[]): boolean; - toJSON(): T; - toJSON(): object; - isSoftDeleted(): boolean; - _model: import("sequelize").Model; - addHook>(hookType: K_37, name: string, fn: import("sequelize/types/hooks.js").SequelizeHooks, any, any>[K_37]): any; - addHook>(hookType: K_38, fn: import("sequelize/types/hooks.js").SequelizeHooks, any, any>[K_38]): any; - removeHook>(hookType: K_39, name: string): any; - hasHook>(hookType: K_14): boolean; - hasHooks>(hookType: K_15): boolean; - }; - readonly tableName: string; - readonly primaryKeyAttribute: string; - readonly primaryKeyAttributes: readonly string[]; - readonly associations: { - [key: string]: import("sequelize").Association, import("sequelize").Model>; - }; - readonly options: import("sequelize").InitOptions>; - readonly rawAttributes: { - [attribute: string]: import("sequelize").ModelAttributeColumnOptions>; - }; - getAttributes>(this: import("sequelize").ModelStatic): { readonly [Key in keyof import("sequelize").Attributes]: import("sequelize").ModelAttributeColumnOptions>; }; - readonly sequelize?: import("sequelize").Sequelize; - init>, M_2 extends InstanceType>(this: MS, attributes: import("sequelize").ModelAttributes, (import("sequelize").Attributes extends infer T_11 ? { [P in keyof T_11]-?: (keyof NonNullable[P]> extends Exclude[P]>, unique symbol> ? false : true) extends true ? P : never; } : never)[keyof import("sequelize").Attributes]>>, options: import("sequelize").InitOptions): MS; - removeAttribute(attribute: string): void; - sync>(options?: import("sequelize").SyncOptions): Promise; - drop(options?: import("sequelize").DropOptions): Promise; - schema>(this: import("sequelize").ModelStatic, schema: string, options?: import("sequelize").SchemaOptions): import("sequelize").ModelCtor; - getTableName(): string | { - tableName: string; - schema: string; - delimiter: string; + readonly tableName: string; + readonly primaryKeyAttribute: string; + readonly primaryKeyAttributes: readonly string[]; + readonly associations: { + [key: string]: import("sequelize").Association< + import("sequelize").Model, + import("sequelize").Model + >; + }; + readonly options: import("sequelize").InitOptions< + import("sequelize").Model + >; + readonly rawAttributes: { + [attribute: string]: import("sequelize").ModelAttributeColumnOptions< + import("sequelize").Model + >; + }; + getAttributes>( + this: import("sequelize").ModelStatic, + ): { + readonly [Key in keyof import("sequelize").Attributes]: import("sequelize").ModelAttributeColumnOptions< + import("sequelize").Model + >; + }; + readonly sequelize?: import("sequelize").Sequelize; + init< + MS extends import("sequelize").ModelStatic< + import("sequelize").Model + >, + M_2 extends InstanceType, + >( + this: MS, + attributes: import("sequelize").ModelAttributes< + M_2, + import("sequelize").Optional< + import("sequelize").Attributes, + (import("sequelize").Attributes extends infer T_11 + ? { + [P in keyof T_11]-?: ( + keyof NonNullable< + import("sequelize").Attributes[P] + > extends Exclude< + keyof NonNullable[P]>, + unique symbol + > + ? false + : true + ) extends true + ? P + : never; + } + : never)[keyof import("sequelize").Attributes] + > + >, + options: import("sequelize").InitOptions, + ): MS; + removeAttribute(attribute: string): void; + sync>( + options?: import("sequelize").SyncOptions, + ): Promise; + drop(options?: import("sequelize").DropOptions): Promise; + schema>( + this: import("sequelize").ModelStatic, + schema: string, + options?: import("sequelize").SchemaOptions, + ): import("sequelize").ModelCtor; + getTableName(): + | string + | { + tableName: string; + schema: string; + delimiter: string; }; - scope>(this: import("sequelize").ModelStatic, options?: string | import("sequelize").ScopeOptions | readonly (string | import("sequelize").ScopeOptions)[] | import("sequelize").WhereAttributeHash): import("sequelize").ModelCtor; - addScope>(this: import("sequelize").ModelStatic, name: string, scope: import("sequelize").FindOptions>, options?: import("sequelize").AddScopeOptions): void; - addScope>(this: import("sequelize").ModelStatic, name: string, scope: (...args: readonly any[]) => import("sequelize").FindOptions>, options?: import("sequelize").AddScopeOptions): void; - findAll>(this: import("sequelize").ModelStatic, options?: import("sequelize").FindOptions>): Promise; - findByPk>(this: import("sequelize").ModelStatic, identifier: import("sequelize").Identifier, options: Omit>, "where">): Promise; - findByPk>(this: import("sequelize").ModelStatic, identifier?: import("sequelize").Identifier, options?: Omit>, "where">): Promise; - findOne>(this: import("sequelize").ModelStatic, options: import("sequelize").NonNullFindOptions>): Promise; - findOne>(this: import("sequelize").ModelStatic, options?: import("sequelize").FindOptions>): Promise; - aggregate>(this: import("sequelize").ModelStatic, field: "*" | keyof import("sequelize").Attributes, aggregateFunction: string, options?: import("sequelize").AggregateOptions>): Promise; - count>(this: import("sequelize").ModelStatic, options: { - attributes?: import("sequelize").FindAttributeOptions; - logging?: boolean | ((sql: string, timing?: number) => void); - where?: import("sequelize").WhereOptions>; - include?: import("sequelize").Includeable | import("sequelize").Includeable[]; - benchmark?: boolean; - transaction?: import("sequelize").Transaction; - useMaster?: boolean; - paranoid?: boolean; - col?: string; - distinct?: boolean; - group: import("sequelize").GroupOption; - }): Promise; - count>(this: import("sequelize").ModelStatic, options?: Omit>, "group">): Promise; - findAndCountAll>(this: import("sequelize").ModelStatic, options?: Omit>, "group">): Promise<{ - rows: M_16[]; - count: number; - }>; - findAndCountAll>(this: import("sequelize").ModelStatic, options: { - type?: string; - attributes?: import("sequelize").FindAttributeOptions; - plain?: boolean; - logging?: boolean | ((sql: string, timing?: number) => void); - where?: import("sequelize").WhereOptions>; - include?: import("sequelize").Includeable | import("sequelize").Includeable[]; - order?: import("sequelize").Order; - limit?: number; - groupedLimit?: unknown; - offset?: number; - lock?: boolean | import("sequelize").LOCK | { - level: import("sequelize").LOCK; - of: import("sequelize").ModelStatic>; + scope>( + this: import("sequelize").ModelStatic, + options?: + | string + | import("sequelize").ScopeOptions + | readonly (string | import("sequelize").ScopeOptions)[] + | import("sequelize").WhereAttributeHash, + ): import("sequelize").ModelCtor; + addScope>( + this: import("sequelize").ModelStatic, + name: string, + scope: import("sequelize").FindOptions< + import("sequelize").Attributes + >, + options?: import("sequelize").AddScopeOptions, + ): void; + addScope>( + this: import("sequelize").ModelStatic, + name: string, + scope: ( + ...args: readonly any[] + ) => import("sequelize").FindOptions>, + options?: import("sequelize").AddScopeOptions, + ): void; + findAll>( + this: import("sequelize").ModelStatic, + options?: import("sequelize").FindOptions< + import("sequelize").Attributes + >, + ): Promise; + findByPk>( + this: import("sequelize").ModelStatic, + identifier: import("sequelize").Identifier, + options: Omit< + import("sequelize").NonNullFindOptions< + import("sequelize").Attributes + >, + "where" + >, + ): Promise; + findByPk>( + this: import("sequelize").ModelStatic, + identifier?: import("sequelize").Identifier, + options?: Omit< + import("sequelize").FindOptions>, + "where" + >, + ): Promise; + findOne>( + this: import("sequelize").ModelStatic, + options: import("sequelize").NonNullFindOptions< + import("sequelize").Attributes + >, + ): Promise; + findOne>( + this: import("sequelize").ModelStatic, + options?: import("sequelize").FindOptions< + import("sequelize").Attributes + >, + ): Promise; + aggregate>( + this: import("sequelize").ModelStatic, + field: "*" | keyof import("sequelize").Attributes, + aggregateFunction: string, + options?: import("sequelize").AggregateOptions< + T_2, + import("sequelize").Attributes + >, + ): Promise; + count>( + this: import("sequelize").ModelStatic, + options: { + attributes?: import("sequelize").FindAttributeOptions; + logging?: boolean | ((sql: string, timing?: number) => void); + where?: import("sequelize").WhereOptions< + import("sequelize").Attributes + >; + include?: + | import("sequelize").Includeable + | import("sequelize").Includeable[]; + benchmark?: boolean; + transaction?: import("sequelize").Transaction; + useMaster?: boolean; + paranoid?: boolean; + col?: string; + distinct?: boolean; + group: import("sequelize").GroupOption; + }, + ): Promise; + count>( + this: import("sequelize").ModelStatic, + options?: Omit< + import("sequelize").CountOptions>, + "group" + >, + ): Promise; + findAndCountAll>( + this: import("sequelize").ModelStatic, + options?: Omit< + import("sequelize").FindAndCountOptions< + import("sequelize").Attributes + >, + "group" + >, + ): Promise<{ + rows: M_16[]; + count: number; + }>; + findAndCountAll>( + this: import("sequelize").ModelStatic, + options: { + type?: string; + attributes?: import("sequelize").FindAttributeOptions; + plain?: boolean; + logging?: boolean | ((sql: string, timing?: number) => void); + where?: import("sequelize").WhereOptions< + import("sequelize").Attributes + >; + include?: + | import("sequelize").Includeable + | import("sequelize").Includeable[]; + order?: import("sequelize").Order; + limit?: number; + groupedLimit?: unknown; + offset?: number; + lock?: + | boolean + | import("sequelize").LOCK + | { + level: import("sequelize").LOCK; + of: import("sequelize").ModelStatic< + import("sequelize").Model + >; }; - skipLocked?: boolean; - raw?: boolean; - having?: import("sequelize").WhereOptions; - subQuery?: boolean; - nest?: boolean; - replacements?: import("sequelize").BindOrReplacements; - bind?: import("sequelize").BindOrReplacements; - instance?: import("sequelize").Model; - mapToModel?: boolean; - retry?: import("retry-as-promised").Options; - fieldMap?: import("sequelize").FieldMap; - benchmark?: boolean; - transaction?: import("sequelize").Transaction; - useMaster?: boolean; - paranoid?: boolean; - indexHints?: import("sequelize").IndexHint[]; - col?: string; - distinct?: boolean; - group: import("sequelize").GroupOption; - }): Promise<{ - rows: M_17[]; - count: import("sequelize").GroupedCountResultItem[]; - }>; - max>(this: import("sequelize").ModelStatic, field: keyof import("sequelize").Attributes, options?: import("sequelize").AggregateOptions>): Promise; - min>(this: import("sequelize").ModelStatic, field: keyof import("sequelize").Attributes, options?: import("sequelize").AggregateOptions>): Promise; - sum>(this: import("sequelize").ModelStatic, field: keyof import("sequelize").Attributes, options?: import("sequelize").AggregateOptions>): Promise; - build>(this: import("sequelize").ModelStatic, record?: import("sequelize/types/utils.js").MakeNullishOptional, options?: import("sequelize").BuildOptions): M_21; - bulkBuild>(this: import("sequelize").ModelStatic, records: readonly import("sequelize/types/utils.js").MakeNullishOptional[], options?: import("sequelize").BuildOptions): M_22[]; - create, O extends import("sequelize").CreateOptions> = import("sequelize").CreateOptions>>(this: import("sequelize").ModelStatic, values?: import("sequelize/types/utils.js").MakeNullishOptional, options?: O): Promise; + subQuery?: boolean; + nest?: boolean; + replacements?: import("sequelize").BindOrReplacements; + bind?: import("sequelize").BindOrReplacements; + instance?: import("sequelize").Model; + mapToModel?: boolean; + retry?: import("retry-as-promised").Options; + fieldMap?: import("sequelize").FieldMap; + benchmark?: boolean; + transaction?: import("sequelize").Transaction; + useMaster?: boolean; + paranoid?: boolean; + indexHints?: import("sequelize").IndexHint[]; + col?: string; + distinct?: boolean; + group: import("sequelize").GroupOption; + }, + ): Promise<{ + rows: M_17[]; + count: import("sequelize").GroupedCountResultItem[]; + }>; + max>( + this: import("sequelize").ModelStatic, + field: keyof import("sequelize").Attributes, + options?: import("sequelize").AggregateOptions< + T_3, + import("sequelize").Attributes + >, + ): Promise; + min>( + this: import("sequelize").ModelStatic, + field: keyof import("sequelize").Attributes, + options?: import("sequelize").AggregateOptions< + T_4, + import("sequelize").Attributes + >, + ): Promise; + sum>( + this: import("sequelize").ModelStatic, + field: keyof import("sequelize").Attributes, + options?: import("sequelize").AggregateOptions< + T_5, + import("sequelize").Attributes + >, + ): Promise; + build>( + this: import("sequelize").ModelStatic, + record?: import("sequelize/types/utils.js").MakeNullishOptional< + M_21["_creationAttributes"] + >, + options?: import("sequelize").BuildOptions, + ): M_21; + bulkBuild>( + this: import("sequelize").ModelStatic, + records: readonly import("sequelize/types/utils.js").MakeNullishOptional< + M_22["_creationAttributes"] + >[], + options?: import("sequelize").BuildOptions, + ): M_22[]; + create< + M_23 extends import("sequelize").Model, + O extends import("sequelize").CreateOptions< + import("sequelize").Attributes + > = import("sequelize").CreateOptions< + import("sequelize").Attributes + >, + >( + this: import("sequelize").ModelStatic, + values?: import("sequelize/types/utils.js").MakeNullishOptional< + M_23["_creationAttributes"] + >, + options?: O, + ): Promise< + O extends + | { returning: false; - } | { + } + | { ignoreDuplicates: true; - } ? void : M_23>; - findOrBuild>(this: import("sequelize").ModelStatic, options: import("sequelize").FindOrBuildOptions, import("sequelize/types/utils.js").MakeNullishOptional>): Promise<[M_24, boolean]>; - findOrCreate>(this: import("sequelize").ModelStatic, options: import("sequelize").FindOrCreateOptions, import("sequelize/types/utils.js").MakeNullishOptional>): Promise<[M_25, boolean]>; - findCreateFind>(this: import("sequelize").ModelStatic, options: import("sequelize").FindOrCreateOptions, import("sequelize/types/utils.js").MakeNullishOptional>): Promise<[M_26, boolean]>; - upsert>(this: import("sequelize").ModelStatic, values: import("sequelize/types/utils.js").MakeNullishOptional, options?: import("sequelize").UpsertOptions>): Promise<[M_27, boolean]>; - bulkCreate>(this: import("sequelize").ModelStatic, records: readonly import("sequelize/types/utils.js").MakeNullishOptional[], options?: import("sequelize").BulkCreateOptions>): Promise; - truncate>(this: import("sequelize").ModelStatic, options?: import("sequelize").TruncateOptions>): Promise; - destroy>(this: import("sequelize").ModelStatic, options?: import("sequelize").DestroyOptions>): Promise; - restore>(this: import("sequelize").ModelStatic, options?: import("sequelize").RestoreOptions>): Promise; - update>(this: import("sequelize").ModelStatic, values: { [key in keyof import("sequelize").Attributes]?: import("sequelize/types/utils.js").Fn | import("sequelize/types/utils.js").Col | import("sequelize/types/utils.js").Literal | import("sequelize").Attributes[key]; }, options: Omit>, "returning"> & { - returning: true | (keyof import("sequelize").Attributes)[]; - }): Promise<[affectedCount: number, affectedRows: M_32[]]>; - update>(this: import("sequelize").ModelStatic, values: { [key_1 in keyof import("sequelize").Attributes]?: import("sequelize/types/utils.js").Fn | import("sequelize/types/utils.js").Col | import("sequelize/types/utils.js").Literal | import("sequelize").Attributes[key_1]; }, options: import("sequelize").UpdateOptions>): Promise<[affectedCount: number]>; - increment>(this: import("sequelize").ModelStatic, fields: import("sequelize").AllowReadonlyArray>, options: import("sequelize").IncrementDecrementOptionsWithBy>): Promise<[affectedRows: M_34[], affectedCount?: number]>; - increment>(this: import("sequelize").ModelStatic, fields: { [key_2 in keyof import("sequelize").Attributes]?: number; }, options: import("sequelize").IncrementDecrementOptions>): Promise<[affectedRows: M_35[], affectedCount?: number]>; - decrement>(this: import("sequelize").ModelStatic, fields: import("sequelize").AllowReadonlyArray>, options: import("sequelize").IncrementDecrementOptionsWithBy>): Promise<[affectedRows: M_36[], affectedCount?: number]>; - decrement>(this: import("sequelize").ModelStatic, fields: { [key_3 in keyof import("sequelize").Attributes]?: number; }, options: import("sequelize").IncrementDecrementOptions>): Promise<[affectedRows: M_37[], affectedCount?: number]>; - describe(): Promise; - unscoped>(this: M_38): M_38; - beforeValidate>(this: import("sequelize").ModelStatic, name: string, fn: (instance: M_39, options: import("sequelize/types/instance-validator.js").ValidationOptions) => import("sequelize/types/hooks.js").HookReturn): void; - beforeValidate>(this: import("sequelize").ModelStatic, fn: (instance: M_40, options: import("sequelize/types/instance-validator.js").ValidationOptions) => import("sequelize/types/hooks.js").HookReturn): void; - afterValidate>(this: import("sequelize").ModelStatic, name: string, fn: (instance: M_41, options: import("sequelize/types/instance-validator.js").ValidationOptions) => import("sequelize/types/hooks.js").HookReturn): void; - afterValidate>(this: import("sequelize").ModelStatic, fn: (instance: M_42, options: import("sequelize/types/instance-validator.js").ValidationOptions) => import("sequelize/types/hooks.js").HookReturn): void; - beforeCreate>(this: import("sequelize").ModelStatic, name: string, fn: (instance: M_43, options: import("sequelize").CreateOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeCreate>(this: import("sequelize").ModelStatic, fn: (instance: M_44, options: import("sequelize").CreateOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - afterCreate>(this: import("sequelize").ModelStatic, name: string, fn: (instance: M_45, options: import("sequelize").CreateOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - afterCreate>(this: import("sequelize").ModelStatic, fn: (instance: M_46, options: import("sequelize").CreateOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeDestroy>(this: import("sequelize").ModelStatic, name: string, fn: (instance: M_47, options: import("sequelize").InstanceDestroyOptions) => import("sequelize/types/hooks.js").HookReturn): void; - beforeDestroy>(this: import("sequelize").ModelStatic, fn: (instance: M_48, options: import("sequelize").InstanceDestroyOptions) => import("sequelize/types/hooks.js").HookReturn): void; - afterDestroy>(this: import("sequelize").ModelStatic, name: string, fn: (instance: M_49, options: import("sequelize").InstanceDestroyOptions) => import("sequelize/types/hooks.js").HookReturn): void; - afterDestroy>(this: import("sequelize").ModelStatic, fn: (instance: M_50, options: import("sequelize").InstanceDestroyOptions) => import("sequelize/types/hooks.js").HookReturn): void; - beforeUpdate>(this: import("sequelize").ModelStatic, name: string, fn: (instance: M_51, options: import("sequelize").UpdateOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeUpdate>(this: import("sequelize").ModelStatic, fn: (instance: M_52, options: import("sequelize").UpdateOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - afterUpdate>(this: import("sequelize").ModelStatic, name: string, fn: (instance: M_53, options: import("sequelize").UpdateOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - afterUpdate>(this: import("sequelize").ModelStatic, fn: (instance: M_54, options: import("sequelize").UpdateOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeSave>(this: import("sequelize").ModelStatic, name: string, fn: (instance: M_55, options: import("sequelize").UpdateOptions> | import("sequelize").SaveOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeSave>(this: import("sequelize").ModelStatic, fn: (instance: M_56, options: import("sequelize").UpdateOptions> | import("sequelize").SaveOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - afterSave>(this: import("sequelize").ModelStatic, name: string, fn: (instance: M_57, options: import("sequelize").UpdateOptions> | import("sequelize").SaveOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - afterSave>(this: import("sequelize").ModelStatic, fn: (instance: M_58, options: import("sequelize").UpdateOptions> | import("sequelize").SaveOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeBulkCreate>(this: import("sequelize").ModelStatic, name: string, fn: (instances: M_59[], options: import("sequelize").BulkCreateOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeBulkCreate>(this: import("sequelize").ModelStatic, fn: (instances: M_60[], options: import("sequelize").BulkCreateOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - afterBulkCreate>(this: import("sequelize").ModelStatic, name: string, fn: (instances: readonly M_61[], options: import("sequelize").BulkCreateOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - afterBulkCreate>(this: import("sequelize").ModelStatic, fn: (instances: readonly M_62[], options: import("sequelize").BulkCreateOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeBulkDestroy>(this: import("sequelize").ModelStatic, name: string, fn: (options: import("sequelize").BulkCreateOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeBulkDestroy>(this: import("sequelize").ModelStatic, fn: (options: import("sequelize").BulkCreateOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - afterBulkDestroy>(this: import("sequelize").ModelStatic, name: string, fn: (options: import("sequelize").DestroyOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - afterBulkDestroy>(this: import("sequelize").ModelStatic, fn: (options: import("sequelize").DestroyOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeBulkUpdate>(this: import("sequelize").ModelStatic, name: string, fn: (options: import("sequelize").UpdateOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeBulkUpdate>(this: import("sequelize").ModelStatic, fn: (options: import("sequelize").UpdateOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - afterBulkUpdate>(this: import("sequelize").ModelStatic, name: string, fn: (options: import("sequelize").UpdateOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - afterBulkUpdate>(this: import("sequelize").ModelStatic, fn: (options: import("sequelize").UpdateOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeFind>(this: import("sequelize").ModelStatic, name: string, fn: (options: import("sequelize").FindOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeFind>(this: import("sequelize").ModelStatic, fn: (options: import("sequelize").FindOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeCount>(this: import("sequelize").ModelStatic, name: string, fn: (options: import("sequelize").CountOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeCount>(this: import("sequelize").ModelStatic, fn: (options: import("sequelize").CountOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeFindAfterExpandIncludeAll>(this: import("sequelize").ModelStatic, name: string, fn: (options: import("sequelize").FindOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeFindAfterExpandIncludeAll>(this: import("sequelize").ModelStatic, fn: (options: import("sequelize").FindOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeFindAfterOptions>(this: import("sequelize").ModelStatic, name: string, fn: (options: import("sequelize").FindOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeFindAfterOptions>(this: import("sequelize").ModelStatic, fn: (options: import("sequelize").FindOptions>) => void): import("sequelize/types/hooks.js").HookReturn; - afterFind>(this: import("sequelize").ModelStatic, name: string, fn: (instancesOrInstance: M_79 | readonly M_79[], options: import("sequelize").FindOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - afterFind>(this: import("sequelize").ModelStatic, fn: (instancesOrInstance: M_80 | readonly M_80[], options: import("sequelize").FindOptions>) => import("sequelize/types/hooks.js").HookReturn): void; - beforeBulkSync(name: string, fn: (options: import("sequelize").SyncOptions) => import("sequelize/types/hooks.js").HookReturn): void; - beforeBulkSync(fn: (options: import("sequelize").SyncOptions) => import("sequelize/types/hooks.js").HookReturn): void; - afterBulkSync(name: string, fn: (options: import("sequelize").SyncOptions) => import("sequelize/types/hooks.js").HookReturn): void; - afterBulkSync(fn: (options: import("sequelize").SyncOptions) => import("sequelize/types/hooks.js").HookReturn): void; - beforeSync(name: string, fn: (options: import("sequelize").SyncOptions) => import("sequelize/types/hooks.js").HookReturn): void; - beforeSync(fn: (options: import("sequelize").SyncOptions) => import("sequelize/types/hooks.js").HookReturn): void; - afterSync(name: string, fn: (options: import("sequelize").SyncOptions) => import("sequelize/types/hooks.js").HookReturn): void; - afterSync(fn: (options: import("sequelize").SyncOptions) => import("sequelize/types/hooks.js").HookReturn): void; - hasOne, T_6 extends import("sequelize").Model>(this: import("sequelize").ModelStatic, target: import("sequelize").ModelStatic, options?: import("sequelize").HasOneOptions): import("sequelize").HasOne; - belongsTo, T_7 extends import("sequelize").Model>(this: import("sequelize").ModelStatic, target: import("sequelize").ModelStatic, options?: import("sequelize").BelongsToOptions): import("sequelize").BelongsTo; - hasMany, T_8 extends import("sequelize").Model>(this: import("sequelize").ModelStatic, target: import("sequelize").ModelStatic, options?: import("sequelize").HasManyOptions): import("sequelize").HasMany; - belongsToMany, T_9 extends import("sequelize").Model>(this: import("sequelize").ModelStatic, target: import("sequelize").ModelStatic, options: import("sequelize").BelongsToManyOptions): import("sequelize").BelongsToMany; - addHook, any, any>, K_16 extends keyof import("sequelize/types/hooks.js").SequelizeHooks, import("sequelize").CreationAttributes>>(this: import("sequelize/types/hooks.js").HooksStatic, hookType: K_16, name: string, fn: import("sequelize/types/hooks.js").SequelizeHooks, import("sequelize").CreationAttributes>[K_16]): import("sequelize/types/hooks.js").HooksCtor; - addHook, any, any>, K_17 extends keyof import("sequelize/types/hooks.js").SequelizeHooks, import("sequelize").CreationAttributes>>(this: import("sequelize/types/hooks.js").HooksStatic, hookType: K_17, fn: import("sequelize/types/hooks.js").SequelizeHooks, import("sequelize").CreationAttributes>[K_17]): import("sequelize/types/hooks.js").HooksCtor; - removeHook, any, any>>(this: import("sequelize/types/hooks.js").HooksStatic, hookType: keyof import("sequelize/types/hooks.js").SequelizeHooks, import("sequelize").CreationAttributes>, name: string): import("sequelize/types/hooks.js").HooksCtor; - hasHook, any, any>>(this: import("sequelize/types/hooks.js").HooksStatic, hookType: keyof import("sequelize/types/hooks.js").SequelizeHooks, import("sequelize").CreationAttributes>): boolean; - hasHooks, any, any>>(this: import("sequelize/types/hooks.js").HooksStatic, hookType: keyof import("sequelize/types/hooks.js").SequelizeHooks, import("sequelize").CreationAttributes>): boolean; - }; + } + ? void + : M_23 + >; + findOrBuild>( + this: import("sequelize").ModelStatic, + options: import("sequelize").FindOrBuildOptions< + import("sequelize").Attributes, + import("sequelize/types/utils.js").MakeNullishOptional< + M_24["_creationAttributes"] + > + >, + ): Promise<[M_24, boolean]>; + findOrCreate>( + this: import("sequelize").ModelStatic, + options: import("sequelize").FindOrCreateOptions< + import("sequelize").Attributes, + import("sequelize/types/utils.js").MakeNullishOptional< + M_25["_creationAttributes"] + > + >, + ): Promise<[M_25, boolean]>; + findCreateFind>( + this: import("sequelize").ModelStatic, + options: import("sequelize").FindOrCreateOptions< + import("sequelize").Attributes, + import("sequelize/types/utils.js").MakeNullishOptional< + M_26["_creationAttributes"] + > + >, + ): Promise<[M_26, boolean]>; + upsert>( + this: import("sequelize").ModelStatic, + values: import("sequelize/types/utils.js").MakeNullishOptional< + M_27["_creationAttributes"] + >, + options?: import("sequelize").UpsertOptions< + import("sequelize").Attributes + >, + ): Promise<[M_27, boolean]>; + bulkCreate>( + this: import("sequelize").ModelStatic, + records: readonly import("sequelize/types/utils.js").MakeNullishOptional< + M_28["_creationAttributes"] + >[], + options?: import("sequelize").BulkCreateOptions< + import("sequelize").Attributes + >, + ): Promise; + truncate>( + this: import("sequelize").ModelStatic, + options?: import("sequelize").TruncateOptions< + import("sequelize").Attributes + >, + ): Promise; + destroy>( + this: import("sequelize").ModelStatic, + options?: import("sequelize").DestroyOptions< + import("sequelize").Attributes + >, + ): Promise; + restore>( + this: import("sequelize").ModelStatic, + options?: import("sequelize").RestoreOptions< + import("sequelize").Attributes + >, + ): Promise; + update>( + this: import("sequelize").ModelStatic, + values: { + [key in keyof import("sequelize").Attributes]?: + | import("sequelize/types/utils.js").Fn + | import("sequelize/types/utils.js").Col + | import("sequelize/types/utils.js").Literal + | import("sequelize").Attributes[key]; + }, + options: Omit< + import("sequelize").UpdateOptions>, + "returning" + > & { + returning: true | (keyof import("sequelize").Attributes)[]; + }, + ): Promise<[affectedCount: number, affectedRows: M_32[]]>; + update>( + this: import("sequelize").ModelStatic, + values: { + [key_1 in keyof import("sequelize").Attributes]?: + | import("sequelize/types/utils.js").Fn + | import("sequelize/types/utils.js").Col + | import("sequelize/types/utils.js").Literal + | import("sequelize").Attributes[key_1]; + }, + options: import("sequelize").UpdateOptions< + import("sequelize").Attributes + >, + ): Promise<[affectedCount: number]>; + increment>( + this: import("sequelize").ModelStatic, + fields: import("sequelize").AllowReadonlyArray< + keyof import("sequelize").Attributes + >, + options: import("sequelize").IncrementDecrementOptionsWithBy< + import("sequelize").Attributes + >, + ): Promise<[affectedRows: M_34[], affectedCount?: number]>; + increment>( + this: import("sequelize").ModelStatic, + fields: { + [key_2 in keyof import("sequelize").Attributes]?: number; + }, + options: import("sequelize").IncrementDecrementOptions< + import("sequelize").Attributes + >, + ): Promise<[affectedRows: M_35[], affectedCount?: number]>; + decrement>( + this: import("sequelize").ModelStatic, + fields: import("sequelize").AllowReadonlyArray< + keyof import("sequelize").Attributes + >, + options: import("sequelize").IncrementDecrementOptionsWithBy< + import("sequelize").Attributes + >, + ): Promise<[affectedRows: M_36[], affectedCount?: number]>; + decrement>( + this: import("sequelize").ModelStatic, + fields: { + [key_3 in keyof import("sequelize").Attributes]?: number; + }, + options: import("sequelize").IncrementDecrementOptions< + import("sequelize").Attributes + >, + ): Promise<[affectedRows: M_37[], affectedCount?: number]>; + describe(): Promise; + unscoped>( + this: M_38, + ): M_38; + beforeValidate>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + instance: M_39, + options: import("sequelize/types/instance-validator.js").ValidationOptions, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeValidate>( + this: import("sequelize").ModelStatic, + fn: ( + instance: M_40, + options: import("sequelize/types/instance-validator.js").ValidationOptions, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterValidate>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + instance: M_41, + options: import("sequelize/types/instance-validator.js").ValidationOptions, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterValidate>( + this: import("sequelize").ModelStatic, + fn: ( + instance: M_42, + options: import("sequelize/types/instance-validator.js").ValidationOptions, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeCreate>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + instance: M_43, + options: import("sequelize").CreateOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeCreate>( + this: import("sequelize").ModelStatic, + fn: ( + instance: M_44, + options: import("sequelize").CreateOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterCreate>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + instance: M_45, + options: import("sequelize").CreateOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterCreate>( + this: import("sequelize").ModelStatic, + fn: ( + instance: M_46, + options: import("sequelize").CreateOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeDestroy>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + instance: M_47, + options: import("sequelize").InstanceDestroyOptions, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeDestroy>( + this: import("sequelize").ModelStatic, + fn: ( + instance: M_48, + options: import("sequelize").InstanceDestroyOptions, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterDestroy>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + instance: M_49, + options: import("sequelize").InstanceDestroyOptions, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterDestroy>( + this: import("sequelize").ModelStatic, + fn: ( + instance: M_50, + options: import("sequelize").InstanceDestroyOptions, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeUpdate>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + instance: M_51, + options: import("sequelize").UpdateOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeUpdate>( + this: import("sequelize").ModelStatic, + fn: ( + instance: M_52, + options: import("sequelize").UpdateOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterUpdate>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + instance: M_53, + options: import("sequelize").UpdateOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterUpdate>( + this: import("sequelize").ModelStatic, + fn: ( + instance: M_54, + options: import("sequelize").UpdateOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeSave>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + instance: M_55, + options: + | import("sequelize").UpdateOptions< + import("sequelize").Attributes + > + | import("sequelize").SaveOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeSave>( + this: import("sequelize").ModelStatic, + fn: ( + instance: M_56, + options: + | import("sequelize").UpdateOptions< + import("sequelize").Attributes + > + | import("sequelize").SaveOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterSave>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + instance: M_57, + options: + | import("sequelize").UpdateOptions< + import("sequelize").Attributes + > + | import("sequelize").SaveOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterSave>( + this: import("sequelize").ModelStatic, + fn: ( + instance: M_58, + options: + | import("sequelize").UpdateOptions< + import("sequelize").Attributes + > + | import("sequelize").SaveOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeBulkCreate>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + instances: M_59[], + options: import("sequelize").BulkCreateOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeBulkCreate>( + this: import("sequelize").ModelStatic, + fn: ( + instances: M_60[], + options: import("sequelize").BulkCreateOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterBulkCreate>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + instances: readonly M_61[], + options: import("sequelize").BulkCreateOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterBulkCreate>( + this: import("sequelize").ModelStatic, + fn: ( + instances: readonly M_62[], + options: import("sequelize").BulkCreateOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeBulkDestroy>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + options: import("sequelize").BulkCreateOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeBulkDestroy>( + this: import("sequelize").ModelStatic, + fn: ( + options: import("sequelize").BulkCreateOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterBulkDestroy>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + options: import("sequelize").DestroyOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterBulkDestroy>( + this: import("sequelize").ModelStatic, + fn: ( + options: import("sequelize").DestroyOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeBulkUpdate>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + options: import("sequelize").UpdateOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeBulkUpdate>( + this: import("sequelize").ModelStatic, + fn: ( + options: import("sequelize").UpdateOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterBulkUpdate>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + options: import("sequelize").UpdateOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterBulkUpdate>( + this: import("sequelize").ModelStatic, + fn: ( + options: import("sequelize").UpdateOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeFind>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + options: import("sequelize").FindOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeFind>( + this: import("sequelize").ModelStatic, + fn: ( + options: import("sequelize").FindOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeCount>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + options: import("sequelize").CountOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeCount>( + this: import("sequelize").ModelStatic, + fn: ( + options: import("sequelize").CountOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeFindAfterExpandIncludeAll< + M_75 extends import("sequelize").Model, + >( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + options: import("sequelize").FindOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeFindAfterExpandIncludeAll< + M_76 extends import("sequelize").Model, + >( + this: import("sequelize").ModelStatic, + fn: ( + options: import("sequelize").FindOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeFindAfterOptions>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + options: import("sequelize").FindOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeFindAfterOptions>( + this: import("sequelize").ModelStatic, + fn: ( + options: import("sequelize").FindOptions< + import("sequelize").Attributes + >, + ) => void, + ): import("sequelize/types/hooks.js").HookReturn; + afterFind>( + this: import("sequelize").ModelStatic, + name: string, + fn: ( + instancesOrInstance: M_79 | readonly M_79[], + options: import("sequelize").FindOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterFind>( + this: import("sequelize").ModelStatic, + fn: ( + instancesOrInstance: M_80 | readonly M_80[], + options: import("sequelize").FindOptions< + import("sequelize").Attributes + >, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeBulkSync( + name: string, + fn: ( + options: import("sequelize").SyncOptions, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeBulkSync( + fn: ( + options: import("sequelize").SyncOptions, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterBulkSync( + name: string, + fn: ( + options: import("sequelize").SyncOptions, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterBulkSync( + fn: ( + options: import("sequelize").SyncOptions, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeSync( + name: string, + fn: ( + options: import("sequelize").SyncOptions, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + beforeSync( + fn: ( + options: import("sequelize").SyncOptions, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterSync( + name: string, + fn: ( + options: import("sequelize").SyncOptions, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + afterSync( + fn: ( + options: import("sequelize").SyncOptions, + ) => import("sequelize/types/hooks.js").HookReturn, + ): void; + hasOne< + M_81 extends import("sequelize").Model, + T_6 extends import("sequelize").Model, + >( + this: import("sequelize").ModelStatic, + target: import("sequelize").ModelStatic, + options?: import("sequelize").HasOneOptions, + ): import("sequelize").HasOne; + belongsTo< + M_82 extends import("sequelize").Model, + T_7 extends import("sequelize").Model, + >( + this: import("sequelize").ModelStatic, + target: import("sequelize").ModelStatic, + options?: import("sequelize").BelongsToOptions, + ): import("sequelize").BelongsTo; + hasMany< + M_83 extends import("sequelize").Model, + T_8 extends import("sequelize").Model, + >( + this: import("sequelize").ModelStatic, + target: import("sequelize").ModelStatic, + options?: import("sequelize").HasManyOptions, + ): import("sequelize").HasMany; + belongsToMany< + M_84 extends import("sequelize").Model, + T_9 extends import("sequelize").Model, + >( + this: import("sequelize").ModelStatic, + target: import("sequelize").ModelStatic, + options: import("sequelize").BelongsToManyOptions, + ): import("sequelize").BelongsToMany; + addHook< + H extends import("sequelize/types/hooks.js").Hooks< + import("sequelize").Model, + any, + any + >, + K_16 extends keyof import("sequelize/types/hooks.js").SequelizeHooks< + H["_model"], + import("sequelize").Attributes, + import("sequelize").CreationAttributes + >, + >( + this: import("sequelize/types/hooks.js").HooksStatic, + hookType: K_16, + name: string, + fn: import("sequelize/types/hooks.js").SequelizeHooks< + H["_model"], + import("sequelize").Attributes, + import("sequelize").CreationAttributes + >[K_16], + ): import("sequelize/types/hooks.js").HooksCtor; + addHook< + H_1 extends import("sequelize/types/hooks.js").Hooks< + import("sequelize").Model, + any, + any + >, + K_17 extends keyof import("sequelize/types/hooks.js").SequelizeHooks< + H_1["_model"], + import("sequelize").Attributes, + import("sequelize").CreationAttributes + >, + >( + this: import("sequelize/types/hooks.js").HooksStatic, + hookType: K_17, + fn: import("sequelize/types/hooks.js").SequelizeHooks< + H_1["_model"], + import("sequelize").Attributes, + import("sequelize").CreationAttributes + >[K_17], + ): import("sequelize/types/hooks.js").HooksCtor; + removeHook< + H_2 extends import("sequelize/types/hooks.js").Hooks< + import("sequelize").Model, + any, + any + >, + >( + this: import("sequelize/types/hooks.js").HooksStatic, + hookType: keyof import("sequelize/types/hooks.js").SequelizeHooks< + H_2["_model"], + import("sequelize").Attributes, + import("sequelize").CreationAttributes + >, + name: string, + ): import("sequelize/types/hooks.js").HooksCtor; + hasHook< + H_3 extends import("sequelize/types/hooks.js").Hooks< + import("sequelize").Model, + any, + any + >, + >( + this: import("sequelize/types/hooks.js").HooksStatic, + hookType: keyof import("sequelize/types/hooks.js").SequelizeHooks< + H_3["_model"], + import("sequelize").Attributes, + import("sequelize").CreationAttributes + >, + ): boolean; + hasHooks< + H_4 extends import("sequelize/types/hooks.js").Hooks< + import("sequelize").Model, + any, + any + >, + >( + this: import("sequelize/types/hooks.js").HooksStatic, + hookType: keyof import("sequelize/types/hooks.js").SequelizeHooks< + H_4["_model"], + import("sequelize").Attributes, + import("sequelize").CreationAttributes + >, + ): boolean; + }; }>; -export function catalogMavenDeps(dirPath: any, purlsJars: any, Namespaces: any, options?: {}): Promise; -export function catalogGradleDeps(dirPath: any, purlsJars: any, Namespaces: any): Promise; -export function createAndStoreSlice(purl: any, purlsJars: any, Usages: any, options?: {}): Promise; -export function createSlice(purlOrLanguage: any, filePath: any, sliceType?: string, options?: {}): { - tempDir: any; - slicesFile: any; - atomFile: any; +export function catalogMavenDeps( + dirPath: any, + purlsJars: any, + Namespaces: any, + options?: {}, +): Promise; +export function catalogGradleDeps( + dirPath: any, + purlsJars: any, + Namespaces: any, +): Promise; +export function createAndStoreSlice( + purl: any, + purlsJars: any, + Usages: any, + options?: {}, +): Promise; +export function createSlice( + purlOrLanguage: any, + filePath: any, + sliceType?: string, + options?: {}, +): { + tempDir: any; + slicesFile: any; + atomFile: any; }; export function purlToLanguage(purl: any, filePath: any): string; -export function initFromSbom(components: any, language: any): { - purlLocationMap: {}; - purlImportsMap: {}; +export function initFromSbom( + components: any, + language: any, +): { + purlLocationMap: {}; + purlImportsMap: {}; }; -export function analyzeProject(dbObjMap: any, options: any): Promise<{ - atomFile: any; - usagesSlicesFile: any; - dataFlowSlicesFile: any; - reachablesSlicesFile: any; - purlLocationMap: {}; - servicesMap: {}; - dataFlowFrames: {}; - tempDir: any; - userDefinedTypesMap: {}; - cryptoComponents: any[]; - cryptoGeneratePurls: {}; +export function analyzeProject( + dbObjMap: any, + options: any, +): Promise<{ + atomFile: any; + usagesSlicesFile: any; + dataFlowSlicesFile: any; + reachablesSlicesFile: any; + purlLocationMap: {}; + servicesMap: {}; + dataFlowFrames: {}; + tempDir: any; + userDefinedTypesMap: {}; + cryptoComponents: any[]; + cryptoGeneratePurls: {}; }>; -export function parseObjectSlices(language: any, usageSlice: any, dbObjMap: any, servicesMap?: {}, purlLocationMap?: {}, purlImportsMap?: {}): Promise<{}>; -export function parseSliceUsages(language: string, userDefinedTypesMap: any, slice: any, dbObjMap: any, purlLocationMap: any, purlImportsMap: any): Promise; -export function isFilterableType(language: any, userDefinedTypesMap: any, typeFullName: any): boolean; -export function detectServicesFromUsages(language: string, slice: any, servicesMap?: any): any[]; -export function detectServicesFromUDT(language: string, userDefinedTypes: any[], servicesMap: any): void; +export function parseObjectSlices( + language: any, + usageSlice: any, + dbObjMap: any, + servicesMap?: {}, + purlLocationMap?: {}, + purlImportsMap?: {}, +): Promise<{}>; +export function parseSliceUsages( + language: string, + userDefinedTypesMap: any, + slice: any, + dbObjMap: any, + purlLocationMap: any, + purlImportsMap: any, +): Promise; +export function isFilterableType( + language: any, + userDefinedTypesMap: any, + typeFullName: any, +): boolean; +export function detectServicesFromUsages( + language: string, + slice: any, + servicesMap?: any, +): any[]; +export function detectServicesFromUDT( + language: string, + userDefinedTypes: any[], + servicesMap: any, +): void; export function constructServiceName(language: any, slice: any): string; export function extractEndpoints(language: any, code: any): any; export function createEvinseFile(sliceArtefacts: any, options: any): any; -export function collectDataFlowFrames(language: string, userDefinedTypesMap: any, dataFlowSlice: any, dbObjMap: any, purlLocationMap: any, purlImportsMap: any): Promise<{}>; -export function collectReachableFrames(language: string, reachablesSlice: any): { - dataFlowFrames: {}; - cryptoComponents: { - type: string; - name: any; - "bom-ref": any; - description: any; - cryptoProperties: { - assetType: string; - oid: any; - }; - }[]; - cryptoGeneratePurls: {}; +export function collectDataFlowFrames( + language: string, + userDefinedTypesMap: any, + dataFlowSlice: any, + dbObjMap: any, + purlLocationMap: any, + purlImportsMap: any, +): Promise<{}>; +export function collectReachableFrames( + language: string, + reachablesSlice: any, +): { + dataFlowFrames: {}; + cryptoComponents: { + type: string; + name: any; + "bom-ref": any; + description: any; + cryptoProperties: { + assetType: string; + oid: any; + }; + }[]; + cryptoGeneratePurls: {}; }; export function framePicker(dfFrames: any[]): any; export function simplifyType(typeFullName: string): string; -export function getClassTypeFromSignature(language: any, typeFullName: any): string; -//# sourceMappingURL=evinser.d.ts.map \ No newline at end of file +export function getClassTypeFromSignature( + language: any, + typeFullName: any, +): string; +//# sourceMappingURL=evinser.d.ts.map diff --git a/types/index.d.ts b/types/index.d.ts index c6bfec8ee..841901e67 100644 --- a/types/index.d.ts +++ b/types/index.d.ts @@ -7,7 +7,12 @@ * @param {Object} pkg Package object * @param {string} ptype Package type */ -export function listComponents(options: any, allImports: any, pkg: any, ptype?: string): any[]; +export function listComponents( + options: any, + allImports: any, + pkg: any, + ptype?: string, +): any[]; /** * Function to create bom string for Java jars * @@ -23,10 +28,13 @@ export function createJarBom(path: string, options: any): any; * @param {string} path to the project * @param {Object} options Parse options from the cli */ -export function createAndroidBom(path: string, options: any): { - bomJson: any; - dependencies: any; - parentComponent: any; +export function createAndroidBom( + path: string, + options: any, +): { + bomJson: any; + dependencies: any; + parentComponent: any; }; /** * Function to create bom string for binaries using blint @@ -34,10 +42,13 @@ export function createAndroidBom(path: string, options: any): { * @param {string} path to the project * @param {Object} options Parse options from the cli */ -export function createBinaryBom(path: string, options: any): { - bomJson: any; - dependencies: any; - parentComponent: any; +export function createBinaryBom( + path: string, + options: any, +): { + bomJson: any; + dependencies: any; + parentComponent: any; }; /** * Function to create bom string for Java projects @@ -185,36 +196,46 @@ export function createCsharpBom(path: string, options: any): Promise; * @param {string} path to the project * @param {Object} options Parse options from the cli */ -export function createCryptoCertsBom(path: string, options: any): Promise<{ - bomJson: { - components: { - name: string; - type: string; - version: string; - "bom-ref": string; - cryptoProperties: { - assetType: string; - algorithmProperties: { - executionEnvironment: string; - implementationPlatform: string; - }; - }; - properties: { - name: string; - value: string; - }[]; - }[]; - }; +export function createCryptoCertsBom( + path: string, + options: any, +): Promise<{ + bomJson: { + components: { + name: string; + type: string; + version: string; + "bom-ref": string; + cryptoProperties: { + assetType: string; + algorithmProperties: { + executionEnvironment: string; + implementationPlatform: string; + }; + }; + properties: { + name: string; + value: string; + }[]; + }[]; + }; }>; -export function mergeDependencies(dependencies: any, newDependencies: any, parentComponent?: {}): ({ - ref: string; - dependsOn: any[]; - provides: any[]; -} | { - ref: string; - dependsOn: any[]; - provides?: undefined; -})[]; +export function mergeDependencies( + dependencies: any, + newDependencies: any, + parentComponent?: {}, +): ( + | { + ref: string; + dependsOn: any[]; + provides: any[]; + } + | { + ref: string; + dependsOn: any[]; + provides?: undefined; + } +)[]; export function trimComponents(components: any): any[]; /** * Dedupe components @@ -226,7 +247,12 @@ export function trimComponents(components: any): any[]; * * @returns {Object} Object including BOM Json */ -export function dedupeBom(options: any, components: any[], parentComponent: any, dependencies: any[]): any; +export function dedupeBom( + options: any, + components: any[], + parentComponent: any, + dependencies: any[], +): any; /** * Function to create bom string for all languages * @@ -255,4 +281,4 @@ export function createBom(path: string, options: any): any; * @param {Object} bomContents BOM Json */ export function submitBom(args: any, bomContents: any): Promise; -//# sourceMappingURL=index.d.ts.map \ No newline at end of file +//# sourceMappingURL=index.d.ts.map diff --git a/types/jest.config.d.ts b/types/jest.config.d.ts index 818492084..ba147d331 100644 --- a/types/jest.config.d.ts +++ b/types/jest.config.d.ts @@ -4,7 +4,7 @@ export const coveragePathIgnorePatterns: string[]; export const coverageReporters: string[]; export const testEnvironment: "node"; declare namespace _default { - let transform: {}; + let transform: {}; } export default _default; -//# sourceMappingURL=jest.config.d.ts.map \ No newline at end of file +//# sourceMappingURL=jest.config.d.ts.map diff --git a/types/piptree.d.ts b/types/piptree.d.ts index 6651446fa..413fc2f3f 100644 --- a/types/piptree.d.ts +++ b/types/piptree.d.ts @@ -1,2 +1,6 @@ -export function getTreeWithPlugin(env: any, python_cmd: any, basePath: any): any; -//# sourceMappingURL=piptree.d.ts.map \ No newline at end of file +export function getTreeWithPlugin( + env: any, + python_cmd: any, + basePath: any, +): any; +//# sourceMappingURL=piptree.d.ts.map diff --git a/types/postgen.d.ts b/types/postgen.d.ts index 4c952c554..8d33239a8 100644 --- a/types/postgen.d.ts +++ b/types/postgen.d.ts @@ -1,3 +1,3 @@ export function postProcess(bomNSData: any, options: any): any; export function filterBom(bomJson: any, options: any): any; -//# sourceMappingURL=postgen.d.ts.map \ No newline at end of file +//# sourceMappingURL=postgen.d.ts.map diff --git a/types/protobom.d.ts b/types/protobom.d.ts index efd37a197..1c24850c1 100644 --- a/types/protobom.d.ts +++ b/types/protobom.d.ts @@ -1,3 +1,7 @@ export function writeBinary(bomJson: string | any, binFile: string): void; -export function readBinary(binFile: string, asJson?: boolean, specVersion?: number): any; -//# sourceMappingURL=protobom.d.ts.map \ No newline at end of file +export function readBinary( + binFile: string, + asJson?: boolean, + specVersion?: number, +): any; +//# sourceMappingURL=protobom.d.ts.map diff --git a/types/server.d.ts b/types/server.d.ts index 7f168d342..c6c66ff60 100644 --- a/types/server.d.ts +++ b/types/server.d.ts @@ -1,3 +1,3 @@ export function configureServer(cdxgenServer: any): void; export function start(options: any): void; -//# sourceMappingURL=server.d.ts.map \ No newline at end of file +//# sourceMappingURL=server.d.ts.map diff --git a/types/utils.d.ts b/types/utils.d.ts index 81a76838a..2eb093c9e 100644 --- a/types/utils.d.ts +++ b/types/utils.d.ts @@ -4,7 +4,11 @@ * @param {string} dirPath Root directory for search * @param {string} pattern Glob pattern (eg: *.gradle) */ -export function getAllFiles(dirPath: string, pattern: string, options?: {}): string[]; +export function getAllFiles( + dirPath: string, + pattern: string, + options?: {}, +): string[]; /** * Method to get files matching a pattern * @@ -12,7 +16,11 @@ export function getAllFiles(dirPath: string, pattern: string, options?: {}): str * @param {string} pattern Glob pattern (eg: *.gradle) * @param {Array} ignoreList Directory patterns to ignore */ -export function getAllFilesWithIgnore(dirPath: string, pattern: string, ignoreList: any[]): string[]; +export function getAllFilesWithIgnore( + dirPath: string, + pattern: string, + ignoreList: any[], +): string[]; /** * Performs a lookup + validation of the license specified in the * package. If the license is a valid SPDX license ID, set the 'id' @@ -38,8 +46,11 @@ export function addLicenseText(pkg: any, l: any, licenseContent: any): void; * Read the file from the given path to the license text object and includes * content-type attribute, if not default. Returns the license text object. */ -export function readLicenseText(licenseFilepath: any, licenseContentType: any): { - content: string; +export function readLicenseText( + licenseFilepath: any, + licenseContentType: any, +): { + content: string; }; export function getSwiftPackageMetadata(pkgList: any): Promise; /** @@ -54,16 +65,22 @@ export function getNpmMetadata(pkgList: any[]): Promise; * @param {string} pkgJsonFile package.json file * @param {boolean} simple Return a simpler representation of the component by skipping extended attributes and license fetch. */ -export function parsePkgJson(pkgJsonFile: string, simple?: boolean): Promise; +export function parsePkgJson( + pkgJsonFile: string, + simple?: boolean, +): Promise; /** * Parse nodejs package lock file * * @param {string} pkgLockFile package-lock.json file * @param {object} options Command line options */ -export function parsePkgLock(pkgLockFile: string, options?: object): Promise<{ - pkgList: any; - dependenciesList: any; +export function parsePkgLock( + pkgLockFile: string, + options?: object, +): Promise<{ + pkgList: any; + dependenciesList: any; }>; /** * Given a lock file this method would return an Object with the identiy as the key and parsed name and value @@ -80,8 +97,8 @@ export function yarnLockToIdentMap(lockData: string): {}; * @param {string} yarnLockFile yarn.lock file */ export function parseYarnLock(yarnLockFile: string): Promise<{ - pkgList: any[]; - dependenciesList: any[]; + pkgList: any[]; + dependenciesList: any[]; }>; /** * Parse nodejs shrinkwrap deps file @@ -95,16 +112,22 @@ export function parseNodeShrinkwrap(swFile: string): Promise; * @param {string} pnpmLock pnpm-lock.yaml file * @param {object} parentComponent parent component */ -export function parsePnpmLock(pnpmLock: string, parentComponent?: object): Promise<{ - pkgList?: undefined; - dependenciesList?: undefined; -} | { - pkgList: any[]; - dependenciesList: { +export function parsePnpmLock( + pnpmLock: string, + parentComponent?: object, +): Promise< + | { + pkgList?: undefined; + dependenciesList?: undefined; + } + | { + pkgList: any[]; + dependenciesList: { ref: string; dependsOn: string[]; - }[]; -}>; + }[]; + } +>; /** * Parse bower json file * @@ -123,42 +146,44 @@ export function parseMinJs(minJsFile: string): Promise; * @param {string} pom file to parse */ export function parsePom(pomFile: any): { - group: any; - name: any; - version: any; - qualifiers: { - type: string; - }; - properties: { - name: string; + group: any; + name: any; + version: any; + qualifiers: { + type: string; + }; + properties: { + name: string; + value: any; + }[]; + evidence: { + identity: { + field: string; + confidence: number; + methods: { + technique: string; + confidence: number; value: any; - }[]; - evidence: { - identity: { - field: string; - confidence: number; - methods: { - technique: string; - confidence: number; - value: any; - }[]; - }; + }[]; }; + }; }[]; /** * Parse maven tree output * @param {string} rawOutput Raw string output */ -export function parseMavenTree(rawOutput: string): { - pkgList?: undefined; - dependenciesList?: undefined; -} | { - pkgList: any[]; - dependenciesList: { +export function parseMavenTree(rawOutput: string): + | { + pkgList?: undefined; + dependenciesList?: undefined; + } + | { + pkgList: any[]; + dependenciesList: { ref: string; dependsOn: any; - }[]; -}; + }[]; + }; /** * Parse gradle dependencies output * @param {string} rawOutput Raw string output @@ -166,23 +191,30 @@ export function parseMavenTree(rawOutput: string): { * @param {string} rootProjectName Root project name * @param {string} rootProjectVersion Root project version */ -export function parseGradleDep(rawOutput: string, rootProjectGroup?: string, rootProjectName?: string, rootProjectVersion?: string): { - pkgList: { +export function parseGradleDep( + rawOutput: string, + rootProjectGroup?: string, + rootProjectName?: string, + rootProjectVersion?: string, +): + | { + pkgList: { group: any; name: any; version: any; qualifiers: { - type: string; + type: string; }; - }[]; - dependenciesList: { + }[]; + dependenciesList: { ref: string; dependsOn: any; - }[]; -} | { - pkgList?: undefined; - dependenciesList?: undefined; -}; + }[]; + } + | { + pkgList?: undefined; + dependenciesList?: undefined; + }; /** * Parse clojure cli dependencies output * @param {string} rawOutput Raw string output @@ -200,8 +232,8 @@ export function parseLeinMap(node: any, keys_cache: any, deps: any): any; * @param {string} rawOutput Raw string output */ export function parseGradleProjects(rawOutput: string): { - rootProject: string; - projects: any[]; + rootProject: string; + projects: any[]; }; /** * Parse gradle properties output @@ -209,13 +241,13 @@ export function parseGradleProjects(rawOutput: string): { * @param {string} rawOutput Raw string output */ export function parseGradleProperties(rawOutput: string): { - rootProject: string; - projects: any[]; - metadata: { - group: string; - version: string; - properties: any[]; - }; + rootProject: string; + projects: any[]; + metadata: { + group: string; + version: string; + properties: any[]; + }; }; /** * Execute gradle properties command and return parsed output @@ -224,7 +256,11 @@ export function parseGradleProperties(rawOutput: string): { * @param {string} rootPath Root directory * @param {string} subProject Sub project name */ -export function executeGradleProperties(dir: string, rootPath: string, subProject: string): {}; +export function executeGradleProperties( + dir: string, + rootPath: string, + subProject: string, +): {}; /** * Parse bazel action graph output * @param {string} rawOutput Raw string output @@ -262,7 +298,10 @@ export function guessLicenseId(content: any): any; * @param {Array} pkgList Package list * @param {Object} jarNSMapping Jar Namespace mapping object */ -export function getMvnMetadata(pkgList: any[], jarNSMapping?: any): Promise; +export function getMvnMetadata( + pkgList: any[], + jarNSMapping?: any, +): Promise; /** * Method to compose URL of pom.xml * @@ -273,7 +312,12 @@ export function getMvnMetadata(pkgList: any[], jarNSMapping?: any): Promise} */ -export function fetchPomXml({ urlPrefix, group, name, version }: string): Promise; +export function fetchPomXml({ + urlPrefix, + group, + name, + version, +}: string): Promise; /** * Method extract single or multiple license entries that might appear in pom.xml * @@ -312,15 +366,20 @@ export function parseLicenseEntryOrArrayFromPomXml(license: any | any[]): any[]; * * @return {Promise} License ID */ -export function extractLicenseCommentFromPomXml({ urlPrefix, group, name, version }: string): Promise; +export function extractLicenseCommentFromPomXml({ + urlPrefix, + group, + name, + version, +}: string): Promise; /** * Method to parse python requires_dist attribute found in pypi setup.py * * @param requires_dist string */ export function parsePyRequiresDist(dist_string: any): { - name: string; - version: string; + name: string; + version: string; }; /** * Method to mimic pip version solver using node-semver @@ -328,14 +387,20 @@ export function parsePyRequiresDist(dist_string: any): { * @param {Array} versionsList List of version numbers available * @param {*} versionSpecifiers pip version specifier */ -export function guessPypiMatchingVersion(versionsList: any[], versionSpecifiers: any): any; +export function guessPypiMatchingVersion( + versionsList: any[], + versionSpecifiers: any, +): any; /** * Method to retrieve metadata for python packages by querying pypi * * @param {Array} pkgList Package list * @param {Boolean} fetchDepsInfo Fetch dependencies info from pypi */ -export function getPyMetadata(pkgList: any[], fetchDepsInfo: boolean): Promise; +export function getPyMetadata( + pkgList: any[], + fetchDepsInfo: boolean, +): Promise; /** * Method to parse bdist_wheel metadata * @@ -360,21 +425,30 @@ export function parsePyProjectToml(tomlFile: string): {}; * @param {Object} lockData JSON data from poetry.lock * @param {string} lockFile Lock file name for evidence */ -export function parsePoetrylockData(lockData: any, lockFile: string): Promise; + }[]; + } +>; /** * Method to parse requirements.txt data * * @param {Object} reqData Requirements.txt data * @param {Boolean} fetchDepsInfo Fetch dependencies info from pypi */ -export function parseReqFile(reqData: any, fetchDepsInfo: boolean): Promise; +export function parseReqFile( + reqData: any, + fetchDepsInfo: boolean, +): Promise; /** * Method to find python modules by parsing the imports and then checking with PyPI to obtain the latest version * @@ -382,14 +456,18 @@ export function parseReqFile(reqData: any, fetchDepsInfo: boolean): Promise; /** * Method to parse setup.py data @@ -402,7 +480,9 @@ export function parseSetupPyFile(setupPyData: any): Promise; * @param {Object} repoMetadata Repo metadata with group and name * @return {String|undefined} github api url (or undefined - if not enough data) */ -export function repoMetadataToGitHubApiUrl(repoMetadata: any): string | undefined; +export function repoMetadataToGitHubApiUrl( + repoMetadata: any, +): string | undefined; /** * Method to split GitHub url into its parts * @param {String} repoUrl Repository url @@ -415,7 +495,10 @@ export function getGithubUrlParts(repoUrl: string): [string]; * @param {Object} repoMetadata Object containing group and package name strings * @return {String|undefined} github api url (or undefined - if not a GitHub repo) */ -export function toGitHubApiUrl(repoUrl: string, repoMetadata: any): string | undefined; +export function toGitHubApiUrl( + repoUrl: string, + repoMetadata: any, +): string | undefined; /** * Method to retrieve repo license by querying github api * @@ -423,14 +506,22 @@ export function toGitHubApiUrl(repoUrl: string, repoMetadata: any): string | und * @param {Object} repoMetadata Object containing group and package name strings * @return {Promise} SPDX license id */ -export function getRepoLicense(repoUrl: string, repoMetadata: any): Promise; +export function getRepoLicense( + repoUrl: string, + repoMetadata: any, +): Promise; /** * Method to get go pkg license from go.dev site. * * @param {Object} repoMetadata Repo metadata */ export function getGoPkgLicense(repoMetadata: any): Promise; -export function getGoPkgComponent(group: any, name: any, version: any, hash: any): Promise<{}>; +export function getGoPkgComponent( + group: any, + name: any, + version: any, + hash: any, +): Promise<{}>; export function parseGoModData(goModData: any, gosumMap: any): Promise; /** * Parse go list output @@ -438,9 +529,12 @@ export function parseGoModData(goModData: any, gosumMap: any): Promise; * @param {string} rawOutput Output from go list invocation * @returns Object with parent component and List of packages */ -export function parseGoListDep(rawOutput: string, gosumMap: any): Promise<{ - parentComponent: {}; - pkgList: {}[]; +export function parseGoListDep( + rawOutput: string, + gosumMap: any, +): Promise<{ + parentComponent: {}; + pkgList: {}[]; }>; /** * Parse go mod graph @@ -452,12 +546,18 @@ export function parseGoListDep(rawOutput: string, gosumMap: any): Promise<{ * * @returns Object containing List of packages and dependencies */ -export function parseGoModGraph(rawOutput: string, goModFile: string, gosumMap: any, epkgList?: any[], parentComponent?: {}): Promise<{ - pkgList: any[]; - dependenciesList: { - ref: string; - dependsOn: any[]; - }[]; +export function parseGoModGraph( + rawOutput: string, + goModFile: string, + gosumMap: any, + epkgList?: any[], + parentComponent?: {}, +): Promise<{ + pkgList: any[]; + dependenciesList: { + ref: string; + dependsOn: any[]; + }[]; }>; /** * Parse go mod why output @@ -491,21 +591,28 @@ export function parseGemspecData(gemspecData: string): Promise; * @param {object} gemLockData Gemfile.lock data * @param {string} lockFile Lock file */ -export function parseGemfileLockData(gemLockData: object, lockFile: string): Promise; + }[]; + rootList: any[]; + } +>; /** * Method to retrieve metadata for rust packages by querying crates * @@ -535,7 +642,10 @@ export function getDartMetadata(pkgList: any[]): Promise; * * @returns {array} Package list */ -export function parseCargoTomlData(cargoTomlFile: string, simple?: boolean): any[]; +export function parseCargoTomlData( + cargoTomlFile: string, + simple?: boolean, +): any[]; /** * Parse a Cargo.lock file to find components within the Rust project. * @@ -546,19 +656,23 @@ export function parseCargoTomlData(cargoTomlFile: string, simple?: boolean): any */ export function parseCargoData(cargoLockFile: string, simple?: boolean): any[]; export function parseCargoDependencyData(cargoLockData: any): { - ref: string; - dependsOn: any; + ref: string; + dependsOn: any; }[]; export function parseCargoAuditableData(cargoData: any): Promise; export function parsePubLockData(pubLockData: any): Promise; export function parsePubYamlData(pubYamlData: any): any[]; export function parseHelmYamlData(helmData: any): any[]; -export function recurseImageNameLookup(keyValueObj: any, pkgList: any, imgList: any): any; +export function recurseImageNameLookup( + keyValueObj: any, + pkgList: any, + imgList: any, +): any; export function parseContainerFile(fileContents: any): { - image: any; + image: any; }[]; export function parseBitbucketPipelinesFile(fileContents: any): { - image: any; + image: any; }[]; export function parseContainerSpecData(dcData: any): any[]; export function identifyFlow(processingObj: any): string; @@ -576,18 +690,27 @@ export function parseNupkg(nupkgFile: any): Promise; export function parseNuspecData(nupkgFile: any, nuspecData: any): any[]; export function parseCsPkgData(pkgData: any): any[]; export function parseCsProjData(csProjData: any, projFile: any): any[]; -export function parseCsProjAssetsData(csProjData: any, assetsJsonFile: any): { - pkgList: any[]; - dependenciesList: any[]; +export function parseCsProjAssetsData( + csProjData: any, + assetsJsonFile: any, +): { + pkgList: any[]; + dependenciesList: any[]; }; -export function parseCsPkgLockData(csLockData: any, pkgLockFile: any): { - pkgList: any[]; - dependenciesList: any[]; - rootList: any[]; +export function parseCsPkgLockData( + csLockData: any, + pkgLockFile: any, +): { + pkgList: any[]; + dependenciesList: any[]; + rootList: any[]; }; -export function parsePaketLockData(paketLockData: any, pkgLockFile: any): { - pkgList: any[]; - dependenciesList: any[]; +export function parsePaketLockData( + paketLockData: any, + pkgLockFile: any, +): { + pkgList: any[]; + dependenciesList: any[]; }; /** * Parse composer lock file @@ -595,8 +718,13 @@ export function parsePaketLockData(paketLockData: any, pkgLockFile: any): { * @param {string} pkgLockFile composer.lock file * @param {array} rootRequires require section from composer.json */ -export function parseComposerLock(pkgLockFile: string, rootRequires: any[]): any[] | { - pkgList: { +export function parseComposerLock( + pkgLockFile: string, + rootRequires: any[], +): + | any[] + | { + pkgList: { group: string; name: string; purl: string; @@ -607,26 +735,26 @@ export function parseComposerLock(pkgLockFile: string, rootRequires: any[]): any description: any; scope: string; properties: { - name: string; - value: string; + name: string; + value: string; }[]; evidence: { - identity: { - field: string; - confidence: number; - methods: { - technique: string; - confidence: number; - value: string; - }[]; - }; + identity: { + field: string; + confidence: number; + methods: { + technique: string; + confidence: number; + value: string; + }[]; + }; }; - }[]; - dependenciesList: { + }[]; + dependenciesList: { ref: string; dependsOn: any[]; - }[]; - rootList: { + }[]; + rootList: { group: string; name: string; purl: string; @@ -637,28 +765,28 @@ export function parseComposerLock(pkgLockFile: string, rootRequires: any[]): any description: any; scope: string; properties: { - name: string; - value: string; + name: string; + value: string; }[]; evidence: { - identity: { - field: string; - confidence: number; - methods: { - technique: string; - confidence: number; - value: string; - }[]; - }; + identity: { + field: string; + confidence: number; + methods: { + technique: string; + confidence: number; + value: string; + }[]; + }; }; - }[]; -}; + }[]; + }; export function parseSbtTree(sbtTreeFile: any): { - pkgList: any[]; - dependenciesList: { - ref: string; - dependsOn: any; - }[]; + pkgList: any[]; + dependenciesList: { + ref: string; + dependsOn: any; + }[]; }; /** * Parse sbt lock file @@ -666,26 +794,26 @@ export function parseSbtTree(sbtTreeFile: any): { * @param {string} pkgLockFile build.sbt.lock file */ export function parseSbtLock(pkgLockFile: string): { - group: any; - name: any; - version: any; - _integrity: string; - scope: string; - properties: { - name: string; + group: any; + name: any; + version: any; + _integrity: string; + scope: string; + properties: { + name: string; + value: string; + }[]; + evidence: { + identity: { + field: string; + confidence: number; + methods: { + technique: string; + confidence: number; value: string; - }[]; - evidence: { - identity: { - field: string; - confidence: number; - methods: { - technique: string; - confidence: number; - value: string; - }[]; - }; + }[]; }; + }; }[]; /** * Method to execute dpkg --listfiles to determine the files provided by a given package @@ -730,60 +858,75 @@ export function executeEqueryList(pkgName: string): string[]; * @param {Array} results Query Results * @param {Boolean} enhance Optionally enhance results by invoking additional package manager commands */ -export function convertOSQueryResults(queryCategory: any, queryObj: any, results: any[], enhance?: boolean): { - name: any; - group: string; - version: any; - description: any; - publisher: any; - "bom-ref": string; - purl: string; - scope: any; - type: any; +export function convertOSQueryResults( + queryCategory: any, + queryObj: any, + results: any[], + enhance?: boolean, +): { + name: any; + group: string; + version: any; + description: any; + publisher: any; + "bom-ref": string; + purl: string; + scope: any; + type: any; }[]; /** * Parse swift dependency tree output json object * @param {string} jsonObject Swift dependencies json object * @param {string} pkgFile Package.swift file */ -export function parseSwiftJsonTreeObject(pkgList: any, dependenciesList: any, jsonObject: string, pkgFile: string): string; +export function parseSwiftJsonTreeObject( + pkgList: any, + dependenciesList: any, + jsonObject: string, + pkgFile: string, +): string; /** * Parse swift dependency tree output * @param {string} rawOutput Swift dependencies json output * @param {string} pkgFile Package.swift file */ -export function parseSwiftJsonTree(rawOutput: string, pkgFile: string): { - pkgList?: undefined; - dependenciesList?: undefined; -} | { - pkgList: any[]; - dependenciesList: any[]; -}; +export function parseSwiftJsonTree( + rawOutput: string, + pkgFile: string, +): + | { + pkgList?: undefined; + dependenciesList?: undefined; + } + | { + pkgList: any[]; + dependenciesList: any[]; + }; /** * Parse swift package resolved file * @param {string} resolvedFile Package.resolved file */ export function parseSwiftResolved(resolvedFile: string): { + name: string; + group: string; + version: string; + purl: string; + "bom-ref": string; + properties: { name: string; - group: string; - version: string; - purl: string; - "bom-ref": string; - properties: { - name: string; + value: string; + }[]; + evidence: { + identity: { + field: string; + confidence: number; + methods: { + technique: string; + confidence: number; value: string; - }[]; - evidence: { - identity: { - field: string; - confidence: number; - methods: { - technique: string; - confidence: number; - value: string; - }[]; - }; + }[]; }; + }; }[]; /** * Collect maven dependencies @@ -793,8 +936,18 @@ export function parseSwiftResolved(resolvedFile: string): { * @param {boolean} cleanup Remove temporary directories * @param {boolean} includeCacheDir Include maven and gradle cache directories */ -export function collectMvnDependencies(mavenCmd: string, basePath: string, cleanup?: boolean, includeCacheDir?: boolean): Promise<{}>; -export function collectGradleDependencies(gradleCmd: any, basePath: any, cleanup?: boolean, includeCacheDir?: boolean): Promise<{}>; +export function collectMvnDependencies( + mavenCmd: string, + basePath: string, + cleanup?: boolean, + includeCacheDir?: boolean, +): Promise<{}>; +export function collectGradleDependencies( + gradleCmd: any, + basePath: any, + cleanup?: boolean, + includeCacheDir?: boolean, +): Promise<{}>; /** * Method to collect class names from all jars in a directory * @@ -805,35 +958,35 @@ export function collectGradleDependencies(gradleCmd: any, basePath: any, cleanup */ export function collectJarNS(jarPath: string, pomPathMap?: object): Promise<{}>; export function convertJarNSToPackages(jarNSMapping: any): { - name: any; - group: any; - version: any; - description: any; - purl: string; - "bom-ref": string; - evidence: { - identity: { - field: string; - confidence: number; - methods: { - technique: string; - confidence: number; - value: any; - }[]; - }; - }; - properties: { - name: string; + name: any; + group: any; + version: any; + description: any; + purl: string; + "bom-ref": string; + evidence: { + identity: { + field: string; + confidence: number; + methods: { + technique: string; + confidence: number; value: any; - }[]; + }[]; + }; + }; + properties: { + name: string; + value: any; + }[]; }[]; export function parsePomXml(pomXmlData: any): { - artifactId: any; - groupId: any; - version: any; - description: any; - url: any; - scm: any; + artifactId: any; + groupId: any; + version: any; + description: any; + url: any; + scm: any; }; export function parseJarManifest(jarMetadata: any): {}; export function parsePomProperties(pomProperties: any): {}; @@ -862,7 +1015,11 @@ export function checksumFile(hashName: string, path: string): Promise; * * @return pkgList Package list */ -export function extractJarArchive(jarFile: string, tempDir: string, jarNSMapping?: object): Promise; +export function extractJarArchive( + jarFile: string, + tempDir: string, + jarNSMapping?: object, +): Promise; /** * Determine the version of SBT used in compilation of this project. * By default it looks into a standard SBT location i.e. @@ -892,7 +1049,10 @@ export function addPlugin(projectPath: string, plugin: string): string; * @param {string} projectPath Path to the SBT project * @param {string} originalPluginsFile Location of the original plugins file, if any */ -export function cleanupPlugin(projectPath: string, originalPluginsFile: string): boolean; +export function cleanupPlugin( + projectPath: string, + originalPluginsFile: string, +): boolean; /** * Returns a default location of the plugins file. * @@ -908,7 +1068,11 @@ export function sbtPluginsPath(projectPath: string): string; * * @returns File contents */ -export function readZipEntry(zipFile: string, filePattern: string, contentEncoding?: string): Promise; +export function readZipEntry( + zipFile: string, + filePattern: string, + contentEncoding?: string, +): Promise; /** * Method to get the classes and relevant sources in a jar file * @@ -945,7 +1109,12 @@ export function executeAtom(src: any, args: any): boolean; * @param {string} slicesFile * @returns List of imported modules */ -export function findAppModules(src: string, language: string, methodology?: string, slicesFile?: string): any; +export function findAppModules( + src: string, + language: string, + methodology?: string, + slicesFile?: string, +): any; /** * Execute pip freeze by creating a virtual env in a temp directory and construct the dependency tree * @@ -954,39 +1123,43 @@ export function findAppModules(src: string, language: string, methodology?: stri * @param {string} tempVenvDir Temp venv dir * @returns List of packages from the virtual env */ -export function getPipFrozenTree(basePath: string, reqOrSetupFile: string, tempVenvDir: string): { - pkgList: { - name: any; - version: any; - purl: string; - "bom-ref": string; - evidence: { - identity: { - field: string; - confidence: number; - methods: { - technique: string; - confidence: number; - value: any; - }[]; - }; - }; - }[]; - rootList: { - name: any; - version: any; - }[]; - dependenciesList: { - ref: string; - dependsOn: any; - }[]; - frozen: boolean; +export function getPipFrozenTree( + basePath: string, + reqOrSetupFile: string, + tempVenvDir: string, +): { + pkgList: { + name: any; + version: any; + purl: string; + "bom-ref": string; + evidence: { + identity: { + field: string; + confidence: number; + methods: { + technique: string; + confidence: number; + value: any; + }[]; + }; + }; + }[]; + rootList: { + name: any; + version: any; + }[]; + dependenciesList: { + ref: string; + dependsOn: any; + }[]; + frozen: boolean; }; export function parsePackageJsonName(name: any): { - scope: any; - fullName: string; - projectName: string; - moduleName: string; + scope: any; + fullName: string; + projectName: string; + moduleName: string; }; /** * Method to add occurrence evidence for components based on import statements. Currently useful for js @@ -995,19 +1168,32 @@ export function parsePackageJsonName(name: any): { * @param {object} allImports Import statements object with package name as key and an object with file and location details * @param {object} allExports Exported modules if available from node_modules */ -export function addEvidenceForImports(pkgList: any[], allImports: object, allExports: object, deep: any): Promise; +export function addEvidenceForImports( + pkgList: any[], + allImports: object, + allExports: object, + deep: any, +): Promise; export function componentSorter(a: any, b: any): any; -export function parseCmakeDotFile(dotFile: any, pkgType: any, options?: {}): { - parentComponent: {}; - pkgList: any[]; - dependenciesList: { - ref: string; - dependsOn: any[]; - }[]; +export function parseCmakeDotFile( + dotFile: any, + pkgType: any, + options?: {}, +): { + parentComponent: {}; + pkgList: any[]; + dependenciesList: { + ref: string; + dependsOn: any[]; + }[]; }; -export function parseCmakeLikeFile(cmakeListFile: any, pkgType: any, options?: {}): { - parentComponent: {}; - pkgList: any[]; +export function parseCmakeLikeFile( + cmakeListFile: any, + pkgType: any, + options?: {}, +): { + parentComponent: {}; + pkgList: any[]; }; export function getOSPackageForFile(afile: any, osPkgsList: any): any; /** @@ -1018,13 +1204,18 @@ export function getOSPackageForFile(afile: any, osPkgsList: any): any; * @param {array} osPkgsList Array of OS pacakges represented as components * @param {array} epkgList Existing packages list */ -export function getCppModules(src: string, options: object, osPkgsList: any[], epkgList: any[]): { - parentComponent: {}; - pkgList: any[]; - dependenciesList: { - ref: any; - dependsOn: any[]; - }[]; +export function getCppModules( + src: string, + options: object, + osPkgsList: any[], + epkgList: any[], +): { + parentComponent: {}; + pkgList: any[]; + dependenciesList: { + ref: any; + dependsOn: any[]; + }[]; }; /** * NOT IMPLEMENTED YET. @@ -1040,9 +1231,12 @@ export function parseCUsageSlice(sliceData: any): {}; * * @param {Array} pkgList Package list */ -export function getNugetMetadata(pkgList: any[], dependencies?: any): Promise<{ - pkgList: any[]; - dependencies: any[]; +export function getNugetMetadata( + pkgList: any[], + dependencies?: any, +): Promise<{ + pkgList: any[]; + dependencies: any[]; }>; export function addEvidenceForDotnet(pkgList: any, slicesFile: any): any; export const dirNameStr: string; @@ -1072,4 +1266,4 @@ export let LEIN_CMD: string; export let SWIFT_CMD: string; export const cdxgenAgent: any; export const RUBY_PLATFORM_PREFIXES: string[]; -//# sourceMappingURL=utils.d.ts.map \ No newline at end of file +//# sourceMappingURL=utils.d.ts.map diff --git a/types/validator.d.ts b/types/validator.d.ts index 85c1b2115..271c9148e 100644 --- a/types/validator.d.ts +++ b/types/validator.d.ts @@ -2,4 +2,4 @@ export function validateBom(bomJson: object): boolean; export function validateMetadata(bomJson: object): boolean; export function validatePurls(bomJson: object): boolean; export function validateRefs(bomJson: object): boolean; -//# sourceMappingURL=validator.d.ts.map \ No newline at end of file +//# sourceMappingURL=validator.d.ts.map diff --git a/utils.js b/utils.js index eb84f40d7..b63b30310 100644 --- a/utils.js +++ b/utils.js @@ -1,19 +1,9 @@ -import { globSync } from "glob"; -import { homedir, platform, tmpdir } from "node:os"; -import process from "node:process"; import { Buffer } from "node:buffer"; +import { spawnSync } from "node:child_process"; +import { createHash } from "node:crypto"; import { - delimiter as _delimiter, - sep as _sep, - basename, - dirname, - extname, - join, - resolve -} from "node:path"; -import { - chmodSync, constants, + chmodSync, copyFileSync, createReadStream, existsSync, @@ -22,17 +12,30 @@ import { readFileSync, rmSync, unlinkSync, - writeFileSync + writeFileSync, } from "node:fs"; -import { createHash } from "node:crypto"; -import got from "got"; -import Arborist from "@npmcli/arborist"; +import { homedir, platform, tmpdir } from "node:os"; +import { + delimiter as _delimiter, + sep as _sep, + basename, + dirname, + extname, + join, + resolve, +} from "node:path"; import path from "node:path"; -import { xml2js } from "xml-js"; +import process from "node:process"; import { URL, fileURLToPath } from "node:url"; +import Arborist from "@npmcli/arborist"; import { load } from "cheerio"; +import { parseEDNString } from "edn-data"; +import { globSync } from "glob"; +import got from "got"; +import iconv from "iconv-lite"; import { load as _load } from "js-yaml"; -import { spawnSync } from "node:child_process"; +import StreamZip from "node-stream-zip"; +import { PackageURL } from "packageurl-js"; import propertiesReader from "properties-reader"; import { clean, @@ -41,13 +44,10 @@ import { maxSatisfying, parse, satisfies, - valid + valid, } from "semver"; -import StreamZip from "node-stream-zip"; -import { parseEDNString } from "edn-data"; -import { PackageURL } from "packageurl-js"; +import { xml2js } from "xml-js"; import { getTreeWithPlugin } from "./piptree.js"; -import iconv from "iconv-lite"; let url = import.meta.url; if (!url.startsWith("file://")) { @@ -64,36 +64,36 @@ if (isWin) { } const licenseMapping = JSON.parse( - readFileSync(join(dirNameStr, "data", "lic-mapping.json"), "utf-8") + readFileSync(join(dirNameStr, "data", "lic-mapping.json"), "utf-8"), ); const vendorAliases = JSON.parse( - readFileSync(join(dirNameStr, "data", "vendor-alias.json"), "utf-8") + readFileSync(join(dirNameStr, "data", "vendor-alias.json"), "utf-8"), ); const spdxLicenses = JSON.parse( - readFileSync(join(dirNameStr, "data", "spdx-licenses.json"), "utf-8") + readFileSync(join(dirNameStr, "data", "spdx-licenses.json"), "utf-8"), ); const knownLicenses = JSON.parse( - readFileSync(join(dirNameStr, "data", "known-licenses.json"), "utf-8") + readFileSync(join(dirNameStr, "data", "known-licenses.json"), "utf-8"), ); const mesonWrapDB = JSON.parse( - readFileSync(join(dirNameStr, "data", "wrapdb-releases.json"), "utf-8") + readFileSync(join(dirNameStr, "data", "wrapdb-releases.json"), "utf-8"), ); export const frameworksList = JSON.parse( - readFileSync(join(dirNameStr, "data", "frameworks-list.json"), "utf-8") + readFileSync(join(dirNameStr, "data", "frameworks-list.json"), "utf-8"), ); const selfPJson = JSON.parse( - readFileSync(join(dirNameStr, "package.json"), "utf-8") + readFileSync(join(dirNameStr, "package.json"), "utf-8"), ); const _version = selfPJson.version; // Refer to contrib/py-modules.py for a script to generate this list // The script needs to be used once every few months to update this list const PYTHON_STD_MODULES = JSON.parse( - readFileSync(join(dirNameStr, "data", "python-stdlib.json"), "utf-8") + readFileSync(join(dirNameStr, "data", "python-stdlib.json"), "utf-8"), ); // Mapping between modules and package names const PYPI_MODULE_PACKAGE_MAPPING = JSON.parse( - readFileSync(join(dirNameStr, "data", "pypi-pkg-aliases.json"), "utf-8") + readFileSync(join(dirNameStr, "data", "pypi-pkg-aliases.json"), "utf-8"), ); // Debug mode flag @@ -105,11 +105,11 @@ export const DEBUG_MODE = // Timeout milliseconds. Default 20 mins export const TIMEOUT_MS = - parseInt(process.env.CDXGEN_TIMEOUT_MS) || 20 * 60 * 1000; + Number.parseInt(process.env.CDXGEN_TIMEOUT_MS) || 20 * 60 * 1000; // Max buffer for stdout and stderr. Defaults to 100MB export const MAX_BUFFER = - parseInt(process.env.CDXGEN_MAX_BUFFER) || 100 * 1024 * 1024; + Number.parseInt(process.env.CDXGEN_MAX_BUFFER) || 100 * 1024 * 1024; // Metadata cache export let metadata_cache = {}; @@ -209,8 +209,8 @@ if (process.env.SWIFT_CMD) { // Custom user-agent for cdxgen export const cdxgenAgent = got.extend({ headers: { - "user-agent": `@CycloneDX/cdxgen ${_version}` - } + "user-agent": `@CycloneDX/cdxgen ${_version}`, + }, }); /** @@ -226,7 +226,7 @@ export function getAllFiles(dirPath, pattern, options = {}) { "**/venv/**", "**/docs/**", "**/examples/**", - "**/site-packages/**" + "**/site-packages/**", ]; // Only ignore node_modules if the caller is not looking for package.json if (!pattern.includes("package.json")) { @@ -254,7 +254,7 @@ export function getAllFilesWithIgnore(dirPath, pattern, ignoreList) { nodir: true, dot: pattern.startsWith(".") ? true : false, follow: false, - ignore: ignoreList + ignore: ignoreList, }); } catch (err) { if (DEBUG_MODE) { @@ -388,7 +388,7 @@ export function getLicenses(pkg) { addLicenseText(pkg, l, licenseContent); } return licenseContent; - }) + }), ); } else { const knownLicense = getKnownLicense(undefined, pkg); @@ -481,26 +481,26 @@ export function addLicenseText(pkg, l, licenseContent) { "licence", "NOTICE", "Notice", - "notice" + "notice", ]; const licenseContentTypes = { "text/plain": "", "text/txt": ".txt", "text/markdown": ".md", - "text/xml": ".xml" + "text/xml": ".xml", }; /* Loops over different name combinations starting from the license specified naming (e.g., 'LICENSE.Apache-2.0') and proceeding towards more generic names. */ for (const licenseName of [`.${l}`, ""]) { for (const licenseFilename of licenseFilenames) { for (const [licenseContentType, fileExtension] of Object.entries( - licenseContentTypes + licenseContentTypes, )) { const licenseFilepath = `${pkg.realPath}/${licenseFilename}${licenseName}${fileExtension}`; if (existsSync(licenseFilepath)) { licenseContent.text = readLicenseText( licenseFilepath, - licenseContentType + licenseContentType, ); return; } @@ -539,7 +539,7 @@ export async function getSwiftPackageMetadata(pkgList) { if (DEBUG_MODE) { console.log( p.repository.url, - "is currently not supported to fetch for licenses" + "is currently not supported to fetch for licenses", ); } } @@ -576,7 +576,7 @@ export async function getNpmMetadata(pkgList) { body = metadata_cache[key]; } else { const res = await cdxgenAgent.get(NPM_URL + key, { - responseType: "json" + responseType: "json", }); body = res.body; metadata_cache[key] = body; @@ -619,7 +619,7 @@ export async function parsePkgJson(pkgJsonFile, simple = false) { const name = pkgIdentifier.fullName || pkgData.name; if (DEBUG_MODE && !name && !pkgJsonFile.includes("node_modules")) { console.log( - `${pkgJsonFile} doesn't contain the package name. Consider using the 'npm init' command to create a valid package.json file for this project.` + `${pkgJsonFile} doesn't contain the package name. Consider using the 'npm init' command to create a valid package.json file for this project.`, ); return pkgList; } @@ -630,7 +630,7 @@ export async function parsePkgJson(pkgJsonFile, simple = false) { name, pkgData.version, null, - null + null, ).toString(); const author = pkgData.author; const authorString = @@ -647,7 +647,7 @@ export async function parsePkgJson(pkgJsonFile, simple = false) { purl: purl, "bom-ref": decodeURIComponent(purl), author: authorString, - license: pkgData.license + license: pkgData.license, }; if (pkgData.homepage) { apkg.homepage = { url: pkgData.homepage }; @@ -659,8 +659,8 @@ export async function parsePkgJson(pkgJsonFile, simple = false) { apkg.properties = [ { name: "SrcFile", - value: pkgJsonFile - } + value: pkgJsonFile, + }, ]; apkg.evidence = { identity: { @@ -670,10 +670,10 @@ export async function parsePkgJson(pkgJsonFile, simple = false) { { technique: "manifest-analysis", confidence: 0.7, - value: pkgJsonFile - } - ] - } + value: pkgJsonFile, + }, + ], + }, }; } pkgList.push(apkg); @@ -684,7 +684,7 @@ export async function parsePkgJson(pkgJsonFile, simple = false) { if (!simple && FETCH_LICENSE && pkgList && pkgList.length) { if (DEBUG_MODE) { console.log( - `About to fetch license information for ${pkgList.length} packages in parsePkgJson` + `About to fetch license information for ${pkgList.length} packages in parsePkgJson`, ); } return await getNpmMetadata(pkgList); @@ -708,7 +708,7 @@ export async function parsePkgLock(pkgLockFile, options = {}) { if (!existsSync(pkgLockFile)) { return { pkgList, - dependenciesList + dependenciesList, }; } @@ -717,7 +717,7 @@ export async function parsePkgLock(pkgLockFile, options = {}) { rootNode, parentRef = null, visited = new Set(), - options = {} + options = {}, ) => { if (visited.has(node)) { return { pkgList: [], dependenciesList: [] }; @@ -749,7 +749,7 @@ export async function parsePkgLock(pkgLockFile, options = {}) { options.projectName || node.packageName, options.projectVersion || node.version, null, - null + null, ) .toString() .replace(/%2F/g, "/"); @@ -760,7 +760,7 @@ export async function parsePkgLock(pkgLockFile, options = {}) { version: options.projectVersion || node.version, type: "application", purl: purlString, - "bom-ref": decodeURIComponent(purlString) + "bom-ref": decodeURIComponent(purlString), }; } else { purlString = new PackageURL( @@ -769,13 +769,13 @@ export async function parsePkgLock(pkgLockFile, options = {}) { node.packageName, node.version, null, - null + null, ) .toString() .replace(/%2F/g, "/"); const pkgLockFile = join( srcFilePath.replace("/", _sep), - "package-lock.json" + "package-lock.json", ); pkg = { group: "", @@ -787,8 +787,8 @@ export async function parsePkgLock(pkgLockFile, options = {}) { properties: [ { name: "SrcFile", - value: pkgLockFile - } + value: pkgLockFile, + }, ], evidence: { identity: { @@ -798,25 +798,25 @@ export async function parsePkgLock(pkgLockFile, options = {}) { { technique: "manifest-analysis", confidence: 1, - value: pkgLockFile - } - ] - } + value: pkgLockFile, + }, + ], + }, }, type: parentRef ? "npm" : "application", purl: purlString, - "bom-ref": decodeURIComponent(purlString) + "bom-ref": decodeURIComponent(purlString), }; if (node.resolved) { pkg.properties.push({ name: "ResolvedUrl", - value: node.resolved + value: node.resolved, }); } if (node.location) { pkg.properties.push({ name: "LocalNodeModulesPath", - value: node.location + value: node.location, }); } } @@ -833,7 +833,7 @@ export async function parsePkgLock(pkgLockFile, options = {}) { for (const workspaceNode of node.fsChildren) { const { pkgList: childPkgList, - dependenciesList: childDependenciesList + dependenciesList: childDependenciesList, } = parseArboristNode(workspaceNode, rootNode, purlString, visited); pkgList = pkgList.concat(childPkgList); dependenciesList = dependenciesList.concat(childDependenciesList); @@ -844,10 +844,10 @@ export async function parsePkgLock(pkgLockFile, options = {}) { workspaceNode.name, workspaceNode.version, null, - null + null, ) .toString() - .replace(/%2F/g, "/") + .replace(/%2F/g, "/"), ); if (decodeURIComponent(purlString) !== depWorkspacePurlString) { workspaceDependsOn.push(depWorkspacePurlString); @@ -863,12 +863,12 @@ export async function parsePkgLock(pkgLockFile, options = {}) { const childNode = child[1]; const { pkgList: childPkgList, - dependenciesList: childDependenciesList + dependenciesList: childDependenciesList, } = parseArboristNode( childNode, rootNode, decodeURIComponent(purlString), - visited + visited, ); pkgList = pkgList.concat(childPkgList); dependenciesList = dependenciesList.concat(childDependenciesList); @@ -879,10 +879,10 @@ export async function parsePkgLock(pkgLockFile, options = {}) { childNode.name, childNode.version, null, - null + null, ) .toString() - .replace(/%2F/g, "/") + .replace(/%2F/g, "/"), ); if (decodeURIComponent(purlString) !== depChildString) { childrenDependsOn.push(depChildString); @@ -959,7 +959,7 @@ export async function parsePkgLock(pkgLockFile, options = {}) { const depPurlString = decodeURIComponent( new PackageURL("npm", "", targetName, targetVersion, null, null) .toString() - .replace(/%2F/g, "/") + .replace(/%2F/g, "/"), ); if (decodeURIComponent(purlString) !== depPurlString) { pkgDependsOn.push(depPurlString); @@ -972,7 +972,7 @@ export async function parsePkgLock(pkgLockFile, options = {}) { edge.to, rootNode, decodeURIComponent(purlString), - visited + visited, ); pkgList = pkgList.concat(childPkgList); dependenciesList = dependenciesList.concat(childDependenciesList); @@ -981,7 +981,7 @@ export async function parsePkgLock(pkgLockFile, options = {}) { ref: decodeURIComponent(purlString), dependsOn: workspaceDependsOn .concat(childrenDependsOn) - .concat(pkgDependsOn) + .concat(pkgDependsOn), }); return { pkgList, dependenciesList }; @@ -990,24 +990,24 @@ export async function parsePkgLock(pkgLockFile, options = {}) { let arb = new Arborist({ path: path.dirname(pkgLockFile), // legacyPeerDeps=false enables npm >v3 package dependency resolution - legacyPeerDeps: false + legacyPeerDeps: false, }); let tree = undefined; try { tree = await arb.loadVirtual(); } catch (e) { console.log( - `Unable to parse ${pkgLockFile} without legacy peer dependencies. Retrying ...` + `Unable to parse ${pkgLockFile} without legacy peer dependencies. Retrying ...`, ); try { arb = new Arborist({ path: path.dirname(pkgLockFile), - legacyPeerDeps: true + legacyPeerDeps: true, }); tree = await arb.loadVirtual(); } catch (e) { console.log( - `Unable to parse ${pkgLockFile} in legacy and non-legacy mode. The resulting SBOM would be incomplete.` + `Unable to parse ${pkgLockFile} in legacy and non-legacy mode. The resulting SBOM would be incomplete.`, ); return { pkgList, dependenciesList }; } @@ -1020,13 +1020,13 @@ export async function parsePkgLock(pkgLockFile, options = {}) { tree, null, new Set(), - options + options, )); if (FETCH_LICENSE && pkgList && pkgList.length) { if (DEBUG_MODE) { console.log( - `About to fetch license information for ${pkgList.length} packages in parsePkgLock` + `About to fetch license information for ${pkgList.length} packages in parsePkgLock`, ); } pkgList = await getNpmMetadata(pkgList); @@ -1034,7 +1034,7 @@ export async function parsePkgLock(pkgLockFile, options = {}) { } return { pkgList, - dependenciesList + dependenciesList, }; } @@ -1172,7 +1172,7 @@ export async function parseYarnLock(yarnLockFile) { name, version, null, - null + null, ).toString(); // Trim duplicates if (!pkgAddedMap[purlString]) { @@ -1187,8 +1187,8 @@ export async function parseYarnLock(yarnLockFile) { properties: [ { name: "SrcFile", - value: yarnLockFile - } + value: yarnLockFile, + }, ], evidence: { identity: { @@ -1198,11 +1198,11 @@ export async function parseYarnLock(yarnLockFile) { { technique: "manifest-analysis", confidence: 1, - value: yarnLockFile - } - ] - } - } + value: yarnLockFile, + }, + ], + }, + }, }); } } @@ -1217,7 +1217,7 @@ export async function parseYarnLock(yarnLockFile) { // Create an entry for dependencies dependenciesList.push({ ref: decodeURIComponent(purlString), - dependsOn: deplist + dependsOn: deplist, }); depKeys[purlString] = true; deplist = []; @@ -1246,7 +1246,7 @@ export async function parseYarnLock(yarnLockFile) { ) { name_aliases.push({ group: parsedline.group, - name: parsedline.name + name: parsedline.name, }); } } @@ -1274,7 +1274,7 @@ export async function parseYarnLock(yarnLockFile) { dgroupname, resolvedVersion, null, - null + null, ).toString(); deplist.push(decodeURIComponent(depPurlString)); } @@ -1311,18 +1311,18 @@ export async function parseYarnLock(yarnLockFile) { if (FETCH_LICENSE && pkgList && pkgList.length) { if (DEBUG_MODE) { console.log( - `About to fetch license information for ${pkgList.length} packages in parseYarnLock` + `About to fetch license information for ${pkgList.length} packages in parseYarnLock`, ); } pkgList = await getNpmMetadata(pkgList); return { pkgList, - dependenciesList + dependenciesList, }; } return { pkgList, - dependenciesList + dependenciesList, }; } @@ -1365,8 +1365,8 @@ export async function parseNodeShrinkwrap(swFile) { properties: [ { name: "SrcFile", - value: swFile - } + value: swFile, + }, ], evidence: { identity: { @@ -1376,11 +1376,11 @@ export async function parseNodeShrinkwrap(swFile) { { technique: "manifest-analysis", confidence: 1, - value: swFile - } - ] - } - } + value: swFile, + }, + ], + }, + }, }); } } @@ -1388,7 +1388,7 @@ export async function parseNodeShrinkwrap(swFile) { if (FETCH_LICENSE && pkgList && pkgList.length) { if (DEBUG_MODE) { console.log( - `About to fetch license information for ${pkgList.length} packages in parseNodeShrinkwrap` + `About to fetch license information for ${pkgList.length} packages in parseNodeShrinkwrap`, ); } return await getNpmMetadata(pkgList); @@ -1415,7 +1415,7 @@ export async function parsePnpmLock(pnpmLock, parentComponent = null) { parentComponent.name, parentComponent.version, null, - null + null, ).toString(); } if (existsSync(pnpmLock)) { @@ -1442,18 +1442,18 @@ export async function parsePnpmLock(pnpmLock, parentComponent = null) { dk, version, null, - null + null, ).toString(); ddeplist.push(decodeURIComponent(dpurl)); } dependenciesList.push({ ref: decodeURIComponent(ppurl), - dependsOn: ddeplist + dependsOn: ddeplist, }); } let lockfileVersion = yamlObj.lockfileVersion; try { - lockfileVersion = parseInt(lockfileVersion, 10); + lockfileVersion = Number.parseInt(lockfileVersion, 10); } catch (e) { // ignore parse errors } @@ -1497,7 +1497,7 @@ export async function parsePnpmLock(pnpmLock, parentComponent = null) { // Let's have some warnings till we fully support pnpm 8 if (!name) { console.warn( - `Unable to extract name and version for string ${pkgKeys[k]}` + `Unable to extract name and version for string ${pkgKeys[k]}`, ); continue; } @@ -1508,7 +1508,7 @@ export async function parsePnpmLock(pnpmLock, parentComponent = null) { name, version, null, - null + null, ).toString(); const deplist = []; for (const dpkgName of Object.keys(deps)) { @@ -1518,13 +1518,13 @@ export async function parsePnpmLock(pnpmLock, parentComponent = null) { dpkgName, deps[dpkgName], null, - null + null, ).toString(); deplist.push(decodeURIComponent(dpurlString)); } dependenciesList.push({ ref: decodeURIComponent(purlString), - dependsOn: deplist + dependsOn: deplist, }); pkgList.push({ group: group, @@ -1537,8 +1537,8 @@ export async function parsePnpmLock(pnpmLock, parentComponent = null) { properties: [ { name: "SrcFile", - value: pnpmLock - } + value: pnpmLock, + }, ], evidence: { identity: { @@ -1548,11 +1548,11 @@ export async function parsePnpmLock(pnpmLock, parentComponent = null) { { technique: "manifest-analysis", confidence: 1, - value: pnpmLock - } - ] - } - } + value: pnpmLock, + }, + ], + }, + }, }); } } @@ -1561,18 +1561,18 @@ export async function parsePnpmLock(pnpmLock, parentComponent = null) { if (FETCH_LICENSE && pkgList && pkgList.length) { if (DEBUG_MODE) { console.log( - `About to fetch license information for ${pkgList.length} packages in parsePnpmLock` + `About to fetch license information for ${pkgList.length} packages in parsePnpmLock`, ); } pkgList = await getNpmMetadata(pkgList); return { pkgList, - dependenciesList + dependenciesList, }; } return { pkgList, - dependenciesList + dependenciesList, }; } @@ -1596,8 +1596,8 @@ export async function parseBowerJson(bowerJsonFile) { properties: [ { name: "SrcFile", - value: bowerJsonFile - } + value: bowerJsonFile, + }, ], evidence: { identity: { @@ -1607,11 +1607,11 @@ export async function parseBowerJson(bowerJsonFile) { { technique: "manifest-analysis", confidence: 1, - value: bowerJsonFile - } - ] - } - } + value: bowerJsonFile, + }, + ], + }, + }, }); } catch (err) { // continue regardless of error @@ -1620,7 +1620,7 @@ export async function parseBowerJson(bowerJsonFile) { if (FETCH_LICENSE && pkgList && pkgList.length) { if (DEBUG_MODE) { console.log( - `About to fetch license information for ${pkgList.length} packages in parseBowerJson` + `About to fetch license information for ${pkgList.length} packages in parseBowerJson`, ); } return await getNpmMetadata(pkgList); @@ -1677,8 +1677,8 @@ export async function parseMinJs(minJsFile) { properties: [ { name: "SrcFile", - value: minJsFile - } + value: minJsFile, + }, ], evidence: { identity: { @@ -1688,11 +1688,11 @@ export async function parseMinJs(minJsFile) { { technique: "filename", confidence: 0.25, - value: minJsFile - } - ] - } - } + value: minJsFile, + }, + ], + }, + }, }); } } @@ -1705,7 +1705,7 @@ export async function parseMinJs(minJsFile) { if (FETCH_LICENSE && pkgList && pkgList.length) { if (DEBUG_MODE) { console.log( - `About to fetch license information for ${pkgList.length} packages in parseMinJs` + `About to fetch license information for ${pkgList.length} packages in parseMinJs`, ); } return await getNpmMetadata(pkgList); @@ -1726,7 +1726,7 @@ export function parsePom(pomFile) { spaces: 4, textKey: "_", attributesKey: "$", - commentKey: "value" + commentKey: "value", }).project; if (project && project.dependencies) { let dependencies = project.dependencies.dependency; @@ -1750,8 +1750,8 @@ export function parsePom(pomFile) { properties: [ { name: "SrcFile", - value: pomFile - } + value: pomFile, + }, ], evidence: { identity: { @@ -1761,11 +1761,11 @@ export function parsePom(pomFile) { { technique: "manifest-analysis", confidence: 1, - value: pomFile - } - ] - } - } + value: pomFile, + }, + ], + }, + }, }); } } @@ -1816,14 +1816,14 @@ export function parseMavenTree(rawOutput) { pkgArr[1], versionStr, { type: pkgArr[2] }, - null + null, ).toString(); purlString = decodeURIComponent(purlString); deps.push({ group: pkgArr[0], name: pkgArr[1], version: versionStr, - qualifiers: { type: pkgArr[2] } + qualifiers: { type: pkgArr[2] }, }); if (!level_trees[purlString]) { level_trees[purlString] = []; @@ -1856,12 +1856,12 @@ export function parseMavenTree(rawOutput) { for (const lk of Object.keys(level_trees)) { dependenciesList.push({ ref: lk, - dependsOn: level_trees[lk] + dependsOn: level_trees[lk], }); } return { pkgList: deps, - dependenciesList + dependenciesList, }; } @@ -1876,7 +1876,7 @@ export function parseGradleDep( rawOutput, rootProjectGroup = "", rootProjectName = "root", - rootProjectVersion = "latest" + rootProjectVersion = "latest", ) { if (typeof rawOutput === "string") { // Bug: 249. Get any sub-projects refered here @@ -1898,7 +1898,7 @@ export function parseGradleDep( name: rootProjectName, version: rootProjectVersion, type: "maven", - qualifiers: { type: "jar" } + qualifiers: { type: "jar" }, }; const deps = []; const dependenciesList = []; @@ -1912,8 +1912,8 @@ export function parseGradleDep( rootProject.name, rootProject.version, rootProject.qualifiers, - null - ).toString() + null, + ).toString(), ); const first_purl = last_purl; let last_project_purl = first_purl; @@ -1932,9 +1932,9 @@ export function parseGradleDep( sd.replace(":", ""), rootProject.version, rootProject.qualifiers, - null - ).toString() - ) + null, + ).toString(), + ), ); } level_trees[last_purl] = subDependsOn; @@ -1982,7 +1982,7 @@ export function parseGradleDep( versionspecified, groupoverride, nameoverride, - versionoverride + versionoverride, ] = match; let group = groupoverride || groupspecified; let name = nameoverride || namespecified; @@ -2005,7 +2005,7 @@ export function parseGradleDep( name, version !== undefined ? version : rootProjectVersion, { type: "jar" }, - null + null, ).toString(); purlString = decodeURIComponent(purlString); keys_cache[purlString + "_" + last_purl] = true; @@ -2016,7 +2016,7 @@ export function parseGradleDep( group: group !== "project" ? group : rootProjectGroup, name: name, version: version !== undefined ? version : rootProjectVersion, - qualifiers: { type: "jar" } + qualifiers: { type: "jar" }, }; adep["purl"] = purlString; adep["bom-ref"] = decodeURIComponent(purlString); @@ -2027,8 +2027,8 @@ export function parseGradleDep( adep.properties = [ { name: "GradleProfileName", - value: profileName - } + value: profileName, + }, ]; } deps.push(adep); @@ -2071,12 +2071,12 @@ export function parseGradleDep( for (const lk of Object.keys(level_trees)) { dependenciesList.push({ ref: lk, - dependsOn: level_trees[lk] + dependsOn: level_trees[lk], }); } return { pkgList: deps, - dependenciesList + dependenciesList, }; } return {}; @@ -2111,7 +2111,7 @@ export function parseCljDep(rawOutput) { deps.push({ group, name, - version + version, }); } } @@ -2211,7 +2211,7 @@ export function parseGradleProjects(rawOutput) { } return { rootProject, - projects: Array.from(projects) + projects: Array.from(projects), }; } @@ -2254,7 +2254,7 @@ export function parseGradleProperties(rawOutput) { return { rootProject, projects: Array.from(projects), - metadata + metadata, }; } @@ -2270,8 +2270,8 @@ export function executeGradleProperties(dir, rootPath, subProject) { rootProject: subProject, projects: [], metadata: { - version: "latest" - } + version: "latest", + }, }; // To optimize performance and reduce errors do not query for properties // beyond the first level @@ -2283,7 +2283,7 @@ export function executeGradleProperties(dir, rootPath, subProject) { "-q", "--console", "plain", - "--build-cache" + "--build-cache", ]; const gradleCmd = getGradleCommand(dir, rootPath); // common gradle args, used for all tasks @@ -2301,12 +2301,12 @@ export function executeGradleProperties(dir, rootPath, subProject) { gradleCmd, gradlePropertiesArgs.join(" "), "in", - dir + dir, ); const result = spawnSync(gradleCmd, gradlePropertiesArgs, { cwd: dir, encoding: "utf-8", - shell: isWin + shell: isWin, }); if (result.status !== 0 || result.error) { if (result.stderr) { @@ -2315,12 +2315,12 @@ export function executeGradleProperties(dir, rootPath, subProject) { } else { console.error(result.stdout, result.stderr); console.log( - "1. Check if the correct version of java and gradle are installed and available in PATH. For example, some project might require Java 11 with gradle 7.\n cdxgen container image bundles Java 21 with gradle 8 which might be incompatible." + "1. Check if the correct version of java and gradle are installed and available in PATH. For example, some project might require Java 11 with gradle 7.\n cdxgen container image bundles Java 21 with gradle 8 which might be incompatible.", ); } if (result.stderr.includes("not get unknown property")) { console.log( - "2. Check if the SBOM is generated for the correct root project for your application." + "2. Check if the SBOM is generated for the correct root project for your application.", ); } } @@ -2342,7 +2342,7 @@ export function parseBazelActionGraph(rawOutput) { `^.*v1/https/[^/]*(?:${ process.env.BAZEL_STRIP_MAVEN_PREFIX || "/maven2/" })?(.*)/(.*)/(.*)/(.*.jar)(?:"| \\\\)?$`, - "g" + "g", ); if (typeof rawOutput === "string") { @@ -2370,7 +2370,7 @@ export function parseBazelActionGraph(rawOutput) { group, name, version, - qualifiers: { type: "jar" } + qualifiers: { type: "jar" }, }); } } @@ -2427,7 +2427,7 @@ export function parseBazelSkyframe(rawOutput) { group, name, version, - qualifiers: { type: "jar" } + qualifiers: { type: "jar" }, }); } } @@ -2486,14 +2486,14 @@ export function parseKVDep(rawOutput) { name, version, { type: "jar" }, - null + null, ).toString(); deps.push({ group, name, version, purl: purlString, - "bom-ref": decodeURIComponent(purlString) + "bom-ref": decodeURIComponent(purlString), }); }); return deps; @@ -2567,10 +2567,10 @@ export async function getMvnMetadata(pkgList, jarNSMapping = {}) { { technique: "binary-analysis", confidence: 0.8, - value: jarNSMapping[p.purl].jarFile - } - ] - } + value: jarNSMapping[p.purl].jarFile, + }, + ], + }, }; } if ( @@ -2582,7 +2582,7 @@ export async function getMvnMetadata(pkgList, jarNSMapping = {}) { } p.properties.push({ name: "Namespaces", - value: jarNSMapping[p.purl].namespaces.join("\n") + value: jarNSMapping[p.purl].namespaces.join("\n"), }); } } @@ -2606,12 +2606,12 @@ export async function getMvnMetadata(pkgList, jarNSMapping = {}) { urlPrefix: urlPrefix, group: group, name: p.name, - version: p.version + version: p.version, }; try { if (DEBUG_MODE) { console.log( - `Querying ${pomMetadata} from ${composePomXmlUrl(pomMetadata)}` + `Querying ${pomMetadata} from ${composePomXmlUrl(pomMetadata)}`, ); } const bodyJson = await fetchPomXmlAsJson(pomMetadata); @@ -2631,7 +2631,7 @@ export async function getMvnMetadata(pkgList, jarNSMapping = {}) { if (DEBUG_MODE) { console.log( `An error occurred when trying to fetch metadata ${pomMetadata}`, - err + err, ); } } finally { @@ -2685,7 +2685,7 @@ export async function fetchPomXmlAsJson({ urlPrefix, group, name, version }) { spaces: 4, textKey: "_", attributesKey: "$", - commentKey: "value" + commentKey: "value", }; const pomJson = xml2js(pomXml, options).project; if (pomJson?.parent) { @@ -2693,7 +2693,7 @@ export async function fetchPomXmlAsJson({ urlPrefix, group, name, version }) { urlPrefix, group: pomJson.parent.groupId?._, name: pomJson.parent.artifactId?._, - version: pomJson.parent.version?._ + version: pomJson.parent.version?._, }); const parentJson = xml2js(parentXml, options).project; const result = { ...parentJson, ...pomJson }; @@ -2748,7 +2748,7 @@ export async function extractLicenseCommentFromPomXml({ urlPrefix, group, name, - version + version, }) { const pom_xml = await fetchPomXml({ urlPrefix, group, name, version }); const licenseRegex = /[\s\n]*|[|@]/.test(l)) { @@ -3354,9 +3354,9 @@ export async function parseReqFile(reqData, fetchDepsInfo) { properties: [ { name: "cdx:pypi:versionSpecifiers", - value: versionSpecifiers - } - ] + value: versionSpecifiers, + }, + ], }); } } @@ -3377,9 +3377,9 @@ export async function parseReqFile(reqData, fetchDepsInfo) { properties: [ { name: "cdx:pypi:versionSpecifiers", - value: versionSpecifiers - } - ] + value: versionSpecifiers, + }, + ], }); } } else if (!l.includes(" ")) { @@ -3393,9 +3393,9 @@ export async function parseReqFile(reqData, fetchDepsInfo) { properties: [ { name: "cdx:pypi:versionSpecifiers", - value: versionSpecifiers - } - ] + value: versionSpecifiers, + }, + ], }); } } @@ -3417,7 +3417,7 @@ export async function getPyModules(src, epkgList, options) { const dependenciesList = []; let modList = []; const slicesFile = resolve( - options.depsSlicesFile || options.usagesSlicesFile + options.depsSlicesFile || options.usagesSlicesFile, ); // Issue: 615 fix. Reuse existing slices file if (slicesFile && existsSync(slicesFile)) { @@ -3435,7 +3435,7 @@ export async function getPyModules(src, epkgList, options) { (x) => !pyDefaultModules.has(x.name.toLowerCase()) && !x.name.startsWith("_") && - !x.name.startsWith(".") + !x.name.startsWith("."), ); let pkgList = modList.map((p) => { const apkg = { @@ -3448,20 +3448,20 @@ export async function getPyModules(src, epkgList, options) { properties: [ { name: "cdx:pypi:versionSpecifiers", - value: p.versionSpecifiers - } - ] + value: p.versionSpecifiers, + }, + ], }; if (p.importedSymbols) { apkg.properties.push({ name: "ImportedModules", - value: p.importedSymbols + value: p.importedSymbols, }); } return apkg; }); pkgList = pkgList.filter( - (obj, index) => pkgList.findIndex((i) => i.name === obj.name) === index + (obj, index) => pkgList.findIndex((i) => i.name === obj.name) === index, ); if (epkgList && epkgList.length) { const pkgMaps = epkgList.map((p) => p.name); @@ -3478,7 +3478,7 @@ export async function getPyModules(src, epkgList, options) { if (p.version) { dependenciesList.push({ ref: `pkg:pypi/${p.name.replace(/_/g, "-")}@${p.version}`.toLowerCase(), - dependsOn: [] + dependsOn: [], }); } } @@ -3563,7 +3563,7 @@ export function toGitHubApiUrl(repoUrl, repoMetadata) { } else { return repoMetadataToGitHubApiUrl({ group: parts[3], - name: parts[4] + name: parts[4], }); } } @@ -3587,18 +3587,18 @@ export async function getRepoLicense(repoUrl, repoMetadata) { try { const res = await cdxgenAgent.get(licenseUrl, { responseType: "json", - headers: headers + headers: headers, }); if (res && res.body) { const license = res.body.license; let licenseId = license.spdx_id; const licObj = { - url: res.body.html_url + url: res.body.html_url, }; if (license.spdx_id === "NOASSERTION") { if (res.body.content) { const content = Buffer.from(res.body.content, "base64").toString( - "ascii" + "ascii", ); licenseId = guessLicenseId(content); } @@ -3622,7 +3622,7 @@ export async function getRepoLicense(repoUrl, repoMetadata) { console.log( "Rate limit exceeded for REST API of github.com. " + "Please ensure GITHUB_TOKEN is set as environment variable. " + - "See: https://docs.github.com/en/rest/overview/rate-limits-for-the-rest-api" + "See: https://docs.github.com/en/rest/overview/rate-limits-for-the-rest-api", ); get_repo_license_errors++; } else if (!err.message.includes("404")) { @@ -3696,12 +3696,12 @@ export async function getGoPkgComponent(group, name, version, hash) { if (FETCH_LICENSE) { if (DEBUG_MODE) { console.log( - `About to fetch go package license information for ${group}:${name}` + `About to fetch go package license information for ${group}:${name}`, ); } license = await getGoPkgLicense({ group: group, - name: name + name: name, }); } // By replacing %2F with /, we make the purl compatible with the spec. @@ -3715,7 +3715,7 @@ export async function getGoPkgComponent(group, name, version, hash) { _integrity: hash, license: license, purl: purlString, - "bom-ref": decodeURIComponent(purlString) + "bom-ref": decodeURIComponent(purlString), }; return pkg; } @@ -3769,7 +3769,7 @@ export async function parseGoModData(goModData, gosumMap) { "", tmpA[0], version, - gosumHash + gosumHash, ); pkgComponentsList.push(component); } else { @@ -3785,7 +3785,7 @@ export async function parseGoModData(goModData, gosumMap) { "", tmpA[2], version, - gosumHash + gosumHash, ); pkgComponentsList.push(component); } @@ -3808,7 +3808,7 @@ export async function parseGoListDep(rawOutput, gosumMap) { const keys_cache = {}; const pkgs = rawOutput.split("\n"); for (const l of pkgs) { - const verArr = l.trim().replace(new RegExp("[\"']", "g"), "").split(" "); + const verArr = l.trim().replace(/[\"']/g, "").split(" "); if (verArr && verArr.length >= 5) { const key = verArr[0] + "-" + verArr[1]; @@ -3821,7 +3821,7 @@ export async function parseGoListDep(rawOutput, gosumMap) { "", verArr[0], version, - gosumHash + gosumHash, ); if (verArr[2] === "false") { component.scope = "required"; @@ -3831,12 +3831,12 @@ export async function parseGoListDep(rawOutput, gosumMap) { component.properties = [ { name: "SrcGoMod", - value: verArr[3] || "" + value: verArr[3] || "", }, { name: "ModuleGoVersion", - value: verArr[4] || "" - } + value: verArr[4] || "", + }, ]; if (verArr.length > 5 && verArr[5] === "true") { parentComponent = component; @@ -3849,7 +3849,7 @@ export async function parseGoListDep(rawOutput, gosumMap) { } return { parentComponent, - pkgList: deps + pkgList: deps, }; } @@ -3862,17 +3862,17 @@ function _addGoComponentEvidence(component, goModFile) { { technique: "manifest-analysis", confidence: 1, - value: goModFile - } - ] - } + value: goModFile, + }, + ], + }, }; if (!component.properties) { component.properties = []; } component.properties.push({ name: "SrcFile", - value: goModFile + value: goModFile, }); return component; } @@ -3892,7 +3892,7 @@ export async function parseGoModGraph( goModFile, gosumMap, epkgList = [], - parentComponent = {} + parentComponent = {}, ) { const pkgList = []; const dependenciesList = []; @@ -3937,7 +3937,7 @@ export async function parseGoModGraph( sourcePurl.name }`, sourcePurl.version, - gosumMap[tmpA[0]] + gosumMap[tmpA[0]], ); pkgList.push(_addGoComponentEvidence(component, goModFile)); addedPkgs[tmpA[0]] = true; @@ -3949,7 +3949,7 @@ export async function parseGoModGraph( dependsPurl.name }`, dependsPurl.version, - gosumMap[tmpA[1]] + gosumMap[tmpA[1]], ); pkgList.push(component); addedPkgs[tmpA[1]] = true; @@ -3970,7 +3970,7 @@ export async function parseGoModGraph( for (const adep of Object.keys(depsMap).sort()) { dependenciesList.push({ ref: adep, - dependsOn: Array.from(depsMap[adep]).sort() + dependsOn: Array.from(depsMap[adep]).sort(), }); } return { pkgList, dependenciesList }; @@ -4018,12 +4018,12 @@ export async function parseGosumData(gosumData) { if (FETCH_LICENSE) { if (DEBUG_MODE) { console.log( - `About to fetch go package license information for ${name}` + `About to fetch go package license information for ${name}`, ); } license = await getGoPkgLicense({ group: "", - name: name + name: name, }); } pkgList.push({ @@ -4031,7 +4031,7 @@ export async function parseGosumData(gosumData) { name: name, version: version, _integrity: hash, - license: license + license: license, }); } } @@ -4070,7 +4070,7 @@ export async function parseGopkgData(gopkgData) { if (FETCH_LICENSE) { pkg.license = await getGoPkgLicense({ group: pkg.group, - name: pkg.name + name: pkg.name, }); } break; @@ -4122,7 +4122,7 @@ export const RUBY_PLATFORM_PREFIXES = [ "-ruby", "-universal", "-java", - "-truffle" + "-truffle", ]; /** @@ -4152,11 +4152,11 @@ export async function getRubyGemsMetadata(pkgList) { process.env.RUBYGEMS_V1_URL || "https://rubygems.org/api/v1/gems/"; const rdepList = []; const apiOptions = { - responseType: "json" + responseType: "json", }; if (process.env.GEM_HOST_API_KEY) { apiOptions.headers = { - Authorization: process.env.GEM_HOST_API_KEY + Authorization: process.env.GEM_HOST_API_KEY, }; } for (const p of pkgList) { @@ -4166,7 +4166,7 @@ export async function getRubyGemsMetadata(pkgList) { } const fullUrl = p.version ? `${RUBYGEMS_V2_URL}${p.name}/versions/${simplifyRubyVersion( - p.version + p.version, )}.json` : `${RUBYGEMS_V1_URL}${p.name}.json`; const res = await cdxgenAgent.get(fullUrl, apiOptions); @@ -4204,31 +4204,31 @@ export async function getRubyGemsMetadata(pkgList) { if (!platformPresent && body.platform && body.platform !== "ruby") { p.properties.push({ name: "cdx:gem:platform", - value: body.platform + value: body.platform, }); } if (body.ruby_version) { p.properties.push({ name: "cdx:gem:rubyVersionSpecifiers", - value: body.ruby_version + value: body.ruby_version, }); } if (body.gem_uri) { p.properties.push({ name: "cdx:gem:gemUri", - value: body.gem_uri + value: body.gem_uri, }); } if (body.yanked) { p.properties.push({ name: "cdx:gem:yanked", - value: "" + body.yanked + value: "" + body.yanked, }); } if (body.prerelease) { p.properties.push({ name: "cdx:gem:prerelease", - value: "" + body.prerelease + value: "" + body.prerelease, }); } // Use the latest version if none specified @@ -4445,7 +4445,7 @@ export async function parseGemfileLockData(gemLockData, lockFile) { name, version, null, - null + null, ).toString(); const bomRef = decodeURIComponent(purlString); if (level === 1) { @@ -4455,37 +4455,37 @@ export async function parseGemfileLockData(gemLockData, lockFile) { const properties = [ { name: "SrcFile", - value: lockFile - } + value: lockFile, + }, ]; if (lastRemote) { properties.push({ name: "cdx:gem:remote", - value: lastRemote + value: lastRemote, }); } if (lastRevision) { properties.push({ name: "cdx:gem:remoteRevision", - value: lastRevision + value: lastRevision, }); } if (lastBranch) { properties.push({ name: "cdx:gem:remoteBranch", - value: lastBranch + value: lastBranch, }); } if (lastTag) { properties.push({ name: "cdx:gem:remoteTag", - value: lastTag + value: lastTag, }); } if (lastParentPlatform) { properties.push({ name: "cdx:gem:platform", - value: lastParentPlatform + value: lastParentPlatform, }); } const apkg = { @@ -4502,11 +4502,11 @@ export async function parseGemfileLockData(gemLockData, lockFile) { { technique: "manifest-analysis", confidence: 0.8, - value: lockFile - } - ] - } - } + value: lockFile, + }, + ], + }, + }, }; if (lastParent && lastParent !== bomRef) { if (!dependenciesMap[lastParent]) { @@ -4527,7 +4527,7 @@ export async function parseGemfileLockData(gemLockData, lockFile) { for (const k of Object.keys(dependenciesMap)) { dependenciesList.push({ ref: k, - dependsOn: Array.from(dependenciesMap[k]) + dependsOn: Array.from(dependenciesMap[k]), }); } if (FETCH_LICENSE) { @@ -4551,7 +4551,7 @@ export async function getCratesMetadata(pkgList) { console.log(`Querying crates.io for ${p.name}`); } const res = await cdxgenAgent.get(CRATES_URL + p.name, { - responseType: "json" + responseType: "json", }); const body = res.body.crate; p.description = body.description; @@ -4598,8 +4598,8 @@ export async function getDartMetadata(pkgList) { const res = await cdxgenAgent.get(PUB_PACKAGES_URL + p.name, { responseType: RESPONSE_TYPE, headers: { - Accept: HEADER_ACCEPT - } + Accept: HEADER_ACCEPT, + }, }); if (res && res.body) { const version = res.body.versions.find((v) => p.version === v.version); @@ -4617,9 +4617,9 @@ export async function getDartMetadata(pkgList) { { responseType: RESPONSE_TYPE, headers: { - Accept: HEADER_ACCEPT - } - } + Accept: HEADER_ACCEPT, + }, + }, ); if (res2 && res2.body) { const tags = res2.body.tags; @@ -4628,7 +4628,7 @@ export async function getDartMetadata(pkgList) { p.license = spdxLicenses.find( (spdxLicense) => spdxLicense.toLowerCase() === - license.replace(PUB_LICENSE_REGEX, "").toLowerCase() + license.replace(PUB_LICENSE_REGEX, "").toLowerCase(), ); } } @@ -4673,8 +4673,8 @@ export async function parseCargoTomlData(cargoTomlFile, simple = false) { pkg.properties = [ { name: "SrcFile", - value: cargoTomlFile - } + value: cargoTomlFile, + }, ]; pkg.evidence = { identity: { @@ -4684,10 +4684,10 @@ export async function parseCargoTomlData(cargoTomlFile, simple = false) { { technique: "manifest-analysis", confidence: 0.5, - value: cargoTomlFile - } - ] - } + value: cargoTomlFile, + }, + ], + }, }; } const ppurl = new PackageURL( @@ -4696,7 +4696,7 @@ export async function parseCargoTomlData(cargoTomlFile, simple = false) { pkg.name, pkg.version, null, - null + null, ).toString(); pkg.purl = ppurl; pkg["bom-ref"] = decodeURIComponent(ppurl); @@ -4742,7 +4742,7 @@ export async function parseCargoTomlData(cargoTomlFile, simple = false) { // component unreliable. if (l.startsWith("[workspace]") && DEBUG_MODE) { console.log( - `Found [workspace] section in ${cargoTomlFile}. Workspaces are currently not fully supported. Verify that the parent component is correct.` + `Found [workspace] section in ${cargoTomlFile}. Workspaces are currently not fully supported. Verify that the parent component is correct.`, ); } @@ -4809,8 +4809,8 @@ export async function parseCargoTomlData(cargoTomlFile, simple = false) { version = tmpA[1]; } if (name && version) { - name = name.replace(new RegExp("[\"']", "g"), ""); - version = version.replace(new RegExp("[\"']", "g"), ""); + name = name.replace(/[\"']/g, ""); + version = version.replace(/[\"']/g, ""); const apkg = { name, version }; addPackageToList(pkgList, apkg, { packageMode, simple }); } @@ -4846,7 +4846,7 @@ export async function parseCargoData(cargoLockFile, simple = false) { newPackage.name, newPackage.version, null, - null + null, ).toString(); const component = { type: "library", @@ -4854,15 +4854,15 @@ export async function parseCargoData(cargoLockFile, simple = false) { "bom-ref": purl, purl: purl, name: newPackage.name, - version: newPackage.version + version: newPackage.version, }; if (newPackage._integrity) { component.hashes = [ { alg: "SHA-384", - content: pkg._integrity - } + content: pkg._integrity, + }, ]; } @@ -4882,18 +4882,18 @@ export async function parseCargoData(cargoLockFile, simple = false) { { technique: "manifest-analysis", confidence: 0.6, - value: cargoLockFile - } - ] - } + value: cargoLockFile, + }, + ], + }, }; // Evidence information for CyclondDX specification version < 1.5. component.properties = [ { name: "SrcFile", - value: cargoLockFile - } + value: cargoLockFile, + }, ]; } packageList.push(component); @@ -4977,7 +4977,7 @@ export function parseCargoDependencyData(cargoLockData) { const purlFromPackageInfo = (pkg) => decodeURIComponent( - new PackageURL("cargo", "", pkg.name, pkg.version, null, null).toString() + new PackageURL("cargo", "", pkg.name, pkg.version, null, null).toString(), ); // The dependency list may appear as a single-line list: @@ -5017,7 +5017,7 @@ export function parseCargoDependencyData(cargoLockData) { const [name, version] = dependencyName.split(" "); return { name, - version + version, }; }) ); @@ -5058,7 +5058,7 @@ export function parseCargoDependencyData(cargoLockData) { if (!pkg.dependencies) { return { ref: purlFromPackageInfo(pkg), - dependsOn: [] + dependsOn: [], }; } return { @@ -5080,7 +5080,7 @@ export function parseCargoDependencyData(cargoLockData) { // and continue. if (DEBUG_MODE) { console.warn( - `The package "${dependency.name}" appears as a dependency to "${pkg.name}" but is not itself listed in the Cargo.lock-file. The Cargo.lock-file is invalid! The produced SBOM will not list ${dependency.name} as a dependency.` + `The package "${dependency.name}" appears as a dependency to "${pkg.name}" but is not itself listed in the Cargo.lock-file. The Cargo.lock-file is invalid! The produced SBOM will not list ${dependency.name} as a dependency.`, ); } return undefined; @@ -5090,7 +5090,7 @@ export function parseCargoDependencyData(cargoLockData) { // version known from the package table. return purlFromPackageInfo(lockfileInventory[dependency.name]); }) - .filter((pkg) => pkg) // Filter undefined entries, which should only happen when packages listed as a dependency are not defined as packages. + .filter((pkg) => pkg), // Filter undefined entries, which should only happen when packages listed as a dependency are not defined as packages. }; }); } @@ -5113,7 +5113,7 @@ export async function parseCargoAuditableData(cargoData) { pkgList.push({ group, name, - version + version, }); } }); @@ -5139,7 +5139,7 @@ export async function parsePubLockData(pubLockData) { } if (l.startsWith(" ") && !l.startsWith(" ")) { pkg = { - name: l.trim().replace(":", "") + name: l.trim().replace(":", ""), }; } if (l.startsWith(" ")) { @@ -5179,7 +5179,7 @@ export function parsePubYamlData(pubYamlData) { name: yamlObj.name, description: yamlObj.description, version: yamlObj.version, - homepage: { url: yamlObj.homepage } + homepage: { url: yamlObj.homepage }, }); return pkgList; } @@ -5199,7 +5199,7 @@ export function parseHelmYamlData(helmData) { const pkg = { name: yamlObj.name, description: yamlObj.description || "", - version: yamlObj.version + version: yamlObj.version, }; if (yamlObj.home) { pkg["homepage"] = { url: yamlObj.home }; @@ -5210,7 +5210,7 @@ export function parseHelmYamlData(helmData) { for (const hd of yamlObj.dependencies) { const pkg = { name: hd.name, - version: hd.version // This could have * so not precise + version: hd.version, // This could have * so not precise }; if (hd.repository) { pkg["repository"] = { url: hd.repository }; @@ -5226,7 +5226,7 @@ export function parseHelmYamlData(helmData) { const pkg = { name: hd.name, version: hd.version, - description: hd.description || "" + description: hd.description || "", }; if (hd.sources && Array.isArray(hd.sources) && hd.sources.length) { pkg["repository"] = { url: hd.sources[0] }; @@ -5332,14 +5332,14 @@ export function parseContainerFile(fileContents) { if (buildStageNames.includes(imageStatement)) { if (DEBUG_MODE) { console.log( - `Skipping image ${imageStatement} which uses previously seen build stage name.` + `Skipping image ${imageStatement} which uses previously seen build stage name.`, ); } continue; } imgList.push({ - image: imageStatement + image: imageStatement, }); if (buildStageName) { @@ -5367,7 +5367,7 @@ export function parseBitbucketPipelinesFile(fileContents) { const imageName = line.split("name:").pop().trim(); imgList.push({ - image: imageName + image: imageName, }); privateImageBlockFound = false; @@ -5391,7 +5391,7 @@ export function parseBitbucketPipelinesFile(fileContents) { */ imgList.push({ - image: imageName + image: imageName, }); } } @@ -5405,7 +5405,7 @@ export function parseBitbucketPipelinesFile(fileContents) { } imgList.push({ - image: pipeName + image: pipeName, }); } } @@ -5436,23 +5436,23 @@ export function parseContainerSpecData(dcData) { if (yamlObj.services) { for (const serv of Object.keys(yamlObj.services)) { pkgList.push({ - service: serv + service: serv, }); const aservice = yamlObj.services[serv]; // Track locally built images if (aservice.build) { if (Object.keys(aservice.build).length && aservice.build.dockerfile) { pkgList.push({ - ociSpec: aservice.build.dockerfile + ociSpec: aservice.build.dockerfile, }); } else { if (aservice.build === "." || aservice.build === "./") { pkgList.push({ - ociSpec: "Dockerfile" + ociSpec: "Dockerfile", }); } else { pkgList.push({ - ociSpec: aservice.build + ociSpec: aservice.build, }); } } @@ -5465,7 +5465,7 @@ export function parseContainerSpecData(dcData) { .replace("}", ""); } pkgList.push({ - image: imgFullName + image: imgFullName, }); imgList.push(imgFullName); } @@ -5500,7 +5500,7 @@ function convertProcessing(processing_list) { for (const p of processing_list) { data_list.push({ classification: p.sourceId || p.sinkId, - flow: identifyFlow(p) + flow: identifyFlow(p), }); } return data_list; @@ -5517,42 +5517,42 @@ export function parsePrivadoFile(f) { "x-trust-boundary": false, properties: [], data: [], - endpoints: [] + endpoints: [], }; if (jsonData.repoName) { aservice.name = jsonData.repoName; aservice.properties = [ { name: "SrcFile", - value: f - } + value: f, + }, ]; // Capture git metadata info if (jsonData.gitMetadata) { aservice.version = jsonData.gitMetadata.commitId || ""; aservice.properties.push({ name: "privadoCoreVersion", - value: jsonData.privadoCoreVersion || "" + value: jsonData.privadoCoreVersion || "", }); aservice.properties.push({ name: "privadoCLIVersion", - value: jsonData.privadoCLIVersion || "" + value: jsonData.privadoCLIVersion || "", }); aservice.properties.push({ name: "localScanPath", - value: jsonData.localScanPath || "" + value: jsonData.localScanPath || "", }); } // Capture processing if (jsonData.processing && jsonData.processing.length) { aservice.data = aservice.data.concat( - convertProcessing(jsonData.processing) + convertProcessing(jsonData.processing), ); } // Capture sink processing if (jsonData.sinkProcessing && jsonData.sinkProcessing.length) { aservice.data = aservice.data.concat( - convertProcessing(jsonData.sinkProcessing) + convertProcessing(jsonData.sinkProcessing), ); } // Find endpoints @@ -5574,7 +5574,7 @@ export function parsePrivadoFile(f) { for (const v of jsonData.violations) { aservice.properties.push({ name: "privado_violations", - value: v.policyId + value: v.policyId, }); } } @@ -5616,7 +5616,7 @@ export function parseOpenapiSpecData(oaData) { "bom-ref": `urn:service:${name}:${version}`, name, description: oaData.description || "", - version + version, }; let serverName = []; if (oaData.servers && oaData.servers.length && oaData.servers[0].url) { @@ -5665,7 +5665,7 @@ export function parseCabalData(cabalData) { if (name && version) { pkgList.push({ name, - version + version, }); } } @@ -5691,7 +5691,7 @@ export function parseMixLockData(mixData) { if (name && version) { pkgList.push({ name, - version + version, }); } } @@ -5731,7 +5731,7 @@ export function parseGitHubWorkflowData(ghwData) { pkgList.push({ group, name, - version + version, }); } } @@ -5769,7 +5769,7 @@ export function parseCloudBuildData(cbwData) { pkgList.push({ group, name, - version + version, }); } } @@ -5805,13 +5805,13 @@ export function parseConanLockData(conanLockData) { tmpA[0], version, null, - null + null, ).toString(); pkgList.push({ name: tmpA[0], version, purl: purlString, - "bom-ref": decodeURIComponent(purlString) + "bom-ref": decodeURIComponent(purlString), }); } } @@ -5859,14 +5859,14 @@ export function parseConanData(conanData) { tmpA[0], version, qualifiers, - null + null, ).toString(); pkgList.push({ name: tmpA[0], version, purl: purlString, "bom-ref": decodeURIComponent(purlString), - scope + scope, }); } } @@ -5982,7 +5982,7 @@ export function parseNuspecData(nupkgFile, nuspecData) { spaces: 4, textKey: "_", attributesKey: "$", - commentKey: "value" + commentKey: "value", }).package; } catch (e) { // If we are parsing with invalid encoding, unicode replacement character is used @@ -5990,7 +5990,7 @@ export function parseNuspecData(nupkgFile, nuspecData) { console.log(`Unable to parse ${nupkgFile} in utf-8 mode`); } else { console.log( - "Unable to parse this package. Tried utf-8 and ucs2 encoding." + "Unable to parse this package. Tried utf-8 and ucs2 encoding.", ); } } @@ -6004,8 +6004,8 @@ export function parseNuspecData(nupkgFile, nuspecData) { pkg.properties = [ { name: "SrcFile", - value: nupkgFile - } + value: nupkgFile, + }, ]; pkg.evidence = { identity: { @@ -6015,10 +6015,10 @@ export function parseNuspecData(nupkgFile, nuspecData) { { technique: "binary-analysis", confidence: 1, - value: nupkgFile - } - ] - } + value: nupkgFile, + }, + ], + }, }; pkgList.push(pkg); return pkgList; @@ -6035,7 +6035,7 @@ export function parseCsPkgData(pkgData) { spaces: 4, textKey: "_", attributesKey: "$", - commentKey: "value" + commentKey: "value", }).packages; if (!packages || packages.length == 0) { return pkgList; @@ -6062,7 +6062,7 @@ export function parseCsProjData(csProjData, projFile) { spaces: 4, textKey: "_", attributesKey: "$", - commentKey: "value" + commentKey: "value", }).Project; if (!projects || projects.length == 0) { return pkgList; @@ -6084,8 +6084,8 @@ export function parseCsProjData(csProjData, projFile) { pkg.properties = [ { name: "SrcFile", - value: projFile - } + value: projFile, + }, ]; pkg.evidence = { identity: { @@ -6095,10 +6095,10 @@ export function parseCsProjData(csProjData, projFile) { { technique: "manifest-analysis", confidence: 0.7, - value: projFile - } - ] - } + value: projFile, + }, + ], + }, }; } pkgList.push(pkg); @@ -6119,8 +6119,8 @@ export function parseCsProjData(csProjData, projFile) { pkg.properties = [ { name: "SrcFile", - value: projFile - } + value: projFile, + }, ]; pkg.evidence = { identity: { @@ -6130,10 +6130,10 @@ export function parseCsProjData(csProjData, projFile) { { technique: "manifest-analysis", confidence: 0.7, - value: projFile - } - ] - } + value: projFile, + }, + ], + }, }; } pkgList.push(pkg); @@ -6154,7 +6154,7 @@ export function parseCsProjAssetsData(csProjData, assetsJsonFile) { return { name: match[1], operator: match[2], - version: match[3] + version: match[3], }; } else { return null; @@ -6178,7 +6178,7 @@ export function parseCsProjAssetsData(csProjData, assetsJsonFile) { csProjData.project.restore.projectName, csProjData.project.version || "latest", null, - null + null, ).toString(); rootPkg = { group: "", @@ -6186,7 +6186,7 @@ export function parseCsProjAssetsData(csProjData, assetsJsonFile) { version: csProjData.project.version || "latest", type: "application", purl: purlString, - "bom-ref": decodeURIComponent(purlString) + "bom-ref": decodeURIComponent(purlString), }; pkgList.push(rootPkg); const rootPkgDeps = new Set(); @@ -6215,8 +6215,8 @@ export function parseCsProjAssetsData(csProjData, assetsJsonFile) { nameOperatorVersion.name, nameOperatorVersion.version, null, - null - ).toString() + null, + ).toString(), ); rootPkgDeps.add(dpurl); } @@ -6224,7 +6224,7 @@ export function parseCsProjAssetsData(csProjData, assetsJsonFile) { dependenciesList.push({ ref: purlString, - dependsOn: Array.from(rootPkgDeps) + dependsOn: Array.from(rootPkgDeps), }); } @@ -6243,7 +6243,7 @@ export function parseCsProjAssetsData(csProjData, assetsJsonFile) { name, version, null, - null + null, ).toString(); const pkg = { group: "", @@ -6252,7 +6252,7 @@ export function parseCsProjAssetsData(csProjData, assetsJsonFile) { description: "", type: csProjData.targets[framework][rootDep].type, purl: dpurl, - "bom-ref": decodeURIComponent(dpurl) + "bom-ref": decodeURIComponent(dpurl), }; if (lib[rootDep]) { if (lib[rootDep].sha512) { @@ -6274,12 +6274,12 @@ export function parseCsProjAssetsData(csProjData, assetsJsonFile) { pkg.properties = [ { name: "SrcFile", - value: assetsJsonFile + value: assetsJsonFile, }, { name: "PackageFiles", - value: Array.from(dllFiles).join(", ") - } + value: Array.from(dllFiles).join(", "), + }, ]; } } @@ -6292,10 +6292,10 @@ export function parseCsProjAssetsData(csProjData, assetsJsonFile) { { technique: "manifest-analysis", confidence: 1, - value: assetsJsonFile - } - ] - } + value: assetsJsonFile, + }, + ], + }, }; } pkgList.push(pkg); @@ -6309,7 +6309,7 @@ export function parseCsProjAssetsData(csProjData, assetsJsonFile) { const depList = new Set(); const [name, version] = rootDep.split("/"); const dpurl = decodeURIComponent( - new PackageURL("nuget", "", name, version, null, null).toString() + new PackageURL("nuget", "", name, version, null, null).toString(), ); const dependencies = csProjData.targets[framework][rootDep].dependencies; @@ -6326,7 +6326,7 @@ export function parseCsProjAssetsData(csProjData, assetsJsonFile) { p, dversion, null, - null + null, ).toString(); depList.add(ipurl); if (!pkgAddedMap[p]) { @@ -6336,7 +6336,7 @@ export function parseCsProjAssetsData(csProjData, assetsJsonFile) { version: dversion, description: "", purl: ipurl, - "bom-ref": decodeURIComponent(ipurl) + "bom-ref": decodeURIComponent(ipurl), }); pkgAddedMap[p] = true; } @@ -6344,14 +6344,14 @@ export function parseCsProjAssetsData(csProjData, assetsJsonFile) { } dependenciesList.push({ ref: dpurl, - dependsOn: Array.from(depList) + dependsOn: Array.from(depList), }); } } } return { pkgList, - dependenciesList + dependenciesList, }; } @@ -6364,7 +6364,7 @@ export function parseCsPkgLockData(csLockData, pkgLockFile) { return { pkgList, dependenciesList, - rootList + rootList, }; } const assetData = JSON.parse(csLockData); @@ -6372,7 +6372,7 @@ export function parseCsPkgLockData(csLockData, pkgLockFile) { return { pkgList, dependenciesList, - rootList + rootList, }; } for (const aversion of Object.keys(assetData.dependencies)) { @@ -6384,7 +6384,7 @@ export function parseCsPkgLockData(csLockData, pkgLockFile) { alib, libData.resolved, null, - null + null, ).toString(); pkg = { group: "", @@ -6398,8 +6398,8 @@ export function parseCsPkgLockData(csLockData, pkgLockFile) { properties: [ { name: "SrcFile", - value: pkgLockFile - } + value: pkgLockFile, + }, ], evidence: { identity: { @@ -6409,11 +6409,11 @@ export function parseCsPkgLockData(csLockData, pkgLockFile) { { technique: "manifest-analysis", confidence: 1, - value: pkgLockFile - } - ] - } - } + value: pkgLockFile, + }, + ], + }, + }, }; pkgList.push(pkg); if (["Direct", "Project"].includes(libData.type)) { @@ -6454,7 +6454,7 @@ export function parseCsPkgLockData(csLockData, pkgLockFile) { adep = adep.toLowerCase(); } else if (DEBUG_MODE) { console.warn( - `Unable to find the resolved version for ${adep} ${aversion}. Using ${adepResolvedVersion} which may be incorrect.` + `Unable to find the resolved version for ${adep} ${aversion}. Using ${adepResolvedVersion} which may be incorrect.`, ); } const adpurl = new PackageURL( @@ -6463,21 +6463,21 @@ export function parseCsPkgLockData(csLockData, pkgLockFile) { adep, adepResolvedVersion, null, - null + null, ).toString(); dependsOn.push(decodeURIComponent(adpurl)); } } dependenciesList.push({ ref: decodeURIComponent(purl), - dependsOn + dependsOn, }); } } return { pkgList, dependenciesList, - rootList + rootList, }; } @@ -6515,7 +6515,7 @@ export function parsePaketLockData(paketLockData, pkgLockFile) { name, version, null, - null + null, ).toString(); pkg = { group: "", @@ -6526,8 +6526,8 @@ export function parsePaketLockData(paketLockData, pkgLockFile) { properties: [ { name: "SrcFile", - value: pkgLockFile - } + value: pkgLockFile, + }, ], evidence: { identity: { @@ -6537,11 +6537,11 @@ export function parsePaketLockData(paketLockData, pkgLockFile) { { technique: "manifest-analysis", confidence: 1, - value: pkgLockFile - } - ] - } - } + value: pkgLockFile, + }, + ], + }, + }, }; pkgList.push(pkg); dependenciesMap[purl] = new Set(); @@ -6565,7 +6565,7 @@ export function parsePaketLockData(paketLockData, pkgLockFile) { const pkgName = match[1]; const pkgVersion = match[2]; purl = decodeURIComponent( - new PackageURL("nuget", "", pkgName, pkgVersion, null, null).toString() + new PackageURL("nuget", "", pkgName, pkgVersion, null, null).toString(), ); return; } @@ -6575,7 +6575,7 @@ export function parsePaketLockData(paketLockData, pkgLockFile) { const depName = match[1]; const depVersion = pkgNameVersionMap[depName + group]; const dpurl = decodeURIComponent( - new PackageURL("nuget", "", depName, depVersion, null, null).toString() + new PackageURL("nuget", "", depName, depVersion, null, null).toString(), ); dependenciesMap[purl].add(dpurl); } @@ -6584,13 +6584,13 @@ export function parsePaketLockData(paketLockData, pkgLockFile) { for (const ref in dependenciesMap) { dependenciesList.push({ ref: ref, - dependsOn: Array.from(dependenciesMap[ref]) + dependsOn: Array.from(dependenciesMap[ref]), }); } return { pkgList, - dependenciesList + dependenciesList, }; } @@ -6648,7 +6648,7 @@ export function parseComposerLock(pkgLockFile, rootRequires) { name, pkg.version, null, - null + null, ).toString(); const apkg = { group: group, @@ -6663,8 +6663,8 @@ export function parseComposerLock(pkgLockFile, rootRequires) { properties: [ { name: "SrcFile", - value: pkgLockFile - } + value: pkgLockFile, + }, ], evidence: { identity: { @@ -6674,11 +6674,11 @@ export function parseComposerLock(pkgLockFile, rootRequires) { { technique: "manifest-analysis", confidence: 1, - value: pkgLockFile - } - ] - } - } + value: pkgLockFile, + }, + ], + }, + }, }; if (pkg.autoload && Object.keys(pkg.autoload).length) { const namespaces = []; @@ -6692,7 +6692,7 @@ export function parseComposerLock(pkgLockFile, rootRequires) { if (namespaces.length) { apkg.properties.push({ name: "Namespaces", - value: namespaces.join(", ") + value: namespaces.join(", "), }); } } @@ -6728,13 +6728,13 @@ export function parseComposerLock(pkgLockFile, rootRequires) { for (const ref in dependenciesMap) { dependenciesList.push({ ref: ref, - dependsOn: Array.from(dependenciesMap[ref]) + dependsOn: Array.from(dependenciesMap[ref]), }); } return { pkgList, dependenciesList, - rootList + rootList, }; } @@ -6793,7 +6793,7 @@ export function parseSbtTree(sbtTreeFile) { name, version, { type: "jar" }, - null + null, ).toString(); // Filter duplicates if (!keys_cache[purlString]) { @@ -6811,11 +6811,11 @@ export function parseSbtTree(sbtTreeFile) { { technique: "manifest-analysis", confidence: 1, - value: sbtTreeFile - } - ] - } - } + value: sbtTreeFile, + }, + ], + }, + }, }; if (isLibrary) { adep["type"] = "library"; @@ -6861,7 +6861,7 @@ export function parseSbtTree(sbtTreeFile) { for (const lk of Object.keys(level_trees)) { dependenciesList.push({ ref: lk, - dependsOn: level_trees[lk] + dependsOn: level_trees[lk], }); } return { pkgList, dependenciesList }; @@ -6876,7 +6876,7 @@ export function parseSbtLock(pkgLockFile) { const pkgList = []; if (existsSync(pkgLockFile)) { const lockData = JSON.parse( - readFileSync(pkgLockFile, { encoding: "utf-8" }) + readFileSync(pkgLockFile, { encoding: "utf-8" }), ); if (lockData && lockData.dependencies) { for (const pkg of lockData.dependencies) { @@ -6902,8 +6902,8 @@ export function parseSbtLock(pkgLockFile) { properties: [ { name: "SrcFile", - value: pkgLockFile - } + value: pkgLockFile, + }, ], evidence: { identity: { @@ -6913,11 +6913,11 @@ export function parseSbtLock(pkgLockFile) { { technique: "manifest-analysis", confidence: 1, - value: pkgLockFile - } - ] - } - } + value: pkgLockFile, + }, + ], + }, + }, }); } } @@ -6950,7 +6950,7 @@ function convertStdoutToList(result) { */ export function executeDpkgList(pkgName) { const result = spawnSync("dpkg", ["--listfiles", "--no-pager", pkgName], { - encoding: "utf-8" + encoding: "utf-8", }); return convertStdoutToList(result); } @@ -6963,12 +6963,12 @@ export function executeDpkgList(pkgName) { */ export function executeRpmList(pkgName) { let result = spawnSync("dnf", ["repoquery", "-l", pkgName], { - encoding: "utf-8" + encoding: "utf-8", }); // Fallback to rpm if (result.status !== 0 || result.error) { result = spawnSync("rpm", ["-ql", pkgName], { - encoding: "utf-8" + encoding: "utf-8", }); } return convertStdoutToList(result); @@ -6982,7 +6982,7 @@ export function executeRpmList(pkgName) { */ export function executeApkList(pkgName) { const result = spawnSync("apk", ["-L", "info", pkgName], { - encoding: "utf-8" + encoding: "utf-8", }); return convertStdoutToList(result); } @@ -6995,7 +6995,7 @@ export function executeApkList(pkgName) { */ export function executeAlpmList(pkgName) { const result = spawnSync("pacman", ["-Ql", pkgName], { - encoding: "utf-8" + encoding: "utf-8", }); return convertStdoutToList(result); } @@ -7008,7 +7008,7 @@ export function executeAlpmList(pkgName) { */ export function executeEqueryList(pkgName) { const result = spawnSync("equery", ["files", pkgName], { - encoding: "utf-8" + encoding: "utf-8", }); return convertStdoutToList(result); } @@ -7025,7 +7025,7 @@ export function convertOSQueryResults( queryCategory, queryObj, results, - enhance = false + enhance = false, ) { const pkgList = []; if (results && results.length) { @@ -7085,7 +7085,7 @@ export function convertOSQueryResults( let qualifiers = undefined; if (res.identifying_number && res.identifying_number.length) { qualifiers = { - tag_id: res.identifying_number.replace("{", "").replace("}", "") + tag_id: res.identifying_number.replace("{", "").replace("}", ""), }; } if (name) { @@ -7105,7 +7105,7 @@ export function convertOSQueryResults( name, version || "", qualifiers, - subpath + subpath, ).toString(); const props = [{ name: "cdx:osquery:category", value: queryCategory }]; let providesList = undefined; @@ -7142,15 +7142,15 @@ export function convertOSQueryResults( "bom-ref": decodeURIComponent(purl), purl, scope, - type: queryObj.componentType + type: queryObj.componentType, }; for (const k of Object.keys(res).filter( - (p) => !["name", "version", "description", "publisher"].includes(p) + (p) => !["name", "version", "description", "publisher"].includes(p), )) { if (res[k] && res[k] !== "null") { props.push({ name: k, - value: res[k] + value: res[k], }); } } @@ -7212,7 +7212,7 @@ export function parseSwiftJsonTreeObject( pkgList, dependenciesList, jsonObject, - pkgFile + pkgFile, ) { const urlOrPath = jsonObject.url || jsonObject.path; const version = jsonObject.version; @@ -7223,7 +7223,7 @@ export function parseSwiftJsonTreeObject( group: purl.namespace, version: purl.version, purl: purlString, - "bom-ref": purlString + "bom-ref": purlString, }; if (urlOrPath) { if (urlOrPath.startsWith("http")) { @@ -7232,12 +7232,12 @@ export function parseSwiftJsonTreeObject( const properties = []; properties.push({ name: "SrcPath", - value: urlOrPath + value: urlOrPath, }); if (pkgFile) { properties.push({ name: "SrcFile", - value: pkgFile + value: pkgFile, }); } rootPkg.properties = properties; @@ -7251,14 +7251,14 @@ export function parseSwiftJsonTreeObject( pkgList, dependenciesList, dependency, - pkgFile + pkgFile, ); depList.push(res); } } dependenciesList.push({ ref: purlString, - dependsOn: depList + dependsOn: depList, }); return purlString; } @@ -7285,7 +7285,7 @@ export function parseSwiftJsonTree(rawOutput, pkgFile) { } return { pkgList, - dependenciesList + dependenciesList, }; } @@ -7298,7 +7298,7 @@ export function parseSwiftResolved(resolvedFile) { if (existsSync(resolvedFile)) { try { const pkgData = JSON.parse( - readFileSync(resolvedFile, { encoding: "utf-8" }) + readFileSync(resolvedFile, { encoding: "utf-8" }), ); let resolvedList = []; if (pkgData.pins) { @@ -7320,8 +7320,8 @@ export function parseSwiftResolved(resolvedFile) { properties: [ { name: "SrcFile", - value: resolvedFile - } + value: resolvedFile, + }, ], evidence: { identity: { @@ -7331,11 +7331,11 @@ export function parseSwiftResolved(resolvedFile) { { technique: "manifest-analysis", confidence: 1, - value: resolvedFile - } - ] - } - } + value: resolvedFile, + }, + ], + }, + }, }; if (locationOrUrl) { rootPkg.repository = { url: locationOrUrl }; @@ -7361,7 +7361,7 @@ export async function collectMvnDependencies( mavenCmd, basePath, cleanup = true, - includeCacheDir = false + includeCacheDir = false, ) { let jarNSMapping = {}; const MAVEN_CACHE_DIR = @@ -7375,7 +7375,7 @@ export async function collectMvnDependencies( "-Dmdep.useRepositoryLayout=true", "-Dmdep.includeScope=compile", "-Dmdep.prependGroupId=" + (process.env.MAVEN_PREPEND_GROUP || "false"), - "-Dmdep.stripVersion=" + (process.env.MAVEN_STRIP_VERSION || "false") + "-Dmdep.stripVersion=" + (process.env.MAVEN_STRIP_VERSION || "false"), ]; if (process.env.MVN_ARGS) { const addArgs = process.env.MVN_ARGS.split(" "); @@ -7386,21 +7386,21 @@ export async function collectMvnDependencies( const result = spawnSync(mavenCmd, copyArgs, { cwd: basePath, encoding: "utf-8", - shell: isWin + shell: isWin, }); if (result.status !== 0 || result.error) { console.error(result.stdout, result.stderr); console.log( - "Resolve the above maven error. You can try the following remediation tips:\n" + "Resolve the above maven error. You can try the following remediation tips:\n", ); console.log( - "1. Check if the correct version of maven is installed and available in the PATH." + "1. Check if the correct version of maven is installed and available in the PATH.", ); console.log( - "2. Perform 'mvn compile package' before invoking this command. Fix any errors found during this invocation." + "2. Perform 'mvn compile package' before invoking this command. Fix any errors found during this invocation.", ); console.log( - "3. Ensure the temporary directory is available and has sufficient disk space to copy all the artifacts." + "3. Ensure the temporary directory is available and has sufficient disk space to copy all the artifacts.", ); } else { jarNSMapping = await collectJarNS(tempDir); @@ -7422,7 +7422,7 @@ export async function collectGradleDependencies( gradleCmd, basePath, cleanup = true, // eslint-disable-line no-unused-vars - includeCacheDir = false // eslint-disable-line no-unused-vars + includeCacheDir = false, // eslint-disable-line no-unused-vars ) { // HELP WANTED: We need an init script that mimics maven copy-dependencies that only collects the project specific jars and poms // Construct gradle cache directory @@ -7434,13 +7434,13 @@ export async function collectGradleDependencies( process.env.GRADLE_USER_HOME, "caches", "modules-2", - "files-2.1" + "files-2.1", ); } if (DEBUG_MODE) { console.log("Collecting jars from", GRADLE_CACHE_DIR); console.log( - "To improve performance, ensure only the project dependencies are present in this cache location." + "To improve performance, ensure only the project dependencies are present in this cache location.", ); } const pomPathMap = {}; @@ -7463,16 +7463,16 @@ export async function collectGradleDependencies( export async function collectJarNS(jarPath, pomPathMap = {}) { const jarNSMapping = {}; console.log( - `About to identify class names for all jars in the path ${jarPath}` + `About to identify class names for all jars in the path ${jarPath}`, ); const env = { - ...process.env + ...process.env, }; // jar command usually would not be available in the PATH for windows if (isWin && env.JAVA_HOME) { env.PATH = `${env.PATH || env.Path}${_delimiter}${join( env.JAVA_HOME, - "bin" + "bin", )}`; } // Parse jar files to get class names @@ -7507,7 +7507,7 @@ export async function collectJarNS(jarPath, pomPathMap = {}) { pomData.artifactId, pomData.version, { type: "jar" }, - null + null, ); purl = purlObj.toString(); } @@ -7553,7 +7553,7 @@ export async function collectJarNS(jarPath, pomPathMap = {}) { jarFileName.replace(`-${jarVersion}`, ""), jarVersion, { type: qualifierType }, - null + null, ); purl = purlObj.toString(); } @@ -7582,7 +7582,7 @@ export async function collectJarNS(jarPath, pomPathMap = {}) { pkgName, jarVersion, { type: "jar" }, - null + null, ); purl = purlObj.toString(); } @@ -7598,7 +7598,7 @@ export async function collectJarNS(jarPath, pomPathMap = {}) { jarNSMapping[purl || jf] = { jarFile: jf, pom: pomData, - namespaces: nsList + namespaces: nsList, }; // Retain in the global cache to speed up future lookups if (purl) { @@ -7632,7 +7632,7 @@ export function convertJarNSToPackages(jarNSMapping) { const name = pom.artifactId || purlObj.name; if (!name) { console.warn( - `Unable to identify the metadata for ${purl}. This will be skipped.` + `Unable to identify the metadata for ${purl}. This will be skipped.`, ); continue; } @@ -7651,21 +7651,21 @@ export function convertJarNSToPackages(jarNSMapping) { { technique: "filename", confidence: 1, - value: jarFile - } - ] - } + value: jarFile, + }, + ], + }, }, properties: [ { name: "SrcFile", - value: jarFile + value: jarFile, }, { name: "Namespaces", - value: namespaces.join("\n") - } - ] + value: namespaces.join("\n"), + }, + ], }; if (pom.url) { apackage["homepage"] = { url: pom.url }; @@ -7687,7 +7687,7 @@ export function parsePomXml(pomXmlData) { spaces: 4, textKey: "_", attributesKey: "$", - commentKey: "value" + commentKey: "value", }).project; if (project) { let version = project.version ? project.version._ : undefined; @@ -7704,7 +7704,7 @@ export function parsePomXml(pomXmlData) { version, description: project.description ? project.description._ : "", url: project.url ? project.url._ : "", - scm: project.scm && project.scm.url ? project.scm.url._ : "" + scm: project.scm && project.scm.url ? project.scm.url._ : "", }; } return undefined; @@ -7763,7 +7763,7 @@ export function getPomPropertiesFromMavenDir(mavenDir) { const pomPropertiesFiles = getAllFiles(mavenDir, "**/pom.properties"); if (pomPropertiesFiles && pomPropertiesFiles.length) { const pomPropertiesString = readFileSync(pomPropertiesFiles[0], { - encoding: "utf-8" + encoding: "utf-8", }); pomProperties = parsePomProperties(pomPropertiesString); } @@ -7825,13 +7825,13 @@ export async function extractJarArchive(jarFile, tempDir, jarNSMapping = {}) { copyFileSync(jarFile, join(tempDir, fname), constants.COPYFILE_FICLONE); } const env = { - ...process.env + ...process.env, }; // jar command usually would not be available in the PATH for windows if (isWin && env.JAVA_HOME) { env.PATH = `${env.PATH || env.Path}${_delimiter}${join( env.JAVA_HOME, - "bin" + "bin", )}`; } if ( @@ -7891,7 +7891,7 @@ export async function extractJarArchive(jarFile, tempDir, jarNSMapping = {}) { const manifestFile = join(manifestDir, "MANIFEST.MF"); const mavenDir = join(manifestDir, "maven"); let jarResult = { - status: 1 + status: 1, }; if (existsSync(pomname)) { jarResult = { status: 0 }; @@ -7938,8 +7938,8 @@ export async function extractJarArchive(jarFile, tempDir, jarNSMapping = {}) { secureConnect: 5000, socket: 1000, send: 10000, - response: 1000 - } + response: 1000, + }, }); const data = res && res.body ? res.body["response"] : undefined; if (data && data["numFound"] == 1) { @@ -7953,7 +7953,7 @@ export async function extractJarArchive(jarFile, tempDir, jarNSMapping = {}) { if (err && err.message && !err.message.includes("404")) { if (err.message.includes("Timeout")) { console.log( - "Maven search appears to be unavailable. Search will be skipped for all remaining packages." + "Maven search appears to be unavailable. Search will be skipped for all remaining packages.", ); } else if (DEBUG_MODE) { console.log(err); @@ -7966,8 +7966,8 @@ export async function extractJarArchive(jarFile, tempDir, jarNSMapping = {}) { confidence = 0.8; const jarMetadata = parseJarManifest( readFileSync(manifestFile, { - encoding: "utf-8" - }) + encoding: "utf-8", + }), ); group = group || @@ -8021,12 +8021,12 @@ export async function extractJarArchive(jarFile, tempDir, jarNSMapping = {}) { if (group.includes("." + name.toLowerCase().replace(/-/g, "."))) { group = group.replace( new RegExp("." + name.toLowerCase().replace(/-/g, ".") + "$"), - "" + "", ); } else if (group.includes("." + name.toLowerCase())) { group = group.replace( new RegExp("." + name.toLowerCase() + "$"), - "" + "", ); } } @@ -8051,7 +8051,7 @@ export async function extractJarArchive(jarFile, tempDir, jarNSMapping = {}) { name, version, { type: "jar" }, - null + null, ).toString(), evidence: { identity: { @@ -8061,17 +8061,17 @@ export async function extractJarArchive(jarFile, tempDir, jarNSMapping = {}) { { technique: technique, confidence: confidence, - value: jarname - } - ] - } + value: jarname, + }, + ], + }, }, properties: [ { name: "SrcFile", - value: jarname - } - ] + value: jarname, + }, + ], }; if ( jarNSMapping && @@ -8080,7 +8080,7 @@ export async function extractJarArchive(jarFile, tempDir, jarNSMapping = {}) { ) { apkg.properties.push({ name: "Namespaces", - value: jarNSMapping[apkg.purl].namespaces.join("\n") + value: jarNSMapping[apkg.purl].namespaces.join("\n"), }); } pkgList.push(apkg); @@ -8095,7 +8095,7 @@ export async function extractJarArchive(jarFile, tempDir, jarNSMapping = {}) { // Clean up META-INF rmSync(join(tempDir, "META-INF"), { recursive: true, - force: true + force: true, }); } } catch (err) { @@ -8175,7 +8175,7 @@ export function cleanupPlugin(projectPath, originalPluginsFile) { copyFileSync( originalPluginsFile, pluginsFile, - constants.COPYFILE_FICLONE + constants.COPYFILE_FICLONE, ); unlinkSync(originalPluginsFile); return true; @@ -8206,7 +8206,7 @@ export function sbtPluginsPath(projectPath) { export async function readZipEntry( zipFile, filePattern, - contentEncoding = "utf-8" + contentEncoding = "utf-8", ) { let retData = undefined; try { @@ -8267,7 +8267,7 @@ export async function getJarClasses(jarFile) { .replace("\r", "") .replace(/.(class|java|kt|scala|groovy)/g, "") .replace(/\/$/, "") - .replace(/\//g, ".") + .replace(/\//g, "."), ); } } @@ -8365,14 +8365,14 @@ export function getMavenCommand(srcPath, rootPath) { if (isWrapperFound) { if (DEBUG_MODE) { console.log( - "Testing the wrapper script by invoking wrapper:wrapper task" + "Testing the wrapper script by invoking wrapper:wrapper task", ); } const result = spawnSync(mavenWrapperCmd, ["wrapper:wrapper"], { encoding: "utf-8", cwd: rootPath, timeout: TIMEOUT_MS, - shell: isWin + shell: isWin, }); if (!result.error && !result.status) { isWrapperReady = true; @@ -8380,7 +8380,7 @@ export function getMavenCommand(srcPath, rootPath) { } else { if (DEBUG_MODE) { console.log( - "Maven wrapper script test has failed. Will use the installed version of maven." + "Maven wrapper script test has failed. Will use the installed version of maven.", ); } } @@ -8411,7 +8411,7 @@ export function getAtomCommand() { "node_modules", "@appthreat", "atom", - "index.js" + "index.js", ); if (existsSync(localAtom)) { return `${NODE_CMD} ${localAtom}`; @@ -8435,20 +8435,20 @@ export function executeAtom(src, args) { console.log("Executing", ATOM_BIN, args.join(" ")); } const env = { - ...process.env + ...process.env, }; if (isWin) { env.PATH = `${env.PATH || env.Path}${_delimiter}${join( dirNameStr, "node_modules", - ".bin" + ".bin", )}`; } else { env.PATH = `${env.PATH}${_delimiter}${join( dirNameStr, "node_modules", - ".bin" + ".bin", )}`; } const result = spawnSync(ATOM_BIN, args, { @@ -8458,22 +8458,22 @@ export function executeAtom(src, args) { detached: !isWin && !process.env.CI, shell: isWin, killSignal: "SIGKILL", - env + env, }); if (result.stderr) { if ( result.stderr.includes( - "has been compiled by a more recent version of the Java Runtime" + "has been compiled by a more recent version of the Java Runtime", ) || result.stderr.includes("Error: Could not create the Java Virtual Machine") ) { console.log( - "Atom requires Java 21 or above. To improve the SBOM accuracy, please install a suitable version, set the JAVA_HOME environment variable, and re-run cdxgen.\nAlternatively, use the cdxgen container image." + "Atom requires Java 21 or above. To improve the SBOM accuracy, please install a suitable version, set the JAVA_HOME environment variable, and re-run cdxgen.\nAlternatively, use the cdxgen container image.", ); console.log(`Current JAVA_HOME: ${env["JAVA_HOME"] || ""}`); } else if (result.stderr.includes("astgen")) { console.warn( - "WARN: Unable to locate astgen command. Install atom globally using sudo npm install -g @appthreat/atom to resolve this issue." + "WARN: Unable to locate astgen command. Install atom globally using sudo npm install -g @appthreat/atom to resolve this issue.", ); } } @@ -8507,7 +8507,7 @@ export function findAppModules( src, language, methodology = "usages", - slicesFile = undefined + slicesFile = undefined, ) { const tempDir = mkdtempSync(join(tmpdir(), "atom-deps-")); const atomFile = join(tempDir, "app.atom"); @@ -8523,12 +8523,12 @@ export function findAppModules( resolve(atomFile), "--slice-outfile", resolve(slicesFile), - resolve(src) + resolve(src), ]; executeAtom(src, args); if (existsSync(slicesFile)) { const slicesData = JSON.parse(readFileSync(slicesFile, "utf-8"), { - encoding: "utf-8" + encoding: "utf-8", }); if (slicesData && Object.keys(slicesData) && slicesData.modules) { retList = slicesData.modules; @@ -8537,10 +8537,10 @@ export function findAppModules( } } else { console.log( - "Slicing was not successful. For large projects (> 1 million lines of code), try running atom cli externally in Java mode. Please refer to the instructions in https://github.com/CycloneDX/cdxgen/blob/master/ADVANCED.md." + "Slicing was not successful. For large projects (> 1 million lines of code), try running atom cli externally in Java mode. Please refer to the instructions in https://github.com/CycloneDX/cdxgen/blob/master/ADVANCED.md.", ); console.log( - "NOTE: Atom is in detached mode and will continue to run in the background with max CPU and memory unless it's killed." + "NOTE: Atom is in detached mode and will continue to run in the background with max CPU and memory unless it's killed.", ); } // Clean up @@ -8569,7 +8569,7 @@ function flattenDeps(dependenciesMap, pkgList, reqOrSetupFile, t) { d.name, d.version, null, - null + null, ).toString(); pkgList.push({ name: d.name, @@ -8579,8 +8579,8 @@ function flattenDeps(dependenciesMap, pkgList, reqOrSetupFile, t) { properties: [ { name: "SrcFile", - value: reqOrSetupFile - } + value: reqOrSetupFile, + }, ], evidence: { identity: { @@ -8590,11 +8590,11 @@ function flattenDeps(dependenciesMap, pkgList, reqOrSetupFile, t) { { technique: "manifest-analysis", confidence: 0.8, - value: reqOrSetupFile - } - ] - } - } + value: reqOrSetupFile, + }, + ], + }, + }, }); // Recurse and flatten if (d.dependencies && d.dependencies) { @@ -8621,7 +8621,7 @@ export function getPipFrozenTree(basePath, reqOrSetupFile, tempVenvDir) { let result = undefined; let frozen = true; const env = { - ...process.env + ...process.env, }; /** * Let's start with an attempt to create a new temporary virtual environment in case we aren't in one @@ -8636,7 +8636,7 @@ export function getPipFrozenTree(basePath, reqOrSetupFile, tempVenvDir) { ) { result = spawnSync(PYTHON_CMD, ["-m", "venv", tempVenvDir], { encoding: "utf-8", - shell: isWin + shell: isWin, }); if (result.status !== 0 || result.error) { frozen = false; @@ -8647,12 +8647,12 @@ export function getPipFrozenTree(basePath, reqOrSetupFile, tempVenvDir) { result.stderr.includes("spawnSync python ENOENT") ) { console.log( - "Install suitable version of python or set the environment variable PYTHON_CMD." + "Install suitable version of python or set the environment variable PYTHON_CMD.", ); } if (!result.stderr) { console.log( - "Ensure the virtualenv package is installed using pip. `python -m pip install virtualenv`" + "Ensure the virtualenv package is installed using pip. `python -m pip install virtualenv`", ); } } @@ -8663,7 +8663,7 @@ export function getPipFrozenTree(basePath, reqOrSetupFile, tempVenvDir) { env.VIRTUAL_ENV = tempVenvDir; env.PATH = `${join( tempVenvDir, - platform() === "win32" ? "Scripts" : "bin" + platform() === "win32" ? "Scripts" : "bin", )}${_delimiter}${process.env.PATH || ""}`; } } @@ -8684,13 +8684,13 @@ export function getPipFrozenTree(basePath, reqOrSetupFile, tempVenvDir) { "config", "virtualenvs.options.no-setuptools", "true", - "--local" + "--local", ]; result = spawnSync(PYTHON_CMD, poetryConfigArgs, { cwd: basePath, encoding: "utf-8", timeout: TIMEOUT_MS, - shell: isWin + shell: isWin, }); let poetryInstallArgs = ["-m", "poetry", "install", "-n", "--no-root"]; // Attempt to perform poetry install @@ -8698,7 +8698,7 @@ export function getPipFrozenTree(basePath, reqOrSetupFile, tempVenvDir) { cwd: basePath, encoding: "utf-8", timeout: TIMEOUT_MS, - shell: isWin + shell: isWin, }); if (result.status !== 0 || result.error) { if (result.stderr && result.stderr.includes("No module named poetry")) { @@ -8709,7 +8709,7 @@ export function getPipFrozenTree(basePath, reqOrSetupFile, tempVenvDir) { encoding: "utf-8", timeout: TIMEOUT_MS, shell: isWin, - env + env, }); if (result.status !== 0 || result.error) { frozen = false; @@ -8718,19 +8718,19 @@ export function getPipFrozenTree(basePath, reqOrSetupFile, tempVenvDir) { } console.log("poetry install has failed."); console.log( - "1. Install the poetry command using python -m pip install poetry." + "1. Install the poetry command using python -m pip install poetry.", ); console.log( - "2. Check the version of python supported by the project. Poetry is strict about the version used." + "2. Check the version of python supported by the project. Poetry is strict about the version used.", ); console.log( - "3. Setup and activate the poetry virtual environment and re-run cdxgen." + "3. Setup and activate the poetry virtual environment and re-run cdxgen.", ); } } else { frozen = false; console.log( - "Poetry install has failed. Setup and activate the poetry virtual environment and re-run cdxgen." + "Poetry install has failed. Setup and activate the poetry virtual environment and re-run cdxgen.", ); if (DEBUG_MODE) { if (result.error) { @@ -8748,14 +8748,14 @@ export function getPipFrozenTree(basePath, reqOrSetupFile, tempVenvDir) { encoding: "utf-8", timeout: TIMEOUT_MS, shell: isWin, - env + env, }); tempVenvDir = result.stdout.replaceAll(/[\r\n]+/g, ""); if (tempVenvDir && tempVenvDir.length) { env.VIRTUAL_ENV = tempVenvDir; env.PATH = `${join( tempVenvDir, - platform() === "win32" ? "Scripts" : "bin" + platform() === "win32" ? "Scripts" : "bin", )}${_delimiter}${process.env.PATH || ""}`; } } @@ -8764,7 +8764,7 @@ export function getPipFrozenTree(basePath, reqOrSetupFile, tempVenvDir) { "-m", "pip", "install", - "--disable-pip-version-check" + "--disable-pip-version-check", ]; // Requirements.txt could be called with any name so best to check for not setup.py and not pyproject.toml if ( @@ -8782,7 +8782,7 @@ export function getPipFrozenTree(basePath, reqOrSetupFile, tempVenvDir) { encoding: "utf-8", timeout: TIMEOUT_MS, shell: isWin, - env + env, }); if (result.status !== 0 || result.error) { frozen = false; @@ -8790,13 +8790,13 @@ export function getPipFrozenTree(basePath, reqOrSetupFile, tempVenvDir) { if ( result.stderr && (result.stderr.includes( - "Could not find a version that satisfies the requirement" + "Could not find a version that satisfies the requirement", ) || result.stderr.includes("No matching distribution found for")) ) { versionRelatedError = true; console.log( - "The version or the version specifiers used for a dependency is invalid. Resolve the below error to improve SBOM accuracy." + "The version or the version specifiers used for a dependency is invalid. Resolve the below error to improve SBOM accuracy.", ); console.log(result.stderr); } @@ -8807,29 +8807,29 @@ export function getPipFrozenTree(basePath, reqOrSetupFile, tempVenvDir) { console.log(result.stderr); } console.log( - "Possible build errors detected. The resulting list in the SBOM would therefore be incomplete.\nTry installing any missing build tools or development libraries to improve the accuracy." + "Possible build errors detected. The resulting list in the SBOM would therefore be incomplete.\nTry installing any missing build tools or development libraries to improve the accuracy.", ); if (platform() === "win32") { console.log( - "- Install the appropriate compilers and build tools on Windows by following this documentation - https://wiki.python.org/moin/WindowsCompilers" + "- Install the appropriate compilers and build tools on Windows by following this documentation - https://wiki.python.org/moin/WindowsCompilers", ); } else { console.log( - "- For example, you may have to install gcc, gcc-c++ compiler, make tools and additional development libraries using apt-get or yum package manager." + "- For example, you may have to install gcc, gcc-c++ compiler, make tools and additional development libraries using apt-get or yum package manager.", ); } console.log( - "- Certain projects would only build with specific versions of python and OS. Data science and ML related projects might require a conda/anaconda distribution." + "- Certain projects would only build with specific versions of python and OS. Data science and ML related projects might require a conda/anaconda distribution.", ); console.log( - "- Check if any git submodules have to be initialized." + "- Check if any git submodules have to be initialized.", ); console.log( - "- If the application has its own Dockerfile, look for additional clues in there. You can also run cdxgen npm package during the container build step." + "- If the application has its own Dockerfile, look for additional clues in there. You can also run cdxgen npm package during the container build step.", ); } else { console.log( - "Possible build errors detected. Set the environment variable CDXGEN_DEBUG_MODE=debug to troubleshoot." + "Possible build errors detected. Set the environment variable CDXGEN_DEBUG_MODE=debug to troubleshoot.", ); } } @@ -8847,14 +8847,14 @@ export function getPipFrozenTree(basePath, reqOrSetupFile, tempVenvDir) { */ if (DEBUG_MODE) { console.log( - "About to construct the pip dependency tree. Please wait ..." + "About to construct the pip dependency tree. Please wait ...", ); } // This is a slow step that ideally needs to be invoked only once per venv const tree = getTreeWithPlugin(env, PYTHON_CMD, basePath); if (DEBUG_MODE && !tree.length) { console.log( - "Dependency tree generation has failed. Please check for any errors or version incompatibilities reported in the logs." + "Dependency tree generation has failed. Please check for any errors or version incompatibilities reported in the logs.", ); } const dependenciesMap = {}; @@ -8876,7 +8876,7 @@ export function getPipFrozenTree(basePath, reqOrSetupFile, tempVenvDir) { name, version, null, - null + null, ).toString(); pkgList.push({ name, @@ -8891,15 +8891,15 @@ export function getPipFrozenTree(basePath, reqOrSetupFile, tempVenvDir) { { technique: "instrumentation", confidence: 1, - value: env.VIRTUAL_ENV || env.CONDA_PREFIX - } - ] - } - } + value: env.VIRTUAL_ENV || env.CONDA_PREFIX, + }, + ], + }, + }, }); rootList.push({ name, - version + version, }); flattenDeps(dependenciesMap, pkgList, reqOrSetupFile, t); } @@ -8912,7 +8912,7 @@ export function getPipFrozenTree(basePath, reqOrSetupFile, tempVenvDir) { pkgList, rootList, dependenciesList, - frozen + frozen, }; } @@ -8923,10 +8923,10 @@ export function parsePackageJsonName(name) { scope: null, fullName: "", projectName: "", - moduleName: "" + moduleName: "", }; const match = (typeof name === "object" ? name.name || "" : name || "").match( - nameRegExp + nameRegExp, ); if (match) { returnObject.scope = @@ -8949,7 +8949,7 @@ export async function addEvidenceForImports( pkgList, allImports, allExports, - deep + deep, ) { const impPkgs = Object.keys(allImports); const exportedPkgs = Object.keys(allExports); @@ -8971,10 +8971,10 @@ export async function addEvidenceForImports( const all_includes = impPkgs.filter( (find_pkg) => find_pkg.startsWith(alias) && - (find_pkg.length === alias.length || find_pkg[alias.length] === "/") + (find_pkg.length === alias.length || find_pkg[alias.length] === "/"), ); const all_exports = exportedPkgs.filter((find_pkg) => - find_pkg.startsWith(alias) + find_pkg.startsWith(alias), ); if (all_exports && all_exports.length) { let exportedModules = new Set(all_exports); @@ -8997,7 +8997,7 @@ export async function addEvidenceForImports( exportedModules.add(aexpsubm); } exportedModules.add( - `${evidence.importedAs.replace("./", "")}/${aexpsubm}` + `${evidence.importedAs.replace("./", "")}/${aexpsubm}`, ); } } @@ -9009,7 +9009,7 @@ export async function addEvidenceForImports( if (exportedModules.length) { pkg.properties.push({ name: "ExportedModules", - value: exportedModules.join(",") + value: exportedModules.join(","), }); } } @@ -9026,7 +9026,7 @@ export async function addEvidenceForImports( pkg.evidence.occurrences.push({ location: `${evidence.fileName}${ evidence.lineNumber ? "#" + evidence.lineNumber : "" - }` + }`, }); importedModules.add(evidence.importedAs); for (const importedSm of evidence.importedModules || []) { @@ -9047,7 +9047,7 @@ export async function addEvidenceForImports( pkg.properties = pkg.properties || []; pkg.properties.push({ name: "ImportedModules", - value: importedModules.join(",") + value: importedModules.join(","), }); } break; @@ -9078,7 +9078,7 @@ export async function addEvidenceForImports( } // for alias // Trim the properties pkg.properties = pkg.properties.filter( - (p) => p.name !== "LocalNodeModulesPath" + (p) => p.name !== "LocalNodeModulesPath", ); } // for pkg return pkgList; @@ -9160,7 +9160,7 @@ export function parseCmakeDotFile(dotFile, pkgType, options = {}) { group: options.projectGroup || "", name: options.projectName || name, version: options.projectVersion || "", - type: "application" + type: "application", }; parentComponent["purl"] = new PackageURL( pkgType, @@ -9168,7 +9168,7 @@ export function parseCmakeDotFile(dotFile, pkgType, options = {}) { parentComponent.name, parentComponent.version, null, - path + path, ).toString(); parentComponent["bom-ref"] = decodeURIComponent(parentComponent["purl"]); } else if (name) { @@ -9181,8 +9181,8 @@ export function parseCmakeDotFile(dotFile, pkgType, options = {}) { name, version, null, - path - ).toString() + path, + ).toString(), }; apkg["bom-ref"] = decodeURIComponent(apkg["purl"]); pkgList.push(apkg); @@ -9194,13 +9194,13 @@ export function parseCmakeDotFile(dotFile, pkgType, options = {}) { const dependsOn = Array.from(dependenciesMap[pk] || []); dependenciesList.push({ ref: pk, - dependsOn + dependsOn, }); } return { parentComponent, pkgList, - dependenciesList + dependenciesList, }; } @@ -9262,7 +9262,7 @@ export function parseCmakeLikeFile(cmakeListFile, pkgType, options = {}) { group: options.projectGroup || "", name: parentName, version: parentVersion || options.projectVersion || "", - type: "application" + type: "application", }; parentComponent["purl"] = new PackageURL( pkgType, @@ -9270,10 +9270,10 @@ export function parseCmakeLikeFile(cmakeListFile, pkgType, options = {}) { parentComponent.name, parentComponent.version, null, - path + path, ).toString(); parentComponent["bom-ref"] = decodeURIComponent( - parentComponent["purl"] + parentComponent["purl"], ); } } @@ -9284,7 +9284,7 @@ export function parseCmakeLikeFile(cmakeListFile, pkgType, options = {}) { "find_library(", "find_dependency(", "find_file(", - "FetchContent_MakeAvailable(" + "FetchContent_MakeAvailable(", ]) { if (l.startsWith(fm)) { tmpA = l.split(fm); @@ -9303,12 +9303,12 @@ export function parseCmakeLikeFile(cmakeListFile, pkgType, options = {}) { "PATHS", "ENV", "NO_MODULE", - "NO_DEFAULT_PATH" + "NO_DEFAULT_PATH", ].includes(v) && !v.includes("$") && !v.includes("LIB") && !v.startsWith("CMAKE_") && - v.length + v.length, ); // find_package(Catch2) // find_package(GTest REQUIRED) @@ -9405,7 +9405,7 @@ export function parseCmakeLikeFile(cmakeListFile, pkgType, options = {}) { name: eprop, value: Array.isArray(awrap[eprop]) ? awrap[eprop].join(", ") - : awrap[eprop] + : awrap[eprop], }); } // Our confidence has improved from 0 since there is a matching wrap so we know the correct name @@ -9417,7 +9417,7 @@ export function parseCmakeLikeFile(cmakeListFile, pkgType, options = {}) { if (versionSpecifiersMap[n]) { props.push({ name: "cdx:build:versionSpecifiers", - value: versionSpecifiersMap[n] + value: versionSpecifiersMap[n], }); } const apkg = { @@ -9430,7 +9430,7 @@ export function parseCmakeLikeFile(cmakeListFile, pkgType, options = {}) { n, versionsMap[n] || "", null, - path + path, ).toString(), evidence: { identity: { @@ -9440,12 +9440,12 @@ export function parseCmakeLikeFile(cmakeListFile, pkgType, options = {}) { { technique: "source-code-analysis", confidence: 0.5, - value: `Filename ${cmakeListFile}` - } - ] - } + value: `Filename ${cmakeListFile}`, + }, + ], + }, }, - properties: props + properties: props, }; apkg["bom-ref"] = decodeURIComponent(apkg["purl"]); pkgList.push(apkg); @@ -9455,7 +9455,7 @@ export function parseCmakeLikeFile(cmakeListFile, pkgType, options = {}) { }); return { parentComponent, - pkgList + pkgList, }; } @@ -9478,10 +9478,10 @@ export function getOSPackageForFile(afile, osPkgsList) { { technique: "filename", confidence: 0.8, - value: `PkgProvides ${afile}` - } - ] - } + value: `PkgProvides ${afile}`, + }, + ], + }, }; return ospkg; } @@ -9514,7 +9514,7 @@ export function getCppModules(src, options, osPkgsList, epkgList) { // users can use this file to give us a clue even if they do not use vcpkg library manager if (existsSync(join(src, "vcpkg.json"))) { const vcPkgData = JSON.parse( - readFileSync(join(src, "vcpkg.json"), { encoding: "utf-8" }) + readFileSync(join(src, "vcpkg.json"), { encoding: "utf-8" }), ); if (vcPkgData && Object.keys(vcPkgData).length && vcPkgData.name) { const parentPurl = new PackageURL( @@ -9523,7 +9523,7 @@ export function getCppModules(src, options, osPkgsList, epkgList) { vcPkgData.name, vcPkgData.version || "", null, - null + null, ).toString(); parentComponent = { name: vcPkgData.name, @@ -9532,7 +9532,7 @@ export function getCppModules(src, options, osPkgsList, epkgList) { license: vcPkgData.license, purl: parentPurl, type: "application", - "bom-ref": decodeURIComponent(parentPurl) + "bom-ref": decodeURIComponent(parentPurl), }; if (vcPkgData.homepage) { parentComponent.homepage = { url: vcPkgData.homepage }; @@ -9563,7 +9563,7 @@ export function getCppModules(src, options, osPkgsList, epkgList) { avcpkgName, "", null, - null + null, ).toString(); const apkg = { group: "", @@ -9581,11 +9581,11 @@ export function getCppModules(src, options, osPkgsList, epkgList) { { technique: "source-code-analysis", confidence: 0.5, - value: `Filename ${join(src, "vcpkg.json")}` - } - ] - } - } + value: `Filename ${join(src, "vcpkg.json")}`, + }, + ], + }, + }, }; if (!pkgAddedMap[avcpkgName]) { pkgList.push(apkg); @@ -9606,7 +9606,7 @@ export function getCppModules(src, options, osPkgsList, epkgList) { group: options.projectGroup || "", name: options.projectName || "", version: "" + options.projectVersion || "latest", - type: "application" + type: "application", }; const parentPurl = new PackageURL( pkgType, @@ -9614,14 +9614,14 @@ export function getCppModules(src, options, osPkgsList, epkgList) { parentComponent.name, parentComponent.version, null, - null + null, ).toString(); parentComponent.purl = parentPurl; parentComponent["bom-ref"] = decodeURIComponent(parentPurl); } if (options.usagesSlicesFile && existsSync(options.usagesSlicesFile)) { sliceData = JSON.parse( - readFileSync(options.usagesSlicesFile, { encoding: "utf-8" }) + readFileSync(options.usagesSlicesFile, { encoding: "utf-8" }), ); if (DEBUG_MODE) { console.log("Re-using existing slices file", options.usagesSlicesFile); @@ -9631,7 +9631,7 @@ export function getCppModules(src, options, osPkgsList, epkgList) { src, options.deep ? "c" : "h", "usages", - options.usagesSlicesFile + options.usagesSlicesFile, ); } const usageData = parseCUsageSlice(sliceData); @@ -9660,7 +9660,7 @@ export function getCppModules(src, options, osPkgsList, epkgList) { name, group, version: "", - type: pkgType + type: pkgType, }; // If this is a relative file, there is a good chance we can reuse the project group if (!afile.startsWith(_sep) && !group.length) { @@ -9673,7 +9673,7 @@ export function getCppModules(src, options, osPkgsList, epkgList) { name, version, null, - afile + afile, ).toString(); apkg.evidence = { identity: { @@ -9683,10 +9683,10 @@ export function getCppModules(src, options, osPkgsList, epkgList) { { technique: "source-code-analysis", confidence: 0, - value: `Filename ${afile}` - } - ] - } + value: `Filename ${afile}`, + }, + ], + }, }; apkg["bom-ref"] = decodeURIComponent(apkg["purl"]); } @@ -9698,12 +9698,12 @@ export function getCppModules(src, options, osPkgsList, epkgList) { !v.startsWith("__") && v !== "main" && !v.includes("anonymous_") && - !v.includes(afile) + !v.includes(afile), ) .sort(); if (!apkg["properties"] && usymbols.length) { apkg["properties"] = [ - { name: "ImportedSymbols", value: usymbols.join(", ") } + { name: "ImportedSymbols", value: usymbols.join(", ") }, ]; } else { apkg["properties"] = []; @@ -9722,7 +9722,7 @@ export function getCppModules(src, options, osPkgsList, epkgList) { if (!symbolsPropertyFound && usymbols.length) { apkg["properties"].push({ name: "ImportedSymbols", - value: usymbols.join(", ") + value: usymbols.join(", "), }); } apkg["properties"] = newProps; @@ -9741,14 +9741,14 @@ export function getCppModules(src, options, osPkgsList, epkgList) { ? [ { ref: parentComponent["bom-ref"], - dependsOn - } + dependsOn, + }, ] : []; return { parentComponent, pkgList: pkgList.sort((a, b) => a.purl.localeCompare(b.purl)), - dependenciesList + dependenciesList, }; } @@ -9810,7 +9810,7 @@ export function parseCUsageSlice(sliceData) { async function getNugetUrl() { const req = "https://api.nuget.org/v3/index.json"; const res = await cdxgenAgent.get(req, { - responseType: "json" + responseType: "json", }); const urls = res.body.resources; for (const resource of urls) { @@ -9868,7 +9868,7 @@ async function queryNuget(p, NUGET_URL) { const newBody = []; let res = await cdxgenAgent.get( NUGET_URL + np.name.toLowerCase() + "/index.json", - { responseType: "json" } + { responseType: "json" }, ); const items = res.body.items; if (!items || !items[0]) { @@ -9957,8 +9957,8 @@ export async function getNugetMetadata(pkgList, dependencies = undefined) { np.name, np.version, null, - null - ).toString() + null, + ).toString(), ); depRepList[oldRef] = p["bom-ref"]; p.version = np.version; @@ -9999,7 +9999,7 @@ export async function getNugetMetadata(pkgList, dependencies = undefined) { p.name + "/" + p.version + - "/" + "/", }; if ( (!p.license || typeof p.license === "string") && @@ -10045,7 +10045,7 @@ export async function getNugetMetadata(pkgList, dependencies = undefined) { } return { pkgList: cdepList, - dependencies: newDependencies + dependencies: newDependencies, }; } @@ -10111,7 +10111,7 @@ export function addEvidenceForDotnet(pkgList, slicesFile) { purlMethodsMap[modPurl] = new Set(); } purlLocationMap[modPurl].add( - `${amethodCall.Path}#${amethodCall.LineNumber}` + `${amethodCall.Path}#${amethodCall.LineNumber}`, ); purlModulesMap[modPurl].add(amethodCall.ClassName); purlMethodsMap[modPurl].add(amethodCall.CalledMethod); @@ -10123,25 +10123,25 @@ export function addEvidenceForDotnet(pkgList, slicesFile) { for (const apkg of pkgList) { if (purlLocationMap[apkg.purl]) { const locationOccurrences = Array.from( - purlLocationMap[apkg.purl] + purlLocationMap[apkg.purl], ).sort(); // Add the occurrences evidence apkg.evidence.occurrences = locationOccurrences.map((l) => ({ - location: l + location: l, })); } // Add the imported modules to properties if (purlModulesMap[apkg.purl]) { apkg.properties.push({ name: "ImportedModules", - value: Array.from(purlModulesMap[apkg.purl]).sort().join(", ") + value: Array.from(purlModulesMap[apkg.purl]).sort().join(", "), }); } // Add the called methods to properties if (purlMethodsMap[apkg.purl]) { apkg.properties.push({ name: "CalledMethods", - value: Array.from(purlMethodsMap[apkg.purl]).sort().join(", ") + value: Array.from(purlMethodsMap[apkg.purl]).sort().join(", "), }); } } diff --git a/utils.test.js b/utils.test.js index 20ff80641..56d6c0ef3 100644 --- a/utils.test.js +++ b/utils.test.js @@ -1,3 +1,8 @@ +import { Buffer } from "node:buffer"; +import { readFileSync } from "node:fs"; +import path from "node:path"; +import { expect, test } from "@jest/globals"; +import { parse } from "ssri"; import { encodeForPurl, findLicenseId, @@ -77,90 +82,85 @@ import { parseSwiftResolved, parseYarnLock, readZipEntry, - yarnLockToIdentMap + yarnLockToIdentMap, } from "./utils.js"; -import { readFileSync } from "node:fs"; -import { parse } from "ssri"; -import { expect, test } from "@jest/globals"; -import path from "node:path"; -import { Buffer } from "node:buffer"; test("SSRI test", () => { // gopkg.lock hash let ss = parse( - "2ca532a6bc655663344004ba102436d29031018eab236247678db1d8978627bf" + "2ca532a6bc655663344004ba102436d29031018eab236247678db1d8978627bf", ); expect(ss).toEqual(null); ss = parse( - "sha256-2ca532a6bc655663344004ba102436d29031018eab236247678db1d8978627bf" + "sha256-2ca532a6bc655663344004ba102436d29031018eab236247678db1d8978627bf", ); expect(ss.sha256[0].digest).toStrictEqual( - "2ca532a6bc655663344004ba102436d29031018eab236247678db1d8978627bf" + "2ca532a6bc655663344004ba102436d29031018eab236247678db1d8978627bf", ); ss = parse( "sha256-" + Buffer.from( "2ca532a6bc655663344004ba102436d29031018eab236247678db1d8978627bf", - "hex" - ).toString("base64") + "hex", + ).toString("base64"), ); expect(ss.sha256[0].digest).toStrictEqual( - "LKUyprxlVmM0QAS6ECQ20pAxAY6rI2JHZ42x2JeGJ78=" + "LKUyprxlVmM0QAS6ECQ20pAxAY6rI2JHZ42x2JeGJ78=", ); ss = parse( - "sha512-Vn0lE2mprXEFPcRoI89xjw1fk1VJiyVbwfaPnVnvCXxEieByioO8Mj6sMwa6ON9PRuqbAjIxaQpkzccu41sYlw==" + "sha512-Vn0lE2mprXEFPcRoI89xjw1fk1VJiyVbwfaPnVnvCXxEieByioO8Mj6sMwa6ON9PRuqbAjIxaQpkzccu41sYlw==", ); expect(ss.sha512[0].digest).toStrictEqual( - "Vn0lE2mprXEFPcRoI89xjw1fk1VJiyVbwfaPnVnvCXxEieByioO8Mj6sMwa6ON9PRuqbAjIxaQpkzccu41sYlw==" + "Vn0lE2mprXEFPcRoI89xjw1fk1VJiyVbwfaPnVnvCXxEieByioO8Mj6sMwa6ON9PRuqbAjIxaQpkzccu41sYlw==", ); }); test("Parse requires dist string", () => { expect(parsePyRequiresDist("lazy-object-proxy (>=1.4.0)")).toEqual({ name: "lazy-object-proxy", - version: "1.4.0" + version: "1.4.0", }); expect(parsePyRequiresDist("wrapt (<1.13,>=1.11)")).toEqual({ name: "wrapt", - version: "1.13" + version: "1.13", }); expect( parsePyRequiresDist( - 'typed-ast (<1.5,>=1.4.0) ; implementation_name == "cpython" and python_version < "3.8"' - ) + 'typed-ast (<1.5,>=1.4.0) ; implementation_name == "cpython" and python_version < "3.8"', + ), ).toEqual({ name: "typed-ast", version: "1.5" }); expect(parsePyRequiresDist("asgiref (<4,>=3.2.10)")).toEqual({ name: "asgiref", - version: "4" + version: "4", }); expect(parsePyRequiresDist("pytz")).toEqual({ name: "pytz", - version: "" + version: "", }); expect(parsePyRequiresDist("sqlparse (>=0.2.2)")).toEqual({ name: "sqlparse", - version: "0.2.2" + version: "0.2.2", }); expect( - parsePyRequiresDist("argon2-cffi (>=16.1.0) ; extra == 'argon2'") + parsePyRequiresDist("argon2-cffi (>=16.1.0) ; extra == 'argon2'"), ).toEqual({ name: "argon2-cffi", version: "16.1.0" }); expect(parsePyRequiresDist("bcrypt ; extra == 'bcrypt'")).toEqual({ name: "bcrypt", - version: "" + version: "", }); }); test("finds license id from name", () => { expect(findLicenseId("Apache License Version 2.0")).toEqual("Apache-2.0"); expect(findLicenseId("GNU General Public License (GPL) version 2.0")).toEqual( - "GPL-2.0-only" + "GPL-2.0-only", ); }); test("parse gradle dependencies", () => { expect(parseGradleDep(null)).toEqual({}); let parsedList = parseGradleDep( - readFileSync("./test/gradle-dep.out", { encoding: "utf-8" }) + readFileSync("./test/gradle-dep.out", { encoding: "utf-8" }), ); expect(parsedList.pkgList.length).toEqual(33); expect(parsedList.dependenciesList.length).toEqual(34); @@ -168,15 +168,15 @@ test("parse gradle dependencies", () => { group: "org.ethereum", name: "solcJ-all", qualifiers: { - type: "jar" + type: "jar", }, version: "0.4.25", "bom-ref": "pkg:maven/org.ethereum/solcJ-all@0.4.25?type=jar", - purl: "pkg:maven/org.ethereum/solcJ-all@0.4.25?type=jar" + purl: "pkg:maven/org.ethereum/solcJ-all@0.4.25?type=jar", }); parsedList = parseGradleDep( - readFileSync("./test/data/gradle-android-dep.out", { encoding: "utf-8" }) + readFileSync("./test/data/gradle-android-dep.out", { encoding: "utf-8" }), ); expect(parsedList.pkgList.length).toEqual(104); expect(parsedList.dependenciesList.length).toEqual(105); @@ -184,38 +184,38 @@ test("parse gradle dependencies", () => { group: "com.android.support.test", name: "runner", qualifiers: { - type: "jar" + type: "jar", }, scope: "optional", version: "1.0.2", properties: [ { name: "GradleProfileName", - value: "androidTestImplementation" - } + value: "androidTestImplementation", + }, ], "bom-ref": "pkg:maven/com.android.support.test/runner@1.0.2?type=jar", - purl: "pkg:maven/com.android.support.test/runner@1.0.2?type=jar" + purl: "pkg:maven/com.android.support.test/runner@1.0.2?type=jar", }); expect(parsedList.pkgList[103]).toEqual({ group: "androidx.core", name: "core", qualifiers: { - type: "jar" + type: "jar", }, version: "1.7.0", scope: "optional", properties: [ { name: "GradleProfileName", - value: "releaseUnitTestRuntimeClasspath" - } + value: "releaseUnitTestRuntimeClasspath", + }, ], "bom-ref": "pkg:maven/androidx.core/core@1.7.0?type=jar", - purl: "pkg:maven/androidx.core/core@1.7.0?type=jar" + purl: "pkg:maven/androidx.core/core@1.7.0?type=jar", }); parsedList = parseGradleDep( - readFileSync("./test/data/gradle-out1.dep", { encoding: "utf-8" }) + readFileSync("./test/data/gradle-out1.dep", { encoding: "utf-8" }), ); expect(parsedList.pkgList.length).toEqual(89); expect(parsedList.dependenciesList.length).toEqual(90); @@ -227,16 +227,16 @@ test("parse gradle dependencies", () => { properties: [ { name: "GradleProfileName", - value: "compileClasspath" - } + value: "compileClasspath", + }, ], "bom-ref": "pkg:maven/org.springframework.boot/spring-boot-starter-web@2.2.0.RELEASE?type=jar", - purl: "pkg:maven/org.springframework.boot/spring-boot-starter-web@2.2.0.RELEASE?type=jar" + purl: "pkg:maven/org.springframework.boot/spring-boot-starter-web@2.2.0.RELEASE?type=jar", }); parsedList = parseGradleDep( - readFileSync("./test/data/gradle-rich1.dep", { encoding: "utf-8" }) + readFileSync("./test/data/gradle-rich1.dep", { encoding: "utf-8" }), ); expect(parsedList.pkgList.length).toEqual(4); expect(parsedList.pkgList[parsedList.pkgList.length - 1]).toEqual({ @@ -245,10 +245,10 @@ test("parse gradle dependencies", () => { qualifiers: { type: "jar" }, version: "1.4.5", "bom-ref": "pkg:maven/ch.qos.logback/logback-core@1.4.5?type=jar", - purl: "pkg:maven/ch.qos.logback/logback-core@1.4.5?type=jar" + purl: "pkg:maven/ch.qos.logback/logback-core@1.4.5?type=jar", }); parsedList = parseGradleDep( - readFileSync("./test/data/gradle-rich2.dep", { encoding: "utf-8" }) + readFileSync("./test/data/gradle-rich2.dep", { encoding: "utf-8" }), ); expect(parsedList.pkgList.length).toEqual(2); expect(parsedList.pkgList).toEqual([ @@ -258,7 +258,7 @@ test("parse gradle dependencies", () => { qualifiers: { type: "jar" }, version: "8.1.1", "bom-ref": "pkg:maven/io.appium/java-client@8.1.1?type=jar", - purl: "pkg:maven/io.appium/java-client@8.1.1?type=jar" + purl: "pkg:maven/io.appium/java-client@8.1.1?type=jar", }, { group: "org.seleniumhq.selenium", @@ -267,11 +267,11 @@ test("parse gradle dependencies", () => { version: "4.5.0", "bom-ref": "pkg:maven/org.seleniumhq.selenium/selenium-support@4.5.0?type=jar", - purl: "pkg:maven/org.seleniumhq.selenium/selenium-support@4.5.0?type=jar" - } + purl: "pkg:maven/org.seleniumhq.selenium/selenium-support@4.5.0?type=jar", + }, ]); parsedList = parseGradleDep( - readFileSync("./test/data/gradle-rich3.dep", { encoding: "utf-8" }) + readFileSync("./test/data/gradle-rich3.dep", { encoding: "utf-8" }), ); expect(parsedList.pkgList.length).toEqual(1); expect(parsedList.pkgList).toEqual([ @@ -282,11 +282,11 @@ test("parse gradle dependencies", () => { qualifiers: { type: "jar" }, "bom-ref": "pkg:maven/org.seleniumhq.selenium/selenium-remote-driver@4.5.0?type=jar", - purl: "pkg:maven/org.seleniumhq.selenium/selenium-remote-driver@4.5.0?type=jar" - } + purl: "pkg:maven/org.seleniumhq.selenium/selenium-remote-driver@4.5.0?type=jar", + }, ]); parsedList = parseGradleDep( - readFileSync("./test/data/gradle-rich4.dep", { encoding: "utf-8" }) + readFileSync("./test/data/gradle-rich4.dep", { encoding: "utf-8" }), ); expect(parsedList.pkgList.length).toEqual(1); expect(parsedList.pkgList).toEqual([ @@ -297,45 +297,47 @@ test("parse gradle dependencies", () => { qualifiers: { type: "jar" }, "bom-ref": "pkg:maven/org.seleniumhq.selenium/selenium-api@4.5.0?type=jar", - purl: "pkg:maven/org.seleniumhq.selenium/selenium-api@4.5.0?type=jar" - } + purl: "pkg:maven/org.seleniumhq.selenium/selenium-api@4.5.0?type=jar", + }, ]); parsedList = parseGradleDep( - readFileSync("./test/data/gradle-rich5.dep", { encoding: "utf-8" }) + readFileSync("./test/data/gradle-rich5.dep", { encoding: "utf-8" }), ); expect(parsedList.pkgList.length).toEqual(67); expect(parsedList.dependenciesList.length).toEqual(68); parsedList = parseGradleDep( - readFileSync("./test/data/gradle-out-249.dep", { encoding: "utf-8" }) + readFileSync("./test/data/gradle-out-249.dep", { encoding: "utf-8" }), ); expect(parsedList.pkgList.length).toEqual(21); expect(parsedList.dependenciesList.length).toEqual(22); parsedList = parseGradleDep( - readFileSync("./test/data/gradle-service.out", { encoding: "utf-8" }) + readFileSync("./test/data/gradle-service.out", { encoding: "utf-8" }), ); expect(parsedList.pkgList.length).toEqual(35); expect(parsedList.dependenciesList.length).toEqual(36); parsedList = parseGradleDep( - readFileSync("./test/data/gradle-s.out", { encoding: "utf-8" }) + readFileSync("./test/data/gradle-s.out", { encoding: "utf-8" }), ); expect(parsedList.pkgList.length).toEqual(28); expect(parsedList.dependenciesList.length).toEqual(29); parsedList = parseGradleDep( - readFileSync("./test/data/gradle-core.out", { encoding: "utf-8" }) + readFileSync("./test/data/gradle-core.out", { encoding: "utf-8" }), ); expect(parsedList.pkgList.length).toEqual(18); expect(parsedList.dependenciesList.length).toEqual(19); parsedList = parseGradleDep( - readFileSync("./test/data/gradle-single.out", { encoding: "utf-8" }) + readFileSync("./test/data/gradle-single.out", { encoding: "utf-8" }), ); expect(parsedList.pkgList.length).toEqual(152); expect(parsedList.dependenciesList.length).toEqual(153); parsedList = parseGradleDep( - readFileSync("./test/data/gradle-android-app.dep", { encoding: "utf-8" }) + readFileSync("./test/data/gradle-android-app.dep", { encoding: "utf-8" }), ); expect(parsedList.pkgList.length).toEqual(102); parsedList = parseGradleDep( - readFileSync("./test/data/gradle-android-jetify.dep", { encoding: "utf-8" }) + readFileSync("./test/data/gradle-android-jetify.dep", { + encoding: "utf-8", + }), ); expect(parsedList.pkgList.length).toEqual(1); expect(parsedList.pkgList).toEqual([ @@ -345,18 +347,18 @@ test("parse gradle dependencies", () => { version: "1.2.0", qualifiers: { type: "jar" }, "bom-ref": "pkg:maven/androidx.appcompat/appcompat@1.2.0?type=jar", - purl: "pkg:maven/androidx.appcompat/appcompat@1.2.0?type=jar" - } + purl: "pkg:maven/androidx.appcompat/appcompat@1.2.0?type=jar", + }, ]); parsedList = parseGradleDep( - readFileSync("./test/data/gradle-sm.dep", { encoding: "utf-8" }) + readFileSync("./test/data/gradle-sm.dep", { encoding: "utf-8" }), ); expect(parsedList.pkgList.length).toEqual(6); expect(parsedList.dependenciesList.length).toEqual(7); parsedList = parseGradleDep( readFileSync("./test/data/gradle-dependencies-559.txt", { - encoding: "utf-8" - }) + encoding: "utf-8", + }), ); expect(parsedList.pkgList.length).toEqual(372); }); @@ -364,39 +366,39 @@ test("parse gradle dependencies", () => { test("parse gradle projects", () => { expect(parseGradleProjects(null)).toEqual({ projects: [], - rootProject: "root" + rootProject: "root", }); let retMap = parseGradleProjects( - readFileSync("./test/data/gradle-projects.out", { encoding: "utf-8" }) + readFileSync("./test/data/gradle-projects.out", { encoding: "utf-8" }), ); expect(retMap.rootProject).toEqual("elasticsearch"); expect(retMap.projects.length).toEqual(368); retMap = parseGradleProjects( - readFileSync("./test/data/gradle-projects1.out", { encoding: "utf-8" }) + readFileSync("./test/data/gradle-projects1.out", { encoding: "utf-8" }), ); expect(retMap.rootProject).toEqual("elasticsearch"); expect(retMap.projects.length).toEqual(409); retMap = parseGradleProjects( - readFileSync("./test/data/gradle-projects2.out", { encoding: "utf-8" }) + readFileSync("./test/data/gradle-projects2.out", { encoding: "utf-8" }), ); expect(retMap.rootProject).toEqual("fineract"); expect(retMap.projects.length).toEqual(22); retMap = parseGradleProjects( - readFileSync("./test/data/gradle-android-app.dep", { encoding: "utf-8" }) + readFileSync("./test/data/gradle-android-app.dep", { encoding: "utf-8" }), ); expect(retMap.rootProject).toEqual("root"); expect(retMap.projects).toEqual([":app"]); retMap = parseGradleProjects( readFileSync("./test/data/gradle-properties-sm.txt", { - encoding: "utf-8" - }) + encoding: "utf-8", + }), ); expect(retMap.rootProject).toEqual("root"); expect(retMap.projects).toEqual([ ":module:dummy:core", ":module:dummy:service", ":module:dummy:starter", - ":custom:foo:service" + ":custom:foo:service", ]); }); @@ -407,18 +409,18 @@ test("parse gradle properties", () => { metadata: { group: "", version: "latest", - properties: [] - } + properties: [], + }, }); let retMap = parseGradleProperties( - readFileSync("./test/data/gradle-properties.txt", { encoding: "utf-8" }) + readFileSync("./test/data/gradle-properties.txt", { encoding: "utf-8" }), ); expect(retMap).toEqual({ rootProject: "dependency-diff-check", projects: [ ":dependency-diff-check-client-starter", ":dependency-diff-check-common-core", - ":dependency-diff-check-service" + ":dependency-diff-check-service", ], metadata: { group: "com.ajmalab", @@ -427,23 +429,23 @@ test("parse gradle properties", () => { { name: "buildFile", value: - "/home/almalinux/work/sandbox/dependency-diff-check/build.gradle" + "/home/almalinux/work/sandbox/dependency-diff-check/build.gradle", }, { name: "projectDir", - value: "/home/almalinux/work/sandbox/dependency-diff-check" + value: "/home/almalinux/work/sandbox/dependency-diff-check", }, { name: "rootDir", - value: "/home/almalinux/work/sandbox/dependency-diff-check" - } - ] - } + value: "/home/almalinux/work/sandbox/dependency-diff-check", + }, + ], + }, }); retMap = parseGradleProperties( readFileSync("./test/data/gradle-properties-single.txt", { - encoding: "utf-8" - }) + encoding: "utf-8", + }), ); expect(retMap).toEqual({ rootProject: "java-test", @@ -454,20 +456,20 @@ test("parse gradle properties", () => { properties: [ { name: "buildFile", - value: "/home/almalinux/work/sandbox/java-test/build.gradle" + value: "/home/almalinux/work/sandbox/java-test/build.gradle", }, { name: "projectDir", - value: "/home/almalinux/work/sandbox/java-test" + value: "/home/almalinux/work/sandbox/java-test", }, - { name: "rootDir", value: "/home/almalinux/work/sandbox/java-test" } - ] - } + { name: "rootDir", value: "/home/almalinux/work/sandbox/java-test" }, + ], + }, }); retMap = parseGradleProperties( readFileSync("./test/data/gradle-properties-single2.txt", { - encoding: "utf-8" - }) + encoding: "utf-8", + }), ); expect(retMap).toEqual({ rootProject: "java-test", @@ -478,38 +480,38 @@ test("parse gradle properties", () => { properties: [ { name: "buildFile", - value: "/home/almalinux/work/sandbox/java-test/build.gradle" + value: "/home/almalinux/work/sandbox/java-test/build.gradle", }, { name: "projectDir", value: "/home/almalinux/work/sandbox/java-test" }, - { name: "rootDir", value: "/home/almalinux/work/sandbox/java-test" } - ] - } + { name: "rootDir", value: "/home/almalinux/work/sandbox/java-test" }, + ], + }, }); retMap = parseGradleProperties( readFileSync("./test/data/gradle-properties-elastic.txt", { - encoding: "utf-8" - }) + encoding: "utf-8", + }), ); expect(retMap.rootProject).toEqual("elasticsearch"); expect(retMap.projects.length).toEqual(409); retMap = parseGradleProperties( readFileSync("./test/data/gradle-properties-android.txt", { - encoding: "utf-8" - }) + encoding: "utf-8", + }), ); expect(retMap.rootProject).toEqual("CdxgenAndroidTest"); expect(retMap.projects.length).toEqual(2); retMap = parseGradleProperties( readFileSync("./test/data/gradle-properties-sm.txt", { - encoding: "utf-8" - }) + encoding: "utf-8", + }), ); expect(retMap.rootProject).toEqual("root"); expect(retMap.projects).toEqual([]); retMap = parseGradleProperties( readFileSync("./test/data/gradle-properties-559.txt", { - encoding: "utf-8" - }) + encoding: "utf-8", + }), ); expect(retMap.rootProject).toEqual("failing-project"); expect(retMap.projects).toEqual([]); @@ -518,7 +520,7 @@ test("parse gradle properties", () => { test("parse maven tree", () => { expect(parseMavenTree(null)).toEqual({}); let parsedList = parseMavenTree( - readFileSync("./test/data/sample-mvn-tree.txt", { encoding: "utf-8" }) + readFileSync("./test/data/sample-mvn-tree.txt", { encoding: "utf-8" }), ); expect(parsedList.pkgList.length).toEqual(61); expect(parsedList.dependenciesList.length).toEqual(61); @@ -526,7 +528,7 @@ test("parse maven tree", () => { group: "com.pogeyan.cmis", name: "copper-server", version: "1.15.2", - qualifiers: { type: "war" } + qualifiers: { type: "war" }, }); expect(parsedList.dependenciesList[0]).toEqual({ ref: "pkg:maven/com.pogeyan.cmis/copper-server@1.15.2?type=war", @@ -549,13 +551,13 @@ test("parse maven tree", () => { "pkg:maven/com.typesafe.akka/akka-cluster_2.11@2.4.14?type=jar", "pkg:maven/org.codehaus.jackson/jackson-mapper-asl@1.9.13?type=jar", "pkg:maven/org.slf4j/slf4j-log4j12@1.7.21?type=jar", - "pkg:maven/commons-io/commons-io@2.6?type=jar" - ] + "pkg:maven/commons-io/commons-io@2.6?type=jar", + ], }); parsedList = parseMavenTree( readFileSync("./test/data/mvn-dep-tree-simple.txt", { - encoding: "utf-8" - }) + encoding: "utf-8", + }), ); expect(parsedList.pkgList.length).toEqual(37); expect(parsedList.dependenciesList.length).toEqual(37); @@ -563,7 +565,7 @@ test("parse maven tree", () => { group: "com.gitlab.security_products.tests", name: "java-maven", version: "1.0-SNAPSHOT", - qualifiers: { type: "jar" } + qualifiers: { type: "jar" }, }); expect(parsedList.dependenciesList[0]).toEqual({ ref: "pkg:maven/com.gitlab.security_products.tests/java-maven@1.0-SNAPSHOT?type=jar", @@ -574,26 +576,26 @@ test("parse maven tree", () => { "pkg:maven/org.apache.maven/maven-artifact@3.3.9?type=jar", "pkg:maven/com.fasterxml.jackson.core/jackson-databind@2.9.2?type=jar", "pkg:maven/org.mozilla/rhino@1.7.10?type=jar", - "pkg:maven/org.apache.geode/geode-core@1.1.1?type=jar" - ] + "pkg:maven/org.apache.geode/geode-core@1.1.1?type=jar", + ], }); parsedList = parseMavenTree( readFileSync("./test/data/mvn-p2-plugin.txt", { - encoding: "utf-8" - }) + encoding: "utf-8", + }), ); expect(parsedList.pkgList.length).toEqual(79); expect(parsedList.pkgList[0]).toEqual({ group: "example.group", name: "eclipse-repository", version: "1.0.0-SNAPSHOT", - qualifiers: { type: "eclipse-repository" } + qualifiers: { type: "eclipse-repository" }, }); expect(parsedList.pkgList[4]).toEqual({ group: "p2.eclipse.plugin", name: "com.ibm.icu", version: "67.1.0.v20200706-1749", - qualifiers: { type: "eclipse-plugin" } + qualifiers: { type: "eclipse-plugin" }, }); expect(parsedList.dependenciesList.length).toEqual(79); expect(parsedList.dependenciesList[0]).toEqual({ @@ -603,8 +605,8 @@ test("parse maven tree", () => { "pkg:maven/example.group/example-feature-2@0.2.0-SNAPSHOT?type=eclipse-feature", "pkg:maven/example.group/example-bundle@0.1.0-SNAPSHOT?type=eclipse-plugin", "pkg:maven/example.group/org.tycho.demo.rootfiles@1.0.0?type=p2-installable-unit", - "pkg:maven/example.group/org.tycho.demo.rootfiles.win@1.0.0-SNAPSHOT?type=p2-installable-unit" - ] + "pkg:maven/example.group/org.tycho.demo.rootfiles.win@1.0.0-SNAPSHOT?type=p2-installable-unit", + ], }); }); @@ -666,17 +668,17 @@ test("get py metadata", async () => { { group: "", name: "Flask", - version: "1.1.0" - } + version: "1.1.0", + }, ], - false + false, ); expect(data).toEqual([ { group: "", name: "Flask", - version: "1.1.0" - } + version: "1.1.0", + }, ]); }, 240000); @@ -692,11 +694,11 @@ test("parseGoModData", async () => { "github.com/spf13/viper@v1.0.2": "sha256-A8kyI5cUJhb8N+3pkfONlcEcZbueH6nhAm0Fq7SrnBM=", "github.com/stretchr/testify@v1.6.1": - "sha256-6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=" + "sha256-6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=", }; dep_list = await parseGoModData( readFileSync("./test/gomod/go.mod", { encoding: "utf-8" }), - gosumMap + gosumMap, ); expect(dep_list.length).toEqual(4); expect(dep_list[0]).toEqual({ @@ -706,7 +708,7 @@ test("parseGoModData", async () => { version: "v1.38.47", _integrity: "sha256-fake-sha-for-aws-go-sdk=", "bom-ref": "pkg:golang/github.com/aws/aws-sdk-go@v1.38.47", - purl: "pkg:golang/github.com/aws/aws-sdk-go@v1.38.47" + purl: "pkg:golang/github.com/aws/aws-sdk-go@v1.38.47", }); expect(dep_list[1]).toEqual({ group: "", @@ -715,7 +717,7 @@ test("parseGoModData", async () => { purl: "pkg:golang/github.com/spf13/cobra@v1.0.0", license: undefined, version: "v1.0.0", - _integrity: "sha256-/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE=" + _integrity: "sha256-/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE=", }); expect(dep_list[2]).toEqual({ group: "", @@ -724,7 +726,7 @@ test("parseGoModData", async () => { purl: "pkg:golang/google.golang.org/grpc@v1.21.0", license: undefined, version: "v1.21.0", - _integrity: "sha256-oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=" + _integrity: "sha256-oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=", }); expect(dep_list[3]).toEqual({ group: "", @@ -733,7 +735,7 @@ test("parseGoModData", async () => { purl: "pkg:golang/github.com/spf13/viper@v1.0.2", license: undefined, version: "v1.0.2", - _integrity: "sha256-A8kyI5cUJhb8N+3pkfONlcEcZbueH6nhAm0Fq7SrnBM=" + _integrity: "sha256-A8kyI5cUJhb8N+3pkfONlcEcZbueH6nhAm0Fq7SrnBM=", }); dep_list.forEach((d) => { expect(d.license); @@ -744,7 +746,7 @@ test("parseGoSumData", async () => { let dep_list = await parseGoModData(null); expect(dep_list).toEqual([]); dep_list = await parseGosumData( - readFileSync("./test/gomod/go.sum", { encoding: "utf-8" }) + readFileSync("./test/gomod/go.sum", { encoding: "utf-8" }), ); expect(dep_list.length).toEqual(4); expect(dep_list[0]).toEqual({ @@ -752,28 +754,28 @@ test("parseGoSumData", async () => { name: "google.golang.org/grpc", license: undefined, version: "v1.21.0", - _integrity: "sha256-oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=" + _integrity: "sha256-oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=", }); expect(dep_list[1]).toEqual({ group: "", name: "github.com/spf13/cobra", license: undefined, version: "v1.0.0", - _integrity: "sha256-/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE=" + _integrity: "sha256-/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE=", }); expect(dep_list[2]).toEqual({ group: "", name: "github.com/spf13/viper", license: undefined, version: "v1.0.2", - _integrity: "sha256-A8kyI5cUJhb8N+3pkfONlcEcZbueH6nhAm0Fq7SrnBM=" + _integrity: "sha256-A8kyI5cUJhb8N+3pkfONlcEcZbueH6nhAm0Fq7SrnBM=", }); expect(dep_list[3]).toEqual({ group: "", name: "github.com/stretchr/testify", license: undefined, version: "v1.6.1", - _integrity: "sha256-6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=" + _integrity: "sha256-6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=", }); dep_list.forEach((d) => { expect(d.license); @@ -783,7 +785,7 @@ test("parseGoSumData", async () => { test("parse go list dependencies", async () => { const retMap = await parseGoListDep( readFileSync("./test/data/golist-dep.txt", { encoding: "utf-8" }), - {} + {}, ); expect(retMap.pkgList.length).toEqual(4); expect(retMap.pkgList[0]).toEqual({ @@ -799,10 +801,10 @@ test("parse go list dependencies", async () => { { name: "SrcGoMod", value: - "/home/almalinux/go/pkg/mod/cache/download/github.com/gorilla/mux/@v/v1.7.4.mod" + "/home/almalinux/go/pkg/mod/cache/download/github.com/gorilla/mux/@v/v1.7.4.mod", }, - { name: "ModuleGoVersion", value: "1.12" } - ] + { name: "ModuleGoVersion", value: "1.12" }, + ], }); }); @@ -812,7 +814,7 @@ test("parse go mod graph", async () => { "./test/data/gomod-graph.txt", {}, [], - {} + {}, ); expect(retMap.pkgList.length).toEqual(537); expect(retMap.pkgList[0]).toEqual({ @@ -829,22 +831,22 @@ test("parse go mod graph", async () => { { technique: "manifest-analysis", confidence: 1, - value: "./test/data/gomod-graph.txt" - } - ] - } + value: "./test/data/gomod-graph.txt", + }, + ], + }, }, - properties: [{ name: "SrcFile", value: "./test/data/gomod-graph.txt" }] + properties: [{ name: "SrcFile", value: "./test/data/gomod-graph.txt" }], }); }); test("parse go mod why dependencies", () => { let pkg_name = parseGoModWhy( - readFileSync("./test/data/gomodwhy.txt", { encoding: "utf-8" }) + readFileSync("./test/data/gomodwhy.txt", { encoding: "utf-8" }), ); expect(pkg_name).toEqual("github.com/mailgun/mailgun-go/v4"); pkg_name = parseGoModWhy( - readFileSync("./test/data/gomodwhynot.txt", { encoding: "utf-8" }) + readFileSync("./test/data/gomodwhynot.txt", { encoding: "utf-8" }), ); expect(pkg_name).toBeUndefined(); }); @@ -853,14 +855,14 @@ test("parseGopkgData", async () => { let dep_list = await parseGopkgData(null); expect(dep_list).toEqual([]); dep_list = await parseGopkgData( - readFileSync("./test/gopkg/Gopkg.lock", { encoding: "utf-8" }) + readFileSync("./test/gopkg/Gopkg.lock", { encoding: "utf-8" }), ); expect(dep_list.length).toEqual(36); expect(dep_list[0]).toEqual({ group: "", name: "cloud.google.com/go", version: "v0.39.0", - _integrity: "sha256-LKUyprxlVmM0QAS6ECQ20pAxAY6rI2JHZ42x2JeGJ78=" + _integrity: "sha256-LKUyprxlVmM0QAS6ECQ20pAxAY6rI2JHZ42x2JeGJ78=", }); dep_list.forEach((d) => { expect(d.license); @@ -870,7 +872,7 @@ test("parseGopkgData", async () => { test("parse go version data", async () => { let dep_list = await parseGoVersionData( readFileSync("./test/data/goversion.txt", { encoding: "utf-8" }), - {} + {}, ); expect(dep_list.length).toEqual(125); expect(dep_list[0]).toEqual({ @@ -881,11 +883,11 @@ test("parse go version data", async () => { purl: "pkg:golang/github.com/ShiftLeftSecurity/atlassian-connect-go@v0.0.2", version: "v0.0.2", _integrity: "", - license: undefined + license: undefined, }); dep_list = await parseGoVersionData( readFileSync("./test/data/goversion2.txt", { encoding: "utf-8" }), - {} + {}, ); expect(dep_list.length).toEqual(149); expect(dep_list[0]).toEqual({ @@ -895,7 +897,7 @@ test("parse go version data", async () => { purl: "pkg:golang/cloud.google.com/go@v0.79.0", version: "v0.79.0", _integrity: "sha256-oqqswrt4x6b9OGBnNqdssxBl1xf0rSUNjU2BR4BZar0=", - license: undefined + license: undefined, }); }); @@ -915,8 +917,8 @@ test("parse cargo lock", async () => { { alg: "SHA-384", content: - "6a07677093120a02583717b6dd1ef81d8de1e8d01bd226c83f0f9bdf3e56bb3a" - } + "6a07677093120a02583717b6dd1ef81d8de1e8d01bd226c83f0f9bdf3e56bb3a", + }, ], evidence: { identity: { @@ -926,17 +928,17 @@ test("parse cargo lock", async () => { { technique: "manifest-analysis", confidence: 0.6, - value: "./test/Cargo.lock" - } - ] - } + value: "./test/Cargo.lock", + }, + ], + }, }, properties: [ { name: "SrcFile", - value: "./test/Cargo.lock" - } - ] + value: "./test/Cargo.lock", + }, + ], }); dep_list = await parseCargoData("./test/data/Cargom.lock"); @@ -952,8 +954,8 @@ test("parse cargo lock", async () => { { alg: "SHA-384", content: - "78d1833b3838dbe990df0f1f87baf640cf6146e898166afe401839d1b001e570" - } + "78d1833b3838dbe990df0f1f87baf640cf6146e898166afe401839d1b001e570", + }, ], evidence: { identity: { @@ -963,17 +965,17 @@ test("parse cargo lock", async () => { { technique: "manifest-analysis", confidence: 0.6, - value: "./test/data/Cargom.lock" - } - ] - } + value: "./test/data/Cargom.lock", + }, + ], + }, }, properties: [ { name: "SrcFile", - value: "./test/data/Cargom.lock" - } - ] + value: "./test/data/Cargom.lock", + }, + ], }); // The base64 package does not have an associated checksum. Make sure the @@ -1000,7 +1002,7 @@ test("parse cargo lock lists last package", async () => { test("parse cargo lock dependencies tests", async () => { const dependencyData = await parseCargoDependencyData( - readFileSync("./test/Cargo.lock", { encoding: "utf-8" }) + readFileSync("./test/Cargo.lock", { encoding: "utf-8" }), ); const purlIsPackage = (purl, packageName) => new RegExp(`^pkg:cargo/${packageName}.+`).test(purl); @@ -1010,7 +1012,7 @@ test("parse cargo lock dependencies tests", async () => { // Make sure some samples makes sense. // aho-corasick has a single dependency const ahoCorasick = dependencyData.find((dependency) => - purlIsPackage(dependency.ref, "aho-corasick") + purlIsPackage(dependency.ref, "aho-corasick"), ); expect(ahoCorasick.dependsOn.length).toEqual(1); expect(purlIsPackage(ahoCorasick.dependsOn[0], "memchr")).toBeTruthy(); @@ -1018,14 +1020,14 @@ test("parse cargo lock dependencies tests", async () => { // First edge case is component with a dependency of a specific version. // winapi-util has a dependency on "winapi 0.3.8" const winapiUtil = dependencyData.find((dependency) => - purlIsPackage(dependency.ref, "winapi-util") + purlIsPackage(dependency.ref, "winapi-util"), ); expect(purlIsPackage(winapiUtil.dependsOn[0], "winapi")).toBeTruthy(); expect(winapiUtil.dependsOn[0]).toContain("0.3.8"); // Second edge case is a component with a dependency of a specific version and a registry url. const base64 = dependencyData.find((dependency) => - purlIsPackage(dependency.ref, "base64") + purlIsPackage(dependency.ref, "base64"), ); expect(purlIsPackage(base64.dependsOn[0], "byteorder")).toBeTruthy(); expect(base64.dependsOn[0]).toContain("1.3.1"); @@ -1033,7 +1035,7 @@ test("parse cargo lock dependencies tests", async () => { // Make sure we respect packages specifying different versions of the same package. // kernel32-sys is dependent on a different version of winapi than winapi-util. const kernel32Sys = dependencyData.find((dependency) => - purlIsPackage(dependency.ref, "kernel32-sys") + purlIsPackage(dependency.ref, "kernel32-sys"), ); expect(purlIsPackage(kernel32Sys.dependsOn[0], "winapi")).toBeTruthy(); expect(kernel32Sys.dependsOn[0]).toContain("0.2.8"); @@ -1061,7 +1063,7 @@ checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" test("parse cargo lock dependencies tests for files on Windows", async () => { const fileContent = await readFileSync("./test/Cargo.lock", { - encoding: "utf-8" + encoding: "utf-8", }); // Simulate Windows files by forcing CRLF line endings to the data we @@ -1120,14 +1122,14 @@ test("parse cargo toml", async () => { { technique: "manifest-analysis", confidence: 0.5, - value: "./test/data/Cargo1.toml" - } - ] - } + value: "./test/data/Cargo1.toml", + }, + ], + }, }, purl: "pkg:cargo/unwind@0.0.0", "bom-ref": "pkg:cargo/unwind@0.0.0", - type: "library" + type: "library", }, { name: "libc", @@ -1141,14 +1143,14 @@ test("parse cargo toml", async () => { { technique: "manifest-analysis", confidence: 0.5, - value: "./test/data/Cargo1.toml" - } - ] - } + value: "./test/data/Cargo1.toml", + }, + ], + }, }, purl: "pkg:cargo/libc@0.2.79", "bom-ref": "pkg:cargo/libc@0.2.79", - type: "library" + type: "library", }, { name: "compiler_builtins", @@ -1162,14 +1164,14 @@ test("parse cargo toml", async () => { { technique: "manifest-analysis", confidence: 0.5, - value: "./test/data/Cargo1.toml" - } - ] - } + value: "./test/data/Cargo1.toml", + }, + ], + }, }, purl: "pkg:cargo/compiler_builtins@0.1.0", "bom-ref": "pkg:cargo/compiler_builtins@0.1.0", - type: "library" + type: "library", }, { name: "cfg-if", @@ -1183,15 +1185,15 @@ test("parse cargo toml", async () => { { technique: "manifest-analysis", confidence: 0.5, - value: "./test/data/Cargo1.toml" - } - ] - } + value: "./test/data/Cargo1.toml", + }, + ], + }, }, purl: "pkg:cargo/cfg-if@0.1.8", "bom-ref": "pkg:cargo/cfg-if@0.1.8", - type: "library" - } + type: "library", + }, ]); dep_list = await parseCargoTomlData("./test/data/Cargo2.toml"); expect(dep_list.length).toEqual(3); @@ -1210,14 +1212,14 @@ test("parse cargo toml", async () => { { technique: "manifest-analysis", confidence: 0.5, - value: "./test/data/Cargo2.toml" - } - ] - } + value: "./test/data/Cargo2.toml", + }, + ], + }, }, purl: "pkg:cargo/quiche-fuzz@0.1.0", "bom-ref": "pkg:cargo/quiche-fuzz@0.1.0", - type: "library" + type: "library", }, { name: "lazy_static", @@ -1231,14 +1233,14 @@ test("parse cargo toml", async () => { { technique: "manifest-analysis", confidence: 0.5, - value: "./test/data/Cargo2.toml" - } - ] - } + value: "./test/data/Cargo2.toml", + }, + ], + }, }, purl: "pkg:cargo/lazy_static@1", "bom-ref": "pkg:cargo/lazy_static@1", - type: "library" + type: "library", }, { name: "libfuzzer-sys", @@ -1252,16 +1254,16 @@ test("parse cargo toml", async () => { { technique: "manifest-analysis", confidence: 0.5, - value: "./test/data/Cargo2.toml" - } - ] - } + value: "./test/data/Cargo2.toml", + }, + ], + }, }, purl: "pkg:cargo/libfuzzer-sys@git%2Bhttps:%2F%2Fgithub.com%2Frust-fuzz%2Flibfuzzer-sys.git", "bom-ref": "pkg:cargo/libfuzzer-sys@git+https://github.com/rust-fuzz/libfuzzer-sys.git", - type: "library" - } + type: "library", + }, ]); dep_list = await parseCargoTomlData("./test/data/Cargo3.toml", true); expect(dep_list.length).toEqual(10); @@ -1270,13 +1272,13 @@ test("parse cargo toml", async () => { test("parse cargo auditable data", async () => { expect(await parseCargoAuditableData(null)).toEqual([]); const dep_list = await parseCargoAuditableData( - readFileSync("./test/data/cargo-auditable.txt", { encoding: "utf-8" }) + readFileSync("./test/data/cargo-auditable.txt", { encoding: "utf-8" }), ); expect(dep_list.length).toEqual(32); expect(dep_list[0]).toEqual({ group: "", name: "adler", - version: "1.0.2" + version: "1.0.2", }); }); @@ -1287,8 +1289,8 @@ test("get crates metadata", async () => { name: "abscissa_core", version: "0.5.2", _integrity: - "sha256-6a07677093120a02583717b6dd1ef81d8de1e8d01bd226c83f0f9bdf3e56bb3a" - } + "sha256-6a07677093120a02583717b6dd1ef81d8de1e8d01bd226c83f0f9bdf3e56bb3a", + }, ]); expect(dep_list.length).toEqual(1); expect(dep_list[0]).toEqual({ @@ -1301,24 +1303,24 @@ test("get crates metadata", async () => { "Application microframework with support for command-line option parsing,\nconfiguration, error handling, logging, and terminal interactions.\nThis crate contains the framework's core functionality.\n", license: ["Apache-2.0"], repository: { - url: "https://github.com/iqlusioninc/abscissa/tree/main/core/" + url: "https://github.com/iqlusioninc/abscissa/tree/main/core/", }, - homepage: { url: "https://github.com/iqlusioninc/abscissa/" } + homepage: { url: "https://github.com/iqlusioninc/abscissa/" }, }); }, 20000); test("parse pub lock", async () => { expect(await parsePubLockData(null)).toEqual([]); let dep_list = await parsePubLockData( - readFileSync("./test/data/pubspec.lock", { encoding: "utf-8" }) + readFileSync("./test/data/pubspec.lock", { encoding: "utf-8" }), ); expect(dep_list.length).toEqual(26); expect(dep_list[0]).toEqual({ name: "async", - version: "2.8.2" + version: "2.8.2", }); dep_list = parsePubYamlData( - readFileSync("./test/data/pubspec.yaml", { encoding: "utf-8" }) + readFileSync("./test/data/pubspec.yaml", { encoding: "utf-8" }), ); expect(dep_list.length).toEqual(1); expect(dep_list[0]).toEqual({ @@ -1327,8 +1329,8 @@ test("parse pub lock", async () => { description: "Flutter package to show beautiful dialogs(INFO,QUESTION,WARNING,SUCCESS,ERROR) with animations as simply as possible.", homepage: { - url: "https://github.com/marcos930807/awesomeDialogs" - } + url: "https://github.com/marcos930807/awesomeDialogs", + }, }); }); @@ -1337,8 +1339,8 @@ test("get dart metadata", async () => { { group: "", name: "async", - version: "2.11.0" - } + version: "2.11.0", + }, ]); expect(dep_list.length).toEqual(1); expect(dep_list[0]).toEqual({ @@ -1349,45 +1351,45 @@ test("get dart metadata", async () => { "Utility functions and classes related to the 'dart:async' library.", license: "BSD-3-Clause", repository: { - url: "https://github.com/dart-lang/async" - } + url: "https://github.com/dart-lang/async", + }, }); }, 120000); test("parse cabal freeze", () => { expect(parseCabalData(null)).toEqual([]); let dep_list = parseCabalData( - readFileSync("./test/data/cabal.project.freeze", { encoding: "utf-8" }) + readFileSync("./test/data/cabal.project.freeze", { encoding: "utf-8" }), ); expect(dep_list.length).toEqual(24); expect(dep_list[0]).toEqual({ name: "ansi-terminal", - version: "0.11.3" + version: "0.11.3", }); dep_list = parseCabalData( - readFileSync("./test/data/cabal-2.project.freeze", { encoding: "utf-8" }) + readFileSync("./test/data/cabal-2.project.freeze", { encoding: "utf-8" }), ); expect(dep_list.length).toEqual(366); expect(dep_list[0]).toEqual({ name: "Cabal", - version: "3.2.1.0" + version: "3.2.1.0", }); }); test("parse conan data", () => { expect(parseConanLockData(null)).toEqual([]); let dep_list = parseConanLockData( - readFileSync("./test/data/conan.lock", { encoding: "utf-8" }) + readFileSync("./test/data/conan.lock", { encoding: "utf-8" }), ); expect(dep_list.length).toEqual(3); expect(dep_list[0]).toEqual({ name: "zstd", version: "1.4.4", "bom-ref": "pkg:conan/zstd@1.4.4", - purl: "pkg:conan/zstd@1.4.4" + purl: "pkg:conan/zstd@1.4.4", }); dep_list = parseConanData( - readFileSync("./test/data/conanfile.txt", { encoding: "utf-8" }) + readFileSync("./test/data/conanfile.txt", { encoding: "utf-8" }), ); expect(dep_list.length).toEqual(3); expect(dep_list[0]).toEqual({ @@ -1395,10 +1397,10 @@ test("parse conan data", () => { version: "1.4.4", "bom-ref": "pkg:conan/zstd@1.4.4", purl: "pkg:conan/zstd@1.4.4", - scope: "required" + scope: "required", }); dep_list = parseConanData( - readFileSync("./test/data/cmakes/conanfile.txt", { encoding: "utf-8" }) + readFileSync("./test/data/cmakes/conanfile.txt", { encoding: "utf-8" }), ); expect(dep_list.length).toEqual(1); expect(dep_list[0]).toEqual({ @@ -1406,10 +1408,10 @@ test("parse conan data", () => { version: "1.8.0", "bom-ref": "pkg:conan/qr-code-generator@1.8.0", purl: "pkg:conan/qr-code-generator@1.8.0", - scope: "required" + scope: "required", }); dep_list = parseConanData( - readFileSync("./test/data/cmakes/conanfile1.txt", { encoding: "utf-8" }) + readFileSync("./test/data/cmakes/conanfile1.txt", { encoding: "utf-8" }), ); expect(dep_list.length).toEqual(42); expect(dep_list[0]).toEqual({ @@ -1418,131 +1420,131 @@ test("parse conan data", () => { name: "7-Zip", purl: "pkg:conan/7-Zip@19.00?revision=bb67aa9bc0da3feddc68ca9f334f4c8b", scope: "required", - version: "19.00" + version: "19.00", }); }); test("parse clojure data", () => { expect(parseLeiningenData(null)).toEqual([]); let dep_list = parseLeiningenData( - readFileSync("./test/data/project.clj", { encoding: "utf-8" }) + readFileSync("./test/data/project.clj", { encoding: "utf-8" }), ); expect(dep_list.length).toEqual(14); expect(dep_list[0]).toEqual({ group: "", name: "leiningen-core", - version: "2.9.9-SNAPSHOT" + version: "2.9.9-SNAPSHOT", }); dep_list = parseLeiningenData( - readFileSync("./test/data/project.clj.1", { encoding: "utf-8" }) + readFileSync("./test/data/project.clj.1", { encoding: "utf-8" }), ); expect(dep_list.length).toEqual(17); expect(dep_list[0]).toEqual({ group: "org.clojure", name: "clojure", - version: "1.9.0" + version: "1.9.0", }); dep_list = parseLeiningenData( - readFileSync("./test/data/project.clj.2", { encoding: "utf-8" }) + readFileSync("./test/data/project.clj.2", { encoding: "utf-8" }), ); expect(dep_list.length).toEqual(49); expect(dep_list[0]).toEqual({ group: "", name: "bidi", - version: "2.1.6" + version: "2.1.6", }); dep_list = parseEdnData( - readFileSync("./test/data/deps.edn", { encoding: "utf-8" }) + readFileSync("./test/data/deps.edn", { encoding: "utf-8" }), ); expect(dep_list.length).toEqual(20); expect(dep_list[0]).toEqual({ group: "org.clojure", name: "clojure", - version: "1.10.3" + version: "1.10.3", }); dep_list = parseEdnData( - readFileSync("./test/data/deps.edn.1", { encoding: "utf-8" }) + readFileSync("./test/data/deps.edn.1", { encoding: "utf-8" }), ); expect(dep_list.length).toEqual(11); expect(dep_list[0]).toEqual({ group: "org.clojure", name: "clojure", - version: "1.11.0-beta1" + version: "1.11.0-beta1", }); dep_list = parseEdnData( - readFileSync("./test/data/deps.edn.2", { encoding: "utf-8" }) + readFileSync("./test/data/deps.edn.2", { encoding: "utf-8" }), ); expect(dep_list.length).toEqual(5); expect(dep_list[0]).toEqual({ group: "clj-commons", name: "pomegranate", - version: "1.2.1" + version: "1.2.1", }); dep_list = parseCljDep( - readFileSync("./test/data/clj-tree.txt", { encoding: "utf-8" }) + readFileSync("./test/data/clj-tree.txt", { encoding: "utf-8" }), ); expect(dep_list.length).toEqual(253); expect(dep_list[0]).toEqual({ group: "org.bouncycastle", name: "bcprov-jdk15on", - version: "1.70" + version: "1.70", }); dep_list = parseLeinDep( - readFileSync("./test/data/lein-tree.txt", { encoding: "utf-8" }) + readFileSync("./test/data/lein-tree.txt", { encoding: "utf-8" }), ); expect(dep_list.length).toEqual(47); expect(dep_list[0]).toEqual({ group: "javax.xml.bind", name: "jaxb-api", - version: "2.4.0-b180830.0359" + version: "2.4.0-b180830.0359", }); }); test("parse mix lock data", () => { expect(parseMixLockData(null)).toEqual([]); let dep_list = parseMixLockData( - readFileSync("./test/data/mix.lock", { encoding: "utf-8" }) + readFileSync("./test/data/mix.lock", { encoding: "utf-8" }), ); expect(dep_list.length).toEqual(16); expect(dep_list[0]).toEqual({ name: "absinthe", - version: "1.7.0" + version: "1.7.0", }); dep_list = parseMixLockData( - readFileSync("./test/data/mix.lock.1", { encoding: "utf-8" }) + readFileSync("./test/data/mix.lock.1", { encoding: "utf-8" }), ); expect(dep_list.length).toEqual(23); expect(dep_list[0]).toEqual({ name: "bunt", - version: "0.2.0" + version: "0.2.0", }); }); test("parse github actions workflow data", () => { expect(parseGitHubWorkflowData(null)).toEqual([]); let dep_list = parseGitHubWorkflowData( - readFileSync("./.github/workflows/nodejs.yml", { encoding: "utf-8" }) + readFileSync("./.github/workflows/nodejs.yml", { encoding: "utf-8" }), ); expect(dep_list.length).toEqual(3); expect(dep_list[0]).toEqual({ group: "actions", name: "checkout", - version: "v4" + version: "v4", }); dep_list = parseGitHubWorkflowData( - readFileSync("./.github/workflows/repotests.yml", { encoding: "utf-8" }) + readFileSync("./.github/workflows/repotests.yml", { encoding: "utf-8" }), ); expect(dep_list.length).toEqual(9); expect(dep_list[0]).toEqual({ group: "actions", name: "checkout", - version: "v4" + version: "v4", }); dep_list = parseGitHubWorkflowData( readFileSync("./.github/workflows/app-release.yml", { - encoding: "utf-8" - }) + encoding: "utf-8", + }), ); expect(dep_list.length).toEqual(3); }); @@ -1550,50 +1552,50 @@ test("parse github actions workflow data", () => { test("parse cs pkg data", () => { expect(parseCsPkgData(null)).toEqual([]); const dep_list = parseCsPkgData( - readFileSync("./test/data/packages.config", { encoding: "utf-8" }) + readFileSync("./test/data/packages.config", { encoding: "utf-8" }), ); expect(dep_list.length).toEqual(21); expect(dep_list[0]).toEqual({ group: "", name: "Antlr", - version: "3.5.0.2" + version: "3.5.0.2", }); }); test("parse cs pkg data 2", () => { expect(parseCsPkgData(null)).toEqual([]); const dep_list = parseCsPkgData( - readFileSync("./test/data/packages2.config", { encoding: "utf-8" }) + readFileSync("./test/data/packages2.config", { encoding: "utf-8" }), ); expect(dep_list.length).toEqual(1); expect(dep_list[0]).toEqual({ group: "", name: "EntityFramework", - version: "6.2.0" + version: "6.2.0", }); }); test("parse cs proj", () => { expect(parseCsProjData(null)).toEqual([]); const dep_list = parseCsProjData( - readFileSync("./test/sample.csproj", { encoding: "utf-8" }) + readFileSync("./test/sample.csproj", { encoding: "utf-8" }), ); expect(dep_list.length).toEqual(5); expect(dep_list[0]).toEqual({ group: "", name: "Microsoft.AspNetCore.Mvc.NewtonsoftJson", - version: "3.1.1" + version: "3.1.1", }); }); test("parse project.assets.json", () => { expect(parseCsProjAssetsData(null)).toEqual({ dependenciesList: [], - pkgList: [] + pkgList: [], }); let dep_list = parseCsProjAssetsData( readFileSync("./test/data/project.assets.json", { encoding: "utf-8" }), - "./test/data/project.assets.json" + "./test/data/project.assets.json", ); expect(dep_list["pkgList"].length).toEqual(302); expect(dep_list["pkgList"][0]).toEqual({ @@ -1602,7 +1604,7 @@ test("parse project.assets.json", () => { group: "", name: "Castle.Core.Tests", type: "application", - version: "0.0.0" + version: "0.0.0", }); expect(dep_list["dependenciesList"].length).toEqual(302); expect(dep_list["dependenciesList"][0]).toEqual({ @@ -1625,13 +1627,13 @@ test("parse project.assets.json", () => { "pkg:nuget/System.Net.NameResolution@4.3.0", "pkg:nuget/System.Net.Primitives@4.3.0", "pkg:nuget/PublicApiGenerator@10.1.2", - "pkg:nuget/System.Security.Permissions@6.0.0" + "pkg:nuget/System.Security.Permissions@6.0.0", ], - ref: "pkg:nuget/Castle.Core.Tests@0.0.0" + ref: "pkg:nuget/Castle.Core.Tests@0.0.0", }); dep_list = parseCsProjAssetsData( readFileSync("./test/data/project.assets1.json", { encoding: "utf-8" }), - "./test/data/project.assets1.json" + "./test/data/project.assets1.json", ); expect(dep_list["pkgList"].length).toEqual(43); expect(dep_list["pkgList"][0]).toEqual({ @@ -1640,7 +1642,7 @@ test("parse project.assets.json", () => { group: "", name: "Podcast.Server", type: "application", - version: "1.0.0" + version: "1.0.0", }); /* const pkgList = addEvidenceForDotnet( @@ -1655,11 +1657,11 @@ test("parse packages.lock.json", () => { expect(parseCsPkgLockData(null)).toEqual({ dependenciesList: [], pkgList: [], - rootList: [] + rootList: [], }); let dep_list = parseCsPkgLockData( readFileSync("./test/data/packages.lock.json", { encoding: "utf-8" }), - "./test/data/packages.lock.json" + "./test/data/packages.lock.json", ); expect(dep_list["pkgList"].length).toEqual(14); expect(dep_list["pkgList"][0]).toEqual({ @@ -1679,15 +1681,15 @@ test("parse packages.lock.json", () => { { technique: "manifest-analysis", confidence: 1, - value: "./test/data/packages.lock.json" - } - ] - } - } + value: "./test/data/packages.lock.json", + }, + ], + }, + }, }); dep_list = parseCsPkgLockData( readFileSync("./test/data/packages2.lock.json", { encoding: "utf-8" }), - "./test/data/packages2.lock.json" + "./test/data/packages2.lock.json", ); expect(dep_list["pkgList"].length).toEqual(34); expect(dep_list["dependenciesList"].length).toEqual(34); @@ -1708,23 +1710,23 @@ test("parse packages.lock.json", () => { { technique: "manifest-analysis", confidence: 1, - value: "./test/data/packages2.lock.json" - } - ] - } - } + value: "./test/data/packages2.lock.json", + }, + ], + }, + }, }); expect(dep_list["dependenciesList"][0]).toEqual({ ref: "pkg:nuget/McMaster.Extensions.Hosting.CommandLine@4.0.1", dependsOn: [ "pkg:nuget/McMaster.Extensions.CommandLineUtils@4.0.1", "pkg:nuget/Microsoft.Extensions.Hosting.Abstractions@6.0.0", - "pkg:nuget/Microsoft.Extensions.Logging.Abstractions@6.0.0" - ] + "pkg:nuget/Microsoft.Extensions.Logging.Abstractions@6.0.0", + ], }); dep_list = parseCsPkgLockData( readFileSync("./test/data/packages3.lock.json", { encoding: "utf-8" }), - "./test/data/packages3.lock.json" + "./test/data/packages3.lock.json", ); expect(dep_list["pkgList"].length).toEqual(15); expect(dep_list["pkgList"][1]).toEqual({ @@ -1744,11 +1746,11 @@ test("parse packages.lock.json", () => { { technique: "manifest-analysis", confidence: 1, - value: "./test/data/packages3.lock.json" - } - ] - } - } + value: "./test/data/packages3.lock.json", + }, + ], + }, + }, }); expect(dep_list["dependenciesList"].length).toEqual(15); }); @@ -1756,11 +1758,11 @@ test("parse packages.lock.json", () => { test("parse paket.lock", () => { expect(parsePaketLockData(null)).toEqual({ pkgList: [], - dependenciesList: [] + dependenciesList: [], }); const dep_list = parsePaketLockData( readFileSync("./test/data/paket.lock", { encoding: "utf-8" }), - "./test/data/paket.lock" + "./test/data/paket.lock", ); expect(dep_list.pkgList.length).toEqual(13); expect(dep_list.pkgList[0]).toEqual({ @@ -1778,32 +1780,32 @@ test("parse paket.lock", () => { { technique: "manifest-analysis", confidence: 1, - value: "./test/data/paket.lock" - } - ] - } - } + value: "./test/data/paket.lock", + }, + ], + }, + }, }); expect(dep_list.dependenciesList.length).toEqual(13); expect(dep_list.dependenciesList[2]).toEqual({ ref: "pkg:nuget/FSharp.Compiler.Service@17.0.1", dependsOn: [ "pkg:nuget/System.Collections.Immutable@1.4", - "pkg:nuget/System.Reflection.Metadata@1.5" - ] + "pkg:nuget/System.Reflection.Metadata@1.5", + ], }); }); test("parse .net cs proj", () => { expect(parseCsProjData(null)).toEqual([]); const dep_list = parseCsProjData( - readFileSync("./test/data/sample-dotnet.csproj", { encoding: "utf-8" }) + readFileSync("./test/data/sample-dotnet.csproj", { encoding: "utf-8" }), ); expect(dep_list.length).toEqual(19); expect(dep_list[0]).toEqual({ group: "", name: "Antlr3.Runtime", - version: "3.5.0.2" + version: "3.5.0.2", }); }); @@ -1825,9 +1827,9 @@ test("get nget metadata", async () => { "pkg:nuget/System.Net.NameResolution@4.3.0", "pkg:nuget/System.Net.Primitives@4.3.0", "pkg:nuget/PublicApiGenerator@10.1.2", - "pkg:nuget/System.Security.Permissions@6.0.0" + "pkg:nuget/System.Security.Permissions@6.0.0", ], - ref: "pkg:nuget/Castle.Core@4.4.0" + ref: "pkg:nuget/Castle.Core@4.4.0", }, { dependsOn: [ @@ -1841,24 +1843,24 @@ test("get nget metadata", async () => { "pkg:nuget/System.Runtime.Extensions@4.1.0", "pkg:nuget/System.Runtime@4.1.0", "pkg:nuget/System.Text.RegularExpressions@4.1.0", - "pkg:nuget/System.Threading@4.0.11" + "pkg:nuget/System.Threading@4.0.11", ], - ref: "pkg:nuget/Serilog@3.0.1" - } + ref: "pkg:nuget/Serilog@3.0.1", + }, ]; const pkg_list = [ { group: "", name: "Castle.Core", version: "4.4.0", - "bom-ref": "pkg:nuget/Castle.Core@4.4.0" + "bom-ref": "pkg:nuget/Castle.Core@4.4.0", }, { group: "", name: "Serilog", version: "3.0.1", - "bom-ref": "pkg:nuget/Serilog@3.0.1" - } + "bom-ref": "pkg:nuget/Serilog@3.0.1", + }, ]; const { pkgList, dependencies } = await getNugetMetadata(pkg_list, dep_list); // This data will need to be updated periodically as it tests that missing versions are set to the latest rc @@ -1870,14 +1872,14 @@ test("get nget metadata", async () => { "Castle Core, including DynamicProxy, Logging Abstractions and DictionaryAdapter", group: "", homepage: { - url: "https://www.nuget.org/packages/Castle.Core/4.4.0/" + url: "https://www.nuget.org/packages/Castle.Core/4.4.0/", }, license: "Apache-2.0", name: "Castle.Core", repository: { - url: "http://www.castleproject.org/" + url: "http://www.castleproject.org/", }, - version: "4.4.0" + version: "4.4.0", }, { author: "Serilog Contributors", @@ -1885,15 +1887,15 @@ test("get nget metadata", async () => { description: "Simple .NET logging with fully-structured events", group: "", homepage: { - url: "https://www.nuget.org/packages/Serilog/3.0.1/" + url: "https://www.nuget.org/packages/Serilog/3.0.1/", }, license: "Apache-2.0", name: "Serilog", repository: { - url: "https://serilog.net/" + url: "https://serilog.net/", }, - version: "3.0.1" - } + version: "3.0.1", + }, ]); expect(pkgList.length).toEqual(2); expect(dependencies).toEqual([ @@ -1913,9 +1915,9 @@ test("get nget metadata", async () => { "pkg:nuget/System.Net.NameResolution@4.3.0", "pkg:nuget/System.Net.Primitives@4.3.0", "pkg:nuget/PublicApiGenerator@10.1.2", - "pkg:nuget/System.Security.Permissions@6.0.0" + "pkg:nuget/System.Security.Permissions@6.0.0", ], - ref: "pkg:nuget/Castle.Core@4.4.0" + ref: "pkg:nuget/Castle.Core@4.4.0", }, { dependsOn: [ @@ -1929,10 +1931,10 @@ test("get nget metadata", async () => { "pkg:nuget/System.Runtime.Extensions@4.1.0", "pkg:nuget/System.Runtime@4.1.0", "pkg:nuget/System.Text.RegularExpressions@4.1.0", - "pkg:nuget/System.Threading@4.0.11" + "pkg:nuget/System.Threading@4.0.11", ], - ref: "pkg:nuget/Serilog@3.0.1" - } + ref: "pkg:nuget/Serilog@3.0.1", + }, ]); }, 240000); @@ -2023,9 +2025,9 @@ test("get licenses", () => { { license: { id: "MIT", - url: "https://opensource.org/licenses/MIT" - } - } + url: "https://opensource.org/licenses/MIT", + }, + }, ]); licenses = getLicenses({ license: ["MIT", "GPL-3.0-or-later"] }); @@ -2033,70 +2035,70 @@ test("get licenses", () => { { license: { id: "MIT", - url: "https://opensource.org/licenses/MIT" - } + url: "https://opensource.org/licenses/MIT", + }, }, { license: { id: "GPL-3.0-or-later", - url: "https://opensource.org/licenses/GPL-3.0-or-later" - } - } + url: "https://opensource.org/licenses/GPL-3.0-or-later", + }, + }, ]); licenses = getLicenses({ license: { id: "MIT", - url: "https://opensource.org/licenses/MIT" - } + url: "https://opensource.org/licenses/MIT", + }, }); expect(licenses).toEqual([ { license: { id: "MIT", - url: "https://opensource.org/licenses/MIT" - } - } + url: "https://opensource.org/licenses/MIT", + }, + }, ]); licenses = getLicenses({ - license: "GPL-2.0+" + license: "GPL-2.0+", }); expect(licenses).toEqual([ { license: { id: "GPL-2.0+", - url: "https://opensource.org/licenses/GPL-2.0+" - } - } + url: "https://opensource.org/licenses/GPL-2.0+", + }, + }, ]); licenses = getLicenses({ - license: "(MIT or Apache-2.0)" + license: "(MIT or Apache-2.0)", }); expect(licenses).toEqual([ { - expression: "(MIT or Apache-2.0)" - } + expression: "(MIT or Apache-2.0)", + }, ]); // In case this is not a known license in the current build but it is a valid SPDX license expression licenses = getLicenses({ - license: "NOT-GPL-2.1+" + license: "NOT-GPL-2.1+", }); expect(licenses).toEqual([ { - expression: "NOT-GPL-2.1+" - } + expression: "NOT-GPL-2.1+", + }, ]); licenses = getLicenses({ - license: "GPL-3.0-only WITH Classpath-exception-2.0" + license: "GPL-3.0-only WITH Classpath-exception-2.0", }); expect(licenses).toEqual([ { - expression: "GPL-3.0-only WITH Classpath-exception-2.0" - } + expression: "GPL-3.0-only WITH Classpath-exception-2.0", + }, ]); }); @@ -2107,24 +2109,24 @@ test("parsePkgJson", async () => { test("parsePkgLock v1", async () => { const parsedList = await parsePkgLock( - "./test/data/package-json/v1/package-lock.json" + "./test/data/package-json/v1/package-lock.json", ); const deps = parsedList.pkgList; expect(deps.length).toEqual(910); expect(deps[1]._integrity).toEqual( - "sha512-ZmIomM7EE1DvPEnSFAHZn9Vs9zJl5A9H7el0EGTE6ZbW9FKe/14IYAlPbC8iH25YarEQxZL+E8VW7Mi7kfQrDQ==" + "sha512-ZmIomM7EE1DvPEnSFAHZn9Vs9zJl5A9H7el0EGTE6ZbW9FKe/14IYAlPbC8iH25YarEQxZL+E8VW7Mi7kfQrDQ==", ); expect(parsedList.dependenciesList.length).toEqual(910); }); test("parsePkgLock v2", async () => { const parsedList = await parsePkgLock( - "./test/data/package-json/v2/package-lock.json" + "./test/data/package-json/v2/package-lock.json", ); const deps = parsedList.pkgList; expect(deps.length).toEqual(134); expect(deps[1]._integrity).toEqual( - "sha512-x9yaMvEh5BEaZKeVQC4vp3l+QoFj3BXcd4aYfuKSzIIyihjdVARAadYy3SMNIz0WCCdS2vB9JL/U6GQk5PaxQw==" + "sha512-x9yaMvEh5BEaZKeVQC4vp3l+QoFj3BXcd4aYfuKSzIIyihjdVARAadYy3SMNIz0WCCdS2vB9JL/U6GQk5PaxQw==", ); expect(deps[1].license).toEqual("Apache-2.0"); expect(deps[0]).toEqual({ @@ -2135,11 +2137,11 @@ test("parsePkgLock v2", async () => { name: "shopify-theme-tailwindcss", license: "MIT", type: "application", - version: "2.2.1" + version: "2.2.1", }); expect(deps[deps.length - 1].name).toEqual("rollup"); const pkgFilePath = path.resolve( - path.join("test", "data", "package-json", "v2", "package-lock.json") + path.join("test", "data", "package-json", "v2", "package-lock.json"), ); expect(deps[deps.length - 1].evidence).toEqual({ identity: { @@ -2149,41 +2151,41 @@ test("parsePkgLock v2", async () => { { technique: "manifest-analysis", confidence: 1, - value: pkgFilePath - } - ] - } + value: pkgFilePath, + }, + ], + }, }); expect(parsedList.dependenciesList.length).toEqual(134); }); test("parsePkgLock v2 workspace", async () => { const parsedList = await parsePkgLock( - "./test/data/package-json/v2-workspace/package-lock.json" + "./test/data/package-json/v2-workspace/package-lock.json", ); const pkgs = parsedList.pkgList; const deps = parsedList.dependenciesList; expect(pkgs.length).toEqual(1034); expect(pkgs[0].license).toEqual("MIT"); const hasAppWorkspacePkg = pkgs.some( - (obj) => obj["bom-ref"] === "pkg:npm/app@0.0.0" + (obj) => obj["bom-ref"] === "pkg:npm/app@0.0.0", ); const hasAppWorkspaceDeps = deps.some( - (obj) => obj.ref === "pkg:npm/app@0.0.0" + (obj) => obj.ref === "pkg:npm/app@0.0.0", ); expect(hasAppWorkspacePkg).toEqual(true); expect(hasAppWorkspaceDeps).toEqual(true); const hasRootPkg = pkgs.some( - (obj) => obj["bom-ref"] === "pkg:npm/root@0.0.0" + (obj) => obj["bom-ref"] === "pkg:npm/root@0.0.0", ); const hasRootDeps = deps.some((obj) => obj.ref === "pkg:npm/root@0.0.0"); expect(hasRootPkg).toEqual(true); expect(hasRootDeps).toEqual(true); const hasScriptsWorkspacePkg = pkgs.some( - (obj) => obj["bom-ref"] === "pkg:npm/scripts@0.0.0" + (obj) => obj["bom-ref"] === "pkg:npm/scripts@0.0.0", ); const hasScriptsWorkspaceDeps = deps.some( - (obj) => obj.ref === "pkg:npm/scripts@0.0.0" + (obj) => obj.ref === "pkg:npm/scripts@0.0.0", ); expect(hasScriptsWorkspacePkg).toEqual(true); expect(hasScriptsWorkspaceDeps).toEqual(true); @@ -2194,13 +2196,13 @@ test("parsePkgLock v3", async () => { "./test/data/package-json/v3/package-lock.json", { projectVersion: "latest", - projectName: "cdxgen" - } + projectName: "cdxgen", + }, ); let deps = parsedList.pkgList; expect(deps.length).toEqual(161); expect(deps[1]._integrity).toEqual( - "sha512-s93jiP6GkRApn5duComx6RLwtP23YrulPxShz+8peX7svd6Q+MS8nKLhKCCazbP92C13eTVaIOxgeLt0ezIiCg==" + "sha512-s93jiP6GkRApn5duComx6RLwtP23YrulPxShz+8peX7svd6Q+MS8nKLhKCCazbP92C13eTVaIOxgeLt0ezIiCg==", ); expect(deps[0]).toEqual({ "bom-ref": "pkg:npm/cdxgen@latest", @@ -2210,13 +2212,13 @@ test("parsePkgLock v3", async () => { license: "ISC", name: "cdxgen", type: "application", - version: "latest" + version: "latest", }); expect(deps[deps.length - 1].name).toEqual("uid2"); expect(parsedList.dependenciesList.length).toEqual(161); parsedList = await parsePkgLock("./package-lock.json", { projectVersion: "latest", - projectName: "cdxgen" + projectName: "cdxgen", }); deps = parsedList.pkgList; expect(deps.length).toEqual(1164); @@ -2233,7 +2235,7 @@ test("parseNodeShrinkwrap", async () => { const deps = await parseNodeShrinkwrap("./test/shrinkwrap-deps.json"); expect(deps.length).toEqual(496); expect(deps[0]._integrity).toEqual( - "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==" + "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", ); }); @@ -2246,19 +2248,19 @@ test("parseSetupPyFile", async () => { expect(deps[0].name).toEqual("colorama"); deps = await parseSetupPyFile( - `install_requires=['colorama>=0.4.3','libsast>=1.0.3',],` + `install_requires=['colorama>=0.4.3','libsast>=1.0.3',],`, ); expect(deps.length).toEqual(2); expect(deps[0].name).toEqual("colorama"); deps = await parseSetupPyFile( - `install_requires=['colorama>=0.4.3','libsast>=1.0.3']` + `install_requires=['colorama>=0.4.3','libsast>=1.0.3']`, ); expect(deps.length).toEqual(2); expect(deps[0].name).toEqual("colorama"); deps = await parseSetupPyFile( - `install_requires=['colorama>=0.4.3', 'libsast>=1.0.3']` + `install_requires=['colorama>=0.4.3', 'libsast>=1.0.3']`, ); expect(deps.length).toEqual(2); expect(deps[0].name).toEqual("colorama"); @@ -2287,8 +2289,8 @@ test("parsePnpmLock", async () => { properties: [ { name: "SrcFile", - value: "./test/pnpm-lock.yaml" - } + value: "./test/pnpm-lock.yaml", + }, ], evidence: { identity: { @@ -2298,11 +2300,11 @@ test("parsePnpmLock", async () => { { technique: "manifest-analysis", confidence: 1, - value: "./test/pnpm-lock.yaml" - } - ] - } - } + value: "./test/pnpm-lock.yaml", + }, + ], + }, + }, }); parsedList = await parsePnpmLock("./test/data/pnpm-lock.yaml"); expect(parsedList.pkgList.length).toEqual(318); @@ -2319,8 +2321,8 @@ test("parsePnpmLock", async () => { properties: [ { name: "SrcFile", - value: "./test/data/pnpm-lock.yaml" - } + value: "./test/data/pnpm-lock.yaml", + }, ], evidence: { identity: { @@ -2330,11 +2332,11 @@ test("parsePnpmLock", async () => { { technique: "manifest-analysis", confidence: 1, - value: "./test/data/pnpm-lock.yaml" - } - ] - } - } + value: "./test/data/pnpm-lock.yaml", + }, + ], + }, + }, }); parsedList = await parsePnpmLock("./test/data/pnpm-lock2.yaml"); expect(parsedList.pkgList.length).toEqual(7); @@ -2356,11 +2358,11 @@ test("parsePnpmLock", async () => { { technique: "manifest-analysis", confidence: 1, - value: "./test/data/pnpm-lock2.yaml" - } - ] - } - } + value: "./test/data/pnpm-lock2.yaml", + }, + ], + }, + }, }); expect(parsedList.dependenciesList[2]).toEqual({ ref: "pkg:npm/chalk@1.1.3", @@ -2369,8 +2371,8 @@ test("parsePnpmLock", async () => { "pkg:npm/escape-string-regexp@1.0.5", "pkg:npm/has-ansi@2.0.0", "pkg:npm/strip-ansi@3.0.1", - "pkg:npm/supports-color@2.0.0" - ] + "pkg:npm/supports-color@2.0.0", + ], }); parsedList = await parsePnpmLock("./test/data/pnpm-lock3.yaml"); expect(parsedList.pkgList.length).toEqual(449); @@ -2393,15 +2395,15 @@ test("parsePnpmLock", async () => { { technique: "manifest-analysis", confidence: 1, - value: "./test/data/pnpm-lock3.yaml" - } - ] - } - } + value: "./test/data/pnpm-lock3.yaml", + }, + ], + }, + }, }); expect(parsedList.dependenciesList[2]).toEqual({ ref: "pkg:npm/@nodelib/fs.walk@1.2.8", - dependsOn: ["pkg:npm/@nodelib/fs.scandir@2.1.5", "pkg:npm/fastq@1.13.0"] + dependsOn: ["pkg:npm/@nodelib/fs.scandir@2.1.5", "pkg:npm/fastq@1.13.0"], }); parsedList = await parsePnpmLock("./test/data/pnpm-lock4.yaml"); @@ -2428,11 +2430,11 @@ test("parsePnpmLock", async () => { { technique: "manifest-analysis", confidence: 1, - value: "./test/data/pnpm-lock6.yaml" - } - ] - } - } + value: "./test/data/pnpm-lock6.yaml", + }, + ], + }, + }, }); expect(parsedList.pkgList[parsedList.pkgList.length - 1]).toEqual({ group: "", @@ -2452,11 +2454,11 @@ test("parsePnpmLock", async () => { { technique: "manifest-analysis", confidence: 1, - value: "./test/data/pnpm-lock6.yaml" - } - ] - } - } + value: "./test/data/pnpm-lock6.yaml", + }, + ], + }, + }, }); parsedList = await parsePnpmLock("./test/data/pnpm-lock6a.yaml"); expect(parsedList.pkgList.length).toEqual(234); @@ -2479,11 +2481,11 @@ test("parsePnpmLock", async () => { { technique: "manifest-analysis", confidence: 1, - value: "./test/data/pnpm-lock6a.yaml" - } - ] - } - } + value: "./test/data/pnpm-lock6a.yaml", + }, + ], + }, + }, }); }); @@ -2502,8 +2504,8 @@ test("parseYarnLock", async () => { properties: [ { name: "SrcFile", - value: "./test/yarn.lock" - } + value: "./test/yarn.lock", + }, ], evidence: { identity: { @@ -2513,15 +2515,15 @@ test("parseYarnLock", async () => { { technique: "manifest-analysis", confidence: 1, - value: "./test/yarn.lock" - } - ] - } - } + value: "./test/yarn.lock", + }, + ], + }, + }, }); expect(parsedList.dependenciesList.length).toEqual(56); identMap = yarnLockToIdentMap( - readFileSync("./test/data/yarn_locks/yarn.lock", "utf8") + readFileSync("./test/data/yarn_locks/yarn.lock", "utf8"), ); expect(Object.keys(identMap).length).toEqual(2566); parsedList = await parseYarnLock("./test/data/yarn_locks/yarn.lock"); @@ -2538,8 +2540,8 @@ test("parseYarnLock", async () => { properties: [ { name: "SrcFile", - value: "./test/data/yarn_locks/yarn.lock" - } + value: "./test/data/yarn_locks/yarn.lock", + }, ], evidence: { identity: { @@ -2549,11 +2551,11 @@ test("parseYarnLock", async () => { { technique: "manifest-analysis", confidence: 1, - value: "./test/data/yarn_locks/yarn.lock" - } - ] - } - } + value: "./test/data/yarn_locks/yarn.lock", + }, + ], + }, + }, }); parsedList.pkgList.forEach((d) => { expect(d.name).toBeDefined(); @@ -2574,8 +2576,8 @@ test("parseYarnLock", async () => { properties: [ { name: "SrcFile", - value: "./test/data/yarn_locks/yarn-multi.lock" - } + value: "./test/data/yarn_locks/yarn-multi.lock", + }, ], evidence: { identity: { @@ -2585,11 +2587,11 @@ test("parseYarnLock", async () => { { technique: "manifest-analysis", confidence: 1, - value: "./test/data/yarn_locks/yarn-multi.lock" - } - ] - } - } + value: "./test/data/yarn_locks/yarn-multi.lock", + }, + ], + }, + }, }); parsedList = await parseYarnLock("./test/data/yarn_locks/yarn-light.lock"); @@ -2606,8 +2608,8 @@ test("parseYarnLock", async () => { properties: [ { name: "SrcFile", - value: "./test/data/yarn_locks/yarn-light.lock" - } + value: "./test/data/yarn_locks/yarn-light.lock", + }, ], evidence: { identity: { @@ -2617,11 +2619,11 @@ test("parseYarnLock", async () => { { technique: "manifest-analysis", confidence: 1, - value: "./test/data/yarn_locks/yarn-light.lock" - } - ] - } - } + value: "./test/data/yarn_locks/yarn-light.lock", + }, + ], + }, + }, }); parsedList = await parseYarnLock("./test/data/yarn_locks/yarn3.lock"); @@ -2638,8 +2640,8 @@ test("parseYarnLock", async () => { properties: [ { name: "SrcFile", - value: "./test/data/yarn_locks/yarn3.lock" - } + value: "./test/data/yarn_locks/yarn3.lock", + }, ], evidence: { identity: { @@ -2649,11 +2651,11 @@ test("parseYarnLock", async () => { { technique: "manifest-analysis", confidence: 1, - value: "./test/data/yarn_locks/yarn3.lock" - } - ] - } - } + value: "./test/data/yarn_locks/yarn3.lock", + }, + ], + }, + }, }); parsedList = await parseYarnLock("./test/data/yarn_locks/yarnv2.lock"); @@ -2670,8 +2672,8 @@ test("parseYarnLock", async () => { properties: [ { name: "SrcFile", - value: "./test/data/yarn_locks/yarnv2.lock" - } + value: "./test/data/yarn_locks/yarnv2.lock", + }, ], evidence: { identity: { @@ -2681,11 +2683,11 @@ test("parseYarnLock", async () => { { technique: "manifest-analysis", confidence: 1, - value: "./test/data/yarn_locks/yarnv2.lock" - } - ] - } - } + value: "./test/data/yarn_locks/yarnv2.lock", + }, + ], + }, + }, }); parsedList = await parseYarnLock("./test/data/yarn_locks/yarnv3.lock"); expect(parsedList.pkgList.length).toEqual(363); @@ -2701,8 +2703,8 @@ test("parseYarnLock", async () => { properties: [ { name: "SrcFile", - value: "./test/data/yarn_locks/yarnv3.lock" - } + value: "./test/data/yarn_locks/yarnv3.lock", + }, ], evidence: { identity: { @@ -2712,11 +2714,11 @@ test("parseYarnLock", async () => { { technique: "manifest-analysis", confidence: 1, - value: "./test/data/yarn_locks/yarnv3.lock" - } - ] - } - } + value: "./test/data/yarn_locks/yarnv3.lock", + }, + ], + }, + }, }); parsedList = await parseYarnLock("./test/data/yarn_locks/yarn4.lock"); expect(parsedList.pkgList.length).toEqual(1); @@ -2733,7 +2735,7 @@ test("parseYarnLock", async () => { _integrity: "sha512-JE93VWVyVa07xkK1wJ5ogjSZ30Nn4ptUuUXdPnu8MsKme1xFHLFFD3UtnHxnxnNDSnGx+WLlhuyHdIFfSCYqYg==", properties: [ - { name: "SrcFile", value: "./test/data/yarn_locks/yarn-at.lock" } + { name: "SrcFile", value: "./test/data/yarn_locks/yarn-at.lock" }, ], evidence: { identity: { @@ -2743,59 +2745,59 @@ test("parseYarnLock", async () => { { technique: "manifest-analysis", confidence: 1, - value: "./test/data/yarn_locks/yarn-at.lock" - } - ] - } - } + value: "./test/data/yarn_locks/yarn-at.lock", + }, + ], + }, + }, }); parsedList = await parseYarnLock("./test/data/yarn_locks/yarn5.lock"); expect(parsedList.pkgList.length).toEqual(1962); expect(parsedList.dependenciesList.length).toEqual(1962); expect(parsedList.pkgList[0].purl).toEqual( - "pkg:npm/%40ampproject/remapping@2.2.0" + "pkg:npm/%40ampproject/remapping@2.2.0", ); expect(parsedList.pkgList[0]["bom-ref"]).toEqual( - "pkg:npm/@ampproject/remapping@2.2.0" + "pkg:npm/@ampproject/remapping@2.2.0", ); parsedList = await parseYarnLock("./test/data/yarn_locks/yarn6.lock"); expect(parsedList.pkgList.length).toEqual(1472); expect(parsedList.dependenciesList.length).toEqual(1472); expect(parsedList.pkgList[0].purl).toEqual( - "pkg:npm/%40aashutoshrathi/word-wrap@1.2.6" + "pkg:npm/%40aashutoshrathi/word-wrap@1.2.6", ); expect(parsedList.pkgList[0]["bom-ref"]).toEqual( - "pkg:npm/@aashutoshrathi/word-wrap@1.2.6" + "pkg:npm/@aashutoshrathi/word-wrap@1.2.6", ); parsedList = await parseYarnLock("./test/data/yarn_locks/yarn7.lock"); expect(parsedList.pkgList.length).toEqual(1350); expect(parsedList.dependenciesList.length).toEqual(1347); expect(parsedList.pkgList[0].purl).toEqual( - "pkg:npm/%40aashutoshrathi/word-wrap@1.2.6" + "pkg:npm/%40aashutoshrathi/word-wrap@1.2.6", ); expect(parsedList.pkgList[0]["bom-ref"]).toEqual( - "pkg:npm/@aashutoshrathi/word-wrap@1.2.6" + "pkg:npm/@aashutoshrathi/word-wrap@1.2.6", ); parsedList = await parseYarnLock("./test/data/yarn_locks/yarnv4.lock"); expect(parsedList.pkgList.length).toEqual(1851); expect(parsedList.dependenciesList.length).toEqual(1851); expect(parsedList.pkgList[0].purl).toEqual( - "pkg:npm/%40aashutoshrathi/word-wrap@1.2.6" + "pkg:npm/%40aashutoshrathi/word-wrap@1.2.6", ); expect(parsedList.pkgList[0]["bom-ref"]).toEqual( - "pkg:npm/@aashutoshrathi/word-wrap@1.2.6" + "pkg:npm/@aashutoshrathi/word-wrap@1.2.6", ); parsedList = await parseYarnLock("./test/data/yarn_locks/yarnv4.1.lock"); expect(parsedList.pkgList.length).toEqual(861); expect(parsedList.dependenciesList.length).toEqual(858); expect(parsedList.pkgList[0].purl).toEqual( - "pkg:npm/%40aashutoshrathi/word-wrap@1.2.6" + "pkg:npm/%40aashutoshrathi/word-wrap@1.2.6", ); expect(parsedList.pkgList[0]["bom-ref"]).toEqual( - "pkg:npm/@aashutoshrathi/word-wrap@1.2.6" + "pkg:npm/@aashutoshrathi/word-wrap@1.2.6", ); expect(parsedList.pkgList[0]._integrity).toEqual( - "sha512-U8KyMaYaRnkrOaDUO8T093a7RUKqV+4EkwZ2gC5VASgsL8iqwU5M0fESD/i1Jha2/1q1Oa0wqiJ31yZES3Fhnw==" + "sha512-U8KyMaYaRnkrOaDUO8T093a7RUKqV+4EkwZ2gC5VASgsL8iqwU5M0fESD/i1Jha2/1q1Oa0wqiJ31yZES3Fhnw==", ); }); @@ -2813,19 +2815,19 @@ test("parseComposerLock", () => { repository: { type: "git", url: "https://github.com/intuit/QuickBooks-V3-PHP-SDK.git", - reference: "fe42e409bcdc431614f1cfc80cfc4191b926f3ed" + reference: "fe42e409bcdc431614f1cfc80cfc4191b926f3ed", }, license: ["Apache-2.0"], description: "The Official PHP SDK for QuickBooks Online Accounting API", properties: [ { name: "SrcFile", - value: "./test/data/composer.lock" + value: "./test/data/composer.lock", }, { name: "Namespaces", - value: "QuickBooksOnline\\API\\" - } + value: "QuickBooksOnline\\API\\", + }, ], evidence: { identity: { @@ -2835,11 +2837,11 @@ test("parseComposerLock", () => { { technique: "manifest-analysis", confidence: 1, - value: "./test/data/composer.lock" - } - ] - } - } + value: "./test/data/composer.lock", + }, + ], + }, + }, }); retMap = parseComposerLock("./test/data/composer-2.lock"); @@ -2855,19 +2857,19 @@ test("parseComposerLock", () => { repository: { type: "git", url: "https://github.com/amphp/amp.git", - reference: "1e58d53e4af390efc7813e36cd215bd82cba4b06" + reference: "1e58d53e4af390efc7813e36cd215bd82cba4b06", }, license: ["MIT"], description: "A non-blocking concurrency framework for PHP applications.", properties: [ { name: "SrcFile", - value: "./test/data/composer-2.lock" + value: "./test/data/composer-2.lock", }, { name: "Namespaces", - value: "Amp\\" - } + value: "Amp\\", + }, ], evidence: { identity: { @@ -2877,11 +2879,11 @@ test("parseComposerLock", () => { { technique: "manifest-analysis", confidence: 1, - value: "./test/data/composer-2.lock" - } - ] - } - } + value: "./test/data/composer-2.lock", + }, + ], + }, + }, }); retMap = parseComposerLock("./test/data/composer-3.lock"); @@ -2896,7 +2898,7 @@ test("parseComposerLock", () => { repository: { type: "git", url: "https://github.com/amphp/amp.git", - reference: "9d5100cebffa729aaffecd3ad25dc5aeea4f13bb" + reference: "9d5100cebffa729aaffecd3ad25dc5aeea4f13bb", }, license: ["MIT"], description: "A non-blocking concurrency framework for PHP applications.", @@ -2905,8 +2907,8 @@ test("parseComposerLock", () => { { name: "SrcFile", value: "./test/data/composer-3.lock" }, { name: "Namespaces", - value: "Amp\\" - } + value: "Amp\\", + }, ], evidence: { identity: { @@ -2916,11 +2918,11 @@ test("parseComposerLock", () => { { technique: "manifest-analysis", confidence: 1, - value: "./test/data/composer-3.lock" - } - ] - } - } + value: "./test/data/composer-3.lock", + }, + ], + }, + }, }); retMap = parseComposerLock("./test/data/composer-4.lock"); expect(retMap.pkgList.length).toEqual(50); @@ -2934,7 +2936,7 @@ test("parseComposerLock", () => { repository: { type: "git", url: "https://git-wip-us.apache.org/repos/asf/logging-log4php.git", - reference: "8c6df2481cd68d0d211d38f700406c5f0a9de0c2" + reference: "8c6df2481cd68d0d211d38f700406c5f0a9de0c2", }, license: ["Apache-2.0"], description: "A versatile logging framework for PHP", @@ -2948,22 +2950,22 @@ test("parseComposerLock", () => { { confidence: 1, technique: "manifest-analysis", - value: "./test/data/composer-4.lock" - } - ] - } - } + value: "./test/data/composer-4.lock", + }, + ], + }, + }, }); expect(retMap.dependenciesList[1]).toEqual({ ref: "pkg:composer/doctrine/annotations@v1.2.1", - dependsOn: ["pkg:composer/doctrine/lexer@v1.0"] + dependsOn: ["pkg:composer/doctrine/lexer@v1.0"], }); }); test("parseGemfileLockData", async () => { let retMap = await parseGemfileLockData( readFileSync("./test/data/Gemfile.lock", { encoding: "utf-8" }), - "./test/data/Gemfile.lock" + "./test/data/Gemfile.lock", ); expect(retMap.pkgList.length).toEqual(140); expect(retMap.dependenciesList.length).toEqual(140); @@ -2976,8 +2978,8 @@ test("parseGemfileLockData", async () => { { name: "SrcFile", value: "./test/data/Gemfile.lock" }, { name: "cdx:gem:remote", - value: "https://rubygems.org/" - } + value: "https://rubygems.org/", + }, ], evidence: { identity: { @@ -2987,39 +2989,39 @@ test("parseGemfileLockData", async () => { { technique: "manifest-analysis", confidence: 0.8, - value: "./test/data/Gemfile.lock" - } - ] - } - } + value: "./test/data/Gemfile.lock", + }, + ], + }, + }, }); retMap = await parseGemfileLockData( readFileSync("./test/data/Gemfile1.lock", { encoding: "utf-8" }), - "./test/data/Gemfile1.lock" + "./test/data/Gemfile1.lock", ); expect(retMap.pkgList.length).toEqual(36); expect(retMap.dependenciesList.length).toEqual(36); retMap = await parseGemfileLockData( readFileSync("./test/data/Gemfile2.lock", { encoding: "utf-8" }), - "./test/data/Gemfile2.lock" + "./test/data/Gemfile2.lock", ); expect(retMap.pkgList.length).toEqual(89); expect(retMap.dependenciesList.length).toEqual(89); retMap = await parseGemfileLockData( readFileSync("./test/data/Gemfile4.lock", { encoding: "utf-8" }), - "./test/data/Gemfile4.lock" + "./test/data/Gemfile4.lock", ); expect(retMap.pkgList.length).toEqual(182); expect(retMap.dependenciesList.length).toEqual(182); retMap = await parseGemfileLockData( readFileSync("./test/data/Gemfile5.lock", { encoding: "utf-8" }), - "./test/data/Gemfile5.lock" + "./test/data/Gemfile5.lock", ); expect(retMap.pkgList.length).toEqual(43); expect(retMap.dependenciesList.length).toEqual(43); retMap = await parseGemfileLockData( readFileSync("./test/data/Gemfile6.lock", { encoding: "utf-8" }), - "./test/data/Gemfile6.lock" + "./test/data/Gemfile6.lock", ); expect(retMap.pkgList.length).toEqual(139); expect(retMap.dependenciesList.length).toEqual(139); @@ -3027,42 +3029,42 @@ test("parseGemfileLockData", async () => { test("parseGemspecData", async () => { const deps = await parseGemspecData( - readFileSync("./test/data/xmlrpc.gemspec", { encoding: "utf-8" }) + readFileSync("./test/data/xmlrpc.gemspec", { encoding: "utf-8" }), ); expect(deps.length).toEqual(1); expect(deps[0]).toEqual({ name: "xmlrpc", version: "0.3.0", description: - "XMLRPC is a lightweight protocol that enables remote procedure calls over HTTP." + "XMLRPC is a lightweight protocol that enables remote procedure calls over HTTP.", }); }); test("parse requirements.txt", async () => { let deps = await parseReqFile( readFileSync("./test/data/requirements.comments.txt", { - encoding: "utf-8" + encoding: "utf-8", }), - false + false, ); expect(deps.length).toEqual(31); deps = await parseReqFile( readFileSync("./test/data/requirements.freeze.txt", { - encoding: "utf-8" + encoding: "utf-8", }), - false + false, ); expect(deps.length).toEqual(113); expect(deps[0]).toEqual({ name: "elasticsearch", version: "8.6.2", - scope: "required" + scope: "required", }); deps = await parseReqFile( readFileSync("./test/data/chen-science-requirements.txt", { - encoding: "utf-8" + encoding: "utf-8", }), - false + false, ); expect(deps.length).toEqual(87); expect(deps[0]).toEqual({ @@ -3073,9 +3075,9 @@ test("parse requirements.txt", async () => { { name: "cdx:pip:markers", value: - 'python_full_version >= "3.8.1" and python_version < "3.12" --hash=sha256:19297512c647d4b27a2cf7c34caa7e405c0d60b5560618a29a9fe027b18b0107 --hash=sha256:84ec2218d8419404abcb9f0c02df3f34c6e0a68ed41072acfb1cef5cbc29051a' - } - ] + 'python_full_version >= "3.8.1" and python_version < "3.12" --hash=sha256:19297512c647d4b27a2cf7c34caa7e405c0d60b5560618a29a9fe027b18b0107 --hash=sha256:84ec2218d8419404abcb9f0c02df3f34c6e0a68ed41072acfb1cef5cbc29051a', + }, + ], }); }); @@ -3088,13 +3090,13 @@ test("parse pyproject.toml", () => { "Generate CPG for multiple languages for code and threat analysis", author: "Team AppThreat ", homepage: { url: "https://github.com/AppThreat/cpggen" }, - repository: { url: "https://github.com/AppThreat/cpggen" } + repository: { url: "https://github.com/AppThreat/cpggen" }, }); }); test("parse pyproject.toml with custom poetry source", () => { const pkg = parsePyProjectToml( - "./test/data/pyproject_with_custom_poetry_source.toml" + "./test/data/pyproject_with_custom_poetry_source.toml", ); expect(pkg).toEqual({ name: "cpggen", @@ -3103,32 +3105,32 @@ test("parse pyproject.toml with custom poetry source", () => { "Generate CPG for multiple languages for code and threat analysis", author: "Team AppThreat ", homepage: { url: "https://github.com/AppThreat/cpggen" }, - repository: { url: "https://github.com/AppThreat/cpggen" } + repository: { url: "https://github.com/AppThreat/cpggen" }, }); }); test("parse poetry.lock", async () => { let retMap = await parsePoetrylockData( readFileSync("./test/data/poetry.lock", { encoding: "utf-8" }), - "./test/data/poetry.lock" + "./test/data/poetry.lock", ); expect(retMap.pkgList.length).toEqual(32); expect(retMap.dependenciesList.length).toEqual(32); retMap = await parsePoetrylockData( readFileSync("./test/data/poetry1.lock", { encoding: "utf-8" }), - "./test/data/poetry1.lock" + "./test/data/poetry1.lock", ); expect(retMap.pkgList.length).toEqual(68); expect(retMap.dependenciesList.length).toEqual(68); retMap = await parsePoetrylockData( readFileSync("./test/data/poetry-cpggen.lock", { encoding: "utf-8" }), - "./test/data/poetry-cpggen.lock" + "./test/data/poetry-cpggen.lock", ); expect(retMap.pkgList.length).toEqual(69); expect(retMap.dependenciesList.length).toEqual(69); retMap = await parsePoetrylockData( readFileSync("./test/data/pdm.lock", { encoding: "utf-8" }), - "./test/data/pdm.lock" + "./test/data/pdm.lock", ); expect(retMap.pkgList.length).toEqual(37); expect(retMap.dependenciesList.length).toEqual(37); @@ -3136,7 +3138,7 @@ test("parse poetry.lock", async () => { test("parse wheel metadata", () => { let deps = parseBdistMetadata( - readFileSync("./test/data/METADATA", { encoding: "utf-8" }) + readFileSync("./test/data/METADATA", { encoding: "utf-8" }), ); expect(deps.length).toEqual(1); expect(deps[0]).toEqual({ @@ -3145,12 +3147,12 @@ test("parse wheel metadata", () => { publisher: "Adrien Vergé", description: "A linter for YAML files.", homepage: { url: "https://github.com/adrienverge/yamllint" }, - repository: { url: "https://github.com/adrienverge/yamllint" } + repository: { url: "https://github.com/adrienverge/yamllint" }, }); deps = parseBdistMetadata( readFileSync("./test/data/mercurial-5.5.2-py3.8.egg-info", { - encoding: "utf-8" - }) + encoding: "utf-8", + }), ); expect(deps.length).toEqual(1); expect(deps[0]).toEqual({ @@ -3159,14 +3161,14 @@ test("parse wheel metadata", () => { publisher: "Matt Mackall and many others", description: "Fast scalable distributed SCM (revision control, version control) system", - homepage: { url: "https://mercurial-scm.org/" } + homepage: { url: "https://mercurial-scm.org/" }, }); }); test("parse wheel", async () => { const metadata = await readZipEntry( "./test/data/appthreat_depscan-2.0.2-py3-none-any.whl", - "METADATA" + "METADATA", ); expect(metadata); const parsed = parseBdistMetadata(metadata); @@ -3176,24 +3178,24 @@ test("parse wheel", async () => { description: "Fully open-source security audit for project dependencies based on known vulnerabilities and advisories.", homepage: { url: "https://github.com/appthreat/dep-scan" }, - publisher: "Team AppThreat" + publisher: "Team AppThreat", }); }); test("parse pipfile.lock with hashes", async () => { const deps = await parsePiplockData( - JSON.parse(readFileSync("./test/data/Pipfile.lock", { encoding: "utf-8" })) + JSON.parse(readFileSync("./test/data/Pipfile.lock", { encoding: "utf-8" })), ); expect(deps.length).toEqual(46); }, 120000); test("parse scala sbt list", () => { let deps = parseKVDep( - readFileSync("./test/data/sbt-dl.list", { encoding: "utf-8" }) + readFileSync("./test/data/sbt-dl.list", { encoding: "utf-8" }), ); expect(deps.length).toEqual(57); deps = parseKVDep( - readFileSync("./test/data/atom-sbt-list.txt", { encoding: "utf-8" }) + readFileSync("./test/data/atom-sbt-list.txt", { encoding: "utf-8" }), ); expect(deps.length).toEqual(153); }); @@ -3211,7 +3213,7 @@ test("parse scala sbt lock", () => { test("parse nupkg file", async () => { let deps = await parseNupkg( - "./test/data/Microsoft.Web.Infrastructure.1.0.0.0.nupkg" + "./test/data/Microsoft.Web.Infrastructure.1.0.0.0.nupkg", ); expect(deps.length).toEqual(1); expect(deps[0].name).toEqual("Microsoft.Web.Infrastructure"); @@ -3219,8 +3221,8 @@ test("parse nupkg file", async () => { "./test/data/Microsoft.Web.Infrastructure.1.0.0.0.nuspec", readFileSync( "./test/data/Microsoft.Web.Infrastructure.1.0.0.0.nuspec", - "ascii" - ) + "ascii", + ), ); expect(deps.length).toEqual(1); expect(deps[0].name).toEqual("Microsoft.Web.Infrastructure"); @@ -3231,7 +3233,7 @@ test("parse nupkg file", async () => { test("parse bazel skyframe", () => { const deps = parseBazelSkyframe( - readFileSync("./test/data/bazel/bazel-state.txt", { encoding: "utf-8" }) + readFileSync("./test/data/bazel/bazel-state.txt", { encoding: "utf-8" }), ); expect(deps.length).toEqual(16); expect(deps[0].name).toEqual("guava"); @@ -3240,8 +3242,8 @@ test("parse bazel skyframe", () => { test("parse bazel action graph", () => { const deps = parseBazelActionGraph( readFileSync("./test/data/bazel/bazel-action-graph.txt", { - encoding: "utf-8" - }) + encoding: "utf-8", + }), ); expect(deps.length).toEqual(10); expect(deps[0].group).toEqual("org.scala-lang"); @@ -3254,7 +3256,7 @@ test("parse bazel action graph", () => { test("parse bazel build", () => { const projs = parseBazelBuild( - readFileSync("./test/data/bazel/BUILD", { encoding: "utf-8" }) + readFileSync("./test/data/bazel/BUILD", { encoding: "utf-8" }), ); expect(projs.length).toEqual(2); expect(projs[0]).toEqual("java-maven-lib"); @@ -3262,7 +3264,7 @@ test("parse bazel build", () => { test("parse helm charts", () => { let dep_list = parseHelmYamlData( - readFileSync("./test/data/Chart.yaml", { encoding: "utf-8" }) + readFileSync("./test/data/Chart.yaml", { encoding: "utf-8" }), ); expect(dep_list.length).toEqual(3); expect(dep_list[0]).toEqual({ @@ -3270,13 +3272,13 @@ test("parse helm charts", () => { version: "16.0.0", description: "Prometheus is a monitoring system and time series database.", homepage: { - url: "https://prometheus.io/" - } + url: "https://prometheus.io/", + }, }); dep_list = parseHelmYamlData( readFileSync("./test/data/prometheus-community-index.yaml", { - encoding: "utf-8" - }) + encoding: "utf-8", + }), ); expect(dep_list.length).toEqual(1836); expect(dep_list[0]).toEqual({ @@ -3287,153 +3289,153 @@ test("parse helm charts", () => { homepage: { url: "https://prometheus.io/" }, _integrity: "sha256-c8ece226669d90fa56a3424fa789b80a10de2cd458cd93141b8e445e26c6054d", - repository: { url: "https://github.com/prometheus/alertmanager" } + repository: { url: "https://github.com/prometheus/alertmanager" }, }); }); test("parse container spec like files", () => { let dep_list = parseContainerSpecData( - readFileSync("./test/data/docker-compose.yml", { encoding: "utf-8" }) + readFileSync("./test/data/docker-compose.yml", { encoding: "utf-8" }), ); expect(dep_list.length).toEqual(4); dep_list = parseContainerSpecData( - readFileSync("./test/data/docker-compose-ng.yml", { encoding: "utf-8" }) + readFileSync("./test/data/docker-compose-ng.yml", { encoding: "utf-8" }), ); expect(dep_list.length).toEqual(8); expect(dep_list[0]).toEqual({ - service: "frontend" + service: "frontend", }); dep_list = parseContainerSpecData( - readFileSync("./test/data/docker-compose-cr.yml", { encoding: "utf-8" }) + readFileSync("./test/data/docker-compose-cr.yml", { encoding: "utf-8" }), ); expect(dep_list.length).toEqual(14); expect(dep_list[0]).toEqual({ - service: "crapi-identity" + service: "crapi-identity", }); dep_list = parseContainerSpecData( - readFileSync("./test/data/tekton-task.yml", { encoding: "utf-8" }) + readFileSync("./test/data/tekton-task.yml", { encoding: "utf-8" }), ); expect(dep_list.length).toEqual(2); expect(dep_list[0]).toEqual({ image: - "docker.io/amazon/aws-cli:2.0.52@sha256:1506cec98a7101c935176d440a14302ea528b8f92fcaf4a6f1ea2d7ecef7edc4" + "docker.io/amazon/aws-cli:2.0.52@sha256:1506cec98a7101c935176d440a14302ea528b8f92fcaf4a6f1ea2d7ecef7edc4", }); dep_list = parseContainerSpecData( - readFileSync("./test/data/postgrescluster.yaml", { encoding: "utf-8" }) + readFileSync("./test/data/postgrescluster.yaml", { encoding: "utf-8" }), ); expect(dep_list.length).toEqual(6); expect(dep_list[0]).toEqual({ image: - "registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-14.5-1" + "registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-14.5-1", }); dep_list = parseContainerSpecData( - readFileSync("./test/data/deployment.yaml", { encoding: "utf-8" }) + readFileSync("./test/data/deployment.yaml", { encoding: "utf-8" }), ); expect(dep_list.length).toEqual(2); expect(dep_list[0]).toEqual({ - image: "node-typescript-example" + image: "node-typescript-example", }); dep_list = parseContainerSpecData( - readFileSync("./test/data/skaffold.yaml", { encoding: "utf-8" }) + readFileSync("./test/data/skaffold.yaml", { encoding: "utf-8" }), ); expect(dep_list.length).toEqual(6); expect(dep_list[0]).toEqual({ - image: "leeroy-web" + image: "leeroy-web", }); dep_list = parseContainerSpecData( - readFileSync("./test/data/skaffold-ms.yaml", { encoding: "utf-8" }) + readFileSync("./test/data/skaffold-ms.yaml", { encoding: "utf-8" }), ); expect(dep_list.length).toEqual(22); expect(dep_list[0]).toEqual({ - image: "emailservice" + image: "emailservice", }); dep_list = parseContainerSpecData( - readFileSync("./test/data/emailservice.yaml", { encoding: "utf-8" }) + readFileSync("./test/data/emailservice.yaml", { encoding: "utf-8" }), ); expect(dep_list.length).toEqual(2); expect(dep_list[0]).toEqual({ - image: "emailservice" + image: "emailservice", }); dep_list = parseContainerSpecData( - readFileSync("./test/data/redis.yaml", { encoding: "utf-8" }) + readFileSync("./test/data/redis.yaml", { encoding: "utf-8" }), ); expect(dep_list.length).toEqual(2); expect(dep_list[0]).toEqual({ - image: "redis:alpine" + image: "redis:alpine", }); dep_list = parseContainerSpecData( - readFileSync("./test/data/adservice.yaml", { encoding: "utf-8" }) + readFileSync("./test/data/adservice.yaml", { encoding: "utf-8" }), ); expect(dep_list.length).toEqual(2); expect(dep_list[0]).toEqual({ - image: "gcr.io/google-samples/microservices-demo/adservice:v0.4.1" + image: "gcr.io/google-samples/microservices-demo/adservice:v0.4.1", }); dep_list = parseContainerSpecData( - readFileSync("./test/data/kustomization.yaml", { encoding: "utf-8" }) + readFileSync("./test/data/kustomization.yaml", { encoding: "utf-8" }), ); expect(dep_list.length).toEqual(22); expect(dep_list[0]).toEqual({ - image: "gcr.io/google-samples/microservices-demo/adservice" + image: "gcr.io/google-samples/microservices-demo/adservice", }); }); test("parse containerfiles / dockerfiles", () => { const dep_list = parseContainerFile( - readFileSync("./test/data/Dockerfile", { encoding: "utf-8" }) + readFileSync("./test/data/Dockerfile", { encoding: "utf-8" }), ); expect(dep_list.length).toEqual(5); expect(dep_list[0]).toEqual({ - image: "hello-world" + image: "hello-world", }); expect(dep_list[0]).toEqual({ - image: "hello-world" + image: "hello-world", }); expect(dep_list[1]).toEqual({ - image: "hello-world" + image: "hello-world", }); expect(dep_list[2]).toEqual({ - image: "hello-world:latest" + image: "hello-world:latest", }); expect(dep_list[3]).toEqual({ - image: "hello-world@sha256:1234567890abcdef" + image: "hello-world@sha256:1234567890abcdef", }); expect(dep_list[4]).toEqual({ - image: "hello-world:latest@sha256:1234567890abcdef" + image: "hello-world:latest@sha256:1234567890abcdef", }); }); test("parse bitbucket-pipelines", () => { const dep_list = parseBitbucketPipelinesFile( - readFileSync("./test/data/bitbucket-pipelines.yml", { encoding: "utf-8" }) + readFileSync("./test/data/bitbucket-pipelines.yml", { encoding: "utf-8" }), ); expect(dep_list.length).toEqual(5); expect(dep_list[0]).toEqual({ - image: "node:16" + image: "node:16", }); expect(dep_list[1]).toEqual({ - image: "node:18" + image: "node:18", }); expect(dep_list[2]).toEqual({ - image: "some.private.org/docker/library/node:20" + image: "some.private.org/docker/library/node:20", }); expect(dep_list[3]).toEqual({ - image: "atlassian/aws/s3-deploy:0.2.2" + image: "atlassian/aws/s3-deploy:0.2.2", }); expect(dep_list[4]).toEqual({ - image: "some.private.org/docker/library/some-pipe:1.0.0" + image: "some.private.org/docker/library/some-pipe:1.0.0", }); }); test("parse cloudbuild data", () => { expect(parseCloudBuildData(null)).toEqual([]); const dep_list = parseCloudBuildData( - readFileSync("./test/data/cloudbuild.yaml", { encoding: "utf-8" }) + readFileSync("./test/data/cloudbuild.yaml", { encoding: "utf-8" }), ); expect(dep_list.length).toEqual(1); expect(dep_list[0]).toEqual({ group: "gcr.io/k8s-skaffold", name: "skaffold", - version: "v2.0.1" + version: "v2.0.1", }); }); @@ -3448,8 +3450,8 @@ test("parse privado files", () => { test("parse openapi spec files", () => { let aservice = parseOpenapiSpecData( readFileSync("./test/data/openapi/openapi-spec.json", { - encoding: "utf-8" - }) + encoding: "utf-8", + }), ); expect(aservice.length).toEqual(1); expect(aservice[0]).toEqual({ @@ -3496,14 +3498,14 @@ test("parse openapi spec files", () => { "http://localhost:8888/workshop/api/mechanic/receive_report", "http://localhost:8888/workshop/api/mechanic/mechanic_report", "http://localhost:8888/workshop/api/mechanic/service_requests", - "http://localhost:8888/workshop/api/mechanic/signup" + "http://localhost:8888/workshop/api/mechanic/signup", ], - authenticated: true + authenticated: true, }); aservice = parseOpenapiSpecData( readFileSync("./test/data/openapi/openapi-oai.yaml", { - encoding: "utf-8" - }) + encoding: "utf-8", + }), ); expect(aservice.length).toEqual(1); expect(aservice[0]).toEqual({ @@ -3532,9 +3534,9 @@ test("parse openapi spec files", () => { "https://api.openai.com/v1/fine-tunes/{fine_tune_id}/events", "https://api.openai.com/v1/models", "https://api.openai.com/v1/models/{model}", - "https://api.openai.com/v1/moderations" + "https://api.openai.com/v1/moderations", ], - authenticated: false + authenticated: false, }); }); @@ -3542,7 +3544,7 @@ test("parse swift deps files", () => { expect(parseSwiftJsonTree(null, "./test/data/swift-deps.json")).toEqual({}); let retData = parseSwiftJsonTree( readFileSync("./test/data/swift-deps.json", { encoding: "utf-8" }), - "./test/data/swift-deps.json" + "./test/data/swift-deps.json", ); expect(retData.pkgList.length).toEqual(5); expect(retData.pkgList[0]).toEqual({ @@ -3552,14 +3554,14 @@ test("parse swift deps files", () => { version: "unspecified", properties: [ { name: "SrcPath", value: "/Volumes/Work/sandbox/swift-markdown" }, - { name: "SrcFile", value: "./test/data/swift-deps.json" } + { name: "SrcFile", value: "./test/data/swift-deps.json" }, ], - "bom-ref": "pkg:swift/swift-markdown@unspecified" + "bom-ref": "pkg:swift/swift-markdown@unspecified", }); expect(retData.dependenciesList.length).toEqual(5); expect(retData.dependenciesList[0]).toEqual({ ref: "pkg:swift/github.com/apple/swift-cmark@unspecified", - dependsOn: [] + dependsOn: [], }); expect(retData.dependenciesList[retData.dependenciesList.length - 1]).toEqual( { @@ -3567,13 +3569,13 @@ test("parse swift deps files", () => { dependsOn: [ "pkg:swift/github.com/apple/swift-cmark@unspecified", "pkg:swift/github.com/apple/swift-argument-parser@1.0.3", - "pkg:swift/github.com/apple/swift-docc-plugin@1.1.0" - ] - } + "pkg:swift/github.com/apple/swift-docc-plugin@1.1.0", + ], + }, ); retData = parseSwiftJsonTree( readFileSync("./test/data/swift-deps1.json", { encoding: "utf-8" }), - "./test/data/swift-deps.json" + "./test/data/swift-deps.json", ); expect(retData.pkgList.length).toEqual(5); expect(retData.pkgList[0]).toEqual({ @@ -3584,33 +3586,33 @@ test("parse swift deps files", () => { properties: [ { name: "SrcPath", - value: "/Volumes/Work/sandbox/swift-certificates" + value: "/Volumes/Work/sandbox/swift-certificates", }, - { name: "SrcFile", value: "./test/data/swift-deps.json" } + { name: "SrcFile", value: "./test/data/swift-deps.json" }, ], - "bom-ref": "pkg:swift/swift-certificates@unspecified" + "bom-ref": "pkg:swift/swift-certificates@unspecified", }); expect(retData.dependenciesList).toEqual([ { ref: "pkg:swift/github.com/apple/swift-docc-symbolkit@1.0.0", - dependsOn: [] + dependsOn: [], }, { ref: "pkg:swift/github.com/apple/swift-docc-plugin@1.1.0", - dependsOn: ["pkg:swift/github.com/apple/swift-docc-symbolkit@1.0.0"] + dependsOn: ["pkg:swift/github.com/apple/swift-docc-symbolkit@1.0.0"], }, { ref: "pkg:swift/github.com/apple/swift-asn1@0.7.0", - dependsOn: ["pkg:swift/github.com/apple/swift-docc-plugin@1.1.0"] + dependsOn: ["pkg:swift/github.com/apple/swift-docc-plugin@1.1.0"], }, { ref: "pkg:swift/github.com/apple/swift-crypto@2.4.0", - dependsOn: ["pkg:swift/github.com/apple/swift-asn1@0.7.0"] + dependsOn: ["pkg:swift/github.com/apple/swift-asn1@0.7.0"], }, { ref: "pkg:swift/swift-certificates@unspecified", - dependsOn: ["pkg:swift/github.com/apple/swift-crypto@2.4.0"] - } + dependsOn: ["pkg:swift/github.com/apple/swift-crypto@2.4.0"], + }, ]); let pkgList = parseSwiftResolved("./test/data/Package.resolved"); expect(pkgList.length).toEqual(6); @@ -3628,13 +3630,13 @@ test("parse swift deps files", () => { { technique: "manifest-analysis", confidence: 1, - value: "./test/data/Package.resolved" - } - ] - } + value: "./test/data/Package.resolved", + }, + ], + }, }, "bom-ref": "pkg:swift/github.com/apple/swift-argument-parser@1.0.3", - repository: { url: "https://github.com/apple/swift-argument-parser" } + repository: { url: "https://github.com/apple/swift-argument-parser" }, }); pkgList = parseSwiftResolved("./test/data/Package2.resolved"); expect(pkgList.length).toEqual(7); @@ -3652,13 +3654,13 @@ test("parse swift deps files", () => { { technique: "manifest-analysis", confidence: 1, - value: "./test/data/Package2.resolved" - } - ] - } + value: "./test/data/Package2.resolved", + }, + ], + }, }, "bom-ref": "pkg:swift/github.com/apple/swift-argument-parser@1.2.2", - repository: { url: "https://github.com/apple/swift-argument-parser.git" } + repository: { url: "https://github.com/apple/swift-argument-parser.git" }, }); expect(pkgList[4]).toEqual({ name: "swift-http-server", @@ -3674,15 +3676,15 @@ test("parse swift deps files", () => { { technique: "manifest-analysis", confidence: 1, - value: "./test/data/Package2.resolved" - } - ] - } + value: "./test/data/Package2.resolved", + }, + ], + }, }, "bom-ref": "pkg:swift/github.com/swift/swift-http-server@0.7.4", repository: { - url: "git@github.com:swift/swift-http-server.git" - } + url: "git@github.com:swift/swift-http-server.git", + }, }); expect(pkgList[5]).toEqual({ name: "swift-http-server", @@ -3698,15 +3700,15 @@ test("parse swift deps files", () => { { technique: "manifest-analysis", confidence: 1, - value: "./test/data/Package2.resolved" - } - ] - } + value: "./test/data/Package2.resolved", + }, + ], + }, }, "bom-ref": "pkg:swift/bitbucket.org/swift/swift-http-server@0.7.4", repository: { - url: "ssh://git@bitbucket.org:7999/swift/swift-http-server.git" - } + url: "ssh://git@bitbucket.org:7999/swift/swift-http-server.git", + }, }); }); @@ -3721,36 +3723,36 @@ test("pypi version solver tests", () => { "3.0.12-alpha.13", "3.0.12-alpha.12", "3.0.12-alpha.14", - "4.0.0" + "4.0.0", ]; expect(guessPypiMatchingVersion(versionsList, "<4")).toEqual( - "3.0.12-alpha.14" + "3.0.12-alpha.14", ); expect(guessPypiMatchingVersion(versionsList, ">1.0.0 <3.0.0")).toEqual( - "2.0.3" + "2.0.3", ); expect(guessPypiMatchingVersion(versionsList, "== 1.0.1")).toEqual("1.0.1"); expect(guessPypiMatchingVersion(versionsList, "~= 1.0.1")).toEqual("1.0.1"); expect(guessPypiMatchingVersion(versionsList, ">= 2.0.1, == 2.8.*")).toEqual( - null + null, ); expect( guessPypiMatchingVersion( ["2.0.0", "2.0.1", "2.4.0", "2.8.4", "2.9.0", "3.0.1"], - ">= 2.0.1, == 2.8.*" - ) + ">= 2.0.1, == 2.8.*", + ), ).toEqual("2.8.4"); expect( - guessPypiMatchingVersion(versionsList, "== 1.1.0; python_version < '3.8'") + guessPypiMatchingVersion(versionsList, "== 1.1.0; python_version < '3.8'"), ).toEqual("1.1.0"); expect( - guessPypiMatchingVersion(versionsList, "<3.6,>1.9,!=1.9.6,<4.0a0") + guessPypiMatchingVersion(versionsList, "<3.6,>1.9,!=1.9.6,<4.0a0"), ).toEqual("3.0.12-alpha.14"); expect( - guessPypiMatchingVersion(versionsList, ">=1.4.2,<2.2,!=1.5.*,!=1.6.*") + guessPypiMatchingVersion(versionsList, ">=1.4.2,<2.2,!=1.5.*,!=1.6.*"), ).toEqual("2.0.3"); expect(guessPypiMatchingVersion(versionsList, ">=1.21.1,<3")).toEqual( - "2.0.3" + "2.0.3", ); }); @@ -3765,13 +3767,13 @@ test("parsePackageJsonName tests", () => { fullName: "foo", moduleName: "foo", projectName: null, - scope: null + scope: null, }); expect(parsePackageJsonName("@babel/code-frame")).toEqual({ fullName: "code-frame", moduleName: "code-frame", projectName: null, - scope: "@babel" + scope: "@babel", }); }); @@ -3783,7 +3785,7 @@ test("parseDot tests", () => { name: "tensorflow-lite", purl: "pkg:conan/tensorflow-lite", type: "application", - version: "" + version: "", }); expect(retMap.pkgList.length).toEqual(283); expect(retMap.dependenciesList.length).toEqual(247); @@ -3797,7 +3799,7 @@ test("parseCmakeLikeFile tests", () => { name: "tensorflow-lite", purl: "pkg:conan/tensorflow-lite", type: "application", - version: "" + version: "", }); retMap = parseCmakeLikeFile("./test/data/cmakes/CMakeLists.txt", "conan"); expect(retMap.parentComponent).toEqual({ @@ -3806,11 +3808,11 @@ test("parseCmakeLikeFile tests", () => { name: "mongo-c-driver", purl: "pkg:conan/mongo-c-driver", type: "application", - version: "" + version: "", }); retMap = parseCmakeLikeFile( "./test/data/cmakes/CMakeLists-tpl.txt", - "generic" + "generic", ); expect(retMap.parentComponent).toEqual({ "bom-ref": "pkg:generic/aurora-examples", @@ -3818,11 +3820,11 @@ test("parseCmakeLikeFile tests", () => { name: "aurora-examples", purl: "pkg:generic/aurora-examples", type: "application", - version: "" + version: "", }); retMap = parseCmakeLikeFile( "./test/data/cmakes/mongoc-config.cmake", - "conan" + "conan", ); expect(retMap.pkgList.length).toEqual(2); retMap = parseCmakeLikeFile("./test/data/meson.build", "conan"); @@ -3832,7 +3834,7 @@ test("parseCmakeLikeFile tests", () => { name: "mtxclient", purl: "pkg:conan/mtxclient@0.9.2", type: "application", - version: "0.9.2" + version: "0.9.2", }); expect(retMap.pkgList.length).toEqual(7); retMap = parseCmakeLikeFile("./test/data/meson-1.build", "conan"); @@ -3842,7 +3844,7 @@ test("parseCmakeLikeFile tests", () => { name: "abseil-cpp", purl: "pkg:conan/abseil-cpp@20230125.1", type: "application", - version: "20230125.1" + version: "20230125.1", }); expect(retMap.pkgList.length).toEqual(2); }); diff --git a/validator.js b/validator.js index a162a1f8b..6b6f8e027 100644 --- a/validator.js +++ b/validator.js @@ -1,7 +1,7 @@ -import Ajv from "ajv"; -import addFormats from "ajv-formats"; import { readFileSync } from "node:fs"; import { dirname, join } from "node:path"; +import Ajv from "ajv"; +import addFormats from "ajv-formats"; import { PackageURL } from "packageurl-js"; import { DEBUG_MODE } from "./utils.js"; @@ -24,14 +24,14 @@ export const validateBom = (bomJson) => { const schema = JSON.parse( readFileSync( join(dirName, "data", `bom-${bomJson.specVersion}.schema.json`), - "utf-8" - ) + "utf-8", + ), ); const defsSchema = JSON.parse( - readFileSync(join(dirName, "data", "jsf-0.82.schema.json"), "utf-8") + readFileSync(join(dirName, "data", "jsf-0.82.schema.json"), "utf-8"), ); const spdxSchema = JSON.parse( - readFileSync(join(dirName, "data", "spdx.schema.json"), "utf-8") + readFileSync(join(dirName, "data", "spdx.schema.json"), "utf-8"), ); const ajv = new Ajv({ schemas: [schema, defsSchema, spdxSchema], @@ -41,17 +41,17 @@ export const validateBom = (bomJson) => { code: { source: true, lines: true, - optimize: true - } + optimize: true, + }, }); addFormats(ajv); const validate = ajv.getSchema( - `http://cyclonedx.org/schema/bom-${bomJson.specVersion}.schema.json` + `http://cyclonedx.org/schema/bom-${bomJson.specVersion}.schema.json`, ); const isValid = validate(bomJson); if (!isValid) { console.log( - `Schema validation failed for ${bomJson.metadata.component.name}` + `Schema validation failed for ${bomJson.metadata.component.name}`, ); console.log(validate.errors); return false; @@ -97,11 +97,11 @@ export const validateMetadata = (bomJson) => { for (const comp of bomJson.metadata.component.components) { if (comp["bom-ref"] === bomJson.metadata.component["bom-ref"]) { warningsList.push( - `Found parent component with ref ${comp["bom-ref"]} in metadata.component.components` + `Found parent component with ref ${comp["bom-ref"]} in metadata.component.components`, ); } else if (comp["name"] === bomJson.metadata.component["name"]) { warningsList.push( - `Found parent component with name ${comp["name"]} in metadata.component.components` + `Found parent component with name ${comp["name"]} in metadata.component.components`, ); } } @@ -132,26 +132,26 @@ export const validatePurls = (bomJson) => { if (comp.type === "cryptographic-asset") { if (comp.purl && comp.purl.length) { errorList.push( - `purl should not be defined for cryptographic-asset ${comp.purl}` + `purl should not be defined for cryptographic-asset ${comp.purl}`, ); } if (!comp.cryptoProperties) { errorList.push( - `cryptoProperties is missing for cryptographic-asset ${comp.purl}` + `cryptoProperties is missing for cryptographic-asset ${comp.purl}`, ); } else if ( comp.cryptoProperties.assetType === "algorithm" && !comp.cryptoProperties.oid ) { errorList.push( - `cryptoProperties.oid is missing for cryptographic-asset of type algorithm ${comp.purl}` + `cryptoProperties.oid is missing for cryptographic-asset of type algorithm ${comp.purl}`, ); } else if ( comp.cryptoProperties.assetType === "certificate" && !comp.cryptoProperties.algorithmProperties ) { errorList.push( - `cryptoProperties.algorithmProperties is missing for cryptographic-asset of type certificate ${comp.purl}` + `cryptoProperties.algorithmProperties is missing for cryptographic-asset of type certificate ${comp.purl}`, ); } } else { @@ -159,7 +159,7 @@ export const validatePurls = (bomJson) => { const purlObj = PackageURL.fromString(comp.purl); if (purlObj.type && purlObj.type !== purlObj.type.toLowerCase()) { warningsList.push( - `purl type is not normalized to lower case ${comp.purl}` + `purl type is not normalized to lower case ${comp.purl}`, ); } if ( @@ -168,7 +168,7 @@ export const validatePurls = (bomJson) => { !purlObj.namespace ) { errorList.push( - `purl does not include namespace but includes encoded slash in name for npm type. ${comp.purl}` + `purl does not include namespace but includes encoded slash in name for npm type. ${comp.purl}`, ); } } catch (ex) {