[ {
  "shortName" : "suspend fun onUserAuthFlowCompletedInSpace()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/spaceUnfurlsInSlack/SpaceOAuthFlow.kt",
  "fileLinesCount" : 141,
  "components" : [ "primary::src" ],
  "startLine" : 52,
  "endLine" : 124,
  "linesOfCode" : 65,
  "mcCabeIndex" : 10,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun provideMessageUnfurl()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/spaceUnfurlsInSlack/unfurlProviders/ChatUnfurlProvider.kt",
  "fileLinesCount" : 241,
  "components" : [ "primary::src" ],
  "startLine" : 63,
  "endLine" : 125,
  "linesOfCode" : 58,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 4,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun onSlackEvent()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/spaceUnfurlsInSlack/SpaceUnfurlsInSlack.kt",
  "fileLinesCount" : 384,
  "components" : [ "primary::src" ],
  "startLine" : 58,
  "endLine" : 102,
  "linesOfCode" : 44,
  "mcCabeIndex" : 4,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun onAppInstalledToSlackTeam()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/slackUnfurlsInSpace/SlackOAuthFlow.kt",
  "fileLinesCount" : 185,
  "components" : [ "primary::src" ],
  "startLine" : 103,
  "endLine" : 151,
  "linesOfCode" : 44,
  "mcCabeIndex" : 6,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun requestAuth()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/slackUnfurlsInSpace/SlackUnfurlsInSpace.kt",
  "fileLinesCount" : 546,
  "components" : [ "primary::src" ],
  "startLine" : 458,
  "endLine" : 500,
  "linesOfCode" : 43,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 4,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun onUserAuthFlowCompletedInSlack()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/slackUnfurlsInSpace/SlackOAuthFlow.kt",
  "fileLinesCount" : 185,
  "components" : [ "primary::src" ],
  "startLine" : 54,
  "endLine" : 101,
  "linesOfCode" : 43,
  "mcCabeIndex" : 5,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun create()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/storage/postgres/Interface.kt",
  "fileLinesCount" : 554,
  "components" : [ "primary::src" ],
  "startLine" : 90,
  "endLine" : 126,
  "linesOfCode" : 36,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 7,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun save()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/storage/postgres/Interface.kt",
  "fileLinesCount" : 554,
  "components" : [ "primary::src" ],
  "startLine" : 218,
  "endLine" : 255,
  "linesOfCode" : 36,
  "mcCabeIndex" : 4,
  "numberOfParameters" : 6,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export default function ConnectedTeamList()",
  "longName" : "",
  "relativeFileName" : "client/src/app/components/connectedTeamList.js",
  "fileLinesCount" : 48,
  "components" : [ "primary::client" ],
  "startLine" : 7,
  "endLine" : 40,
  "linesOfCode" : 33,
  "mcCabeIndex" : 3,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun onSlackInteractive()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/spaceUnfurlsInSlack/SpaceUnfurlsInSlack.kt",
  "fileLinesCount" : 384,
  "components" : [ "primary::src" ],
  "startLine" : 104,
  "endLine" : 134,
  "linesOfCode" : 28,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun startUserAuthFlowInSlack()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/slackUnfurlsInSpace/SlackOAuthFlow.kt",
  "fileLinesCount" : 185,
  "components" : [ "primary::src" ],
  "startLine" : 22,
  "endLine" : 52,
  "linesOfCode" : 28,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun save()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/storage/postgres/Interface.kt",
  "fileLinesCount" : 554,
  "components" : [ "primary::src" ],
  "startLine" : 367,
  "endLine" : 391,
  "linesOfCode" : 25,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 6,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export default function UnapprovedPermissionsAndUnfurlsWarnings()",
  "longName" : "",
  "relativeFileName" : "client/src/app/components/unapprovedPermissionsAndUnfurlsWarnings.js",
  "fileLinesCount" : 36,
  "components" : [ "primary::client" ],
  "startLine" : 9,
  "endLine" : 36,
  "linesOfCode" : 25,
  "mcCabeIndex" : 5,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun get()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/storage/postgres/Interface.kt",
  "fileLinesCount" : 554,
  "components" : [ "primary::src" ],
  "startLine" : 257,
  "endLine" : 280,
  "linesOfCode" : 24,
  "mcCabeIndex" : 4,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun disableUnfurls()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/storage/postgres/Interface.kt",
  "fileLinesCount" : 554,
  "components" : [ "primary::src" ],
  "startLine" : 292,
  "endLine" : 315,
  "linesOfCode" : 24,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun startUserAuthFlowInSpace()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/spaceUnfurlsInSlack/SpaceOAuthFlow.kt",
  "fileLinesCount" : 141,
  "components" : [ "primary::src" ],
  "startLine" : 24,
  "endLine" : 50,
  "linesOfCode" : 23,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "module.exports = function()",
  "longName" : "",
  "relativeFileName" : "client/src/setupProxy.js",
  "fileLinesCount" : 25,
  "components" : [ "primary::client" ],
  "startLine" : 3,
  "endLine" : 25,
  "linesOfCode" : 23,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun get()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/storage/postgres/Interface.kt",
  "fileLinesCount" : 554,
  "components" : [ "primary::src" ],
  "startLine" : 393,
  "endLine" : 414,
  "linesOfCode" : 22,
  "mcCabeIndex" : 4,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "function App()",
  "longName" : "",
  "relativeFileName" : "client/src/app/App.js",
  "fileLinesCount" : 46,
  "components" : [ "primary::client" ],
  "startLine" : 12,
  "endLine" : 35,
  "linesOfCode" : 22,
  "mcCabeIndex" : 4,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "protected suspend fun  fetch()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/slackUnfurlsInSpace/BaseSlackClient.kt",
  "fileLinesCount" : 132,
  "components" : [ "primary::src" ],
  "startLine" : 19,
  "endLine" : 38,
  "linesOfCode" : 20,
  "mcCabeIndex" : 5,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun create()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/storage/postgres/Interface.kt",
  "fileLinesCount" : 554,
  "components" : [ "primary::src" ],
  "startLine" : 444,
  "endLine" : 462,
  "linesOfCode" : 19,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun create()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/storage/postgres/Interface.kt",
  "fileLinesCount" : 554,
  "components" : [ "primary::src" ],
  "startLine" : 319,
  "endLine" : 336,
  "linesOfCode" : 18,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun initPostgres()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/storage/postgres/Interface.kt",
  "fileLinesCount" : 554,
  "components" : [ "primary::src" ],
  "startLine" : 534,
  "endLine" : 554,
  "linesOfCode" : 18,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export default function Button()",
  "longName" : "",
  "relativeFileName" : "client/src/app/components/button.js",
  "fileLinesCount" : 21,
  "components" : [ "primary::client" ],
  "startLine" : 4,
  "endLine" : 21,
  "linesOfCode" : 18,
  "mcCabeIndex" : 5,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export async function fetchSpaceUserToken()",
  "longName" : "",
  "relativeFileName" : "client/src/app/service/spaceAuth.js",
  "fileLinesCount" : 36,
  "components" : [ "primary::client" ],
  "startLine" : 8,
  "endLine" : 24,
  "linesOfCode" : 16,
  "mcCabeIndex" : 3,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun save()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/storage/postgres/Interface.kt",
  "fileLinesCount" : 554,
  "components" : [ "primary::src" ],
  "startLine" : 157,
  "endLine" : 171,
  "linesOfCode" : 15,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun disableUnfurls()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/storage/postgres/Interface.kt",
  "fileLinesCount" : 554,
  "components" : [ "primary::src" ],
  "startLine" : 426,
  "endLine" : 440,
  "linesOfCode" : 15,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export async function approvePermissionsAndUnfurlDomains()",
  "longName" : "",
  "relativeFileName" : "client/src/app/service/utils.js",
  "fileLinesCount" : 38,
  "components" : [ "primary::client" ],
  "startLine" : 11,
  "endLine" : 26,
  "linesOfCode" : 15,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun getById()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/storage/postgres/Interface.kt",
  "fileLinesCount" : 554,
  "components" : [ "primary::src" ],
  "startLine" : 173,
  "endLine" : 186,
  "linesOfCode" : 14,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun get()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/storage/postgres/Interface.kt",
  "fileLinesCount" : 554,
  "components" : [ "primary::src" ],
  "startLine" : 338,
  "endLine" : 351,
  "linesOfCode" : 14,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun get()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/storage/postgres/Interface.kt",
  "fileLinesCount" : 554,
  "components" : [ "primary::src" ],
  "startLine" : 464,
  "endLine" : 477,
  "linesOfCode" : 14,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun reloadTokensFromDb()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/slackUnfurlsInSpace/SlackUserClientImpl.kt",
  "fileLinesCount" : 153,
  "components" : [ "primary::src" ],
  "startLine" : 70,
  "endLine" : 82,
  "linesOfCode" : 13,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun updateTokens()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/storage/postgres/Interface.kt",
  "fileLinesCount" : 554,
  "components" : [ "primary::src" ],
  "startLine" : 76,
  "endLine" : 88,
  "linesOfCode" : 13,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun processDeferredLinkSharedEvents()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/spaceUnfurlsInSlack/SpaceUnfurlsInSlack.kt",
  "fileLinesCount" : 384,
  "components" : [ "primary::src" ],
  "startLine" : 136,
  "endLine" : 147,
  "linesOfCode" : 12,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun onAppInstalledToSpaceOrg()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/slackUnfurlsInSpace/SlackUnfurlsInSpace.kt",
  "fileLinesCount" : 546,
  "components" : [ "primary::src" ],
  "startLine" : 137,
  "endLine" : 150,
  "linesOfCode" : 12,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun getById()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/storage/postgres/Interface.kt",
  "fileLinesCount" : 554,
  "components" : [ "primary::src" ],
  "startLine" : 33,
  "endLine" : 44,
  "linesOfCode" : 12,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun updateIconUrlAndName()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/storage/postgres/Interface.kt",
  "fileLinesCount" : 554,
  "components" : [ "primary::src" ],
  "startLine" : 64,
  "endLine" : 74,
  "linesOfCode" : 11,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun readLocalProperties()",
  "longName" : "",
  "relativeFileName" : "build.gradle.kts",
  "fileLinesCount" : 134,
  "components" : [ "primary::ROOT" ],
  "startLine" : 124,
  "endLine" : 134,
  "linesOfCode" : 11,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun requestOAuthToken()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/slackUnfurlsInSpace/SlackOAuthFlow.kt",
  "fileLinesCount" : 185,
  "components" : [ "primary::src" ],
  "startLine" : 154,
  "endLine" : 165,
  "linesOfCode" : 10,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun updateTokensInDb()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/slackUnfurlsInSpace/SlackUserClientImpl.kt",
  "fileLinesCount" : 153,
  "components" : [ "primary::src" ],
  "startLine" : 84,
  "endLine" : 93,
  "linesOfCode" : 10,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun encrypt()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/Secrets.kt",
  "fileLinesCount" : 33,
  "components" : [ "primary::src" ],
  "startLine" : 8,
  "endLine" : 17,
  "linesOfCode" : 10,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun create()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/storage/postgres/Interface.kt",
  "fileLinesCount" : 554,
  "components" : [ "primary::src" ],
  "startLine" : 493,
  "endLine" : 502,
  "linesOfCode" : 10,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 4,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export async function runWithConfirmationFromTheUser()",
  "longName" : "",
  "relativeFileName" : "client/src/app/service/utils.js",
  "fileLinesCount" : 38,
  "components" : [ "primary::client" ],
  "startLine" : 28,
  "endLine" : 38,
  "linesOfCode" : 10,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun loadAppInstance()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/slackUnfurlsInSpace/SpaceClientPersistentStrategy.kt",
  "fileLinesCount" : 23,
  "components" : [ "primary::src" ],
  "startLine" : 10,
  "endLine" : 18,
  "linesOfCode" : 9,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun disconnectFromSpaceOrg()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/storage/postgres/Interface.kt",
  "fileLinesCount" : 554,
  "components" : [ "primary::src" ],
  "startLine" : 128,
  "endLine" : 136,
  "linesOfCode" : 9,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun getByDomain()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/storage/postgres/Interface.kt",
  "fileLinesCount" : 554,
  "components" : [ "primary::src" ],
  "startLine" : 188,
  "endLine" : 196,
  "linesOfCode" : 9,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun delete()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/storage/postgres/Interface.kt",
  "fileLinesCount" : 554,
  "components" : [ "primary::src" ],
  "startLine" : 282,
  "endLine" : 290,
  "linesOfCode" : 9,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun delete()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/storage/postgres/Interface.kt",
  "fileLinesCount" : 554,
  "components" : [ "primary::src" ],
  "startLine" : 416,
  "endLine" : 424,
  "linesOfCode" : 9,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export async function initCssVars()",
  "longName" : "",
  "relativeFileName" : "client/src/app/service/theme.js",
  "fileLinesCount" : 32,
  "components" : [ "primary::client" ],
  "startLine" : 4,
  "endLine" : 14,
  "linesOfCode" : 9,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "function applyCssVars()",
  "longName" : "",
  "relativeFileName" : "client/src/app/service/theme.js",
  "fileLinesCount" : 32,
  "components" : [ "primary::client" ],
  "startLine" : 16,
  "endLine" : 24,
  "linesOfCode" : 9,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export default function MainPage()",
  "longName" : "",
  "relativeFileName" : "client/src/app/components/mainPage.js",
  "fileLinesCount" : 15,
  "components" : [ "primary::client" ],
  "startLine" : 7,
  "endLine" : 15,
  "linesOfCode" : 9,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export default function StartPage()",
  "longName" : "",
  "relativeFileName" : "client/src/app/components/startPage.js",
  "fileLinesCount" : 14,
  "components" : [ "primary::client" ],
  "startLine" : 6,
  "endLine" : 14,
  "linesOfCode" : 9,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun getSpaceClient()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/slackUnfurlsInSpace/SlackUnfurlsInSpace.kt",
  "fileLinesCount" : 546,
  "components" : [ "primary::src" ],
  "startLine" : 528,
  "endLine" : 535,
  "linesOfCode" : 8,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun getSpaceClient()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/slackUnfurlsInSpace/SlackUnfurlsInSpace.kt",
  "fileLinesCount" : 546,
  "components" : [ "primary::src" ],
  "startLine" : 537,
  "endLine" : 544,
  "linesOfCode" : 8,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun reloadTokensFromDb()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/slackUnfurlsInSpace/SlackAppClient.kt",
  "fileLinesCount" : 67,
  "components" : [ "primary::src" ],
  "startLine" : 42,
  "endLine" : 50,
  "linesOfCode" : 8,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun getForSpaceOrg()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/storage/postgres/Interface.kt",
  "fileLinesCount" : 554,
  "components" : [ "primary::src" ],
  "startLine" : 24,
  "endLine" : 31,
  "linesOfCode" : 8,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun getByDomain()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/storage/postgres/Interface.kt",
  "fileLinesCount" : 554,
  "components" : [ "primary::src" ],
  "startLine" : 46,
  "endLine" : 53,
  "linesOfCode" : 8,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun updateDomain()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/storage/postgres/Interface.kt",
  "fileLinesCount" : 554,
  "components" : [ "primary::src" ],
  "startLine" : 55,
  "endLine" : 62,
  "linesOfCode" : 8,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun updateLastUnfurlQueueItemEtag()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/storage/postgres/Interface.kt",
  "fileLinesCount" : 554,
  "components" : [ "primary::src" ],
  "startLine" : 198,
  "endLine" : 205,
  "linesOfCode" : 8,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "await runWithConfirmationFromTheUser()",
  "longName" : "",
  "relativeFileName" : "client/src/app/service/homepageData.js",
  "fileLinesCount" : 94,
  "components" : [ "primary::client" ],
  "startLine" : 27,
  "endLine" : 38,
  "linesOfCode" : 8,
  "mcCabeIndex" : 4,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun getTeamInfo()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/slackUnfurlsInSpace/SlackAppClient.kt",
  "fileLinesCount" : 67,
  "components" : [ "primary::src" ],
  "startLine" : 34,
  "endLine" : 40,
  "linesOfCode" : 7,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "function getCssVarsAndSubscribeForChanges()",
  "longName" : "",
  "relativeFileName" : "client/src/app/service/theme.js",
  "fileLinesCount" : 32,
  "components" : [ "primary::client" ],
  "startLine" : 26,
  "endLine" : 32,
  "linesOfCode" : 7,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export function redirectTopWindow()",
  "longName" : "",
  "relativeFileName" : "client/src/app/service/utils.js",
  "fileLinesCount" : 38,
  "components" : [ "primary::client" ],
  "startLine" : 3,
  "endLine" : 9,
  "linesOfCode" : 7,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export function addSlackTeam()",
  "longName" : "",
  "relativeFileName" : "client/src/app/service/homepageData.js",
  "fileLinesCount" : 94,
  "components" : [ "primary::client" ],
  "startLine" : 17,
  "endLine" : 23,
  "linesOfCode" : 7,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "function TeamIconUrl()",
  "longName" : "",
  "relativeFileName" : "client/src/app/components/connectedTeamList.js",
  "fileLinesCount" : 48,
  "components" : [ "primary::client" ],
  "startLine" : 42,
  "endLine" : 48,
  "linesOfCode" : 7,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export default function WarningBox()",
  "longName" : "",
  "relativeFileName" : "client/src/app/components/warningBox.js",
  "fileLinesCount" : 20,
  "components" : [ "primary::client" ],
  "startLine" : 4,
  "endLine" : 10,
  "linesOfCode" : 7,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun decrypt()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/Secrets.kt",
  "fileLinesCount" : 33,
  "components" : [ "primary::src" ],
  "startLine" : 19,
  "endLine" : 24,
  "linesOfCode" : 6,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export function onPermissionsAndDomainsApproved()",
  "longName" : "",
  "relativeFileName" : "client/src/app/service/homepageData.js",
  "fileLinesCount" : 94,
  "components" : [ "primary::client" ],
  "startLine" : 76,
  "endLine" : 86,
  "linesOfCode" : 6,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export function approvePermissionsAndUnfurlDomains()",
  "longName" : "",
  "relativeFileName" : "client/src/app/service/spaceAuth.js",
  "fileLinesCount" : 36,
  "components" : [ "primary::client" ],
  "startLine" : 31,
  "endLine" : 36,
  "linesOfCode" : 6,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun delete()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/storage/postgres/Interface.kt",
  "fileLinesCount" : 554,
  "components" : [ "primary::src" ],
  "startLine" : 138,
  "endLine" : 142,
  "linesOfCode" : 5,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export function removeSlackTeam()",
  "longName" : "",
  "relativeFileName" : "client/src/app/service/homepageData.js",
  "fileLinesCount" : 94,
  "components" : [ "primary::client" ],
  "startLine" : 25,
  "endLine" : 42,
  "linesOfCode" : 5,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "function warningTextClicked()",
  "longName" : "",
  "relativeFileName" : "client/src/app/components/warningBox.js",
  "fileLinesCount" : 20,
  "components" : [ "primary::client" ],
  "startLine" : 16,
  "endLine" : 20,
  "linesOfCode" : 5,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export async function fetchHomepageData()",
  "longName" : "",
  "relativeFileName" : "client/src/app/service/homepageData.js",
  "fileLinesCount" : 94,
  "components" : [ "primary::client" ],
  "startLine" : 12,
  "endLine" : 15,
  "linesOfCode" : 4,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export default async function fetchFromServer()",
  "longName" : "",
  "relativeFileName" : "client/src/app/service/fetch.js",
  "fileLinesCount" : 6,
  "components" : [ "primary::client" ],
  "startLine" : 3,
  "endLine" : 6,
  "linesOfCode" : 4,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun provideUnfurlDetail()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/spaceUnfurlsInSlack/SpaceUnfurlsInSlack.kt",
  "fileLinesCount" : 384,
  "components" : [ "primary::src" ],
  "startLine" : 160,
  "endLine" : 162,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun scheduleProcessing()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/slackUnfurlsInSpace/SlackUnfurlsInSpace.kt",
  "fileLinesCount" : 546,
  "components" : [ "primary::src" ],
  "startLine" : 152,
  "endLine" : 154,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun updateTokensInDb()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/slackUnfurlsInSpace/SlackAppClient.kt",
  "fileLinesCount" : 67,
  "components" : [ "primary::src" ],
  "startLine" : 52,
  "endLine" : 54,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun resetToken()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/slackUnfurlsInSpace/SlackAppClient.kt",
  "fileLinesCount" : 67,
  "components" : [ "primary::src" ],
  "startLine" : 56,
  "endLine" : 58,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun onInvalidRefreshToken()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/slackUnfurlsInSpace/SlackAppClient.kt",
  "fileLinesCount" : 67,
  "components" : [ "primary::src" ],
  "startLine" : 60,
  "endLine" : 62,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun onInvalidAppCredentials()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/slackUnfurlsInSpace/SlackAppClient.kt",
  "fileLinesCount" : 67,
  "components" : [ "primary::src" ],
  "startLine" : 64,
  "endLine" : 66,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun saveAppInstance()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/slackUnfurlsInSpace/SpaceClientPersistentStrategy.kt",
  "fileLinesCount" : 23,
  "components" : [ "primary::src" ],
  "startLine" : 20,
  "endLine" : 22,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun onInvalidRefreshToken()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/slackUnfurlsInSpace/SlackUserClientImpl.kt",
  "fileLinesCount" : 153,
  "components" : [ "primary::src" ],
  "startLine" : 95,
  "endLine" : 97,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun onInvalidAppCredentials()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/slackUnfurlsInSpace/SlackUserClientImpl.kt",
  "fileLinesCount" : 153,
  "components" : [ "primary::src" ],
  "startLine" : 99,
  "endLine" : 101,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun resetToken()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/slackUnfurlsInSpace/SlackUserClientImpl.kt",
  "fileLinesCount" : 153,
  "components" : [ "primary::src" ],
  "startLine" : 103,
  "endLine" : 105,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export function isSlackTeamPresent()",
  "longName" : "",
  "relativeFileName" : "client/src/app/service/homepageData.js",
  "fileLinesCount" : 94,
  "components" : [ "primary::client" ],
  "startLine" : 44,
  "endLine" : 46,
  "linesOfCode" : 3,
  "mcCabeIndex" : 3,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export function getTeamList()",
  "longName" : "",
  "relativeFileName" : "client/src/app/service/homepageData.js",
  "fileLinesCount" : 94,
  "components" : [ "primary::client" ],
  "startLine" : 48,
  "endLine" : 50,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export function getUnapprovedPermissions()",
  "longName" : "",
  "relativeFileName" : "client/src/app/service/homepageData.js",
  "fileLinesCount" : 94,
  "components" : [ "primary::client" ],
  "startLine" : 52,
  "endLine" : 54,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export function getUnapprovedUnfurlDomains()",
  "longName" : "",
  "relativeFileName" : "client/src/app/service/homepageData.js",
  "fileLinesCount" : 94,
  "components" : [ "primary::client" ],
  "startLine" : 56,
  "endLine" : 58,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export function hasPermissionToApprove()",
  "longName" : "",
  "relativeFileName" : "client/src/app/service/homepageData.js",
  "fileLinesCount" : 94,
  "components" : [ "primary::client" ],
  "startLine" : 60,
  "endLine" : 62,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export function canManage()",
  "longName" : "",
  "relativeFileName" : "client/src/app/service/homepageData.js",
  "fileLinesCount" : 94,
  "components" : [ "primary::client" ],
  "startLine" : 64,
  "endLine" : 66,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export function setTeamListCallback()",
  "longName" : "",
  "relativeFileName" : "client/src/app/service/homepageData.js",
  "fileLinesCount" : 94,
  "components" : [ "primary::client" ],
  "startLine" : 68,
  "endLine" : 70,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export function setTeamPresentCallback()",
  "longName" : "",
  "relativeFileName" : "client/src/app/service/homepageData.js",
  "fileLinesCount" : 94,
  "components" : [ "primary::client" ],
  "startLine" : 72,
  "endLine" : 74,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export function setUnapprovedPermissionsCallback()",
  "longName" : "",
  "relativeFileName" : "client/src/app/service/homepageData.js",
  "fileLinesCount" : 94,
  "components" : [ "primary::client" ],
  "startLine" : 88,
  "endLine" : 90,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export function setUnapprovedUnfurlDomainsCallback()",
  "longName" : "",
  "relativeFileName" : "client/src/app/service/homepageData.js",
  "fileLinesCount" : 94,
  "components" : [ "primary::client" ],
  "startLine" : 92,
  "endLine" : 94,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export function getUserToken()",
  "longName" : "",
  "relativeFileName" : "client/src/app/service/spaceAuth.js",
  "fileLinesCount" : 36,
  "components" : [ "primary::client" ],
  "startLine" : 26,
  "endLine" : 29,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "await fetchFromServer()",
  "longName" : "",
  "relativeFileName" : "client/src/app/service/homepageData.js",
  "fileLinesCount" : 94,
  "components" : [ "primary::client" ],
  "startLine" : 37,
  "endLine" : 37,
  "linesOfCode" : 1,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun onSpaceCall()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/slackUnfurlsInSpace/SlackUnfurlsInSpace.kt",
  "fileLinesCount" : 546,
  "components" : [ "primary::src" ],
  "startLine" : 74,
  "endLine" : 74,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun getForSpaceOrg()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/storage/Interface.kt",
  "fileLinesCount" : 119,
  "components" : [ "primary::src" ],
  "startLine" : 27,
  "endLine" : 27,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun getByDomain()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/storage/Interface.kt",
  "fileLinesCount" : 119,
  "components" : [ "primary::src" ],
  "startLine" : 29,
  "endLine" : 29,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun create()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/storage/Interface.kt",
  "fileLinesCount" : 119,
  "components" : [ "primary::src" ],
  "startLine" : 30,
  "endLine" : 30,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 7,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun updateDomain()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/storage/Interface.kt",
  "fileLinesCount" : 119,
  "components" : [ "primary::src" ],
  "startLine" : 31,
  "endLine" : 31,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun updateIconUrlAndName()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/storage/Interface.kt",
  "fileLinesCount" : 119,
  "components" : [ "primary::src" ],
  "startLine" : 32,
  "endLine" : 32,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun updateTokens()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/storage/Interface.kt",
  "fileLinesCount" : 119,
  "components" : [ "primary::src" ],
  "startLine" : 33,
  "endLine" : 33,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun disconnectFromSpaceOrg()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/storage/Interface.kt",
  "fileLinesCount" : 119,
  "components" : [ "primary::src" ],
  "startLine" : 34,
  "endLine" : 34,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun delete()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/storage/Interface.kt",
  "fileLinesCount" : 119,
  "components" : [ "primary::src" ],
  "startLine" : 35,
  "endLine" : 35,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun save()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/storage/Interface.kt",
  "fileLinesCount" : 119,
  "components" : [ "primary::src" ],
  "startLine" : 39,
  "endLine" : 39,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun getByDomain()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/storage/Interface.kt",
  "fileLinesCount" : 119,
  "components" : [ "primary::src" ],
  "startLine" : 41,
  "endLine" : 41,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun updateLastUnfurlQueueItemEtag()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/storage/Interface.kt",
  "fileLinesCount" : 119,
  "components" : [ "primary::src" ],
  "startLine" : 42,
  "endLine" : 42,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun save()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/storage/Interface.kt",
  "fileLinesCount" : 119,
  "components" : [ "primary::src" ],
  "startLine" : 46,
  "endLine" : 46,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 6,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun get()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/storage/Interface.kt",
  "fileLinesCount" : 119,
  "components" : [ "primary::src" ],
  "startLine" : 54,
  "endLine" : 54,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun delete()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/storage/Interface.kt",
  "fileLinesCount" : 119,
  "components" : [ "primary::src" ],
  "startLine" : 55,
  "endLine" : 55,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun disableUnfurls()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/storage/Interface.kt",
  "fileLinesCount" : 119,
  "components" : [ "primary::src" ],
  "startLine" : 56,
  "endLine" : 56,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun create()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/storage/Interface.kt",
  "fileLinesCount" : 119,
  "components" : [ "primary::src" ],
  "startLine" : 60,
  "endLine" : 60,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun get()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/storage/Interface.kt",
  "fileLinesCount" : 119,
  "components" : [ "primary::src" ],
  "startLine" : 61,
  "endLine" : 61,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun save()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/storage/Interface.kt",
  "fileLinesCount" : 119,
  "components" : [ "primary::src" ],
  "startLine" : 66,
  "endLine" : 66,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 6,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun get()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/storage/Interface.kt",
  "fileLinesCount" : 119,
  "components" : [ "primary::src" ],
  "startLine" : 74,
  "endLine" : 74,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun delete()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/storage/Interface.kt",
  "fileLinesCount" : 119,
  "components" : [ "primary::src" ],
  "startLine" : 75,
  "endLine" : 75,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun disableUnfurls()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/storage/Interface.kt",
  "fileLinesCount" : 119,
  "components" : [ "primary::src" ],
  "startLine" : 76,
  "endLine" : 76,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun create()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/storage/Interface.kt",
  "fileLinesCount" : 119,
  "components" : [ "primary::src" ],
  "startLine" : 80,
  "endLine" : 80,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun get()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/storage/Interface.kt",
  "fileLinesCount" : 119,
  "components" : [ "primary::src" ],
  "startLine" : 81,
  "endLine" : 81,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun getOnce()",
  "longName" : "",
  "relativeFileName" : "src/main/kotlin/org/jetbrains/slackUnfurls/storage/postgres/Interface.kt",
  "fileLinesCount" : 554,
  "components" : [ "primary::src" ],
  "startLine" : 504,
  "endLine" : 504,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 4,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
} ]